指定された文字列を受け入れ、他の指定された文字列を拒否する最小のDFA


11

二組を考えるとのアルファベットを超える文字列のΣ、我々は計算することができ、最小決定性有限オートマトン(DFA)MようにA L M L M Σ *BBΣMLMLMΣB

つまり、は一連の正の例を表します。Aのすべての文字列は、DFAによって受け入れられる必要があります。 Bは否定的な例のセットを表します。Bの文字列はDFAで受け入れられません。BB

DFA最小化手法を使用して、これを解決する方法はありますか?受け入れ状態、拒否状態、および「ドントケア」状態の3種類の状態を持つDFAのようなオートマトンを作成することを想像できます(「ドントケア」状態で終わるすべての入力を受け入れることができます)または拒否されました)。しかし、これを通常のDFAに最小化する方法を見つけることができますか?

ポジティブな例とネガティブな例を考えると、これをDFAの学習の問題と考えることができます。

これは、正規表現ゴルフNP-Completeに触発されてい ます。、DFAではなく正規表現に対して同様の質問をします。


1
私は、Bがどのような言語であり、どのように指定されるかについて、何らかの制限を課す必要があると思います。B
reinierpost 2014年

学習機能/言語に関する文献はたくさんあります。たとえば、学習制限の中で提出されます(ゴールドスタイルの学習も)。これらはあなたの問題に正確には適合しませんが、興味深いかもしれません。
ラファエル

回答:


7

あなたが説明するようにDFA分離DFAと呼ばれています。Bが通常の言語である場合、この問題に関するいくつかの文献があります。B、構成検証のための最小分離DFAの学習。

@reinierpostが述べているように、AとBに対する制限がない場合、問題は決定不能になる可能性があることに注意してください。


AとBが両方とも通常の言語であり、AとBが同じ結果をもたらす入力を任意に受け入れたり拒否したりすることが許可されている場合、問題がどのように決定できないかわかりません。特定のサイズのDFAの場合、受け入れる必要のある入力と拒否する必要のある入力の完全に包括的なセットを構築できます。これにより、すべてのテストケースを正しく処理する同じ数以下の状態のDFAすべてのケースで同じように動作することが保証されます。Aをすべて受け入れるマシンは他のすべてを受け入れ、拒否するので...
スーパーキャット2014年

...制約を満たす場合、マシンに含める必要がある状態の数に上限を設定できます。任意のサイズの可能なマシンの数が有限であり、評価するテストケースの数が有限であるため、Aより小さいすべての可能なマシンを生成し、それらのいずれかが必要な条件を満たすかどうかを確認できます。正確に問題を解決する迅速な方法ではありませんが、AとBが規則的である場合は確かに決定可能です。それらが規則的でない場合、DFAはAまたはBを解決できません。AとBがそうでない場合でも、「差異」が規則的である場合がありますが、それは...
スーパーキャット

...「異常な」ケースになります。
スーパーキャット2014年

8

BB=B

文字列のセットと一致する最小DFAを見つけることはNP完全です。この結果は、Angluinの標準規則セットの最小推論の複雑さに関する論文の定理1として表示されます。ですからあなたの問題もまたNP完全です。

良いリンクと正規言語を学ぶ上での議論の多くについてCSTheoryブログ投稿をチェックアウト正規言語を学習にします


オートマトンがAとBの両方にあるものを任意に受け入れまたは拒否できるように要件が変更された場合、問題はすべてのAとBで常に解決可能です。最適なオートマトンを見つけることが、それを行わずにNP完全である場合、その要件があってもNP完全です。
スーパーキャット2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.