【计算理论】图灵机 ( 图灵机设计 )

简介: 【计算理论】图灵机 ( 图灵机设计 )

文章目录

一、设计图灵机要求

二、图灵机分析

三、计算过程分析

四、高级语言

五、使用高级语言描述图灵机

六、完整图灵机 ( 仅做参考 )





一、设计图灵机要求


设计一个图灵机 M 2 \rm M2M2 , 认识一种特定语言 , 该语言由 0 00 组成 , 字符串的长度是 2 n \rm 2^n2

n

 个 , n = 0 , 1 , 2 , ⋯ \rm n = 0, 1, 2, \cdotsn=0,1,2,⋯ ;






二、图灵机分析


分析 : 设计一个图灵机 , 图灵机所接受的语言是 :


2 22 个 0 00 组成的字符串 ,


4 44 个 0 00 组成的字符串 ,


8 88 个 0 00 组成的字符串 ,


16 1616 个 0 00 组成的字符串 ,


                ⋮ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \vdots                ⋮


2 n \rm 2^n2

n

 个 0 00 组成的字符串 ;



图灵机设计很复杂 , 一般不需要设计出完整图灵机 , 只需要写出设计过程即可 ;






三、计算过程分析


将字符串写到带子上 , 带子上每隔一个 0 00 划掉一个 , 数一下剩下的 0 00 :


① 如果剩下的 0 00 是 1 11 个 , 直接接受该字符串 ;


② 如果剩下的 0 00 是 奇数个 , 直接拒绝接受该字符串 ;


③ 如果剩下的 0 00 是 偶数个 , 继续重新开始循环 ;






四、高级语言


将上述算法写成 高级语言 , 用于描述图灵机的计算过程 ;


高级语言是有要求的 , 其与图灵机的不同 ,


图灵机需要将所有的指令都写出来 , 状态图要绘制出来 , 这个要求很难实现 ;


高级语言不用将图灵机画出来 , 只需要 描述读写头如何操作 即可 , 将指令集部分直观描述出来 , 不写出具体的指令 ;






五、使用高级语言描述图灵机


下面就是高级语言的直观的计算过程 ;



图灵机直观计算过程 : 假设图灵机的带子上放了 0000 00000000 字符串 ;


阶段一 : 从左到右扫描图灵机带子 , 每隔 1 11 个 0 00 划掉一个 ;


阶段二 : 如果在 “阶段一” 只包含 1 11 个 0 00 , 那么 接受该字符串 ;


阶段三 : 如果在 “阶段一” 包含的 0 00 的个数大于 1 11 , 并且 0 00 的个数是奇数 , 那么 拒绝该字符串 ;


阶段四 : 如果在 “阶段一” 包含的 0 00 的个数大于 1 11 , 并且 0 00 的个数是偶数 , 那么 返回带子最左端 ;


阶段五 : 从 “阶段一” 重新开始计算 ;






六、完整图灵机 ( 仅做参考 )


设计的真实的 M 2 \rm M2M2 图灵机的指令如下 : 如下状态的图灵机设计很复杂 , 不做要求 ;

image.png


image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

目录
相关文章
【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
359 0
【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
|
资源调度 算法
【计算理论】图灵机 ( 图灵机示例 )
【计算理论】图灵机 ( 图灵机示例 )
386 0
【计算理论】图灵机 ( 图灵机示例 )
|
算法
【计算理论】图灵机 ( 非确定性图灵机 -> 确定性图灵机 | 模仿过程示例 | 算法的数学模型 )
【计算理论】图灵机 ( 非确定性图灵机 -> 确定性图灵机 | 模仿过程示例 | 算法的数学模型 )
361 0
【计算理论】图灵机 ( 非确定性图灵机 -> 确定性图灵机 | 模仿过程示例 | 算法的数学模型 )
|
机器学习/深度学习 资源调度 算法
【计算理论】计算理论总结 ( 图灵机设计 ) ★★
【计算理论】计算理论总结 ( 图灵机设计 ) ★★
383 0
【计算理论】计算理论总结 ( 图灵机设计 ) ★★
|
人工智能 算法
【计算理论】图灵机 ( 接受状态作用 | 格局 | 图灵机语言 | 图灵机设计复杂性 )
【计算理论】图灵机 ( 接受状态作用 | 格局 | 图灵机语言 | 图灵机设计复杂性 )
488 0
【计算理论】图灵机 ( 接受状态作用 | 格局 | 图灵机语言 | 图灵机设计复杂性 )
|
算法
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(一)
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(一)
249 0
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(一)
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(二)
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(二)
220 0
【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )(二)
|
资源调度 Python
【计算理论】图灵机 ( 图灵机图示 | 图灵机形式定义 )
【计算理论】图灵机 ( 图灵机图示 | 图灵机形式定义 )
404 0
【计算理论】图灵机 ( 图灵机图示 | 图灵机形式定义 )
|
Windows
【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )
【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )
230 0
【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )