大家好,欢迎来到IT知识分享网。
计算理论导引 笔记
绪论
第 1 章 导引
1.1 自动机、可计算性与复杂性
1.1.1 计算复杂性理论
1.1.2 可计算性理论
1.1.3 自动机理论
1.2 数学概念和术语
1.2.1 集合
1.2.2 序列和多元组
1.2.3 函数和关系
1.2.4 图
1.2.5 字符串和语言
1.2.6 布尔逻辑
1.2.7 数学名词汇总
1.3 定义、定理和证明
1.4 证明的类型
1.4.1 构造性证明
- 许多定理说明存在一种特定类型的对象,证明这种定理的一个方法是说明如何构造这样的对象。这种技术就是构造性证明
1.4.2 反证法
1.4.3 归纳法
第一部分 自动机与语言
第 2 章 正则语言
2.1 有穷自动机
2.2 非确定性
2.3 正则表达式
2.4 非正则语言
第 3 章 上下文无关语言
3.1 上下文无关文法
3.2 下推自动机
3.3 非上下文无关语言
第二部分 可计算性理论
第 4 章 丘奇——图灵论题
4.1 图灵机
- 图灵机:图灵机模型用一个无限长的带子作为无限存储,他还有一个读写头,这个读写头能在带子上读、写和移动
- 与有穷自动机的区别:
- 图灵机在带子上既能写也能读;
- 读写头既能向左移,也能向右移;
- 带子是无限长的;
- 进入拒绝和接受状态将立即停机。
- 与有穷自动机的区别:
4.1.1 图灵机的形式定义
- 图灵机定义的核心是转移函数,因为它说明了机器从一步怎么走到下一步。
- 定义 4.1:图灵机的形式化定义
- 格局:图灵机计算时,当前状态、当前带内容和读写头当前位置会发生改变,这三项构成的整体叫做图灵机的格局。表示方式: C = u q v
- 图灵机计算方式形式化:如果图灵机能合法地从格局C1一步进入C2,则称格局C1产生格局C2:
- M 接受的字符串的全体称为M的语言,记为L(M):
- M 在输入 w 上的起始格局是格局 q0w,表示机器处于起始状态q0,并且读写头处于带子的最左端位置。在接受格局里,状态是 q_accetp;在拒绝格局里,状态是q_reject。接受和拒绝状态都是停机状态,它们都不再产生新的格局。
- 图灵机M接受输入 w,如果存在格局的序列 C_1, C_2, … , C_k 使得:
- C_1 是 M 在输入 w 上的起始格局;
- 每一个 C_i 产生 C_i+1
- C_k 是接受格局
- 定义 4.2 :如果有图灵机识别一个语言,则称该语言是图灵可识别的
- 判定器:对所有输入都停机的图灵机,它们永不循环,它们总能决定是接受还是拒绝
- 也称识别某个语言的判定器 判定 该语言
- 定义 4.3 :称一个语言是图灵可判定的,或简单地讲,是可判定的,如果有图灵机判定它
- 图灵可判定语言都是图灵可识别的,但图灵可识别语言不都是图灵可判定的
- 图灵可判定语言都是图灵可识别的,但图灵可识别语言不都是图灵可判定的
4.2 图灵机的变形
- 一个小例子说明——证明各种变形图灵机间的等价性关键:
- 证明它们能相互模拟
4.2.1 多带图灵机
- 定理 4.8:每个多带图灵机都有一个与之等价的单带图灵机
- 推论 4.9:一个语言是图灵可识别的,当且仅当有多带图灵机识别它
4.2.2 非确定性图灵机
- 定理 4.10:每个非确定型图灵机都有一个与之等价的确定型图灵机
- 推论 4.11:一个语言是图灵可识别的,当且仅当有非确定型图灵机识别它
- 推论 4.11:一个语言是可判定的,当且仅当有非确定型图灵机判定它
4.2.3 枚举器
- 定理 4.13:一个语言是图灵可识别的,当且仅当有枚举器枚举它。
4.2.4 与其他模型的等价性
4.3 算法的定义
4.3.1 希尔伯特问题
- 希尔伯特第10问题:设计一个算法来测试多项式是否有整数根。
- 丘奇-图灵论题:提出的算法定义是解决希尔伯特第10问题所必须的
- 丘奇:Lambda-演算的记号系统来定义算法
- 图灵:使用机器来做同样的事情
4.3.2 描述图灵机的术语
第 5 章 可判定性
为什么要研究不可解性呢?有两个原因:
- 第一,知道问题何时在算法上是不可解的 确实是有用的,因为只有这样才能知道,必须改变或简化这个问题才能找到它的算法解。
- 第二,原因是文化上的,即使你处理的问题都是可解的,了解不可解性能激发你的想象,并帮助你全面而透彻地理解什么是计算
5.1 可判定语言
5.1.1 与正则语言相关的可判定性问题
因为已经建立了处理语言的术语,为方便起见,将用语言来表示各种计算问题。
- 例如 DFA(有限状态自动机)状态接受问题,检测一个特定的自动机是否接受一个事先给定的串,此问题可表示为语言 A_DFA,它包含了所有 DFA及其接受的串的编码,令
- 问题 “DFA B是否接受输入 w” 与问题 “<B, w>是否是 A_DFA的元素” 是相同的
- 定理 5.1: A_DFA是一个可判定语言
对非确定型有穷自动机证明类似的定理,设:
- 定理 5.2: A_NFA是一个可判定语言
类似地检查一个正则表达式是否派生一个给定的串。设:
- 定理 5.3: A_REX是一个可判定语言
定理5.1/5.2/5.3说明:对于可判定性,把DFA/NFA或正则表达式提供给图灵机都是等价的,因为图灵机能将它们的编码进行互相转换。
现在转向与图灵机有关的另一问题:有穷自动机语言的空性质测试。要检查一个有穷自动机是否根本不接受任何串,令:
- 定理 5.4: E_DFA是一个可判定语言
下一个定理证明,检查两个DFA是否识别同一个语言是可判定的。设:
- 定理 5.5: EQ_DFA是一个可判定语言
5.1.2 与上下文无关文法相关的可判定问题
下面描述两个算法,一个检查一个CFG(上下文无关文法)是否派生一个特定的串,另一个检查一个CFG的语言是否为空。
首先是第一个算法,设:
- 定理 5.6: A_CFG是一个可判定语言
- 证明思路,把文法G转换为乔姆斯基范式的形式,则可以把派生步骤控制在 2n-1 步,然后进行图灵模拟
其次是第二个算法,检查一个CFG是否不派生任何串是可判定的。设:
- 定理 5.7: E_CFG是一个可判定语言
下面讨论检查两个上下文无关文法是否派生同一个语言的问题。设:
- 事实上,EQ_CFG不是可判定的。
现在来证明每个上下文无关语言可以用图灵机来判定:
- 定理 5.8: 每个上下文无关语言是可判定的
截至目前为止:语言类之间的关系
5.2 停机问题
- 本节将证明算法上不可解的问题是存在的,这是计算理论中最具哲学意义的理论之一
- 现在介绍第一个不可解性定理:
- 下面的语言是不可解的:检查一个图灵机是否接受一个给定的问题。类似于 A_DFA和A_CFG,记为 A_TM。A_DFA与A_CFG是可判定的。而A_TM是不可判定的。令
- 下面的语言是不可解的:检查一个图灵机是否接受一个给定的问题。类似于 A_DFA和A_CFG,记为 A_TM。A_DFA与A_CFG是可判定的。而A_TM是不可判定的。令
- 定理 5.9: A_TM是不可判定的
- A_TM有时被称为停机问题
图灵机U自身也很有意思,它是所谓 通用图灵机 的一个例子。通用图灵机是图灵首次提出的,之所为称之为“通用”,是因为它能够模拟任何其它图灵机,只要知道其描述即可。通用图灵机在开发早期的程序存储式计算机过程中曾起过重要作用。
5.2.1 对角化方法
- 定义 5.10: 集合、函数的一对一、到上、对应关系
- 定义 5.12:称一个集合是可数的,如果它是有限的,或者它与 N 有相同的规模。
- 定义 5.14: R 是不可数的
- 推论 5.15: 存在语言不是图灵可识别的
5.2.2 停机问题是不可判定的
- 本小节给出了 定理5.9: A_TM是不可判定的,证明过程
5.2.3 一个图灵不可识别语言
上节介绍了一个不可判定的语言:A_TM。现在介绍另一个语言,此语言甚至是不可识别的。下面定理表明:
- 如果一个语言和它的补都是图灵可识别的,则此语言也是可判定的。
- 如果一个语言是一个图灵可识别语言的补集,则称它是补图灵可识别的
- 定理5.16:一个语言是可判定的,当且仅当它既是图灵可识别的,也是补图灵可识别的
- 推论 5.17:
第 6 章 可归约性
本章讨论另外几个不可解的问题,并将介绍一个基本方法,可用来证明问题是计算上不可解的,这个方法称为可归约性
- 归约:
- 就是将一个问题转化为另一个问题的方法,使得可以用第二个问题的解来解第一个问题
- 可归约性总是涉及两个问题,称之为A和B。如果A可归约到B,就可以用B的解来解A。
- 注意:可归约性说的不是怎样去解A或B,而是在知道B的解时怎么去解A
根据可判定性对问题进行分类时,可归约性起着重要作用:
- 根据可计算性理论,如果A可归约到B,且B是可判定的,则A也是可判定的
- 等价的,如果A是不可判定的,且可归约到B,则B是不可判定的
6.1 语言理论中的不可判定问题
若将A_TM归约到HALT_TM,就可利用A_TM的不可判定性来证明HALT_TM的不可判定性。设:
- 定理 6.1: HALT_TM是不可判定的
设
- 定理 6.2: E_TM是不可判定的
另外一个与图灵机有关的计算问题也很有意思:给定一个图灵机和一个可由某个更简单的计算模型识别的语言,检查此图灵机是否识别此语言。
例如,令 REGULAR_TM 是检查一个给定的图灵机是否是一个与之等价的有穷自动机问题,则这个问题与检查一个给定的图灵机是否识别一个正则语言问题相同。设
- 定理 6.3: REGULAR_TM是不可判定的
赖斯定理:检查关于语言的任何一个性质是否可由图灵机识别都是不可判定的
下面的定理证明检查两个图灵机的等价性是一个不可判定的问题,设
- 定理 6.4: EQ_TM是不可判定的
利用计算历史的归约:
图灵机在输入上的计算历史就是当这个图灵机处理此输入时所经过的格局序列。它是这个机器所经历的计算的完整记录。
- 定义6.5:
- 定义 6.6:线性界限自动机 LBA —— 是一种受到限制的图灵机,它不允许其读写头离开所包含输入的带区域
- LBA是只有有限存储的图灵机
- 也就是说,对于长度为n的输入,可用存储量关于 n 是线性的
设 A_LBA是LBA是否接受它的输入的问题。尽管A_LBA与不可判定问题A_TM在图灵机被限制为LBA时是相同的,我们还是可以证明A_LBA是可判定的。设
- 引理 6.7:
- 定理 6.8: A_LBA是可判定的
LBA的空性质问题,设
- 定理 6.9: E_LBA是不可判定的
利用计算历史的归约技术,还能建立有关上下文无关文法和下推自动机问题的不可判定性:
上下文无关文法的等价性问题,设
- 定理 6.10: ALL_CFG是不可判定的
- 补充定理: EQ_CFG是不可判定的
6.2 一个简单的不可判定问题
本节将证明:
- 不可判定性现象不仅仅局限于有关自动机的问题,我们将给出一个关于串操作的不可判定问题,称为波斯特对应问题,或PCP
- 波斯特对应问题是:确定一簇骨牌是否有一个匹配。这个问题在算法上是不可解的。
令
- 定理 6.11: PCP是不可判定的
6.3 映射可归约性
本节将可归约性这个概念形式化,这个就能更精确地使用。
将一个问题归约为另一个问题的概念可以用多个方式来形式定义,选择使用哪一个要根据应用情况。
我们地选择是一种简单方式的可归约性,叫做映射可归约性。
6.3.1 可计算函数
6.3.2 映射可归约性的形式定义
- 图 6-6 说明了映射可归约性:
- 定理 6.16:
- 推论 6.17:
映射可归约性对求补运算是敏感的,这对用可归约性来证明某些语言的不可识别性非常重要。也可以使用映射可归约性来证明某些问题不是图灵可识别的
- 定理 6.22:
- 推论 6.23:
- 定理 6.24:
第 7 章 可计算性理论的高级专题
略
第三部分 复杂性理论
第 8 章 时间复杂性
如果求解一个问题需要过量的时间或存储量,那么即使它可判定从而在理论上用计算机可解,在实际中它还可能是不可解的。
本书的最后一部分介绍计算复杂性理论:一门研究求解计算问题所需要的时间、存储量,或者其它资源的理论。
8.1 度量复杂性
- 最坏情况下:即考虑在某特定长度的所有输入上的最长运行时间
- 平均情况分析下:考虑在某特定长度的所有输入上的运行时间的平均值
- 定义 8.1:
8.1.1 大O和小o记法
- 定义 8.2:
- 定义 8.5:
8.1.2 分析算法
为了根据时间需求来给语言分类,定义一些记法:
- 定义 8.7:
8.1.3 模型间的复杂关系
- 定理 8.8 :
- 定义 8.9:
- 定理 8.10:
8.2 P类
定理 8.8、8.10显示出一个重要的差别:
- 一方面,问题的时间复杂性在确定型单带图灵机和多带图灵机上最多相差平方或多项式;
- 另一方面,在确定型和非确定型图灵机上,问题的时间复杂度最对相差指数
8.2.1 多项式时间
- 定义 8.11 :P是确定型单带图灵机在多项式时间内可判定的语言类。
- 在理论中,P类扮演核心的角色,它的重要性在于:
- 1)对于所有与确定型单带图灵机多项式等价的计算模型来说,P是不变的
- 2)P大致对应于在计算机上实际可解的问题类
- 在理论中,P类扮演核心的角色,它的重要性在于:
8.2.2 P中的问题举例
- 定理 8.12: PATH 属于 P
- 定理 8.13: RELPRIME 属于 P
- 定理 8.14: 每一个上下文无关语言都是 P 的成员
8.3 NP类
- 定义 8.15:
- 定义 8.16: NP是具有多项式时间验证机的语言类。
- NP类是重要的,因为它包含许多具有实际意义的问题
- 术语NP即:非确定型多项式时间
- 定理 8.17: 一个语言在NP中,当且仅当它能被某个非确定型多项式时间图灵机判定
- 定义 8.18:
- 推论 8.19:
8.3.1 NP中的问题举例
- 定理 8.20:
- 定理 8.21:
8.3.2 P与NP问题
8.4 NP完全性
- 定理 8.22:库克——列文定理
8.4.1 多项式时间可归约性
- 定理 8.25:
- 定理 8.26:
8.4.2 NP完全性的定义
8.4.3 库克——列文定理
- 定理 8.30: SAT 是 NP 完全的
- 推论 8.32: 3SAT 是 NP 完全的
8.5 几个 NP 完全问题
- 推论 8.33 CLIUQUE 是 NP 完全的
8.5.1 顶点覆盖问题
- 定理 8.34: VERTEX-COVER 是 NP完全的
8.5.2 哈密顿路径问题
- 定理 8.35: HAMPATH是 NP完全的
- 定理 8.36: UHAMPATH(无向)是 NP完全的
8.5.3 子集和 问题
- 定理 8.37: SUBSET-SUM 是NP完全的
第 9 章 空间复杂性
9.1 萨维奇定理
- 萨维奇定理
9.2 PSPACE类
- 与P类类似,为空间复杂性定义 PSAPCE类
- 定义 9.6: PSPACE是在确定型图灵机上、在多项式空间内可判定的语言类
- 定义 9.6: PSPACE是在确定型图灵机上、在多项式空间内可判定的语言类
9.3 PSPACE完全性
9.3.1 问题 TQBF
9.3.2 博弈的必胜策略
9.3.3 广义地理学
9.4 L类和NL类
9.5 NL 完全性
图中的搜索:
- 定理 9.20: PATH是NL完全的
- 推论 9.21: NL 包含于 P
9.6 NL等于coNL
第 10 章 难解性
“难解的”定义是:
- 某些计算问题在理论上是可解的,但是解法需要耗费大量的时间或空间,以至于无法在实践中应用。
10.1 层次定理
空间复杂性定理:
时间复杂性定理:
指数空间相对性:
10.2 相对化
EQ_REX↑ 难解性的证明依赖于对角化法。
本节给出相对化方法,它给出有力证据否定了用对角化解决 P 与 NP 问题的可能性。
对角化方法的局限
10.3 电路复杂性
略
第 11 章 复杂性理论中的高级专题
略
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/123190.html