📜  L的∈-NFA=(a * + b *)

📅  最后修改于: 2021-08-25 10:26:05             🧑  作者: Mango

先决条件–有限自动机简介

非确定性有限自动机和ε-非确定性有限自动机除了它们的转移函数外几乎相同,并且构造ε-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将是: