我应该构建一个接受
的DFA{w | w是一个词,除了'aa'和'aaa'}
这是正确的solution吗? 粗行状态应该是结束状态。
修改
Sry,不知何故混合了两种不同的练习。校正。
编辑2
这是更正的solution(?)!
答案 0 :(得分:1)
我将保留下面的答案,因为它在上下文中很有用。
随着您对问题的更新以及您对提议的解决方案的进一步更新,在我看来它将是有效的。做得好!
=========出于历史目的的老帖子===========
重要说明:aa是aaa的子字符串。因此,通过排除aa,您会自动排除aaa和aaaa以及aaaaa。这意味着你只能连续获得1个。
因此,无论何时添加a,都需要进入接受状态。每当你在那之后添加一个a时,你需要进入一个永久循环的非接受状态,无论如何。
以下是我的想法。我不建议只是......把它放下。想想这个。这些问题在培训你的思考方面非常重要!不要破坏自己!
S表示开始状态 角上的+表示接受状态 角上的X表示不接受状态
B +-+ A +-+ A X-X A | B
+---|S| ---> |1| ---> |2| ------+
| +-+ +-+ X-X |
+___^ ^___B___| ^________+
"" - ends on start - okay
"B" - ends on start - okay
"A" - ends on 1 - okay
"AA" - ends on 2 - not accepted
"BAA" - Stats on S, goes to S, goes to 1, goes to 2 - not accepted.
A - 让你走向失败。 B - 重置你。 两个连续但你失败了:(