请给出图灵机的实现级描述?
图灵机(TM)可以形式化地描述为七元组 -
(Q,X,∑,δ,q0,B,F)
其中,
Q 是状态的有限集合。
X 是带字母表。
∑ 是输入字母表。
δ 是转移函数:δ𝛿:QxX->QxXx{左移,右移}。
q0 是初始状态。
B 是空白符号。
F 是最终状态。
图灵机 T 识别字符串 x(在 ∑ 上)当且仅当 T 从初始位置开始,x 写在磁带上,
T 在最终状态下停止。
如果 x 被 T 识别,当且仅当 x 属于 A,则称 T 识别语言 A。
请注意,在运行 TM 时,您还可以从磁带上读/写其他符号,而不仅仅是字母表 A 中的符号。
如果 T 没有在非最终状态下停止,则图灵机 T 不会识别字符串 x。
有一些 TM 对于某个输入根本不会停止,并且会永远运行。
示例 1
实现级描述一个图灵机,该图灵机确定在字母表 {0, 1} 上的以下语言。
{w|w 包含相同数量的 0 和 1}
M = “在输入字符串 w 上 -
扫描磁带并标记第一个尚未标记的 0。如果未找到未标记的 0,则转到步骤 4。否则,将磁头移回磁带的开头。
扫描磁带并标记第一个尚未标记的 1。如果未找到未标记的 1,则拒绝。
将磁头移回磁带的开头,然后转到步骤 1。
将磁头移回磁带的开头。扫描磁带以查看是否仍有未标记的 1 存在。如果未找到,则接受;否则,拒绝。”
示例 2
给出 TM 的高级描述,该 TM 接受语言 A,其中 A 包含所有表示无向图连通的字符串。
A = {<G>|G 是一个连通的无向图}
A = {<G>|G 是一个连通的无向图}
M = “在输入字符串 <G> 上 -
选择 G 的第一个节点并标记它。
重复以下步骤,直到没有新的节点被标记 -
对于 G 中的每个节点,如果它通过边连接到已标记的节点,则标记它。
扫描 G 的所有节点以确定它们是否都已标记。如果它们都已标记,则接受;否则,拒绝。”