为什么我们使用单磁带图灵机来增加时间复杂度?


18

如您所知,当时间为时,单个磁带图灵机有很多异常情况:多带TM模拟,仅的较大带字母模拟,时间可构造性,时间等级定理的非紧性,...{ 0 1 b }o(n2){0,1,b}

还可以得到,以及针对特定问题的非常特定于模型的时间下限(甚至不能转换为两个上的超线性下限磁带TM)。 O n 2DTime(o(nlgn)=RegO(n2)

对于空间复杂性,我们使用一个模型,在该模型中,我们有一个单独的只读输入磁带,这更加自然且健壮。

带有多个磁带(或至少2个工作磁带)的TM模型将更加健壮,并且不会导致像我上面列出的那些异常。我曾经问过一位杰出的复杂性理论家,他在复杂性理论的早期阶段就已经证明了模拟结果,是否他知道对这些旧结果之一有任何改进,并且回答是他不认为“关于一个磁带模型的问题是重要”。

如果将时间复杂度的标准模型更改为两个磁带TM,则复杂性理论的合理结果将不会改变,并且可以避免由特定模型引起的这些异常。所以我的问题是:

为什么仍然要根据单个磁带TM定义时间复杂度?(除历史原因外)


7
我从未见过单个磁带TM定义的时间复杂性。我只看过单个磁带TM定义的健壮的时间复杂度类。

@Ricky,我的意思是,问题的时间复杂度是根据可以解决问题的单个磁带TM的时间复杂度定义的。
卡夫

我的意思是我从未见过如此。我一直至少看到随机访问。

7
但这真的是通常的定义吗?我在教科书中看到的是:1)定义单个磁带图灵机(因为它更简单);2)显示如何扩展到其他变体,特别是多带和随机访问;3)证明所有这些都可以相互模拟,但多项式的速度最多。4)至少在我们需要更细微的东西(例如oracle机器和logspace简化)之前,立即将大部分时间忘掉该模型;因此,就像@RickyDemer一样,我会质疑这种说法确实是通常的定义。
Sasho Nikolov

1
我没有答案,但是,我只想向Yamakami(springerlink.com/content/u844854721p83870)指出这项工作。本文讨论了将建议添加到小型机器(即线性一次性磁带TM)时会发生的情况。它证明了几种类别的分隔,但是使用这些单带TM可以做到。如果您使用其他TM,则这些分隔符将无效。我认为这是一个很好的示例,在该示例中,您可以使用一卷磁带证明很酷的东西,而使用其他模型则可能无法证明。道德是“当您处理细微的事物时,一键式磁带很重要”。
Marcos Villagra

Answers:


13

其他答案看起来很好。我想分享罗素·因帕格利亚佐(Russell Impagliazzo)几年前在一次演讲中发表的评论,此后一直困扰着我。

我认为由于物理上的合理性,图灵可能更喜欢使用单个磁带TM。

我几天前就向Russell指出了这个话题,但是,鉴于他不在这里,我希望知道他的评论,并会尽力解释它。

对于单个磁带TM,假设无限长的磁带(请坚持使用),您可以构建一个TM,每次迭代只需要有限的能量。想象一下磁带是一条长杆,而包含所有TM逻辑的磁头只是沿着该杆移动。(我认为这是使用非常原始的技术的一种可爱的小齿轮装置。杆上可以有槽口来帮助它,带状单元的内容物可以是垂直于杆轴垂直滑动的一个块。)

另一方面,您如何针对胶带TM 执行此操作?如果你有ķkk在上述情况中,它们必须将其读取状态传达给可能非常遥远的其他磁头,这需要消耗无限量的能量(例如,您使用的导线可能会散发热量),而且不是瞬时的,因此使该机制变得复杂。相反,如果您将磁头保持在一起并在其下方移动磁带,那么您将使用足够的能量来移动无限长的磁带。.在两种情况下,我都看不到如何获得有限的能量。像缩小磁带增量(以获得有限长度)之类的技巧假设一个无限可整的宇宙,并且违反了诸如普朗克常数和全息原理之类的东西。即使忽略这些,头部中的机构也必须任意精确,这又会导致能源问题,并且非常复杂。

当然,第一种方案存在问题:无限带的构造具有无限多个凹口,向移动头上的太阳能收集器供电的无限多个太阳,无限供应的清洁和维护用品等。也许是量子力学的一些重大突破可以让磁带的头很好地沟通,但是现在看来我们的装备有多复杂。无论如何,我认为拉塞尔的评论非常非常有趣。k


我以为Turing试图抽象化“计算”的概念,而不是抽象物理设备的模型。在这种情况下,单带Turing机器会清晰地捕捉到计算涉及本地访问大型(无限)内存的哲学直觉
Sasho Nikolov 2012年

我期待理论上的原因(而不是模型的可实现性),但是我发现这个答案非常有趣,因此我接受了。再次感谢。
卡夫

将磁带头保持在适当的位置,似乎可以通过设计一种Hennie-Stearns结构的形式使总能量在时间上呈对数线性,或者希望不比准线性差。我正在想象磁带在向任一方向延伸时都变成越来越大的循环……或更富想象力的是,在磁带卷轴上,将100个磁带缠绕到一个卷轴上,将100个卷轴缠绕到一个机架上,再将100个机架缠绕到一个仓库上,再等等。上。当然,对于每次迭代的有限能量,我们需要时间上线性的总能量。但是准线性比幼稚的二次方好,所以我想我会提一下。
Dan Brumleve

14

我已经看到文本使用多带Turing机器定义TIME(),但是Sipser使用单带机器。您几乎肯定会首先通过Sipser遇到此材料,因为它的编写是如此出色。f(n)

Sipser这样做的原因有很明确的教学原因,即课程自然就这样流动,因为:

  • 您应该在多带机之前引入单带机,否则会使学习曲线变陡。

  • 在引入单磁带机的O()和TIME()之前,没有令人信服的理由引入多磁带机。·&

  • 理想情况下,当您介绍多带机时,您应该将多带机与单带机进行比较,否则长时间的无知将导致更多的混乱。

  • 您可以省略为多带机引入类似的TIME类,从而简化整体表示法。

当教学法如此清楚地表明最简单的方法时,没有理由去质疑概念的​​清洁性,每个计算机科学专业的本科生都必须走这门基础课程,包括所有仍然不了解证明的人。


不,IIRC,我第一次接触TM是Hopcroft和Ullman的第一版。但是我问这个问题的原因实际上与Sipser的好教科书有关,我讲授基于Sipser的复杂性理论,并且我认为如果基于多方面的知识,对我和学生来说,它将更简单,更简洁(不会丢失基本材料)磁带TM。避免了所有有关单个磁带TM受限制访问的小技术细节,我可以在有限的时间内覆盖更多有趣的材料。Sipser对于使用Church-Turing论文感到放松,
Kaveh'4

所以我认为对此部分放松也可以。在时间层次定理部分中,他提到如果我们有多个磁带,则不需要额外的对数因子,这将非常紧凑。这使我开始询问是否由于时间复杂性而使用单磁带TM是否存在任何非历史性的原因。这不比使用单独的只读磁带来解决空间复杂性(这又是最主要的原因,这主要是因为单个磁带TM不能很好地捕获有关小型空间复杂性类的直觉)。
卡夫

2
如果没有单独的输入磁带,我什至看不到亚线性空间界限的意义。

是的,我认为SPACE的处理方式有所不同,部分原因是您将执行亚线性边界,而您可能不会在TIME这样做。如果您希望以此方式为时间下标或为Sipser为SPACE做任何事情,我肯定会说,当然我想在多带机之前谈论TIME或TIME_1或其他事情。
杰夫·伯吉斯

1
有趣的是,Sipser在定义SPACE(f(n))时仅说“ Turing machine”,但后来在讨论次线性函数f时更改了定义,并指定了超级线性f的等效性。我以前从Sipser教过这种材料。当时我并没有考虑太多,但是现在我对此感到高兴。
杰夫·伯吉斯

7

最初的图灵机是用单个胶带描述的:

www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf

因此,正如您在问题中指出的那样,这主要是出于历史原因。此外,总会有人问什么是可以做某事的最简单的模型...

同样,由于通常会非常正式地讲授此主题,因此从技术上讲,描述一台磁带机比两台磁带机更容易。

也可以看看:

http://www.cs.utah.edu/~draperg/cartoons/2005/turing.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.