有图灵机的物理类比吗?


27

最近在我的CS课上,我被介绍给Turing Machine。

课后,我花了两个多小时试图弄清楚磁带和机器之间的关系。

直到今天,我还完全不知道计算机磁带的存在或磁带与机器如何相互作用。我仍然看不到为什么机器会读取磁带,但是扫描仪也许比图灵机更接近概念,在图灵机中,纸张被视为磁带,而扫描仪内部的任何东西都将成为图灵机的工作。

但是无论如何,图灵机的想法不是很陈旧吗?我们办公室或客厅中有如此多的物理(而不是假设的)设备,似乎可以完成图灵机的工作。

有人可以提供一个从现实中汲取经验的更好的例子,以便抓住这种假想概念的基本功能吗?


1
如果您想了解机器为何要读取磁带,请在计算的早期就读一读。例如,您可以在这张Colossus的照片中看到纸带。
彼得·泰勒

4
当然有真正的图灵机!甚至是用乐高制成的!
john_leo 2014年

3
相关问题。请注意,(有限)磁带经常在计算中使用,直到出现硬盘。
拉斐尔

1
中文聊天室参数(en.wikipedia.org/wiki/Chinese_room)可能有助于您的理解。刚进入CS时,我在Touring机上遇到了同样的问题,而Chinese Room是我到达那里所需要的桥梁。同样,Tournig Machine的意义在于允许数学家继续证明有关CS的有趣事物。它并不意味着是一台实际的计算机。
sevensevens 2014年

2
@slebetman对于刚刚熟悉Turing Machines的人来说,这可能有点深奥,但是Turing Machine中的磁带不是随机访问的。它是顺序访问。它需要n次移位才能将头部移到n个间距处的单元格中。我之所以这样说,是因为尽管可计算事物的空间没有变化,但计算它们所需的时间却发生了变化。这类结果(例如,您可以使用1磁带机模拟2磁带机,可以使用1磁带机模拟RAM等,并且仅增加多项式时间等)是重要的练习可计算性课程。
约书亚·泰勒

Answers:


24

图灵机是演算和递归定义的递归函数之一,是“原始的”图灵完备计算模型之一。如今,在理论计算机科学的许多领域中,都使用了一种不同的模型,即RAM机,它更接近于实际计算机。由于两个模型都是p等价的(它们彼此模拟最多为多项式爆炸),因此从诸如P与NP之类的问题的角度来看,两个模型都是等效的。λ


38

AFAIK Turing Machine仿照人类用笔和纸的构想。人类在大脑中具有某种状态,就像机器看着胶带一样看着纸,然后像在机器上一样在纸上写东西或移动到另一个地方。

TM是Peano自然数算法的古老方法。TM对于实际计算是没有用的,并且当然不打算将其用于此。这只是公理化计算的一种简单方法,因此我们可以推断出可计算的内容和不可计算的内容-正如Peano算术从一开始就定义什么是自然数以及它们的性质是有用的-但是对于尝试通过根据理论定义手动操纵Peano数来进行算术运算。

试想一下,如果必须使用C ++编程语言而不是图灵机的语义来证明与复杂性和可计算性理论不同的定理(例如,证明“停顿问题”是不确定的)将是多么困难。您的证明将是荒谬的或不可能的-就像通过使用对十进制整数应用的等级学校方法来定义自然数乘法来证明自然数乘法的关联性一样可笑。


5
好答案。在图灵(Turing)的原始论文中,他甚至从人类如何计算事物得出他对机器的定义。
john_leo 2014年

1
回复:C ++,这可能很有趣
Daniel Earwicker 2014年

8

许多非常不同的图灵完整计算模型在物理上都是可实现的(直到将无穷大视为无边界的代表)。因此,这不是选择模型的重点。

@jkff的回答很恰当,它表示图灵机旨在作为用于研究可计算性和可证明性(实际上是在希尔伯特的Entscheidungsproblem问题中提出)的数学目的的理论装置 。但这在选择简单形式主义的原因上不太准确。

原则上证明,使用更高级的模型,停止问题并不那么困难。实际上,我们的“证明”通常只是解决方案的构建。我们并没有过多地讨论这些构造是正确的实际(非常乏味的)论点。但是,为图灵完整语言编写解释器的任何人,都和构造通用机器的工作一样多。好吧,C可能有点复杂,出于这个目的,我们可能希望对其进行简化。

建立简单模型的重要性更多地在于可以对模型进行使用,而不是建立模型的属性(例如,由@jkff给出的示例的“停顿问题”)。

通常,大定理通常是可以非常简单地表达的定理,并且适用于各种各样的问题。但是它们不一定是容易证明的定理。

就TM而言,简单性的重要性在于,通过将停顿问题或其他TM问题减少到我们感兴趣的问题(例如,上下文无关语言的歧义),从而建立了许多结果,从而为解决问题建立了固有的局限性这些问题。

实际上,尽管TM模型非常直观(这可能是其流行的主要原因),但它通常不够简单,无法用于此类证明。这就是其他一些甚至更简单的模型(例如“ 后信函问题 ”)重要性的原因之一,该模型分析起来较不直观,但易于使用。但这是因为这些计算模型通常用于证明否定结果(可追溯到最初的Entscheidungs问题)。

但是,当我们想证明积极的结果时,例如存在解决某些给定问题的算法时,TM太简单了。考虑模式高级模型(例如RAM计算机关联存储计算机,或者许多其他模型之一,甚至只是许多编程语言之一)要容易得多。

鉴于将这些模型简化为TM模型(通常是多项式)的复杂性,因此TM模型仅作为参考点,特别是对于复杂性分析而言。举一个极端的例子,Lambda演算的约简。

换句话说,TM模型对于设计和研究算法(肯定的结果)通常过于简单,而对于研究可计算性(否定的结果)通常过于复杂。

但这似乎是在正确的位置,可以作为 将所有部件连接在一起的中央链接,并且具有相当直观的巨大优势。

关于物理类比,没有理由选择一个模型而不是另一个模型。许多Turing完整的计算模型在物理上都是可以实现的(对于内存无限,它是无限的),因为没有理由认为一台计算机及其软件比“裸”计算机的物理性要差。毕竟,该软件具有物理表示形式,它是已编程计算机的一部分。因此,由于从该角度来看所有计算模型都是等效的,因此我们不妨选择一个便于组织知识的模型。


也许这是一个没有同情心的话,但是第一句话并不正确,因为您总是可以向上看。超计算有几种模型,它们是图灵完整的计算模型,但在物理上无法实现。
Nikolaj-K

谢谢。我从没想过这一点,但我想这可能是对的,因为过度计算总是可以通过其他方法来削弱。由于我假设您理解我的意思,因此您认为应该如何表述?
babou 2014年

1
是的,不只是不确定性或无限时间机器之类的东西。在计算的第7步之后变成一头大象,吃了一碗意大利面条,建造另一台Turing机并继续进行原始计算的第8步的Turing机也是有效的Turing完整计算模型。无论如何,我认为您不应该修复它。
Nikolaj-K

任何图灵完整的计算模型都是可以物理实现的。 ”,实际上,恰恰相反。实际上,由于我们无法构造任何无限的模型,因此无法物理构造任何图灵完整的模型。因此,所有“物理实现”的计算模型最多只能是线性有界自动机模型或更少。
RBarryYoung 2014年

@RBarryYoung如果您有耐心阅读完整的答案,您可能已经注意到,在上一段中,我明确指出这是“取决于内存无限的无限性”。第一句话旨在作为引言。您是否认为在引言中不给出这样的已知事实是不恰当的?诚然,尝试更深入地分析TM模型的作用可以使我对更多批评产生答案。您看到我的答案有什么不对的地方吗?
babou 2014年

5

想象一下几何学的新来者:

三角形有物理类比吗?

三角形的想法不是很古老吗?我们办公室或客厅中有许多物理形状(而不是假想的形状)似乎可以完成三角形的工作。

你会怎么回答?

您可能会说这些问题揭示了关于三角形的两个基本误解:

  1. “三角形纯粹是假设的。” 错误!尽管它们是数学实体,柏拉图理想以及假设意义上的假设,但三角形是真实的:我们实际上可以在现实世界中构造它们。诚然,我们构造的物体永远不会是一个完美的三角形,但是我们关于它们的数学理论确实适用于现实世界,我们得出的定律也适用于现实世界中的形状,该理论可以用作设计的基础,在现实世界中构造和测量形状;这就是该理论首先得到发展的原因。
  2. “三角形是无用的,因为它们没有描述我们通常使用的形状。”错误!描述您在现实世界中发现的实际形状并不是他们的目的。如果您的整个办公室或客厅不包含单个三角形,则并不意味着三角形的概念不切实际或过时,最好将其替换为其他形状。它们的主要目的是作为基本构造,从中可以从原则上构造所有更复杂的形状-因此我们可以从中得出适用于一般形状的定律。关于三角形的推理使我们能够总体上对形状进行推理。您的客厅受制于我们为三角形得出的相同定律,我们对这些定律的了解被直接或间接地用于构造它。客厅里可能没有单个三角形,更不用说一个完美的三角形了,但是我们不在乎在那儿​​找到三角形。我们可以。但是,通过在其中用三角形近似来建立形状的描述,这(三角测量)是一种流行且有用的方法。因此,三角形是构建块,可以帮助我们总体上考虑形状。

图灵机也是如此。

自从我被引入几何学以来已经有很长的时间了,我真的不记得是否有任何新手确实对三角形有这些误解。但是,当涉及到图灵机,我遇到的这些误解所有的时间。实际上,通常情况下,通常如何教授它们似乎有些根本上的错误。也许展示和讲述的方法是有序的!

因此,出于完整性考虑:

  1. “ Turing Machines纯粹是假设的。” 错误!虽然它们是数学实体,柏拉图理想以及假设意义上的假设,但图灵机是真实的:我们实际上可以在现实世界中构建它们。诚然,我们构造的东西永远不会是完美的图灵机,但是我们关于它们的数学理论确实适用于现实世界,我们得出的定律确实适用于现实世界中的计算设备,该理论可以用作在现实世界中设计,建造和测量计算设备;这就是该理论首先得到发展的原因。
  2. “ Turing Machines没有用,因为它们没有描述我们通常使用的计算设备。”错误!描述您在现实世界中发现的实际计算设备并非目的。如果您的整个后台办公室或家庭娱乐工作室不包含单个Turing Machine,这并不意味着Turing Machine的概念不现实或已过时,最好用其他东西代替。它们的主要目的是作为基本构造,从原理上可以构造所有更复杂的计算设备-因此,我们可以从中得出适用于一般形状的定律。关于图灵机的推理使我们能够总体上对计算设备进行推理。您的计算机硬件和软件受制于我们为Turing Machines推导的相同定律,并且我们对这些定律的了解被直接或间接地用于构造它们-即使它们可能不会 里面只有一台图灵机。这是我们感兴趣的法律。

1
您能否将对三角形的讨论扩展到tesseracts的情况。我觉得三角形应该与不太明显的实体相对。
babou 2014年

1
当我读到这个问题时,我笑了,因为对我来说,看起来就像说三角形是过时的一样荒谬。计算机科学从根本上讲是数学;它不会老化,也不会过时。写得很好的答案;+1。
通配符

我看不到tesseract的意义,但是使用某种程序或机器(例如针织或针织机)可能会有所改善。图灵机实际上不是描述对象,而是一个(可配置的,逐步的)过程。
reinierpost

3

图灵似乎想到的物理类比是一台能解决铅笔,纸张和橡皮擦问题的计算机。您应该了解,在1936年,“计算机”是受雇进行计算的人。当然,在1936年,大多数计算机都将使用加法器,但是Turing并没有提及这些,因为它们不是必需的。关于磁带,这就是他所说的,试图证明““可计算的”数字(即图灵机可以计算的数字)包括所有自然被视为可计算的数字)

通常通过在纸上书写某些符号来完成计算。我们可以假设本文像儿童的算术书一样分成正方形。在基本算术中,有时会使用纸张的二维特征。但是这种使用总是可以避免的,我认为可以认为纸张的二维特性对计算不是必需的。然后,我假定计算是在一维纸上进行的,即在分成正方形的胶带上进行。

尽管计算机已不再是一种行业,但我上次检查时,仍被教导孩子使用铅笔和纸作为存储介质执行算法。因此,尽管这种类比看起来可能是过时的,甚至是过时的,但它仍旧过时。

有关更多信息,请参阅关于可计算数及其在entscheidungsproblem中的应用,尤其是第1和第9节。


乔·维岑鲍姆(Joe Weizenbaum)用另一个物理类比来解释:卫生纸卷上的令牌。
Jerry101

1

@jkff的想法the Turing Machine is modeled on the idea of a human with a pen and paper并不完全正确。但是在很多情况下,可以认为它是正确的。

在状态的某些投影下,将人视为图灵机。换句话说,如果您只在一个人的工作时间内看到他,那么在他的工作时间内,他将执行某些任务。这些任务是工作的基本任务。

如果您不关心他的个人生活,他在家里,在房间里的工作等。那么您可以考虑将他的过渡功能投影到一个新的过渡功能中,其中与工作无关的状态将被忽略。换句话说,您可以跳过与您的关注和观点无关的所有状态和任务。

在此模型中,然后用笔,纸完成固定任务(即,以固定透视图查看)的人为图灵机建模。磁带是他在纸上写下的内容(忽略所有纸或在他没有为任务写的纸上写东西)

现在,如果考虑到他所执行的其他任务,那么您所拥有的就是在人类中拥有许多图灵机的组合。但是,如果他换了工作而又做不同的任务,那该怎么办。然后,在不同的时间范围内以不同的视角进行观察时,他的大脑状态将变为不同的图灵机。

如果您想很好地回答问题,那么我认为Yuval Filmus回答得很好。使用RAM模型。坚持下去。

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.