📜  NFA机接受所有字符串结束或不与子串“AB”结束

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

先决条件:有限自动机简介

问题 1:
最小NFA的构建接受超过{A,B},其中具有“AB”的语言端每个字符串的一组字符串。

解释:
所需的语言如下:

L1 = {ab, abbab, abaab, ...........}

在这里我们可以看到上面语言的每个字符串都以’ab’结尾,但是下面的语言不被这个NFA接受,因为下面语言的一些字符串不以’ab’结尾。

L2 = {bba, abb, aaabbbb, .............}

所需语言的状态转换图如下所示:

在上述 NFA 中,初始状态 ‘X’ 在将 ‘a’ 作为输入时,它要么保持自身状态,要么转换到状态 ‘Y’,而在将 ‘b’ 作为输入时,它仍处于状态本身。将 ‘b’ 作为输入时的状态 ‘Y’ 传输到最终状态 ‘Z’。

问题 2:
最小NFA的构建接受一组以上{A,B},其中该语言的每个字符串不与“AB”结束字符串。

说明:所需的语言将类似于:

L1 = {bba, abb, aaabbbb, .............}

在这里我们可以看到,上述语言的每个字符串都不是以’ab’结尾的,但是这个NFA不接受下面的语言,因为下面语言的某些字符串是以’ab’结尾的。

L2 = {ab, abab, ababaab..............}

所需语言的状态转换图如下所示:

在上面的 NFA 中,初始状态 ‘X’ 在获得 ‘a’ 作为输入时保持在它自己的状态,在获得 ‘b’ 作为输入时它传输到状态 ‘Y’。将 ‘b’ 作为输入时的状态 ‘Y’ 要么保持自身状态,要么传输到最终状态 ‘Z’。将 ‘a’ 作为输入的最终状态 ‘Z’ 保持在自身状态。