寻找具有 2 个条件的 NFA

Finding an NFA with 2 conditions

我想弄清楚如何编写一个 NFA,它可以接受只有 6 个必要状态的以下语言:

{w: a 的个数是偶数或恰好是 2 个 b} 在字母表中 ∑={a, b} .

这是我对 NFA 的想法 (https://prnt.sc/1ujhoiy)(图片以 link 形式提供,因为我没有 post 图片的代表)。

这个 NFA 有 6 个必需的状态和所需的条件,但我不知道如何将 2 个条件组合在一起。上述机器适用于 aaaaaabb 等简单组合,但我无法弄清楚如何连接这两个输入 baabaaabbba, abba, baaab, etc... 结果是真的。

提前致谢。

您可以先将其作为 2 个单独的 NFA 解决,每个条件 1 个。将它们从初始状态 q0 连接到一起,并对它们中的每一个进行 lambda 转换。

请记住,在计算机科学中,默认情况下我们使用的 OR 是包含性的,而在英语中,默认情况下 OR 通常是异或。这可能有助于在解决问题时清除一些边缘情况。