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

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

先决条件:有限自动机、正则表达式、语法和语言。从正则表达式设计有限自动机
在下面的文章中,我们将看到给定正则表达式的有限自动机设计 –

正则表达式1: Φ(Phi)。
给定 RE 的语言是 L1 = {} ,即空字符串。
它的有限自动机将如下所示-

在上面的转换图中,我们可以看到状态“X”不接受任何字母表。

正则表达式 2: ‘a’(字母 ‘a’)。
给定 RE 的语言是 L2 = {a} ,即只包含 ‘a’ 作为字符串的语言。
它的有限自动机将如下所示-

在上面的转换图中,我们可以看到状态 ‘X’ 在将 ‘a’ 作为字母表时它转换到状态 ‘Y’。因此它只接受 ‘a’ 作为字母表。

正则表达式 3: ‘a+b’(两个字母 ‘a’ 和 ‘b’ 的联合过程)。
给定 RE 的语言是 L3 = {a, b} ,即包含 ‘a’ 和 ‘b’ 作为字符串。
它的有限自动机将如下所示-

在上面的转换图中,我们可以看到状态 ‘X’ 在获得 ‘a’ 或 ‘b’ 作为字母表时它转换到状态 ‘Y’。因此它接受所需语言的字符串。

正则表达式 4: ‘ab’(两个字母 ‘a’ 和 ‘b’ 的串联)。
给定 RE 的语言是 L4 = {ab},即只包含 ‘ab’ 作为字符串的语言。
它的有限自动机将如下所示-

在上面的转换图中,我们可以看到状态 ‘X’ 在获取 ‘a’ 作为字母表时它转换到状态 ‘Y’ 和状态 ‘Y’ 在获取 ‘b’ 作为输入字符串它转换到最终状态’Z’。因此它接受所需语言的字符串。

正则表达式 5: ‘a * ‘(字母 ‘a’ 的 Kleene 闭包)。
给定 RE 的语言是 L5 = {Ε, a, aa, aaa, aaaa, ………….} 即包含 Ε 和任意数量的“a”的语言。
它的有限自动机将如下所示-

在上面的转换图中,状态 ‘W’ 在将 Ε 作为输入时,如果输入是 ‘a’,它转换到最终状态 ‘Z’ 或状态 ‘X’。状态 ‘X’ 在获得 ‘a’ 作为输入字母表时,它转换到状态 ‘Y’,该状态通过 Ε 输入连接到最终状态 ‘Z’,对于其余状态依此类推。
因此,上面的 FA 接受所有包含字符串的语言作为 Ε 和任意数量的“a”。