层次定理多项式层次.ppt

  1. 1、本文档共158页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
层次定理多项式层次

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 《理论计算机科学基础》 * 空间层次定理 定理10.3: 对任何空间可构造函数f, 存在语言A, 在O(f)空间可判定, 但不能在o(f)空间内判定. 证明思路 构造一个语言A A ? SPACE(O(f(n))), A ? SPACE(o(f(n))), 对角化 《理论计算机科学基础》 * 定理10.3证明 证明: TM B=“对输入w: 1) 令n是w的长度. 2) 划定f(n)大小的工作空间, 如果后面的步骤企图超越 这个空间,则拒绝. 3) 若w不形如<M>10*, M是TM, 则拒绝. 4) 在w上模拟M,如果超过2f(n)步, 则拒绝; 5) 若M接受,则拒绝;若M拒绝,则接受.” 《理论计算机科学基础》 * 定理10.3证明 证明(续): B是O(f)空间的, 设A=L(B), 则A?SPACE(O(f)). 下证A?SPACE(o(f)): (反证) 设A=L(M)并且M在g(n)空间内运行, g(n)=o(f(n)). B需要dg(n)空间模拟M, d是只与M有关的常数. 设n?n0时 有dg(n)<f(n), B可以完成对M的模拟, 则 <M>10n0?L(M) ? <M>10n0?L(B), 即<M>10n0?A ? <M>10n0?A, 矛盾! # 《理论计算机科学基础》 * 推论 推论10.4: 设函数f2(n)是空间可构造的, 并且函数f1(n)=o(f2(n)), 则 SPACE(f1(n)) ? SPACE(f2(n)) 推论10.5: 若0??1<?2,则 SPACE(n?1) ? SPACE(n?2). 推论10.6: NL?PSPACE. 证明: NL?SPACE(log2n) ?SPACE(n). # 推论10.6: PSPACE?EXPSPACE. 时间层次定理 《理论计算机科学基础》 * 《理论计算机科学基础》 * 时间可构造 时间可构造函数 t: N?N 满足 t(n) ? n log n 并且 t(n)在O(t(n))时间内可计算 输入1n, 输出二进制f(n) 存在TM以t(n)作为时间复杂性 《理论计算机科学基础》 * 例10.9 nlogn, n?n, n2, 2n ,… 都是时间可构造的 《理论计算机科学基础》 * 带时间限制的通用机 设t(n)是时间可构造的, s(n)logs(n)=o(t(n)), 或s(n)=o(t(n)/logt(n)), 则存在TM U在t(n)时间内运行, 并且对于在s(n)时间内运行的 任意TM M和足够长的输入w, U在输入<M,w>上模拟M在输入 w上的计算, 即U(<M,w>)=M(w). U字母表固定, M字母表任意, U用d个格子表示M的一个格子, U使用时间ds(n)logs(n)模拟M, 存在n0, 当n?n0时, ds(n)logs(n)<t(n). 《理论计算机科学基础》 * 带时间限制的TM的列表 设t(n)是时间可构造的, 并且 s(n)=o(t(n)/logt(n)), 则可列举出 TM M1,M2,M3,……, 使得 TIME(s(n)) ? { L(M1), L(M2), L(M3),…… }. 设全体TM的枚举是N1,N2,N3,…… 给上述每个TM增加“时钟”, 对于足够长的输入, 控制其运行时间不超过t(n) 对于较短的有限个输入, 把答案“固化”在TM里, 就得到M1,M2,M3,…… 《理论计算机科学基础》 * 对角化 TM B=“对输入w: 1) 令n是w的长度. 2) 利用时间可构造性计算t(n), 把值 ?t(n)/logt(n)?保存在二进制计数器里. 每执行一次步骤3,4,5之前把该计数器减1. 若计数器减到0, 就拒绝. /*时钟*/ 3) 如果w不形如<M>10*, M是TM, 则拒绝. /*padding*/ 4) 在w上模拟M. 5) 若M接受,则拒绝; 若M拒绝,则接受.” /*对角化*/ 《理论计算机科学基础》 * 时

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档