寻找具有 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 个条件组合在一起。上述机器适用于 aa
、aaaa
、bb
等简单组合,但我无法弄清楚如何连接这两个输入 baabaa
、abbba
, abba
, baaab
, etc...
结果是真的。
提前致谢。
您可以先将其作为 2 个单独的 NFA 解决,每个条件 1 个。将它们从初始状态 q0 连接到一起,并对它们中的每一个进行 lambda 转换。
请记住,在计算机科学中,默认情况下我们使用的 OR 是包含性的,而在英语中,默认情况下 OR 通常是异或。这可能有助于在解决问题时清除一些边缘情况。
我想弄清楚如何编写一个 NFA,它可以接受只有 6 个必要状态的以下语言:
{w: a 的个数是偶数或恰好是 2 个 b} 在字母表中 ∑={a, b} .
这是我对 NFA 的想法 (https://prnt.sc/1ujhoiy)(图片以 link 形式提供,因为我没有 post 图片的代表)。
这个 NFA 有 6 个必需的状态和所需的条件,但我不知道如何将 2 个条件组合在一起。上述机器适用于 aa
、aaaa
、bb
等简单组合,但我无法弄清楚如何连接这两个输入 baabaa
、abbba
, abba
, baaab
, etc...
结果是真的。
提前致谢。
您可以先将其作为 2 个单独的 NFA 解决,每个条件 1 个。将它们从初始状态 q0 连接到一起,并对它们中的每一个进行 lambda 转换。
请记住,在计算机科学中,默认情况下我们使用的 OR 是包含性的,而在英语中,默认情况下 OR 通常是异或。这可能有助于在解决问题时清除一些边缘情况。