n個の状態を持つ2つの(最小)DFAの共通部分は、O(n 2)時間と空間を使用して計算できます。結果として得られる(最小の)DFAにはn 2個の状態があるため、これは一般に最適です。ただし、結果の最小DFAがz状態(z = O(n))である場合、一定のeps> 0に対して、空間n 2-epsで計算できますか?入力DFAが非循環である特別な場合でも、このような結果に興味があります。
n個の状態を持つ2つの(最小)DFAの共通部分は、O(n 2)時間と空間を使用して計算できます。結果として得られる(最小の)DFAにはn 2個の状態があるため、これは一般に最適です。ただし、結果の最小DFAがz状態(z = O(n))である場合、一定のeps> 0に対して、空間n 2-epsで計算できますか?入力DFAが非循環である特別な場合でも、このような結果に興味があります。
回答:
答えはイエスです。オートマトンのサイズに関する要件はありません。kが定数であるk 個の DFAについても、空間で計算できます。
LET (I ∈ [ kは】)であるk個のDFA。我々ことを示し、所与⟨ A 1、... 、K ⟩、最小DFAを認識する計算L (A 1)∩ ⋯ ∩ L (kは)で行うことができOスペース。最初にいくつかの技術的な結果を証明します。
定義1:レッツの、2つの状態であることのq ≡ R IFF ∀ wは∈ Σ *、Q 。W ∈ F ⇔ R 。W ∈ F
ここで、古典的なデカルト積構造によって与えられるオートマトン考えます。ましょうQ = (Q 1、... 、QのK)と、R = (R 1、... 、Rのkが)の状態であるA。
補助定理1:かどうかを決定する NLです。
証明(スケッチ):非等価性のテストがNLにあることを示し、NL = coNLを使用します。単語推測ように(一度に一文字)Qは。wは最終状態であり、r です。wは違います。これはq iを計算することで実現できます。w 、r i。Wの対数空間におけるI ∈ [ K ]とするという事実使用qは最終IFFのあるQ I ∈ F Iを。それことを示すことができる Q ≢ rはの存在を意味 Wポリサイズを。
補助定理2:が(in)アクセス可能かどうかを判断するのはNLです。
プルーフ(スケッチ):から推測(ポリサイズ)パスにQ I(I ∈ [ K ])。
定義2:辞書編集の順序での状態を検討します。s (1 )を最初のアクセス可能な状態として定義し、s (i )s (i − 1 )に続く最初のアクセス可能な状態を定義します。これは以前の状態と同等ではありません。我々は定義C (qは)ユニークとしてIようQ ≡ S (I )。
補題3:はO (log 2 n )空間で計算できます。
証明(スケッチ):定義2はアルゴリズムを生成します。カウンターを使用して、状態を反復処理します。してみましょうJ ← 0とqは現在の状態です。各状態で、補題2を使用してqがアクセス可能かどうかを確認します。そうであれば、以前のすべての状態でループし、それらのいずれかがqと同等であるかどうかを検証します。いずれかが存在しない場合には、当社の増分Jと出力Q場合jは= 私を。そうでなければ、qをs (j )として保存し、続行します。一定数のカウンターのみを保存し、NLでテストを実行できるため、これは証明を完了する。
結果1:はO (log 2 n )空間で計算できます。
定理:最小化で行うことができるO (ログ2 Nの)空間。
(スケッチ)証明:みましょう最大と私ように、S (iは)(すなわち。のクラスの数に定義されて≡)。オートマトンA ′ = (Q ′、Σ 、δ ′、z ′、F ′)を出力するアルゴリズムを与えます。
計算方法を示します。すべてのためのI ∈ [ M ] 、∈ Σ、計算Q ← S (I )。aおよび出力遷移(s (i )、a 、s (c (q )))。補題3および結果1により、このアルゴリズムはO (log 2 n )空間で実行されます。これは、ことを確認することができますA "は最小で、です。
ディック・リプトンと同僚は最近この問題に取り組んでおり、リプトンはこの問題についてブログに書いています:
http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/
DFA交差が空の言語を定義しているかどうかを判断する非常に特殊な場合でも、O(n ^ 2)よりも優れていることが開かれているようです。
この論文では、交差点での2つのDFAだけでなく、より多くの数のアルゴリズム処理も大幅に改善された結果、複雑な結果がもたらされます。
k個のDFA(kは入力の一部)が与えられ、それらの交差が空かどうかを知りたい場合、この問題は一般にPSPACE完全です:
デクスターコーゼン:ナチュラルプルーフシステムの下限FOCS 1977:254-266
おそらく、この証明(およびリプトンと彼の共著者による同様の構成)を注意深く研究すると、固定kであっても何らかの空間下限が見つかるかもしれません。
2オートマトン所与の、B受け入れる有限言語(非環式オートマトン)の状態の複雑さL (A )∩ L (Bで)であるΘ (| A | ⋅ | B |)(1) 。この結果は、単項DFA(必ずしも非周期的ではない)にも当てはまります(2)。ただし、2つのオートマトンの交差を計算するために必要なスペースについて話しているようです。デカルト積を使用した古典的な構造がO (n 2)を使用する方法がわかりません スペース。必要なのは、対数サイズのカウンターの定数です。新しい状態の遷移関数を計算する場合、以前に生成されたデータを参照せずに入力をスキャンするだけです。
Perhaps you want to output the minimal automaton? If this is the case, then I have no clue whether it can be achieved. The state complexity of the intersection for finite languages doesn't seem encouraging. However, unary DFAs have the same state complexity and I think it can be achieved with such automata. By using results from (2), you can get the exact size of the automaton recognizing the intersection. This size is described by the length of the tail and the cycle, thus the transition function can be easily computed with very few space since the structure is entirely described by those two sizes. Then, all you have to do is to generate the set of final states. Let be the number of states in the resulting automaton, then for all , state is a final state iff is accepted by both and . This test can be carried with few space.