图灵机组合与通用图灵机编程
1. 图灵机设计问题
在图灵机的设计与实现中,有几个基础问题值得探讨:
- 交换值 :设计并实现能将读取的值与右侧紧邻的值交换,以及与左侧紧邻的值交换的图灵机。
- 覆盖操作 :设计并实现能将每个“a”覆盖为空白的图灵机。
2. 可编程图灵机
计算机能读取程序、输入并计算结果,图灵机也具备这种可编程能力。通用图灵机(UTM)可模拟任意图灵机在任意输入上的操作。它的输入包含待模拟机器的描述和模拟输入磁带的描述。
2.1 向右移动头部 n 次
为说明图灵机的可编程性,我们以头部向右移动 n 次为例。
- 表示方法 :用“rⁿi”表示,“r”代表向右移动的次数,“i”为程序计数器,其左侧的“r”已执行,右侧的未执行。模拟机器的输入形式为“Σ hΣ ”,“h”表示头部位置,下一个读取的输入元素在“h”右侧。运行程序的图灵机输入包含“LM”、空白、待模拟机器的表示、空白和模拟输入磁带。
- 示例 :
- 输入磁带 (,LM ,BLANK i r r r ,BLANK h a b a) 表示模拟机器头部向右移动 3 次,“i”在第一个“r”前,尚未执行移动,输入为“(a b a)”,模拟头部在第一个“a”上。
- 输入磁带 (,LM ,BLANK r i r r r ,BLANK b b a h b ,BLANK) 表示模拟机器
超级会员免费看
订阅专栏 解锁全文
1342

被折叠的 条评论
为什么被折叠?



