📌  相关文章
📜  普通语言的∈-NFAL = 00(01 + 10)* 11

📅  最后修改于: 2021-06-30 00:50:51             🧑  作者: Mango

在自动机理论中,有限自动机可分为三种类型:

  1. DFA
  2. NFA
  3. ∈-NFA

∈表示输入为空。这意味着即使自动机得到一个空符号(即∈),它也可以更改其状态。那就是它与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的简单规则–

1. a +的∈-NFA:

“ a +”表示表达式必须包含至少一个a才能被自动机接受。从状态q2到状态q1的反馈连接表示该表达式可以包含多个a,并且用ε表示,因此可以接受两个连续的’a’,因为反馈不需要由其他输入触发。

2. a *的∈-NFA:

“ a *”表示表达式中可以有零个或多个“ a”。像前一个一样,有从状态q2到q1的反馈,但是也有从状态q0到q3的过渡,即从初始状态直接过渡到最终状态,这表明即使没有’a,表达式也将被接受。 ‘ 在里面。

3. a + b的∈-NFA:

“ a + b”代表“或”逻辑。这意味着表达式可以包含a或b或两者都包含,并且可以接受。因此,有两条路径都通向最终状态。

4. ab的∈-NFA:

“ ab”代表AND逻辑。这也称为串联规则。在这里,a必须紧跟b,然后才可以接受该表达式。这里允许使用两种结构,但是因为它是∈-NFA,所以建议使用第二种结构。

对于L = 00(01 + 10)* 11的∈-NFA:

根据上述规则,可以得出常规语言L = 00(01 + 10)* 11的∈-NFA。

它可以分为三个部分。第一部分为“ 00”,第二部分为(01 + 10)*,最后一部分为“ 11”。第一部分和第三部分类似于并置规则,其中a和b表示相同的符号(0或1)。

第二部分是使用第四,第三和第二条规则绘制的。我们使用第四条规则构造01和10。然后,我们使用第三条规则将它们连接在一起,其中a = 01和b =10。然后应用第二条规则,并考虑01 + 10作为单位。这是第二部分,分别绘制。

最终的∈-NFA将是: