Theory of Computation ReView
计算的要义就是在有限步内找到准确的解。
读书就是在识词,了解定义,尤其是形式化的那些。
Chapter One 正则语言
Q: 为什么大多数计算模型是受限的
有穷自动机
特别的,
语言
若A是机器M接受的全部字符串集,则称A是机器M的语言,记作L(M)=A,又称M识别A。一台机器可能接受若干字符串,但只会接受一个语言。
正则语言
计算
设
则称M接受w。
正则运算
需要注意,正则运算的定义对象是语言即自动机。进一步证明了正则语言类在正则运算下的完备性,通过连接运算部分证明的困难引出了非确定性。
非确定型有穷自动机
Q是状态集,
引入非确定型有穷自动机后,我们可以轻易证明正则语言类在正则运算下的封闭性。
DFA与NFA的等价性
从R出发沿着0个或多个 箭头可以到达q 包含 的一个接受状态
正则表达式
都是正则表达式 都是正则表达式 是正则表达式
正则表达式与NFA的等价性以及NFA向正则表达式的转化
该引理的证明是显然的,该引理的过程就是从正则表达式向NFA的转化。
该引理的过程就是从NFA向正则表达式转化的过程,详见Page:42。
非正则语言
1.对每一个
证明思路:其中p=自动机状态数,因为s长度不小于p,
特别地,只能用泵引理证明语言不是正则的,若需证明语言是正则的,需找到相应的正则表达式。
Chapter Two 上下文无关文法
上下文无关文法
是一个有穷集合,称为变元集。 是一个与 不相交的有穷集合,称为终结符集。 是一个有穷规则集。 是起始变元。
歧义性
某些上下文无关语言只能用歧义文法产生,称这样的语言为固有歧义的。
Chomsky Normal Form
下推自动机
是状态集。 是输入字母表。 是栈字母表。 是非确定性的转移函数。 是起始状态。 是接受状态集。
PDA 的计算过程
PDA接受输入
,该条件表示 从起始状态和空栈开始。 - 对于
有 其中 ,该条件说明在输入结束时出现一个接收状态。
非确定性PDA与CFL的等价性
如果一个语言是上下文无关的,则存在一个下推自动机识别它。
$eg. S abSxy
如果一个语言被一台下推自动机 所识别,则它能被CFG 派生。
使用
, if
非上下文无关语言
如果
- 对每一个
有一个显然的例子,
Chapter Three 丘奇-图灵论题
是状态集。 是输入字母表,不包括特殊空白符号 是带子字母表,其中 是转移函数 是起始状态 是接受状态 是拒绝状态
格局 Configuration
显见,上文所定义的图灵机仅有三个自由度,分别是当前状态,当前带子内容和当前读写头位置。故此,这三者组合在一起称为图灵机的格局,对于状态
对于任意输入,图灵机有三种可能的表现:接受,拒绝及循环,其中我们认为拒绝和循环都是不接受。若某图灵机对所有字符串要么接受,要么拒绝(有限时间内给出结果)则称该图灵机为判定器。
非确定型图灵机
等价性
等价于确定型图灵机:我们可以使用一个确定性图灵机广度优先搜索的模拟一台非确定型图灵机。
已经证明:任何可以无限制地访问无限的存储器,且在一步中只能执行有限的工作量的计算模型的能力都是等价的。
算法的定义
希尔伯特第10问题:通过有限多次运算决定一个多项式方程有没有整数根。
Chapter Four 可判定性
不可判定性
不可识别性
图灵机的个数是可数的,因为构成其的
语言是可判定的
补是图灵可识别的。 它和它的补是图灵可识别的
语言是可判定的。
Chapter Five 可归约性
映射可归约性
可计算函数
映射可归约性
归约性的一种定义。
特别的,在用于证明非图灵可识别过程中,有一个典型手段。
而一个标志性的非图灵可识别的例子是
Chapter Six 可计算性理论的高级专题
递归原理
Chapter Seven 时间复杂性
复杂性的度量
P类问题
其重要性在于:
- 对于所有与确定型单带图灵机多项式等价的计算模型来说,P是不变的。
- P大致对应于在计算机上实际可解的那一类问题。
NP类问题
NP-Complete
多项式时间可归约性
库克-列文定理
使用SAT可以模拟得到
Appendix
Turing Machine Encoding
$ Encode_{Beginning} = 0i10j10k10m10n10r10^t