1
総当たり検索を使用せずに2つの単語を分離する最小のDFAを見つけますか?
2つの文字列xとyが与えられた場合、xを受け入れ、yを拒否する最小サイズのDFAを作成します。これを行う1つの方法は、ブルートフォース検索です。DFAの最小値から列挙します。xを受け入れ、yを拒否するDFAが見つかるまで、各DFAを試します。 xを受け入れ、yを拒否する最小サイズのDFAを見つけるまたは構築する他の既知の方法があるかどうかを知りたい。言い換えれば、ブルートフォース検索に勝てるでしょうか? より詳しく: (1)アルゴリズムは、最小サイズに近いDFAではなく、最小サイズのDFAを見つける必要があります。 (2)最小DFAの大きさを知りたいだけではありません。 (3)ここでは、2つの文字列xとyがある場合にのみ焦点を当てています。 編集: 興味のある読者のための追加情報: 仮定及び最大でも長さのバイナリ文字列である。最大状態でを受け入れ、を拒否するDFAが存在することは既知の結果です。バイナリアルファベットと最大で状態の約 DFA があることに注意してください。したがって、ブルートフォースアプローチでは、を超えるDFA を列挙する必要はありません。したがって、ブルートフォースアプローチは時間よりも長くかかることはありません。、Y nがxはyと√バツxxyyynnnバツxxyyyのn √n−−√n\sqrt{n} √nn√nnn^{\sqrt{n}}のn √n−−√n\sqrt{n}のn √nn√nnn^{\sqrt{n}}nn√nnn^{\sqrt{n}} 参考になったスライド:https : //cs.uwaterloo.ca/~shallit/Talks/sep2.pdf