如果仅考虑P中的问题,那么对于特定问题,最快的已知word-RAM算法和最快的Turing机器算法之间是否还有较大的差距?如果普遍关注的自然问题之间存在巨大差距,我特别感兴趣。
如果仅考虑P中的问题,那么对于特定问题,最快的已知word-RAM算法和最快的Turing机器算法之间是否还有较大的差距?如果普遍关注的自然问题之间存在巨大差距,我特别感兴趣。
Answers:
下面的例子证明了一种算法 这需要 解决单词拉姆问题 在1磁带图灵机(TM)上,该机器精确执行由。我了解该问题与1-tape TM有关,我只在回答中使用此问题。这是针对EmilJeřábek的言论所做的编辑。
我们将发现以下更一般的结论。证明TM可以解决 解决的问题 通过算法 上RAM,它是不是足够运行在TM上。可能需要一个聪明的算法。如果一个人想证明一个高架。至少可以说,只要有需要,就证明存在一个聪明的算法似乎还不是立竿见影的。这是不是与其它反应线,基本上只提出模拟/执行的TM 所有RAM计算(算法)宣布TM的复杂性,例如 要么 。
问题:我们得到了一个数组/表 与 每个存储在的整数 位。我们得到了第二个数组 与 位置,每个位置记录多个 位。对于任何,我们定义 如果 MOD MOD 。除此以外,。输出量。我认为输入是用胶带给出的 二进制数字,以解决EmilJeřábek的评论。
算法 在RAM中。RAM与字长 需要 = 读取二进制字符串输入数据。但是在读取数据后,它只能与尺寸。算法 计算任何 在 通过所有 并测试条件。主循环是为了: 计算 。总的复杂度是 (读取数据)+ (进行计算),因此 可以做到 在RAM上。
算法 在1磁带TM上:我认为1磁带TM需要 固定时间 。从TM的角度来看, 等效于测试两个长度为二进制的字符串的相等性 。例如,MOD操作 MOD 可能等同于删除位 的 。在这种情况下, 等效于对长度为bit的位串进行相等性测试 。众所周知,要测试两个长度相等的字符串 要求 在1-tape TM上,但我现在找不到真正的参考。但是,我提供了一个ps证明。如果TM执行主循环的,它至少要花费 每个 ,最终以 。
ps。我展示了使用位不能比对带有 位(已知疟原虫至少需要 时间)。我们可以修改任何TM算法进行相等性测试来解决回文。假设相等性测试TM以两个整数开头:一个在头部的左侧,一个在右侧(这是TM的最简单输入形式)。左位置的每次移动都可以在右位置镜像(反射)。我们建立一个镜像的TM:只要初始TM位于某个位置 (在左侧),镜像的TM位于 (在右边)。如果TM在少于,此修改后的镜像TM可以在不到 。
此外,还有一些测试平等-TM算法,在那里,所有的人都需要二次的时间,因为他们需要一些曲折,参见例如图灵机示例2在courses.cs.washington.edu/courses/cse431/14sp/scribes/ lec3.pdf