特定のDFAが最小限であるかどうかをどれだけ速く判断できますか?


11

最小化決定性有限オートマトン(のDFA)は、文献に詳細に研究されてきた問題であり、そしていくつかのアルゴリズム次のような問題を解決するために提案されています:DFAを考えると、同じ言語を受け入れて対応する最小限のDFAを計算A。これらのアルゴリズムのほとんどは、多項式時間で実行されます。AA

ただし、この問題の決定バリアントは「DFA 与えられた場合、Aは最小限ですか?」-実際に最小オートマトンを計算するよりも効率的に解くことができます。明らかに、これは、たとえば、Hopcroftのパーティション絞り込みアルゴリズムを実行してから、すべてのパーティションに正確に1つの状態が含まれているかどうかを判断することによっても効率的に実行できます。AA

Yuval Filmusが彼の回答で示唆しているよう、決定可能性バリアントは、おそらく標準アルゴリズムを使用することで、より速く解決できます。残念ながら、その方法はわかりません(ここで明らかな点を見逃していないことを願っています)。

Yuvalはここのコメントで、最もよく知られているアルゴリズム(上記のものなどが一定サイズのアルファベットに対して時間で実行されることを指摘しています。したがって、私はランタイムでの漸近的に重要な利益に関心があるだけでなく、かなり可能性が低いように見えます。私が最も気になるのは、私たちがイエスノーノーアンサーだけに関心があるという事実から引き出されるかもしれない「ショートカット」を想像できないことです-漸近的に無視できる時間を節約することを可能にするショートカットさえも。DFAの最小性を決定する賢明なアルゴリズムはすべて、実際にDFAを最小限に抑え、プロセス中に変更がないか確認する必要があると思います。O(nlogn)


Hopcroftのアルゴリズムはすでに準線形時間で実行されているため、改善の余地はあまりありません。
Yuval Filmus 14年

はい、この事実を反映するように質問を編集しました:@YuvalFilmus
Cornelius Brand

1
最速の既知のDFA最小化アルゴリズムはまだこれです。これは、2008年より前に公開された、時間で実行されるアルゴリズムよりも高速です。ここで、mは遷移の数です。O(n+mlogn)m
Juho

決定問題が最小化問題と同じくらい複雑である可能性は低いようですが、前者は、自明ではないDFAの等価性のテストを含むため、おそらくより困難に見えます。したがって、決定問題の複雑さは「最小化または等価性テスト」の最大値であると思われます。同等性テストの複雑さは何ですか?
vzn 2014

@vznあなたが「自明ではない」を意味すると仮定すると、たとえば、私の質問で私が与えた手順は等価性のテストを回避するため、必ずしもそうである必要はありません。ただし、問題は最小化よりも簡単ではないと思います。
Corneliusブランド、

回答:


5

NL

では、DFAが最小限であるとはどういう意味ですか?2つのプロパティがあります。

  1. qQwΣqswswq

  2. q,rQqr wΣqwsrwt|{s,t}F|=1s,t

xwyLwNL

NLstNL

NLL2n


これは空間を改善するようですが、時間の複雑さは改善しませんか?
vzn 2014

私はvznに同意します。私はこの回答が好きですが、元の質問により密接に関連している洞察にはまだ興味があります。
Corneliusブランド

NLP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.