先决条件–有限自动机简介
非确定性有限自动机和ε-非确定性有限自动机除了它们的转移函数外几乎相同,并且构造ε-NFA有一些特殊的规则。
在ε-NFA中,以下是以下状态。
∈-NFA is defined in 5 tuple representation {Q, q0, Σ, δ, F} where
Q is the set of all states,
q0 is the initial state,
Σ is the set of input symbols,
δ is the transition function which is δ:Q × (Σ∪∈)->2Q and
F is the set of final states.
构造ε-NFA的规则:
构造ε-NFA的简单规则如下。
∈-NFA for a+ :
此结构用于a +,这意味着表达式中必须至少有一个“ a”。它以epsilon开头,也以ε开头。从状态q2到q1都有epsilon反馈,因此表达式中可以有多个“ a”。
∈-NFA for a* :
该结构用于a *,这意味着表达式中可以有任意数量的’a’,甚至为0。仅修改了先前的结构以验证空输入符号,因此该表达式也是有效的。
∈-NFA for a+b :
此结构接受a或b作为输入。因此,有两条路径都通向最终状态。
∈-NFA for ab :
对于串联,a后面必须是b。只有这样,它才能达到最终状态。这里允许使用两种结构,但是因为它是∈-NFA,所以建议使用第二种结构。
∈-NFA for L = (a* + b*) :
遵循上述规则,将构造常规语言L = a * + b *的ε-NFA。上面的语言可以分为两部分。第一部分是a *,第二部分是b *,可以完全像第一部分那样构造。由于两个部分之间有一个“ +”号相连,因此将有两条路径,两条路径都将导致最终状态。
第一部分是a *,因此它的绘制方式与第二条规则完全相同。同样,使用第二条规则并将a替换为b,我们得到第二部分b *。
最终ε-NFA:
最终的∈-NFA将是: