为什么磁带不属于图灵机的定义?


11

我想知道为什么磁带/磁带不属于图灵机的正式定义。考虑一下Wikipedia页面上Turing机器的正式定义。的定义中,以下Hopcroft和乌尔曼,包括:有限状态集,磁带字母表Γ,空白符号b Γ,初始状态q 0Q,该组最终状态的˚F Q,以及过渡函数δ Q F × Γ Q × Γ × ΓbΓq0F。磁带本身都不是。δF×Γ×Γ×{大号[R}

图灵机始终被认为可以在磁带上工作,并且转换功能被解释为移动其磁头,替换符号并更改状态。那么,为什么将磁带排除在图灵机的数学定义之外呢?

据我所知,正式的定义本身似乎并不意味着图灵机的运行就像通常非正式地描述的那样(头在磁带上四处移动)。还是呢?


1
维基百科的下一部分说:“以van Emde Boas(1990)的话,第6页:”集合论对象(他的类似于上面的形式的七元组描述)仅提供了有关机器运行方式的部分信息。以及它的计算方式。“”它与软件/硬件二分法/协同/相互依赖关系非常相似。软件假定它在其上运行的特定硬件。如果将来有人发现了某些软件,那么他们在不了解其运行硬件的情况下就无法理解其“含义”。
vzn

为什么道路不是汽车的一部分?
Andrej Bauer

Answers:


8

要正式定义Turing机器的实例(不是一般概念),您无需明确提及磁带本身或其内容。要表示此特定机器的配置或由它执行的计算,即当您需要某种形式的表示法来描述磁带内容时。


因此,仅需要磁带来定义配置和计算?
Shuzheng 2015年

是的,机器仅在磁带上运行。磁带的不同内容不会创建不同的机器。
安德烈·索萨莱莫斯

1
换句话说:该问题仅引用了TM 的语法。磁带只有在定义语义时才进入图片。(类比:C(或任何其他编程语言)的语法定义也未提及假定的硬件体系结构/ OS / CPU指令集。)
Raphael

即使从语义上讲,即使磁带内容发生更改,也认为该机器仍然是同一台机器是最自然的。(通常情况并非如此,因为初始内容是计算机定义的一部分。)
reinierpost

2

这是一个灰色的区域,但是我想说定义将模型实例分开。如果您希望有一个简单的想法,请考虑一下硬件还是软件。

模型是硬件:本是一个头。有一根胶带。磁带的一侧是无限的,并且包含空白(输入除外)。头部一次可以移动一个步骤。

实例是软件:什么磁带保存在开始输入使然,状态/转换功能将告诉您如何在头移动和机器如何“作品”。最终状态给出成功/失败的含义。

这两个参数都是可配置的---都可以更改。替代模型存在两个磁带,两个磁头,两面磁带,非空磁带等。但是,一旦修复了模型,就需要确定其他“可配置”参数,包括可能的状态数和过渡功能。

P中号p一种ŤŤË[Rñ


1

在这里已经是很好的答案,但是我尝试给出一个简洁的答案。

定义不应过多或冗长。

实际上,图灵机定义也定义了磁带抽象。q0-是磁带的开始。字母是磁带的内容。δ:(Q∖F)×Γ→Q×Γ×{L,R}表示磁带在左右两个方向上都具有无限大和无限大

因此,磁带,头部仅移动模型的人性化表示形式,它们已经在数学模型中,但它们本身并不是正式模型。


1

Les提供了一个简明而正确的答案:数学定义尽可能简明扼要,并且在图灵机的定义中明确包含无限条带将使其定义简明得多,因此我们没有。

这没有回答问题:为什么?当我们需要一个无限的磁带时,定义如何排除呢?

答案:我们不会。从某种意义上说,图灵机实际上不需要无限的磁带,它们的定义使这一点很清楚。

根据定义,图灵机的移动会将机器从一种配置转移到另一种配置。一个配置包含一个有限的字符串,我们将其视为磁带的有限片段。每一步都将磁带头移动一个位置或覆盖磁带头下面的符号。但是-这对于其操作至关重要:

  • b
  • 我们可以经常无限地这样做。

ññ

对此进行改写的一种方法是:机器在无限的磁带上运行,该磁带完全充满空白,但其磁带头所在的有限片段除外。这就是大多数解释所说的。

换种说法是:机器在有限的磁带上运行,只要它的头从磁带的两端移开,机器就会用空白扩展。

这都是概念化机器运行方式的两种有效方法:在两种情况下,如果您实际上拥有一台这样运行的机器,它将正确地实现图灵机。

如果您只想教给学生图灵机的工作原理,那么选择哪种概念可能都不重要。

但是,我认为第一个概念化是一个错误,原因有两个:

  • 这是不现实的。我们实际上不能用无限的磁带来构建机器。我们可以根据要求构建带有有限磁带的机器。
  • 这是违反直觉的。我们不认为机器经常任意执行任务包含无限数量的资源。例如,我们不认为复印机包含无限数量的复印纸。图灵机为计算活动建模。他们模拟了如果我们用能够执行任意可编程计算的机器代替计算机(在发明时,它是一个在纸上进行计算的女人)会发生的情况。我们认为那个女人没有无限量的纸张。相反,我们假设将为她提供所需数量的纸张,并且我们认为这样做失败是环境的失败,而不是说这样的女人不可能存在。为什么不对机器做同样的事情?
  • 它引起误导性结论。我看过很多。例如:
    • 人们说图灵机实际上不能制造,而有限状态机可以。好吧,我们不能再建造任意的大型有限状态机,而只能向图灵机提供任意数量的磁带。
    • 人们说图灵机不能正确地对计算机建模,而有限状态机却可以。这一点很重要:如果我们感兴趣的只是使用一台机器来确定输入语言,那么仅在其(固定)内部存储上运行的计算机就可以完全实现任何有限状态机,直到达到一定大小为止。它无法完全实现大多数Turing机器,因为其中许多机器都将耗尽内部存储空间。但是,这通常可以这样概括:计算机有限状态机,这具有误导性:
      • 它不能描绘大多数计算机编程的真实情况。确实,数据流编程实际上是基于有限状态机的,但是传统的命令式编程却不是。它使用的程序更接近Turing机器实例。
      • 实际上,计算机还会与大小不固定的外部输入,输出和存储源进行交互。
      • 图灵机不应该首先为计算机建模。他们为任意计算建模。

综上所述:使用或包含无限磁带的图灵机的思想旨在强调一个重要的技术要点,但这不一定是思考图灵机的最直观的方式,并且会引起某些不正确的结论。请谨慎使用。

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.