質問:
5 つの連続する位置のすべてのブロックに少なくとも 2 つの 0 が含まれるように、{0,1} を超えるすべての文字列を受け入れる DFA を定義します。質問をよく読んでください。これにより、e (イプシロン (空の文字列)) を受け入れることができるでしょうか? 0101はどうですか?このような英語の説明はさまざまな本に見られるので、読み方と解釈方法を知っておいてもらいたいと思います。
講師へのヒント: 「「5 ブロック」の DFA は、プログラムで問題なく生成できます。私は両方の方法で (手動とプログラムで) 作成しました。私は Emacs とキーボード マクロが得意なので、「手動」でも作成できました' 機械的かつ非常に高速ですが、プログラムはエラーが発生しにくく、コンパクトです。"
私はこのことを描いていますが、制御不能になっているので、間違っていると思います。
Pythonで作成する前のDFAのスケッチ:
ただし、インデックス 2、3、4、5、および 6 は 5 つの連続した位置のブロックを構成するため、これは正しくありません。そのため、少なくとも 2 つのゼロを考慮する必要があります。2 つの 0 ではなく 2 つの 1 が必要だと思っていました。私はこれを完全に間違った方法で行っていますか? 私が考えているように、これには膨大な量の状態があるからです。
(この大きな DFA の描画に戻ります)