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

📅  最后修改于: 2021-09-27 22:53:46             🧑  作者: Mango

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

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

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

L1 = (a+b)(a+b) 

给定 RE 的语言是,

{aa, ab, ba, bb} 

字符串的长度正好是 2。

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

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

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

L2 = (a+b)(a+b)(a+b)* 

给定 RE 的语言是,

{aa, ab, ba, bb, aaa, aab, .........} 

字符串长度至少为 2。

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

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

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

L3 = (a+b+ε)(a+b+ε) 

给定 RE 的语言是,

{ε, a, b, aa, ab, ba, bb} 

字符串长度最多为 2。

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

在上面的转换图中,正如我们看到的,初始和最终状态 ‘V’ 在将 ‘a’ 作为输入时,它转换到另一个最终状态 ‘W’,在获得 ‘a’ 或 ‘b’ 作为输入时过渡到另一个最终状态“X”,对于其余状态,依此类推。因此这个 FA 接受给定 RE 语言的所有字符串。

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

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

给定 RE 的语言是,

L4 = {ε, aa, ab, ba, bb, aaaa, ............} 

等长字符串的语言。

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

在上面的转换图中,初始和最终状态 ‘V’ 在获得 ‘a’ 作为输入时进入状态 ‘W’,在获得 ‘a’ 或 ‘b’ 作为输入时,它转换到另一个最终状态 ‘ X’ 在获得 ‘a’ 或 ‘b’ 作为输入时,它会返回到状态 ‘W’,对于其余状态,依此类推。因此这个 FA 接受给定 RE 语言的所有字符串。

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

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

给定 RE 的语言是

{a, b, aaa, bbb, abb, bab, bba, ..........} 

奇数长度字符串语言。

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

在上面的转换图中,将“a”作为输入的初始状态“V”进入最终状态“W”,在获得“a”或“b”作为输入时,它转换到另一个状态“X”在获得 ‘a’ 或 ‘b’ 作为输入时,它会返回到最终状态 ‘W’,对于其余状态,依此类推。因此这个 FA 接受给定 RE 语言的所有字符串。