第一章 正则语言
- 正则运算 并、连接、星,正则语言在并、连接、星、补、交、取反运算下封闭
- 正则表达式:能用正则运算符构造描述的语言的表达式。注意空集合∅和ε的区别,前者是不包含任何字符串的空语言,后者等价于{ε}即包含一个ε字符的语言。例题:
- 判断两个正则语言等价:构造两者的NFA->转化为两个DFA->求两者的最简DFA判断两者是否一样
- 证明某语言不是正则语言->泵引理 xyz
第二章 上下无关文法
- 上下无关文法CFL的定义,四元组
- CFL在并、连接、星下封闭,补、交运算下不封闭
- 乔姆斯基范式的转换(添加s0 => 去ε => 去形如A->B的规则 => 添加变元满足乔姆斯基定义),2n-1步必能得到长度为n的w
- PDA 下推自动机定义,六元组,构造(第一步先添加ε,ε ->$)
- 泵引理 uvxyz
第三章 图灵机
- 图灵机的定义 七元组,注意为单状态,与DFA和PDA的接收状态集相区别
- 图灵可识别:能被图灵机识别的语言
- 判定器:永不循环的图灵机被称为判定器
- 图灵可判定(递归语言):可被图灵机判定的语言
- 构造某语言的图灵机TM,先文字描述,再构造七元组
第四章 可判断性
- 均可判定;可判定,不可判定;不可判定,不可识别。上述结论的证明过程。
- 如何证明存在图灵不可识别语言:1.所有字符串可数->图灵机可数->语言不可数(对角化可数方法) 2.先证明某语言A不可判定->再证只有某语言可识别且其补也是图灵可识别,该语言才可判定->A的补不可识别
第五章 时间复杂度
- 定义: M是在所有输入上都停机的确定性图灵机,M的时间复杂度是指函数,函数值表示M在所有长度为n的输入时运行所经过的最大步数
- 表示为由时间的图灵机判定的所有语言构成的集合
- P类是确定型单带图灵机在多项式时间内可判定的语言类
- 验证机的概念:语言A的验证机是一个算法V,其中A={w|对某个字符串c,V接受<w,c>},其中c被称为A的证书。如果语言A有一个多项式时间验证机,则称其是多项式可验证的。证书的感性理解:额外的辅助信息,通过这种额外的辅助信息,某种可能多项式不可识别的语言就可以多项式验证w了。
- NP类是具有多项式时间可验证的语言类
- NP完全
第六章 空间复杂度
- 空间复杂度定义:
- SPACE和NSPACE
- 萨维奇定理
- 一些关系
- NSPACE难 NSAPCE完全