yangyang12138

导航

自动机

自动机是一种理想化的机器,它只是抽象分析问题的理论工具,并不具备实际的物质形态,它是科学定义的演算机器,用来表达某种不需要人力干涉的机械性演算过程。根据不同的构成和功能,自动机分成4中:

有限自动机(FA),下推自动机(PDA),线性界限自动机,图灵机

 

1.有限自动机

DFA  M是一个五元组

M = (∑,Q,δ,q0,F)

 

∑输入符号的有限集合,

Q是状态的有限集合,

q0∈Q是初始状态

F是终止状态集合F∈Q

δ是Q与∑的直积Q×∑到Q的映射,它支配着有限状态控制的行为,有时也称为状态的转移函数。

 

DFA接受的语言:如果一个句子x对于有限自动机M有δ(q0,x)=p,p∈F,那么称句子x被M接受。被M接受的句子的全集称为由M定义的语言,或称M所接受的语言,记作T(M):

        T(M) = {x|δ(q0,x)∈F}

 

正则文法与自动机的关系

若G = (Vn,Vt,P,S)是一个正则文法,则存在一个FA M = (∑,Q,δ,q0,F),使得T(M) = L(G)

 

根据这个定理,可以用以下方法由给定的正则文法G = (Vn,Vt,P,S)构造FA

 

1).令∑ = Vt,Q = Vn∪{T},q0 = S,其中T是一个新增的非终结符;

2).如果在P中有产生式S->ξ,则F = {S,T},否则 F={T};

3).如果在P中有产生式B->a,B∈Vn,a∈Vt,则T∈δ(B,a)

4).如果在P中有产生式B->aC, B、C∈Vn,a∈Vt,则C∈δ(B,a)

5).对于每一个a∈Vt,有δ(T,a)=Ø

例子

给定正则文法G = (Vn,Vt,P,S),其中

Vn = {S,A}     Vt = {0,1}

P:  S->0 A  A->1 S  A->0

构造与G等价的NFA:

设NFA M = (∑,Q,δ,q0,F),根据上述构造步骤

 

∑ = Vt = {0,1}

Q = Vn ∪ {T} = {S,A,T}

q0 = S

F = {T}

映射δ为

δ(S,0) = {A}

δ(S,1) = Ø

δ(A,0) = {T}

δ(A,1) = {S}

δ(T,0) = Ø

δ(T,1) = Ø

 

 

2.上下文无关文法与下推自动机

下推自动机可以看成是一个带有附加下推存储器的有限自动机,下推存储器是一个堆栈

 

 

posted on 2020-03-20 01:50  杨杨09265  阅读(1031)  评论(0编辑  收藏  举报