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

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

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

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

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

L1 = a(a+b)* 

给定 RE 的语言是,

{aaa, aba, baa, bba} 

字符串总是以“a”开头。
它的有限自动机将如下所示-

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

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

L2 = (a+b)*a 

给定 RE 的语言是,

{aaa, aba, baa, bba} 

字符串总是以“a”结尾。
它的有限自动机将如下所示-

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

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

L3 = (a+b)*a(a+b)* 

给定 RE 的语言是,

{aaa, aba, baa, bba} 

包含 ‘a’ 作为字母表的字符串。
它的有限自动机将如下所示-

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

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

L4 = (a(a+b)*b)+(b(a+b)*a) 

给定 RE 的语言是,

{aab, abb, baa, bba} 

字符串以不同的符号开始和结束。
它的有限自动机将如下所示-

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

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

L5 = (a(a+b)*a)+(b(a+b)*b)+a+b+ε 

给定 RE 的语言是,

{&epsilon, a, b, aba, bab, bbab} 

字符串以相同的符号开始和结束。
它的有限自动机将如下所示-

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