【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )
文章目录
- 一、计算理论内容概览
- 二、计算问题的判定性
- 三、计算问题的 有效性
- 四、时间复杂性度量
- 五、算法有效性 数学定义需求
- 六、输入表示
- 七、时间复杂度
一、计算理论内容概览
计算理论分为 形式语言与自动机 , 可计算部分 , 计算复杂性部分 ;
形式语言与自动机 内容 : 自动机 , 确定性有限自动机 , 非确定性有限自动机 , 正则语言 , 泵引理 , 上下文无关语法 , 下推自动机 , 都属于 形式语言 与 自动机 部分 ;
可计算 内容 : 图灵机 , 确定性图灵机 , 非确定性图灵机 , 丘奇-图灵命题 , 可判定性 , 可计算性 等问题 ;
计算复杂性 内容 : 时间复杂性 , 模型间的时间复杂性关系 , P\rm PP 类 , NP\rm NPNP 类 ;
计算理论 知识点很枯燥 , 但是 在进行理论研究时 , 或者大的计算机工程实践时 , 很有用 ;
二、计算问题的判定性
根据计算模型 , 可以将判定性问题 , 总结成以下几点 :
① 所有 关于 图灵机 的计算问题 , 都是 不可判定的 ; ( 莱斯定理 )
② 所有 关于 确定性有限自动机 的计算问题 , 都是可判定的 ;
③ 关于 下推自动机 的计算问题 , 有些可判定 , 有些不可判定 ;
三、计算问题的 有效性
可计算性 包含 可判定性 , 可判定性 包含 有效性 ;
可计算性 > 可判定性 > 有效性 ;
计算问题 对应的算法中 , 有些算法是 有效的 , 有些算法是 无效的 ,
如 : 穷举算法 , 蛮力搜索之类的算法 , 没有有效性可言 , 肯定不是有效算法 ; 贪心算法 , 欧几里得算法 是有效算法 ;
这里希望可以区分 有效算法 与 无效算法 ;
四、时间复杂性度量
计算机中度量时间长短有两种方式 :
① 离散时间 ( 自然数表达 ) : 时间是离散的 , 如 1,2,3,4,⋯1, 2, 3, 4 , \cdots1,2,3,4,⋯ 秒
② 连续时间 ( 实数表达 ) : 时间是连续的 , 如 1.221457⋯1.221457\cdots1.221457⋯ 秒
计算复杂性的表达使用的是 离散时间 , 自然数表达 ;
五、算法有效性 数学定义需求
有效性 与 无效性 区分时 , 将 贪心算法 分到有效性算法中 , 将蛮力穷举的算法 分到无效性算法中 ;
需要定一个区分原则 , 区分算法的有效性 , 将一个算法分为 有效算法 或 无效算法 ;
为 算法有效性 提供一个 严格的数学定义 ;
六、输入表示
输入字符串大小 , 输入字符串越长 , 所花的时间越长 , 计算所花的时间与输入字符串时单调递增的 ;
有效性 进行定义时 , 通过输入字符串大小进行度量 ;
计算机计算输入有很多形式 , 数字 , 图形 , 字符串 , 二进制数据 等 ;
数字的表示 , 假如输入数字是 171717 , 要将对应的时间复杂度理解成 222 , 这个数字由 222 位数字组成的 ;
如果将上述 171717 数字 , 使用二进制表示 , 是 100011000110001 , 输入位数是 555 , 对应的时间复杂度理解成 555 ;
算法复杂性 只与输入的数据大小有关 , 输入的大小必须是合理的 ;
输入数字时 , 可以输入 十六进制 , 十进制 , 八进制 , 二进制 , 但是不能输入 一进制数字 , 一进制输入是不合理的 ;
七、时间复杂度
假设 M\rm MM 是 确定性图灵机 , 该图灵机在所有的输入上都会 停机 ;
因为该图灵机会停机 , 其结果不是接受 , 就是拒绝 , 不会出现 Loop 不停机的状态 , 因此该 图灵机 M\rm MM 是判定机 ;
图灵机 M\rm MM 的运行时间 或 时间复杂度 是一个函数 f\rm ff , 该函数是 从 自然数集 到 自然数集上的映射 , N→N\rm N \to NN→N ;
前面的自然数集 N\rm NN 主要是度量的 输入字符串大小 , 后面的自然数集 N\rm NN 是计算的步数 ;
f(n)\rm f(n)f(n) 的含义是度量 长度为 n\rm nn 的所有字符串 , 计算时所花费的步数的 最大值 ;
证明 M\rm MM 为什么必须是判定机 :
假设 M\rm MM 是图灵机 , 在某些输入上是不停机的 , 如输入字符串为 aab\rm aabaab ;
图灵机 M\rm MM 在 aab\rm aabaab 字符串上进行计算时 , 进入 Loop 状态 , 不停机 , 此时定义 f(3)\rm f(3)f(3) 的值只能是无穷大 ;
此时该函数 f(n)\rm f(n)f(n) 就没有意义了 ;
函数在数字上进行取值时 , 必须是一个具体的数字 ;
【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )相关推荐
- 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
文章目录 一.计算理论内容概览 二.计算问题的 有效性 三.语言 与 算法模型 四.可计算性 与 可判定性 五.可判定性 与 有效性 六.语言分类 一.计算理论内容概览 计算理论分为 形式语言与自动机 ...
- 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
文章目录 一.非确定性图灵机 与 计算树 二.非确定性 三.非确定性图灵机 与 确定性图灵机 相互模仿 四.非确定性图灵机 -> 确定性图灵机 一.非确定性图灵机 与 计算树 非确定性图灵机体现 ...
- 计算机三大科学理论是,近代科学最伟大的三大理论:进化论、量子论和计算论...
不记得是哪位大科学家所说了,近代科学最伟大的三大理论分别是:进化论.量子论和计算论:这么说不是因为其他的科学理论不伟大,而是因为与其他科学理论相比这三大科学成就要更伟大,因为它们不但触及到了世界的本质 ...
- 2月份隐私计算、联邦学习的市场概览
2月份隐私计算.联邦学习的市场概览 摘要:在隐私计算市场中,三股信息流如清风拂面,流转不息.采购意向,犹如花开满园,为供应商和服务提供商探明商机:招标信息,如云卷云舒,为客户了解市场动态提供重要参考: ...
- python文件数据总和计算_python 计算文件夹里所有内容的大小总和
计算文件夹里所有内容的大小总和 递归方法 '''计算文件夹的大小''' import os def dir_file_size(path): if os.path.isdir(path): file_ ...
- python-每日一练-抽取某本书的前50条短评内容并计算评分的平均值
python-每日一练-抽取某本书的前50条短评内容并计算评分的平均值 ''' 抽取某本书的前50条短评内容并计算评分的平均值.提示:有的评论中并不包含评分. ''' import requests ...
- Numpy数据分析模块实训-【根据“某门课程平时成绩和期末考试成绩.csv”内容,计算课程的平时成绩和期末考试成绩的均值、标准差、方差、最小值、最大值,输出期末考试比平时成绩高的学生名单,并输出期末】
- - 该文章为本人原创!主要是用来记录学习的过程和分享给需要的博友.若有出错或者更好解决方法欢迎评论和私信交流学习!!! ' Numpy数据分析模块实训 - 根据"某门课程平时成绩和期末考 ...
- python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书
因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...
- 曹讯 计算机摄像学,计算摄像学: 全光视觉信息的计算采集
计算摄像学: 全光视觉信息的计算采集 语音 编辑 锁定 讨论 上传视频 <计算摄像学:全光视觉信息的计算采集>是2016年9月清华大学出版社出版的图书,作者是戴琼海.索津莉.季向阳.曹汛. ...
最新文章
- C++实现十大排序算法(冒泡,选择,插入,归并,快速,堆,希尔,桶,计数,基数)排序算法时间复杂度、空间复杂度、稳定性比较(面试经验总结)
- ANSYS静力学分析时如何添加重力
- 我用24小时、8块GPU、400美元在云上完成训练BERT!特拉维夫大学新研究
- 如何创建和维护你自己的man手册
- 作业32-完成评论功能
- WPF 模仿QQ音乐首页歌单效果
- java生产者消费者gui_java理论之java--GUI(图形用户管理)与 IO/流
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- 通知中心 NSNotificationCenter 的简单使用方法
- @大学生,送给步入大学生活的你,高速学编程。
- python apscheduler 动态_基于Flask-APScheduler实现添加动态定时任务
- 类的数据成员的一些注意事项
- Arch Linux freemind中文乱码
- SocksCap64全局代理设置教程
- javascript回调函数有什么用
- 基于32feet.net对Broadcom(Widcomm)
- E4A影视APP源码电视盒子酷点TV版4.5 后端对接苹果cms
- Python 高效提取 HTML 文本的方法
- gamemaker 更新 runtime 快一点
- 豆瓣评分9.4!跟邱锡鹏教授一起学「神经网络与深度学习」,7月19日开课