收藏 分享(赏)

计算理论-可计算理论ch2-2016.pptx

上传人:无敌 文档编号:111459 上传时间:2018-03-14 格式:PPTX 页数:18 大小:176.24KB
下载 相关 举报
计算理论-可计算理论ch2-2016.pptx_第1页
第1页 / 共18页
计算理论-可计算理论ch2-2016.pptx_第2页
第2页 / 共18页
计算理论-可计算理论ch2-2016.pptx_第3页
第3页 / 共18页
计算理论-可计算理论ch2-2016.pptx_第4页
第4页 / 共18页
计算理论-可计算理论ch2-2016.pptx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、教材: 1 王 王晓东,计算机算法设计与分析( 第4版),电子工业. 2S 唐常杰等译, Sipser 著, 计算理论导引, 机械工业. 参考资料: 3C 潘金贵等译, Cormen 等著, 算法导论, 机械工业. 4M 黄林鹏等译, Manber 著, 算法引论- 一种创造性方法, 电子. 5 刘 刘汝佳等, 算法艺术与信息学竞赛, 清华大学. 6L Lewis 等著, 计算理论基础, 清华大学. 计算理论与 算法分析设计刘 庆 晖 计算理论 第二部分 可计算理论 第4章 可判定性 Church-Turing 论题 1930s 人们开始考虑算法的精确定义 1933, Kurt Gdel, 递

2、归函数 1936, Alonzo Church, -calculus 1936, Alan Turing, 判定图灵机( 判定器) Church 和 Turing 证明这三种定义等价 计算机能力的极限 即使未来几年量子计算机制造成功, 人们能解决的问题类并不会变大 停机问题Halt 是图灵可识别的 Halt= | 图灵机M 在串x上会停机 定理: Halt 是图灵可识别的 证明: 构造识别Halt 的图灵机T, T = “ 对于输入, M 是图灵机, x是串 1. 在x上模拟M, 2. 若M 停机( 接受或拒绝), 则接受.” T 的语言是Halt, 证毕. 注: T 不是判定器 (?)例输入

3、 q 0 q a 0L 1#,R q r | _ | R 停机问题Halt 不是可判定的 Halt= | 图灵机M 在x上会停机 定理: Halt 不可判定 证明: 假设Halt 有判定器H, 构造图灵机D 使用H: Diagonal = “ 对于输入, M 是图灵机, 1. 在 上运行H, 2. 若H 接受, 则返回1; 3. 若H 拒绝, 则停机.” 在Diagonal 上输入”是否会停机? 若停机, 即 HALT, H 接受, 则由2, H 不停机 若不停机, 即 HALT, H 拒绝, 则由3, H 停机 停机问题的补不是图灵可识别的 定理: 若A 和A 的补都是图灵可识别, 则A 图

4、灵可判定 证明: 设图灵机T 和Q 分别识别A 和A 的补, 构造H: H = “ 对于输入x, x是串, 1. 在x上同步模拟T 和Q, 直到有一个接受x, 2. 若T 接受x, 则接受x; 3. 若Q 接受x, 则拒绝x.” H 是判定器(?), H 的语言是A. 证毕. (?): x 属于A 或A 的补, T 和Q 至少有一个停机, H 停机 推论: 停机问题的补不是图灵可识别的. 各语言类之间的关系 正则语言 上下文无关语言 可判定语言 图灵可识别语言 P( * )三类问题 成员测试:A DFA =|B 是DFA,w 是串,B 接受wA TM =|M 是一个TM, 且接受w 空性质测试

5、: E DFA =|A 是DFA,L(A)= 等价性质测试:EQ DFA =|A 和B 都是DFA, 且L(A)=L(B)可判定性 成员测试:A DFA =|B 是DFA,w 是串,B 接受w 可判定A TM =|M 是一个TM, 且接受w 不可判定 空性质测试: E DFA =|A 是DFA,L(A)= 可判定 等价性质测试:EQ DFA =|A 和B 都是DFA, 且L(A)=L(B) 可判定A DFA =|DFA B 接受串w 可判定 证明: 如下构造A DFA 的判定器: M=“ 对于输入, 其中B 是DFA,w 是串:1) 在输入w 上模拟B.2) 如果模拟以接受状态结束,则接受;如

6、果以非接受状态结束,则拒绝.” L(M) = A DFA . 实现细节: 检查输入. (p,q,)(a,)(p,a,q),)(q 0 )(F), w) 模拟. 初始,B 的状态是 q 0 ,读写头位于w 的最左端,状态的更新由B 的转移函数决定.A NFA =|NFA B 接受串w 可判定 思路1: 直接模拟NFA? 思路2: 先将NFA 转换成DFA. 证明: 如下构造A NFA 的判定器: N=“ 在输入 上,其中B 是NFA,w 是串:1) 将NFA B 转换成一个等价的DFA C.2) 在输入 上运行A DFA 的判定器M.3) 如果M 接受,则接受,否则拒绝.” 运行TM M: M

7、作为子程序加进N 的设计中. L(N) = A NFA .空性质测试 定理 E DFA =|A 是DFA,L(A)= 可判定. 证明: L(A) 从起始到某接受状态的路径. T=“ 对于输入, 其中A 是一个DFA:1) 标记起始状态.2) 重复下列步骤,直到没有新标记出现.3) 对任一未标记状态, 若有从已标记状态到它的转移, 则将它标记.4) 如果无接受状态被标记,则接受; 否则拒绝.” L(T) = E DFA . TM 成员测试A TMA TM =|M 是一个TM, 且接受w 定理 A TM 是不可判定的. 命题 A TM 是图灵可识别的. U=“ 对于输入, 其中M 是TM,w 是串

8、:1) 在输入w 上模拟M;2) 若M 进入接受状态,则接受;若M 进入拒绝状态,则拒绝.” L(U) = A TM . 注: 若M 在w 上不停机,则U 在 上不停机. 定理 A TM 是不可判定语言 证明: 假设A TM 可判定, 且设H 是其判定器, 构造 D=“ 对于输入, 其中M 是TM:1) 在串 上运行H.2) 若H 接受,就拒绝; 若H 拒绝,就接受.” L(D) ? 矛盾, 所以H 不存在.详细解释 假设A TM 可判定, 且设H 是其判定器, 则 H()= 接受,若w L(M) 拒绝,若w L(M) 构造一个新的判定器D, 使得: D() = 接受,若H 拒绝 拒绝,若H

9、接受 L(M) L(M) D() = 接受, 若 L(D) 拒绝, 若 L(D) 矛盾. H 不存在.计算理论第4章作业 4.1 对于下图所示的DFA M, 回答下列问题,并说明理由a. A DFA ? 4.2 考虑一个DFA 和一个正则表达式是否等价的问题。将这个问题描述为一个 语言并证明它是可判定的。 4.3 设 ALL DFA = | A 是一个识别 * 的DFA. 证明ALL DFA 可判定. 4.15 设A = | R 是一个正则表达式,其所描述的语言中至少有一个串w 以 111为子串 . 证明A 是可判定的。不可判定问题举例 Hilbert 第十问题: 多项式是否有整数根 1970s 被证明不可判定 M = “ 对于输入“p”, p 是k 元多项式, 1. 取k 个整数的向量x ( 绝对值和从小到大 ) 2. 若p(x) = 0, 则停机接受. 3. 否则转1. ” 这个图灵机对输入 p(x,y) = x 2 +y 2 -2 不停机 对比: 一个可判定问题 一元多项式是否有整数根? M = “ 对于输入“p”, k 次1元多项式p(x), 1. 计算解的绝对值上界N 2. 对所有|x| N 3. 若p(x) = 0, 则停机接受. 4. 停机拒绝. ”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报