【计算理论】计算复杂性 ( 非确定性图灵机的时间复杂度 | 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的关系 )

举报
韩曙亮 发表于 2022/01/11 02:17:38 2022/01/11
【摘要】 文章目录 一、非确定性图灵机的时间复杂度二、非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 一、非确定性图灵机的时间复杂度 给定一个非确定性图灵机 ...





一、非确定性图灵机的时间复杂度



给定一个非确定性图灵机 , 该图灵机是 判定机 , 在所有的输入上都会停机 , 肯定能得到一个 接受状态 或 拒绝状态 结果 ;

非确定性图灵机 计算过程是一个计算树 , 每个计算分支都可以得到一个 接受 / 拒绝 结果 , 因此 每个计算分支都是有限长的 ; 无限长的分支说明进入了 Loop 循环状态 ;


非确定性图灵机 计算树 参考 【计算理论】图灵机 ( 非确定性图灵机 | 非确定性图灵机指令分析 | 计算过程 | 非确定性指令出现多个分支 | 非确定性图灵机转为计算树 | 计算树 ) 博客 ;


非确定性图灵机 时间复杂度是一个函数 , 该函数是从 自然数 到 自然数 映射的一个函数 ,

记做 : f ( n ) : N → N \rm f(n) : N \to N f(n):NN , 函数的定义域值域都是 自然数 N \rm N N ;

定义域 : 定义域中的自然数 N \rm N N 表示 输入字符串的大小 ,

值域 : 值域中的自然数 N \rm N N 表示 计算步数 ;



确定性图灵机 计算 , 与 非确定性图灵机 计算 的差别 :

在这里插入图片描述

确定性图灵机 在字符串上进行计算时 , 只有一个分支 , 非确定性图灵机 在字符串上进行计算时 , 有很多个分支 ;


非确定性图灵机 时间复杂度取值 : 将所有的长度为 n \rm n n 的字符串 , 依次输入到 非确定性图灵机 中进行计算 , 得到的计算树是不同的 , 所有的计算树中 , 高度最高的计算树的高度 , 作为计算的步数 , 也就是时间复杂度的取值 ;





二、非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系



使用 确定性图灵机 , 模仿 非确定性图灵机 , 在 计算效率方面要付出一定的代价 , 计算复杂度会 指数级增加 ;


如果 非确定性 单个带子 图灵机 , 时间复杂度是 O ( t ( n ) ) \rm O(t(n)) O(t(n)) ,

找到一个 等价的 确定性 单个带子 图灵机 , 其时间复杂度是 2 O ( t ( n ) ) \rm 2^{O(t(n))} 2O(t(n)) ;


文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/111119437

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。