我正在阅读Sipser,发现很难理解该过程是什么,所以如果给我一台带k磁带的图灵机,我只能吐出一根带子的等效图灵机。一个例子会很好。实际上,一个真正的示例显示了如何从具有磁带的TM 变为具有1个磁带的TM 。到目前为止,我一直找不到。我也不在寻找任何证据。
我正在阅读Sipser,发现很难理解该过程是什么,所以如果给我一台带k磁带的图灵机,我只能吐出一根带子的等效图灵机。一个例子会很好。实际上,一个真正的示例显示了如何从具有磁带的TM 变为具有1个磁带的TM 。到目前为止,我一直找不到。我也不在寻找任何证据。
Answers:
一个无耻地复制自己的答案:
除了我们拥有扩展的转换函数,其中是磁带数。因此,在每种状态下,转换函数都会读取每个磁带的内容,移至新状态,(也许)在每个磁带上写一些东西,然后移动每个磁头-就像常规TM一样,只是现在我们有更多东西要读,写并移动。 ķ
正如您的问题所暗示的那样,这样的机器可以通过单带 TM 进行模拟。更好的是,仅需二次减速即可完成(因此对于多项式封闭类,谈论单带机器就足够了)。
对此的证明有些复杂,并且可以通过简单的Web搜索轻松获得,因此,我仅将磁带的键映射草绘为单个磁带。
基本思想很简单;我们只需添加一些新符号并跟踪每个磁带并一个接一个地走。在计算的每个步骤中,我们只能访问有限数量的任何磁带,因此我们只需要存储有关每个磁带的大量信息。因此,对于每个我们添加一个新的符号到这将表明,其中所述头部(每个磁带)为在计算中的任何点。我们还会在引入分隔符以指示“虚拟”磁带的开始和结束。给定输入γ _ Γ #Γ ω = ω 1 ... ω Ñ #ω 1 _ ... ω Ñ#⊔ _#⊔ _#... #⊔ _#⏟ ķ 段,每一个磁带 ⊔ ⊔ ⊔ ⊔ ⊔ ⊔ ...(我们可以假设即使在多磁带机上,所有输入都在第一盘磁带上-证明为什么这样做是很好的练习)在多磁带机上,我们的单磁带机将具有输入
然后,我们使用单卷带机的状态来编码多卷带机所处的状态以及磁头在看什么。单卷带机的过渡功能是多卷带过渡功能的多阶段仿真,其中我们可以适当地执行不同的磁带动作,依次将单卷磁带向上移动到每个部分。剩下的唯一皱纹是,当我们用完一个部分的空间时,所有东西都会移动(但是这样的子机是一个简单的练习)-我们永远不会减小每个部分的大小。
一个(希望)简单的例子:
说,我们有一个3胶带TM,其中输入字母只是,磁带字母是Γ = { 0 ,1 ,⊔ }且输入是ω = 10101。机器的样子的初始磁带状态: 带1:1 ∧ 0101 ⊔ ⊔ ⊔ ... 磁带2:⊔ ∧ ⊔ ⊔ ⊔ ⊔ ⊔ ... 磁带3:⊔ ∧ ⊔ ⊔ ⊔ ⊔ ⊔ ... 的“ ∧
要构建组合的单磁带机,我们需要在磁带字母表中添加新的符号:
第二步之后:
当然,这是该过程的一个高级视图-我没有试图解释如何构造状态,或者每个模拟磁带如何变长(为此,您需要一个小的例程来检查是否遇到了然后将所有内容移到正确的一步,然后将其压缩为新的空白-即仅在需要时添加模拟磁带单元)。