700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【计算理论】计算理论总结 ( 图灵机设计示例 ) ★★

【计算理论】计算理论总结 ( 图灵机设计示例 ) ★★

时间:2020-12-30 10:01:57

相关推荐

【计算理论】计算理论总结 ( 图灵机设计示例 ) ★★

文章目录

一、图灵机设计示例 2二、图灵机设计示例 3三、图灵机设计示例 4

一、图灵机设计示例 2

给定语言 :A={w∣w包含相同个数的0和1}\rm A = \{w | w 包含相同个数的 0 和 1 \}A={w∣w包含相同个数的0和1} , 设计出该语言对应的图灵机 ;

M\rm MM图灵机算法设计如下 :算法的描述是双引号 “” 中的内容 , 这是操作意义上的图灵机 , 只描述图灵机读头操作 , 没有必要将图灵机指令整体设计出来 ;

M=\rm M =M= "在长度为 n\rm nn 的字符串 w\rm ww 上进行如下计算 :

① 返回带子最左端 , 从左向右扫描带子 , 找到 未标记的 000 , 标记后 , 转到 ② 继续运行 ; 如果没有找到未标记的 000 , 转到 ③ 运行 ;

② 返回带子最左端 , 从左向右扫描带子 , 找到 未标记的 111 , 标记后 , 转到 ① 继续运行 ; 如果没有找到未标记的 111 , 进入拒绝状态 ;

③ 返回带子最左端 , 从左向右扫描带子 , 找到未标记的 111 , 如果有则 进入拒绝状态 , 如果没有则 进入接受状态 ; "

二、图灵机设计示例 3

给定语言 :A={w∣w包含0的个数是1的个数的两倍}\rm A = \{w | w 包含 0 的个数是 1 的个数的两倍 \}A={w∣w包含0的个数是1的个数的两倍} , 设计出该语言对应的图灵机 ;

M\rm MM图灵机算法设计如下 :算法的描述是双引号 “” 中的内容 , 这是操作意义上的图灵机 , 只描述图灵机读头操作 , 没有必要将图灵机指令整体设计出来 ;

M=\rm M =M= "在长度为 n\rm nn 的字符串 w\rm ww 上进行如下计算 :

① 返回带子最左端 , 从左向右扫描带子 , 如果没有发现 000 , 进入拒绝状态 ;

② 返回带子最左端 , 从左向右扫描带子 , 找到 两个未标记的 000 , 标记后 , 转到 ③ 继续运行 ; 如果没有找到未标记的 000 , 转到 ④ 运行 ; 如果发现一个未标记的 000 , 进入拒绝状态 ;

③ 返回带子最左端 , 从左向右扫描带子 , 找到 未标记的 111 , 标记后 , 转到 ② 继续运行 ; 如果没有找到未标记的 111 , 进入拒绝状态 ;

④ 返回带子最左端 , 从左向右扫描带子 , 找到未标记的 111 , 如果有则 进入拒绝状态 , 如果没有则 进入接受状态 ; "

三、图灵机设计示例 4

给定语言 :A={w∣w包含0的个数不是1的个数的两倍}\rm A = \{w | w 包含 0 的个数不是 1 的个数的两倍 \}A={w∣w包含0的个数不是1的个数的两倍} , 设计出该语言对应的图灵机 ;

M\rm MM图灵机算法设计如下 :算法的描述是双引号 “” 中的内容 , 这是操作意义上的图灵机 , 只描述图灵机读头操作 , 没有必要将图灵机指令整体设计出来 ;

M=\rm M =M= "在长度为 n\rm nn 的字符串 w\rm ww 上进行如下计算 :

① 返回带子最左端 , 从左向右扫描带子 , 找到 两个未标记的 000 , 标记后 , 转到 ② 继续运行 ; 如果没有找到未标记的 000 , 转到 ③ 运行 ; 如果发现一个未标记的 000 , 进入接受状态 ;

② 返回带子最左端 , 从左向右扫描带子 , 找到 未标记的 111 , 标记后 , 转到 ① 继续运行 ; 如果没有找到未标记的 111 , 进入拒绝状态 ;

③ 返回带子最左端 , 从左向右扫描带子 , 找到未标记的 111 , 如果有则 进入接受状态 , 如果没有则 进入拒绝状态 ; "

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。