一个学期的计算理论课程已经结束,给我的感觉吧,计算理论是一门计算机不得不学,学了短期又没用,但是可以培养一些逻辑思维的课程。其最关注的问题是什么是可计算性,什么问题可计算,问题之间的映射/归约,计算代价及难易。在分析问题和检验模型计算能力之前需要掌握的工具是形式语言、图灵机等。本文主要对计算理论中的重点进行了总结,总结了一些定理和理解上容易有障碍的知识点,但是里面还有一些点没有提到,比如NFA、DFA的相互转化,CFL和PDA的相互转化,需要书中的题目和证明辅助。
Textbook Summary
1. 与自然数集合N等势的集合是可数无穷的,称有穷的or可数无穷的集合是可数的。非可数的集合称作不可数的。
2. DFA( K, Σ, s, F, δ );NFA(K,Σ,s,F,Δ)
3. 每台NFA都有一台等价的DFA(method:find closure)
4. 有穷自动机接受的语言类= 正则语言类(正则表达式描述的语言类)
5. 正则语言在各种运算下封闭
6. 语言是正则的,iff其等价语言中有有穷个等价类。
7. DFA状态最小化->寻找等价类(初始等价类F& K-F)
8. CFL(V,Σ,R,S)
9. 存在非正则的CFL
10. 能够生成>=两棵语法分析树的字符串的文法叫做歧义的。
11. PDAM=(K,Σ,Γ,Δ,s,F),Γ为栈符号
12. PDA接受的语言正好是CFL
13. 正则语言(xynz)和CFL(uvnxynz)的泵定理
14. L={anbn}∈CFL,L={anbncn}∉CFL但是是递归的,L={an,n为素数}不是CFL
15. Chomsky范式(CNF):若RÍ(V-Σ)×V2,则称G=(V,Σ,R,S)为Chomsky范式
16. 有穷自动机总是停机。
17. CFG到CNF的转化:
1) 消除长rules
2) 消除空rules(A->e)
3) 消除短rules(A->aor A->B)
18. 对任意CFLG,都可以在多项式时间构造Chomsky范式G’,使得L(G’)=L(G)-(Σ∪{e})
19. 没有chomsky范式能够表示length<2的字符串,所以包含<2的字符串的语言不能转化到chomsky范式。
20. 确定型CFL(确定型PDA接受的语言类)在补下封闭。
21. TM(K,Σ,δ,s,H),注意字母表Σ不包含←和→
22. 若存在TM判定L,则称L是递归的。
23. 如果对于所有w属于Σ*,M(w) = f(w),我们说M计算函数f,若存在TM计算f,则f称为递归的。
24. 半判定语言的TM都不是算法
25. 多带、多带头、双向无穷带or多维带的TM,其判定or半判定的任何语言及任何函数,都分别可用标准TM判定、半判定or计算。
26. 非确定型TM:一个格局可在一步里产生多个其他格局,NDTM is no more powerful than original TM
27. 若非确定型TMM半判定或者判定语言L,或者计算函数f,则存在标准型TMM’半判定or判定L,or计算函数f。
28. 文法是CFG的推广,任何CFG都是文法。G=(V,Σ,R,S)
29. 语言被文法生成iff它是r.e.的。
30. 所有数值函数都是原始递归的
31. 原始递归函数集是递归可枚举的。
32. 特殊语言/问题:
H = {“M””w”: M在w上停机 }
﹁H = { “M””w”:M是一台在”w”上不停机的TM}
H1 = {“M”:M在“M”上停机 }
﹁H1 = { w:要么w不是一台TM的编码,