【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 | 证明多个带子图灵机时间复杂度 )
文章目录
- 一、确定性模型的计算复杂性关系
- 二、证明 "多个带子图灵机时间复杂度是 O(n2)\rm O(n^2)O(n2)"
一、确定性模型的计算复杂性关系
计算的 复杂性 取决于 模型的计算 ;
给定一个函数 t(n)\rm t(n)t(n) , 假设有一个 两个带子图灵机 时间复杂度是 O(t(n))\rm O(t(n))O(t(n)) , 那么对应的有相同计算能力的 一个带子图灵机 时间复杂度是 O(t2(n))\rm O(t^2(n))O(t2(n)) ;
示例 : 参考上一篇博客 【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 ) , 识别语言 A={0k1k:k≥0}\rm A = \{ 0^k1^k : k \geq 0 \}A={0k1k:k≥0} , 一个带子图灵机识别上述语言的 计算时间复杂度是 O(n2)\rm O(n^2)O(n2) , 两个带子图灵机识别上述语言的 计算时间复杂度是 O(n)\rm O(n)O(n) ;
二、证明 "多个带子图灵机时间复杂度是 O(n2)\rm O(n^2)O(n2)"
参考 【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 ) 博客 , 以如下三个带子的图灵机为例 , 加入下面的 三个带子图灵机的时间复杂度是 t(n)\rm t(n)t(n) ;
使用 单个带子图灵机 模仿上述 三个带子图灵机 , 那么对应的单个带子图灵机的时间复杂度是 t2(n)\rm t^2(n)t2(n) ;
计算 单个单子图灵机 模仿 三个带子图灵机 一步的计算 , 需要花费的步数 ;
模仿的核心是将三个带子的字符串放在一个带子中 , 使用 “#” 分割 , 并使用红色记录三个带子对应的位置 , 一个读头需要记录三个位置 , 如下图 :
使用 111 个带子的图灵机 模拟 333 个带子的图灵机 的代价是 读写头必须从左向右整个遍历一遍带子 , 才能模拟 333 个带子的图灵机 一步的计算 ;
最坏的情况下就是 , 三个带子图灵机走 111 步 , 单个带子图灵机走 三个带子所有字符串的内容长度 对应的步数 , 也就是 10+410 + 410+4 步 , 多出来的 444 步是 444 个 “#” 分割字符 ;
三个带子图灵机 每个带子的长度是 t(n)\rm t(n)t(n) , 单个带子图灵机 带子长度是 3t(n)\rm 3t(n)3t(n) ;
单个带子图灵机 模仿 三个带子图灵机 一步操作 , 最坏的情况下 , 需要执行的步数是 3t(n)\rm 3t(n)3t(n) ;
总共需要模仿 t(n)\rm t(n)t(n) 步 , 因此总共需要模仿的步数是 3t2(n)\rm 3t^2(n)3t2(n) ;
如果是 四个带子图灵机 , 总共需要模仿的步数是 4t2(n)\rm 4t^2(n)4t2(n) ,
如果是 五个带子图灵机 , 总共需要模仿的步数是 5t2(n)\rm 5t^2(n)5t2(n) ,
如果是 一百个带子图灵机 , 总共需要模仿的步数是 100t2(n)\rm 100t^2(n)100t2(n) ,
其数量级还是 t2(n)\rm t^2(n)t2(n) ,
因此增加到 222 个带子 , 与 增加到 100100100 个带子 , 甚至 一亿个带子 , 算法复杂度的数量级是 O(n2)\rm O(n^2)O(n2) , 这是不变的 ;
单个带子模仿多个带子图灵机 , 所花费的时间是平方增加 , 不管多个带子的个数是多少 ;
【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 | 证明多个带子图灵机时间复杂度 )相关推荐
- 【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 )
文章目录 一.两个带子的图灵机的时间复杂度 一.两个带子的图灵机的时间复杂度 讨论两个带子的图灵机的时间复杂度 ; 计算问题如下 : 给定语言 : A={0k1k:k≥0}\rm A = \{ 0^k ...
- 【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )
文章目录 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 在上一篇博客 [计算理论]计算复杂性 ( 非确定性 ...
- 【计算理论】计算复杂性 ( 非确定性图灵机的时间复杂度 | 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的关系 )
文章目录 一.非确定性图灵机的时间复杂度 二.非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 一.非确定性图灵机的时间复杂度 给定一个非确定性图灵机 , 该图灵机是 判定机 , 在所有 ...
- 【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
文章目录 一.多个带子的图灵机 二.证明过程设计 三.模仿操作 四.模仿带子排列 五.模仿读写头操作 一.多个带子的图灵机 多个带子的图灵机 指的是 图灵机不止一个带子 , 下图是 333 个带子的图 ...
- 【计算理论】计算复杂性 ( NP 类不同表述 | 团问题 | P 对 NP 问题 )
文章目录 一.NP 类不同表述 二.团问题 三.P 对 NP 问题 ( P vs NP ) 一.NP 类不同表述 NP\rm NPNP 对应的 确定性图灵机 表述 : NP\rm NPNP 类就是有 ...
- 【计算理论】计算复杂性 ( P 类 | 有效算法函数 | NP 直觉 | NP 简介 | NP 类严格数学定义 )
文章目录 一.P 类 二.有效算法函数 三.NP 直觉 四.NP 简介 五.NP 严格数学定义 一.P 类 时间复杂度类 : 定义 时间复杂度类 TIME(t(n))\rm TIME( t(n) )T ...
- 【计算理论】计算复杂性 ( 多项式等价 | P 类 | 丘奇-图灵论题延伸 )
文章目录 一.多项式等价 二.P 类 三.丘奇-图灵论题延伸 一.多项式等价 多项式等价 : 所有的 确定性的计算模型 之间是 相互等价 的 , 两个带子图灵机 与 单个带子图灵机 , 计算相同的问题 ...
- 【计算理论】计算复杂性 ( 时间复杂度时间单位 : 步数 | 算法分析 | 算法复杂性分析 )
文章目录 一.时间复杂度时间单位 二.算法分析 三.算法复杂性分析 一.时间复杂度时间单位 图灵机计算时间 是根据 步数 进行定义的 , 图灵机走 111 步 , 时间加一 , 每一步的时间可能不一致 ...
- 【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )
文章目录 一.计算理论内容概览 二.计算问题的判定性 三.计算问题的 有效性 四.时间复杂性度量 五.算法有效性 数学定义需求 六.输入表示 七.时间复杂度 一.计算理论内容概览 计算理论分为 形式语 ...
最新文章
- 使用Qt Installer Framework制作软件安装包
- android 官方DrawerLayout的介绍和使用
- volatile、synchronized、(原子、可见、有序)、先行发生原则
- 【机器视觉】 until算子
- SQL Server 2005 智能感知插件 - SQL Prompt 3.8.0.224
- javascript 函数和对象 再顺一顺
- [luoguP1029] 最大公约数和最小公倍数问题(数论)
- 怎么建立微信生态用户增长模型?
- Redis事务回滚深入
- 将任意图像转成 HTML5 Canvas
- Matplotlib 中文用户指南 2 安装
- python rest api 框架_Python Eve REST API框架
- Linux安装Python3详解
- 【数码管识别】需要改进的地方
- “智能语音助手”的竞品分析 —— 你好小悟小爱同学(4)
- 关于数据库的练习题,关系代数
- 【004】VS2017配置OpenCV4.1.0
- 如何测试app启动时间?
- 7-13 寻找大富翁 (25 分)
- 什么叫工业4.0,这篇接地气的文章终于讲懂了
热门文章
- silverlight 客户端之间的通讯
- 逆序对(树状数组解决)
- python常用模块之shelve模块
- linux下使用DBCA(database configuration assistant)创建oracle数据库
- spring Transaction Propagation 事务传播
- jQueryui autocomplete使用示例
- C++--在单文档的应用程序增加多个视图
- ibatis 的 This SQL map does not contain a MappedStatement的错误
- Java中Properties类的操作
- 互联网开发(一) 并发基础知识