📜  从正则表达式设计有限自动机(第 8 集)

📅  最后修改于: 2021-09-28 10:24:52             🧑  作者: Mango

先决条件:有限自动机、正则表达式、语法和语言、从正则表达式设计有限自动机(第 7 集)

在下面的文章中,我们将看到给定正则表达式的有限自动机设计 –

正则表达式 1:正则语言,

L1 = {an | n≥ 1}  

给定 RE 的语言是-

{a, aa, aaa, ..........}

它的有限自动机将如下所示-

在上面的转换图中,我们可以看到初始状态 ‘Y’ 在将 ‘a’ 作为输入时,它转换到最终状态 ‘Z’,其余状态依此类推。因此这个 FA 接受给定 RE 语言的所有字符串。

正则表达式 2:正则语言,

L2 = {anbm | n, m≥ 1}

.
给定 RE 的语言是-

{ab, aab, abb, aaaabb, ..........}

它的有限自动机将如下所示-

在上面的转换图中,我们可以看到初始状态 ‘X’ 在将 ‘a’ 作为输入时它转换为 a
状态 ‘Y’ 等其他状态。因此这个 FA 接受给定 RE 语言的所有字符串。

正则表达式 3:正则语言,

L3 = (a+b)*  

给定 RE 的语言是-

{ε, a, aa, aaa, aabbb, ........} 

它的有限自动机将如下所示-

在上面的转换图中,我们可以看到初始和最终状态 ‘Z’ 在获取 ‘a’ 或 ‘b’ 作为输入时保持在自身的状态。因此这个 FA 接受给定 RE 语言的所有字符串。

注意:以下 RE 彼此等效-

= (a+b)* 
= (a*+b*)* 
= (a*b*)* 
= (a*+b)* 
= (a+b*)* 
= a*(ba*)* 
= b*(ab*)* 

正则表达式 4:正则语言,

L4 = {wwR | |w|=2, Σ={a, b}*} 

给定 RE 的语言是-

{aaaa, abba, baab, bbbb}

它的有限自动机将如下所示-

在上面的转换图中,我们可以看到初始状态 ‘A’ 在将 ‘a’ 作为输入时它转换到状态 ‘b’ 并且在将 ‘b’ 作为输入时它转换到状态 ‘H’ 和其余状态依此类推。因此这个 FA 接受给定 RE 语言的所有字符串。

注意:下面的表达式不是正则表达式,因为字符串’w’ 的长度没有限制。

{wwR | Σ={a, b}*}