设 F 为 {0,1} 上所有不包含由奇数个符号分隔的 1 的字符串的语言。给出具有识别 F 的五个状态的 DFA 的状态图。 (您可能会发现首先找到 F 的补集的 4 态 NFA 很有帮助。)
如何提出解决方案
让我们稍微分析一下。一些接受的输入是:
00000000000
100000
0010010
01100
值得注意的是,每个少于两个“1”符号的输入都会被接受。如果有两个,它们之间的符号是零,并且应该有偶数个。
最重要的认识是,输入中不能有三个或更多“1”符号,因为第三个符号肯定会违反规则,因为它与第一个“1”或第二个“1”配对。一个例子:
1001001
虽然中间的 1 没有违反约束,但它遵循,外面的两个do违反了它(因为中间的“1”包含在计数中,使其成为奇数)。
所以我们可以有这些状态:
DFA图: