计算理论总结

来源:互联网 发布:淘宝vx是什么意思 编辑:程序博客网 时间:2024/04/29 02:41
计算理论有三个传统领域:自动机,可计算性和复杂性。
自动机理论
自动机理论中包含几种数学模型:有穷自动机模型,可用于文本处理,编译程序,硬件设计;上下文无关文法模型,可用于程序设计语言和人工智能。


有穷自动机: 有穷自动机分确定有穷自动机(DFA)和非确定有穷自动机(NFA)。
DFA)D是一个五元组:D=(K,Σ,M,S,F)其中
K:有穷非空的状态集合;
Σ:有穷非空的输入符号字母表;
M:转换函数,是在K×Σ→K上的映像,即,如 M(ki,a)=kj,(ki∈K,kj∈K)就意味着,当前状态为ki,输入符为a时,将转换为下一个状态kj,我们把kj称作ki的一个后继状态;
S∈K是唯一的一个初态;
F是非空的终态集合。


非确定有穷自动机转移函数不同,可以非确定的转移到下一个状态。
正则表达式,确定有穷自动机,非确定有穷自动机直接相互等价。有穷自动机可以通过转换广义非确定型有穷自动机来转换成正则表达式。


上下文无关文法(CFG):
若一个形式文法G = (N, Σ, P, S) 的上下文无关文法产生式规则都取如下的形式:V -> w,则称之为上下文无关的,其中 V∈N ,w∈(N∪Σ)*。
上下文无关文法具有歧异性,可以规范化为乔姆斯基范式。
上下文无关文法与下推自动机(PDA)等价。
通过泵引理可以证明非上下文无关语言。


可计算性理论
可计算性理论首先介绍图灵机。
一台图灵机是一个七元组,{Q,Σ,Γ,δ,q0,qaccept,qreject},其中 Q,Σ,Γ 都是有限集合,且满足
1.Q 是状态集合;
2.Σ 是输入字母表,其中不包含特殊的空白符 □;
3.Γ 是带字母表,其中 □∈Γ且Σ∈Γ ;
4. δ:Q×「→Q×Γ×{L,R}是转移函数,其中L,R 表示读写头是向左移还是向右移;
5.q0∈Q是起始状态;
6. qaccept是接受状态。
7.qreject是拒绝状态,且。qreject≠qaccept。


图灵机可以根据状态和输入在带子上读写,左移右移。
图灵机的变形可以有多带图灵机,非确定型图灵机,枚举器。


可判定性:
图灵可识别语言和图灵可判定语言的区别:若 S 是图灵可识别语言,则只需存在一台图灵机M,当 M 的输入属于S 时,M 一定会停机并进入接受状态;当 M 的输入不属于S 时,M 可能停机并进入拒绝状态,或者永不停机。而若 S 是图灵可判定语言,则必须存在图灵机 M,使得对于任意输入串,M 总能停机,并根据 输入 属于或不属于 S 分别进入接受或拒绝状态。


可归约性:
当A可归约到B时,解A不可能比解B更难。如果A可归约到B,且B可判定,则A也是可判定的。


复杂性理论


时间复杂性
P类是单带图灵机在多项式时间内可判定的语言类。
包括PATH问题,互素问题(RELPRIME),上下文无关语言...
NP类是非确定单带图灵机在多项式时间内可判定的语言类。
包括哈密顿路径问题,团问题...
P之可以快速判定的语言类,NP指不可以快速判定的语言类。
NP完全满足NP难和NP。NP难指NP中的每个问题都可以多项式时间归约到这个问题。
可满足性问题(SAT)是NP完全的。顶点覆盖问题,哈密顿路径问题,子集和问题同样是NP完全的,可有SAT推导。


空间复杂性
PSPACE是在确定型图灵机上,在多项式空间内可判定的语言类。
NPSPACE是在非确定型图灵机上,在多项式空间内可判定的语言类。
PSPACE完全满足PSPACE难和PSPACE。
判定全量词化布尔公式问题是PSPACE完全的。


L类是单带图灵机在对数时间内可判定的语言类。
NL类是非确定单带图灵机在对数时间内可判定的语言类。
NL完全满足NL难和NL。
PATH问题是PSPACE完全的。
NL等于coNL。


难解性:理论上可解,时间耗费大量时间空间的问题。如SAT。


相关书籍:Introduction to the Theory of Computation

0 0
原创粉丝点击