通用图灵机如何模拟“更大”的图灵机?


10

我试图找到有关通用图灵机的两个问题的答案。

  1. 如果要模拟的图灵机具有更多状态,那么通用图灵机如何模拟图灵机?
  2. 如果要模拟的图灵机具有更多的字母字符,通用图灵机如何模拟图灵机?

有人可以帮我解决这些问题吗?


1
另一个有趣的观点是,可以使用恒定的状态数构建UTM。它用磁带上编码的任意状态或符号来模拟其他TM。
vzn

一个相关的问题是TM如何模拟ATM(替代TM),这大致可以通过相同的方法pf编码磁带上的额外数据以及将状态减少为类
Nikos M.

Answers:


10

这两个子问题的答案是相同的:通过使用磁带来存储必要的数据。我们可以假设要模拟的机器的状态集和字母是自然数的子集(“状态1”,“状态2”,“状态3”等)。即使只有两个非空白字符,通用机器也可以将所有这些整数表示为二进制字符串。

但是请注意,通用机具有固定数量的状态,这使得转换函数的计算有些棘手。我们想要做的是编写一些指令,以实现一个大的switch语句,其形式为:“如果状态为  且头部下方的字符为  x,则移至状态s ,然后  写入字符  x 并移至朝方向d前进  。” 所以-我认为这可能是您问题的根源-如果我们在通用机中甚至没有足够的状态来存储转换函数的输入,那么如何计算转换函数?sXsXd

一种方法是将转换函数存储为二叉树。假设所有模拟的机器都有  状态和2个  磁带符号。将转换函数存储为深度为q + 的二叉树, 其中在第一个q  级别上,根据模拟状态的下一个位是1还是零,然后是下一个  级别,请向左或向右移动但是对于模拟磁带字符的连续位。现在,您的通用机器可以在磁带上来回移动,检查状态/字符的下一位,记住该位处于其自己的状态,移回树,在正确的节点上放置标记,依此类推。2q2q+q

如果让通用机具有多个磁带,这会变得容易一些,但是仍然必须证明多带机等效于单个磁带机。

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.