私は受け入れるDFAを構築することになっています
{w | wは「aa」と「aaa」以外の単語です}
これは正しい解決策ですか?太線の状態が終了状態になります。
編集
どういうわけか、2つの異なる演習を混ぜ合わせました。修正しました。
編集2
これが修正された解決策です(?)!
コンテキストで役立つため、以下の回答はそのまま残します。
質問に対するあなたの更新と、提案された解決策に関するあなたのさらなる更新により、それは有効であるように思われます。素晴らしい!
========= 歴史的な目的のための古い投稿 ===========
重要な注意: aa は aaa の部分文字列です。したがって、aa を除外すると、aaa と aaaa と aaaaa が自動的に除外されます。つまり、連続して 1 つの a しか持てないということです。
したがって、a を追加するたびに、accept 状態に移行する必要があります。その後に 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 - あなたをリセットします。2つのように続けて、あなたは失敗します:(