【计算理论】图灵机 ( 图灵机图示 | 图灵机形式定义 )
一、图灵机图示
下图是图灵机的简单示意图 : 图灵机由 无穷长的带子 , 读头 , 状态 组成 ;
带子 :
无穷长度 , 每个格子有一个字符 ;
读头 :
上图中的箭头是读头 , 用于读写数据 ;
读头作用是 读取带子上的字符 , 然后擦掉该字符 , 写入新的字符 ;
然后该读头可以 向左或向右移动一格单位 ;
状态 :
箭头上的矩形框中表示当前的状态 , 状态个数是有限多个 , 其作用是指挥图灵机如何进行计算 ;
上述图灵机是理想的图灵机 , 带子是无穷长的 , 带子上的字符是有限多个 , 状态是有限多个 , 指令也是有限多个 ;
二、图灵机形式定义
图灵机要素 :
① 有限多状态集 , Q \rm Q Q ;
② 有限多个字符集 , Σ \rm \Sigma Σ ;
③ 带子字符集 , Γ \rm \Gamma Γ , 包含 Σ \rm \Sigma Σ ;
④ 转换函数 , 即指令集 , δ \delta δ ;
⑤ 开始状态 , q 0 \rm q_0 q0 , 包含在 Q \rm Q Q 中 ;
⑥ 空白字符 , u \rm u u , 包含在 Γ − Σ \rm \Gamma - \Sigma Γ−Σ ( 相对补集 ) 集合中 ;
⑦ 一些接受状态 , F \rm F F , 其中 F ⊆ Q \rm F \subseteq Q F⊆Q ;
指令与转换函数 : 图灵机是根据指令进行计算的 , 指令 是一个 转换函数 δ \rm \delta δ ;
转换函数 δ \rm \delta δ 两个输入参数 :
- 参数一 : 状态 q \rm q q , 该状态是 Q \rm Q Q 中的元素 , q ∈ Q q \in\rm Q q∈Q ;
- 参数二 : 带子字符 Z Z Z , 该字符是 Γ \rm \Gamma Γ 集合中的元素 , Z ∈ Γ \rm Z \in \Gamma Z∈Γ ;
转换函数 δ \rm \delta δ 输出是一个三元组 :
- 输出一 : 状态 p \rm p p ;
- 输出二 : 带子字符 Y \rm Y Y ;
- 输出三 : 方向 D \rm D D , 向左或向右 , 读取头下面要移动的方向 ;
指令 δ \rm \delta δ 表示的含义解析 :
δ ( q , Z ) = ( p , Y , D ) \rm \delta(q, Z) = (p, Y, D) δ(q,Z)=(p,Y,D) 转换函数 , 其中 q , Z \rm q,Z q,Z 是两个输入 , p , Y , D \rm p, Y, D p,Y,D 是三个输出 ,
开始时图灵机的 状态是 q \rm q q 状态 , 读取头指向的字符是 Z \rm Z Z ,
执行该转换函数 δ \rm \delta δ , 会将 状态转变为 p \rm p p 状态 , 将 读取头指向的带子上的字符 Z \rm Z Z 擦除 , 并改为 Y \rm Y Y , 然后 沿着 D \rm D D 方向 , 移动一格单位 ;
其中 D \rm D D 方向可以是 L \rm L L 向左移动 , 也可以是 R \rm R R 向右移动 ;
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/110495521
- 点赞
- 收藏
- 关注作者
评论(0)