统计自然语言处理书籍阅读心得六

自动机理论:
   1:有限自动机,有限自动机又分为确定性有限自动机(definite automata, DFA)和不确定性有限自动机(non-definite automata, NFA)两种。
其中,Σ是输入符号的有穷集合;Q是状态的有限集合;q0∈Q是初始状态;F是终止状态集合,F⊆Q;δ是Q与Σ的直积(就是笛卡儿积)Q×Σ到Q(下一个状态)的映射,它支配着有限状态控制的行为,有时也称为状态转移函数。图3-3是DFA的原理示意图。其含义是:处在状态q∈Q中的有限控制器从左到右依次从输入带上读入字符。开始时有限控制器处在状态q0,输入头指向Σ
*中一个链的最左符号。映射δ(q,a)=q′(q,q′∈Q,a∈Σ)表示在状态q时,若输入符号为a,则自动机M进入状态q′并且将
输入头向右移动一个字符。如果一个句子x对于有限自动机M有
δ(q0,x)=p, p∈F,那么,称句子x被M接受。被M接受的句子的全集如果一个句子x对于有限自动机M有
δ(q0,x)=p, p∈F,那么,称句子x被M接受。被M接受的句子的全集如果一个句子x对于有限自动机M有
δ(q0,x)=p, p∈F,那么,称句子x被M接受。被M接受的句子的全集如果

如果一个句子x对于有限自动机M有δ(q0,x)=p, p∈F,那么,称句子x被M接受。被M接受的句子的全集称为由M定义的语言,或称M所接受的语言,记作T(M):
一般地,我们用状态图来描述映射δ。映射δ(q, a)=q′的状态转换图如图3-4所示。

状态转换图的构造方法为:每个状态作为一个结点,用圆圈表示。如果处在状态q并接受输入符号a∈Σ时的DFA转移到q′状态,那么,画一条有向弧从状态q到达状态q′,其标记为a。终止状态用双圈表示,开始状态用带“开始(start)”说明的箭头标出。
(不确定的有限自动机) NFA M是一个五元组:M=(Σ,Q,δ,q0,F)其中,Σ是输入符号的有穷集合;Q是状态的有限集合;q0∈Q是初始状态;F是终止状态集合,F⊆Q;δ是Q与Σ的直积Q×Σ到Q的幂集2Q的映射。
            NFA与DFA的重要区别是:在NFA中δ(q, a)是一个状态集合,而在DFA中δ(q, a)是一个状态。根据定义,对于NFA M有映射:δ(q, a)={q1,q2,…,qk},k≥1其含义是:NFA M在状态q时,接受输入符号a时,M可以选择状态集q1,q2,…,qk中的任何一个状态作为下一个状态,并将输入头向右边移动一个字符的位置。
        (NFA接受的语言) 如果存在一个状态p,有p∈δ(q0,x)且p∈F,则称句子x被NFA M所接受。被NFA M接受的所有句子的集合称为NFA M定义的语言,记作T(M):

定理3-1     设L是被NFA所接受的语言,则存在一个DFA,它能够接受L。


正则文法与自动机的关系
若G=(VN,VT,P,S)是一个正则文法,则存在一个FA M=(Σ,Q,δ,q0,F),使得T(M)=L(G)。
根据这个定理,可以用以下方法由给定的正则文法G=(VN,VT,P,S)构造FA M。具体步骤如下:
(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)=∅。
若M=(Σ,Q,δ,q0,F)是一个有限自动机,则存在一个正则文法G=(VN,VT,P,S),使得L(G)=T(M)。由FA M构造G的一般步骤为:
(1)令VN=Q,VT=Σ,S=q0;
(2)如果C∈δ(B, a),B,C∈Q, a∈Σ,则在P中有产生式B→aC;
(3)如果C∈δ(B, a),C∈F,则在P中有产生式B→a。
根据上面介绍的三个定理可以得到一个重要结论:对于任意一个正则文法所产生的语言,总可以构造一个确定的有限自动机识别
它。也就是说,对于任意一个正则文法,总可以构造一个确定的有限自动机。

猜你喜欢

转载自blog.csdn.net/Mr_wuliboy/article/details/79992126