(二)有限自动机和右线性文法

讨论语言,从生成语言的角度可以使用前面定义的文法进行定义,从识别语言的角度可以使用自动机进行定义,而正则式是特殊的对应3型文法的可以直接体现语言的模式。本章讨论3型文法对应的语言,文法角度的右线性文法、左线性文法也即3型文法,识别角度的有限自动机,正则式都是等价的定义。这篇文章的逻辑将是介绍三种定义,证明其等价性,介绍其性质。

有限自动机

Def.Def.有限自动机
有限即有限状态,但这里(参考教材)没有定义“有限”,猜测是可列有限的定义。

Def.Def.确定的有限自动机(DFA)
后继状态唯一

Def.Def.不确定的有限自动机(NFA)
后继状态不唯一

有限自动机的表示

状态转移表
状态转换图

形式语言与自动机之二 有限自动机和右线性文法

形式定义

确定的有限自动机是一个五元组M=(Q,T,δ,q0,F)M=(Q,T,\delta,q_0,F),其中QQ是有限状态集合,TT是有限的输入字母表,δ\delta是转换函数,Q×TQQ ×T \rightarrow Q的映射,q0q_0是初始状态,只有一个状态,FF是终止状态集,可以多个状态。

δ\delta函数这样表达:在状态qq,读入aa后,状态转换成pp,则δ(q,a)=p\delta(q,a)=p

δ\delta '函数是映射Q×TQQ ×T ^*\rightarrow Q,即输入可以是字符串。其递归定义为:

  • εTδ(q,ε)=q;\varepsilon \in T^*,\delta'(q,\varepsilon)=q;
  • 对任意aT,ωTδ(q,ωa)=δ(δ(q,ω),a)a \in T, \omega \in T^*,\delta'(q,\omega a)=\delta(\delta'(q,\omega),a)

Def.Def.δ(q,ω)=p,pF\delta'(q,\omega)=p, p \in Fω\omega被该有限自动机接受;L(M)={ωδ(q0,ω)F}L(M)=\{\omega | \delta'(q_0,\omega) \in F\}为M所接受的语言。

Def.Def.格局
(q,ω)(q,\omega),其中qq当前状态,ω\omega为当前时刻等待输入的字符。称(q0,ω)(q_0,\omega)为初始格局,(q,ε)(q,\varepsilon)为终止格局(或接受格局)。

δ(q,a)\delta(q,a)含有q1q_1,用格局形式可以写成(q,aω)(q1,ω)(q,a\omega) \vdash(q_1,\omega)其中ωT\omega \in T^*\vdash表示从一个格局变换为另一个格局。若 ω\omega 可以被状态机 MM 接受,可以写作 \vdash 横线上加*,左边为 (q0,ω)(q_0,\omega) ,右边为(q,ε)(q,\varepsilon)

不确定有限自动机

其定义在确定有限自动机上做部分更改。

  1. δ\delta 函数是Q×T2QQ × T \rightarrow 2^Q
  2. 接受的定义改为,接受一个字符串后进入的状态集,至少有一个状态属于FF
  3. 注意状态转移表中每一项的后继状态都是一个集合,无论状态数有多少
  4. δ\delta'定义也不同,可以自己推想知

能力要求

  1. 给出识别要求设计有限自动机
  2. 将不确定有限自动机转换为确定有限自动机

相关文章:

  • 2021-08-20
  • 2021-10-26
  • 2022-12-23
  • 2021-08-28
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2021-11-25
猜你喜欢
  • 2021-12-18
  • 2021-05-04
  • 2022-01-06
  • 2022-12-23
相关资源
相似解决方案