準2次空間でのDFA交差点?


25

n個の状態を持つ2つの(最小)DFAの共通部分は、O(n 2)時間と空間を使用して計算できます。結果として得られる(最小の)DFAにはn 2個の状態があるため、これは一般に最適です。ただし、結果の最小DFAがz状態(z = O(n))である場合、一定のeps> 0に対して、空間n 2-epsで計算できますか?入力DFAが非循環である特別な場合でも、このような結果に興味があります。


3
Um ... 2つのn状態DFAが非周期的である場合、それぞれは最大n個の長さの有限セットの単語を受け入れるだけで、その場合、それらの交点はn個の状態を持ち、線形の時間と空間で計算できます。それとも何か不足していますか?
ジョシュアグロチョウ

4
はい、非サイクリックDFAは有限の単語セットのみを受け入れます。ただし、サイズがn ^ 2の交差点を持つ非サイクリックDFAの例があります。たとえば、AABC(ABCは長さkの文字列)の形式の文字列を受け入れるDFAと、ABCCの形式の文字列を受け入れるDFAについて考えます。
ラスマスパグ

1
再タグ付け:cs.ccはarxiv指定であるため、指定されたタグにはcs.ccプレフィックスは必要ありません。
Suresh Venkat

回答:


15

答えはイエスです。オートマトンのサイズに関する要件はありません。kが定数であるk 個の DFAについても、空間で計算できます。O(log2n)kk

LET I [ kはであるk個のDFA。我々ことを示し、所与A 1... K、最小DFAを認識する計算L A 1L kはで行うことができOAi=(Qi,Σi,δi,zi,Fi)i[k])kA1,,AkL(A1)L(Ak)スペース。最初にいくつかの技術的な結果を証明します。O(log2n)

定義1:レッツの、2つの状態であることのq R IFF wはΣ *Q W F R W Fq,rqrwΣq.wFr.wF

ここで、古典的なデカルト積構造によって与えられるオートマトン考えます。ましょうQ = Q 1... QのK、R = R 1... Rのkがの状態であるAAq=(q1,,qk)r=(r1,,rk)A

補助定理1:かどうかを決定する NLです。qr

証明(スケッチ):非等価性のテストがNLにあることを示し、NL = coNLを使用します。単語推測ように(一度に一文字)Qはwは最終状態であり、r です。wは違います。これはq iを計算することで実現できますw r iWの対数空間におけるI [ K ]とするという事実使用qは最終IFFのあるQ IF IをwΣq.wr.wqi.w,ri.wi[k]q。それことを示すことができる Q rはの存在を意味 Wポリサイズを。qiFii[k]qrw

補助定理2が(in)アクセス可能かどうかを判断するのはNLです。q

プルーフ(スケッチ):から推測(ポリサイズ)パスQ II [ K ])。ziqii[k]

定義2:辞書編集の順序での状態を検討します。s 1 を最初のアクセス可能な状態として定義し、s i s i 1 )に続く最初のアクセス可能な状態を定義します。これは以前の状態と同等ではありません。我々は定義C qはユニークとしてIようQ S I As(1)s(i)s(i1)c(q)iqs(i)

補題3O log 2 n 空間で計算できます。s(i)O(log2n)

証明(スケッチ):定義2はアルゴリズムを生成します。カウンターを使用して、状態を反復処理します。してみましょうJ 0qは現在の状態です。各状態で、補題2を使用してqがアクセス可能かどうかを確認します。そうであれば、以前のすべての状態でループし、それらのいずれかがqと同等であるかどうかを検証します。いずれかが存在しない場合には、当社の増分Jと出力Q場合jは= 私を。そうでなければ、qs j として保存し、続行します。一定数のカウンターのみを保存し、NLでテストを実行できるためkj0qqqjqj=iqs(j)、これは証明を完了する。NLDSPACE(log2n)

結果1O log 2 n 空間で計算できます。c(q)O(log2n)

定理:最小化で行うことができるO ログ2 Nの空間。AO(log2n)

(スケッチ)証明:みましょう最大とように、S iは(すなわち。のクラスの数に定義されて)。オートマトンA = Q Σ δ z F )を出力するアルゴリズムを与えます。1m|Q0||Q1|is(i)A=(Q,Σ,δ,z,F)

  • Q={s(i):i[m]}
  • F={qQ:qiFii[k]}
  • ここで q = z 0z kz=s(c(q))q=(z0,,zk)

計算方法を示します。すべてのためのI [ M ] Σ、計算Q S I aおよび出力遷移s i a s c q 。補題3および結果1により、このアルゴリズムはO log 2 n 空間で実行されます。これは、ことを確認することができますA "δi[m],aΣqs(i).a(s(i),a,s(c(q)))O(log2n)Aは最小で、です。L(A)=L(A)


3
素晴らしいアルゴリズム!以下は、このアルゴリズムを見るためのわずかに異なる方法です。そのコアは、状態最小化することである任意の与えられたDFAは多項式時間とで行うことができる空間。その後、(従って、多項式時間とに対数空間での交差を表すいくつかのDFAを構築することは容易であるO ログ2 n個の空間)、我々は多項式時間とに計算二つの機能を構成することができるO ログ2 Nの空間(2つの対数空間削減を構成するのと同様の方法で)、アルゴリズム時間とOでアルゴリズム全体を生成するO(log2n)O(log2n)O(log2n)スペース。O(log2n)
伊藤剛

2
私はちょうどこの答えを見ました...アルゴリズムがpolytimeと空間で同時に実行される理由がわかりません。はい、N L P D S P A C E [ ログイン2 Nを]、しかし、もしそれが知られていないN L T I S P [ N O 1 ログ2 N ] - 、我々は可能となるがpolytimeで実行されているアルゴリズムを取得し、別のアルゴリズムを実行することができますO(log2n)NLPDSPACE[log2n]NLTISP[nO(1),log2n]空間、しかし、私は単一のアルゴリズムでpolytimeと O log 2 n 空間で N L問題を解決する方法を知りません。O(log2n)NLO(log2n)
ライアンウィリアムズ

あなたは正しいです、私もどちらかわかりません。これはかなり前に投稿したので、なぜこのように書いたのかはわかりませんが、おそらく「多項式時間またはO(log²n)」を意味していました。誤解を招くので編集します。ありがとうございました!
マイケルブロンディン

14

ディック・リプトンと同僚は最近この問題に取り組んでおり、リプトンはこの問題についてブログに書いています:

http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/

DFA交差が空の言語を定義しているかどうかを判断する非常に特殊な場合でも、O(n ^ 2)よりも優れていることが開かれているようです。
この論文では、交差点での2つのDFAだけでなく、より多くの数のアルゴリズム処理も大幅に改善された結果、複雑な結果がもたらされます。


1
そして下限はどうですか?
マルコスヴィラグラ

1
質問を明確にするために、スペースの制限を改善するためにO(n ^ 2)時間(またはn ^ O(1)時間)を費やすことができてうれしいです。
ラスマスパグ

13

k個のDFA(kは入力の一部)が与えられ、それらの交差が空かどうかを知りたい場合、この問題は一般にPSPACE完全です:

デクスターコーゼン:ナチュラルプルーフシステムの下限FOCS 1977:254-266

おそらく、この証明(およびリプトンと彼の共著者による同様の構成)を注意深く研究すると、固定kであっても何らかの空間下限が見つかるかもしれません。


このポインタをありがとう。これは、入力とは別に、必要な追加スペースの下限n ^ Omega(1)スペースにつながる可能性があると推測しています。しかし、超線形空間の下限につながる可能性はありますか?
ラスマスパグ

1
@ user124864 それぞれn個の状態を持つ DFAがある場合、製品オートマトンはn k個の状態を持ちます。現在、サイズを縮小するためにできる2つのトリックがあります。1つ目は、製品グラフの到達可能なコンポーネントのみを考慮することです。次に、製品DFAを最小化できます。結局のところ、この製品オートマトンで認識される言語を把握するのは困難です。knnk
マイケルウェハ

1
@ user124864製品DFAが空でない言語を認識しているかどうかを判断するだけでも困難です。これは、交差点の空でない問題です。ハードとは、強い意味で完全なであることを意味します。XNL
マイケルウェハ

1
@user124864 If you can solve it in less than nk time, then we get faster algorithms for PSPACE complete problems. It is not solvable in o(1)klog(n) non-deterministic binary space. It's not known if we can solve it in less than k2log2(n) deterministic binary space. It's not known if we can solve it in simultaneous deterministic polynomial time and f(k)log2(n) binary space for any function (そうすると、サビッチの定理が改善されます)。f
マイケルウェハ

1
@ user124864注:次の両方があります。(1)時間を決定論的にビートすると、PSPACE完全問題のより高速な決定論的アルゴリズムが暗示され、(2)n k時間を非決定的にビートすると、PSPACE完全問題のより高速な非決定的アルゴリズムが暗示されます。nknk
マイケル・ウェハ

7

2オートマトン所与のB受け入れる有限言語(非環式オートマトン)の状態の複雑さL A L BでであるΘ | A || B |(1) 。この結果は、単項DFA(必ずしも非周期的ではない)にも当てはまります(2)。ただし、2つのオートマトンの交差を計算するために必要なスペースについて話しているようです。デカルト積を使用した古典的な構造がO n 2を使用する方法がわかりませんABL(A)L(B)Θ(|A||B|) O(n2)スペース。必要なのは、対数サイズのカウンターの定数です。新しい状態の遷移関数を計算する場合、以前に生成されたデータを参照せずに入力をスキャンするだけです。(q,r)

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 n be the number of states in the resulting automaton, then for all 1in, state i is a final state iff ai is accepted by both A and B. This test can be carried with few space.


1
Yes, I am interested in the minimal automaton, or at least an automaton of similar size. Thanks for the pointers to unary DFAs. However, this does not seem to help much for the general case.
Rasmus Pagh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.