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

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

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

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

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

L1 = b*aa(a+b)*+b*ab*aa(a+b*)  

给定 RE 的语言是-

{aaa, baa, baa, bbaab, ..........}

包含两个 a 的字符串总是在一起。
它的有限自动机将如下所示-

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

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

L2 = (b+ab)*(ε+a)' or '(a+ε)(b+ba)* 

给定 RE 的语言是-

{ababa, aba, baba, bba, ...........}

包含两个 a 的字符串永远不会在一起。
它的有限自动机将如下所示-

在上面的转换图中,我们可以看到初始和最终状态 ‘X’ 在获得 ‘a’ 作为输入时它转换到另一个最终状态 ‘Y’ 并且在获得 ‘b’ 作为输入时它保持在状态本身等等其他状态。因此这个 FA 接受给定 RE 语言的所有字符串。

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

L3 = ab*c 

给定 RE 的语言是-

{ac, abc, abbc, ...........}

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

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

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

L4 = 0(10)* 

给定 RE 的语言是-

{0, 010, 01010, 0101010, ..........}

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

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

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

L5 = b(c+ab)*d 

给定 RE 的语言是-

{bd, bcd, babd, ..............}

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

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