文章目录

  • 一、计算理论内容概览
  • 二、计算问题的判定性
  • 三、计算问题的 有效性
  • 四、时间复杂性度量
  • 五、算法有效性 数学定义需求
  • 六、输入表示
  • 七、时间复杂度

一、计算理论内容概览


计算理论分为 形式语言与自动机 , 可计算部分 , 计算复杂性部分 ;

形式语言与自动机 内容 : 自动机 , 确定性有限自动机 , 非确定性有限自动机 , 正则语言 , 泵引理 , 上下文无关语法 , 下推自动机 , 都属于 形式语言 与 自动机 部分 ;

可计算 内容 : 图灵机 , 确定性图灵机 , 非确定性图灵机 , 丘奇-图灵命题 , 可判定性 , 可计算性 等问题 ;

计算复杂性 内容 : 时间复杂性 , 模型间的时间复杂性关系 , 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) 就没有意义了 ;

函数在数字上进行取值时 , 必须是一个具体的数字 ;

【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )相关推荐

  1. 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★

    文章目录 一.计算理论内容概览 二.计算问题的 有效性 三.语言 与 算法模型 四.可计算性 与 可判定性 五.可判定性 与 有效性 六.语言分类 一.计算理论内容概览 计算理论分为 形式语言与自动机 ...

  2. 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )

    文章目录 一.非确定性图灵机 与 计算树 二.非确定性 三.非确定性图灵机 与 确定性图灵机 相互模仿 四.非确定性图灵机 -> 确定性图灵机 一.非确定性图灵机 与 计算树 非确定性图灵机体现 ...

  3. 计算机三大科学理论是,近代科学最伟大的三大理论:进化论、量子论和计算论...

    不记得是哪位大科学家所说了,近代科学最伟大的三大理论分别是:进化论.量子论和计算论:这么说不是因为其他的科学理论不伟大,而是因为与其他科学理论相比这三大科学成就要更伟大,因为它们不但触及到了世界的本质 ...

  4. 2月份隐私计算、联邦学习的市场概览

    2月份隐私计算.联邦学习的市场概览 摘要:在隐私计算市场中,三股信息流如清风拂面,流转不息.采购意向,犹如花开满园,为供应商和服务提供商探明商机:招标信息,如云卷云舒,为客户了解市场动态提供重要参考: ...

  5. python文件数据总和计算_python 计算文件夹里所有内容的大小总和

    计算文件夹里所有内容的大小总和 递归方法 '''计算文件夹的大小''' import os def dir_file_size(path): if os.path.isdir(path): file_ ...

  6. python-每日一练-抽取某本书的前50条短评内容并计算评分的平均值

    python-每日一练-抽取某本书的前50条短评内容并计算评分的平均值 ''' 抽取某本书的前50条短评内容并计算评分的平均值.提示:有的评论中并不包含评分. ''' import requests ...

  7. Numpy数据分析模块实训-【根据“某门课程平时成绩和期末考试成绩.csv”内容,计算课程的平时成绩和期末考试成绩的均值、标准差、方差、最小值、最大值,输出期末考试比平时成绩高的学生名单,并输出期末】

    - - 该文章为本人原创!主要是用来记录学习的过程和分享给需要的博友.若有出错或者更好解决方法欢迎评论和私信交流学习!!! ' Numpy数据分析模块实训 - 根据"某门课程平时成绩和期末考 ...

  8. python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书

    因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...

  9. 曹讯 计算机摄像学,计算摄像学: 全光视觉信息的计算采集

    计算摄像学: 全光视觉信息的计算采集 语音 编辑 锁定 讨论 上传视频 <计算摄像学:全光视觉信息的计算采集>是2016年9月清华大学出版社出版的图书,作者是戴琼海.索津莉.季向阳.曹汛. ...

最新文章

  1. C++实现十大排序算法(冒泡,选择,插入,归并,快速,堆,希尔,桶,计数,基数)排序算法时间复杂度、空间复杂度、稳定性比较(面试经验总结)
  2. ANSYS静力学分析时如何添加重力
  3. 我用24小时、8块GPU、400美元在云上完成训练BERT!特拉维夫大学新研究
  4. 如何创建和维护你自己的man手册
  5. 作业32-完成评论功能
  6. WPF 模仿QQ音乐首页歌单效果
  7. java生产者消费者gui_java理论之java--GUI(图形用户管理)与 IO/流
  8. 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
  9. 通知中心 NSNotificationCenter 的简单使用方法
  10. @大学生,送给步入大学生活的你,高速学编程。
  11. python apscheduler 动态_基于Flask-APScheduler实现添加动态定时任务
  12. 类的数据成员的一些注意事项
  13. Arch Linux freemind中文乱码
  14. SocksCap64全局代理设置教程
  15. javascript回调函数有什么用
  16. 基于32feet.net对Broadcom(Widcomm)
  17. E4A影视APP源码电视盒子酷点TV版4.5 后端对接苹果cms
  18. Python 高效提取 HTML 文本的方法
  19. gamemaker 更新 runtime 快一点
  20. 豆瓣评分9.4!跟邱锡鹏教授一起学「神经网络与深度学习」,7月19日开课

热门文章

  1. Oracle 密码文件
  2. 石川es6课程---3、变量let和常量const
  3. 判断一个python字符串中是否包含中文字符
  4. bzoj 2870 最长道路tree——边分治
  5. 数据库中间件支持数据库集群方案
  6. 【mysql】关于事务的隔离级别
  7. ZZ:new/delete 和malloc/free 的区别
  8. (转)软件开发人员如何提高自己的软件专业技术方面的具体建议
  9. memset与malloc性能测试(转)
  10. .net IL 指令速查