NFAの普遍性の条件


28

非決定性有限オートマトンおよび関数ます。さらに、を定義します。A=(Q,Σ,δ,q0,F)f(n)Σ≤k=⋃i≤kΣi

次のステートメントを分析してみましょう。

もしは、。Σ≤f(|Q|)⊆L(A)L(A)=Σ∗

f(n)=2n+1場合、それが真であることを示すのは簡単です。したがって、オートマトンが長さまでのすべての単語を生成する場合、生成します。2|Q|+1Σ∗

しかし、が多項式である場合、それはまだ保持されますか?f

そうでない場合、特定の多項式に対するNFA構築は、stますか?ApΣ≤p(|Q|)⊆L(A)⊊Σ∗


場合、であるという証明または反証に賞金を与えたいと思います。そして、もしなければ、私がそれを得ることができる最高の構造にそれを与えます。 | Σ | ≥ 2f(n)=2n−o(n)|Σ|≥2
— Hsien-Chih Chang張顯之'12

回答:


22

ステートメントを保持するには、単項アルファベットであってもfが指数関数的に増加する必要があります。

[編集:リビジョン2では分析がわずかに改善されました。]

これが証明スケッチです。ステートメントが保持され、fを関数とし、長さが最大でf(n)のすべての文字列を受け入れるn個の状態を持つすべてのNFAがすべての文字列を受け入れるようにします。私たちはすべてのためにすることを証明しますC > 0と十分大きなnは、我々が持っているF(N)> 2 C ⋅√ nは。

素数定理はすべてのためにあることを意味C <LG e及び十分に大きいため、K、少なくともあるC ⋅2 K / K [2範囲の素数K 2、K +1 ]。c = 1 を取ります。このようなため、K、聞かせてN個のkが =⌈2 K / K ⌉とNFA定義MのKを次のように。ましょうP 1、...、P N kは、範囲内の異なる素数[2であるK、2 K +1]。NFA M kの状態はS k = 1 + p 1 +…+ p N k状態です。初期状態とは別に、状態はN kサイクルに分割され、i番目のサイクルの長さはp iです。各サイクルでは、1つの状態を除くすべての状態が受け入れられます。初期状態にはN k個の出力エッジがあり、各エッジは、各サイクルで拒否された状態の直後の状態になります。最後に、初期状態も受け入れられます。

レッツPのkは、製品のことP 1 ... PのNのK。M kがP kより短い長さのすべての文字列を受け入れるが、長さP kの文字列を拒否することは簡単にわかります。したがって、F(SのK)≥ PのK。

なお、SのK ≤1 + N K ⋅2 K +1 = O(2 2 K)とそのPのK ≥(2 K)NのK ≥2 2 K。残りは標準です。


の最良値についてのあなたの推測は何ですか?セイF (N )= 2 、N + 1、又は間のどこか2 N及び2 C ⋅ √ff(n)=2n+12n?2c⋅n
— Hsien-Chih Chang張顯之

@ Hsien-Chih:私は同じことを疑問に思っていました、そして、私には合理的な推測がありません。最初に、f(n)≤2^ n(+1は必要ありません)を見るのは簡単です。この上限を超える線形改善が期待される一方で、定数にタイトかどうかはわかりません。(詳細)
— 伊藤剛

(続き)第二に、下限については、私が間違っていなければ、上記の分析をわずかに改良すると、次の下限が得られます:すべての定数0 <c < 及び十分に大きなnは、我々は、F(N)>E Cを√1/2。さらなる改良がおそらく可能ですが、NTMの同じ構成を使用する場合、p> 1/2に対して2 ^ {n ^ p}などの下限を取得できません。素数の分布(PNTなど)の使用が悪い例の構築に不可欠であるかどうかは興味深い質問だと思います。(もっと)f(n)>ecnln⁡n
— 伊藤剛

(続き)ただし、興味があり、さらに調査したい場合は、最初に文献を探す方が賢明です。この答えやもっと良いものがすでに文献に載っていても驚かないでしょう。
— 伊藤剛

5
@Tsuyoshi:のために単項言語用のn状態DFAをm-状態NFAによってシミュレートすることができることChrobakによって示され。したがって、言語が単項の場合、構築はきついです。[Chr86]を参照:cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enログ⁡n)
— Hsien-Chih Chang張顯之

19

2006年12月12日に編集:

わかりました、これは私が得ることができるほとんど最高の構造です、誰かがより良いアイデアを思い付くかどうか見てください。

定理。それぞれについてがある(5 N + 12 ) -状態NFA Mはアルファベット上Σと| Σ | = 5 (L (M )にない最短文字列の長さ(2 n − 1 )(n + 1 )+ 1)。n(5n+12)MΣ|Σ|=5L(M)(2n−1)(n+1)+1

これにより、ます。f(n)=Ω(2n/5)

構造は、最初に正規表現で言語を表すのではなく、NFAを直接構築することを除いて、Shallitの構造とほぼ同じです。させて

。Σ={[00],[01],[10]、[11]、♯}

各について、NFA認識言語Σ ∗ − { s n }を構築します。ここで、s nは次のシーケンスです(たとえばn = 3を使用します)。nΣ∗−{sn}snn=3

。s3=♯[00][00][01]♯[00][01][10]♯…♯[11][11][01]♯

アイデアは、5つの部分で構成されるNFAを構築できるということです。

  • 文字列が♯ [ 0で始まることを保証するスターター;♯[00][00][01]♯
  • 文字列が♯ [ 1で終わることを保証するターミネータ;♯[11][11][01]♯
  • 2つの♯の間にあるシンボルの数をnとして保持するカウンター。♯n
  • アッドオンチェッカー形でそのシンボルのみ保証し、が表示されます。最後に、♯xx+1♯
  • 一貫性チェッカー形でそのシンボルのみ保証し、同時に表示することができます。♯xy♯yz♯

我々受け入れたくないことを注意の代わりに{ S nは }私たちは入力シーケンスは、上記のいずれかの動作に背いていることを見つけると、そう、私たちはすぐに順序を受け入れます。それ以外の場合| s n | 手順では、NFAは唯一の拒否状態になります。そして、シーケンスが|よりも長い場合 s n | 、NFAも受け入れます。したがって、上記の5つの条件を満たすNFAは、s nのみを拒否します。Σ∗−{sn}{sn}|sn||sn|sn

厳密な証拠ではなく、次の図を直接確認するのは簡単かもしれません。

NFA for rejecting s_n

左上の状態から始めます。最初の部分はスターター、カウンター、一貫性のあるチェッカー、ターミネーター、最後にアドオン1チェッカーです。終端ノードのないすべてのアークは、常に右のアクセプターである右下の状態を指します。一部のエッジにはスペースがないためラベルが付いていませんが、簡単に復元できます。破線は、シーケンスを表しと状態N - 2つのエッジを。n−1n−2

NFAは上記の5つのルールすべてに準拠しているため、NFAがのみを拒否することを(苦痛を伴いながら)確認できます。だから、(5 N + 12 )と-state NFA | Σ | = 5が構築され、定理の要件を満たします。sn(5n+12)|Σ|=5

構造に不明瞭/問題がある場合は、コメントを残してください、私はそれを説明/修正しようとします。


この質問はによって研究されてきたジェフリーO. Shallit。ら、実際の最適値依然としてために開放されています| Σ | > 1。(単項言語については、剛の回答のコメントを参照してください)f(n)|Σ|>1

普遍性に関する彼の講演の 46-51ページで、彼は次のような構成を提供しました:

定理。以下のためにいくつかのためにN十分な大きさがあり、N -状態NFA Mで最短の文字列でないようにバイナリアルファベットオーバーL (Mは)長さであるΩ (2 C 、N)のために、C = 1 / 75。n≥NNnML(M)Ω(2cn)c=1/75

したがって、の最適値は2 n / 75から2 nの間です。Shallitの結果が近年改善されたかどうかはわかりません。f(n)2n/752n


私は近く、より良いバインド多くを得るためにShallitの仕事、希望を持って遊んだ。その構造は、長さのいくつかの順序を指定することにより、興味深いと思わΩ(2 N)の長さの「短い」正規表現によって表現することができないC N + O (N )、及び長さの各正規表現F (N )缶サイズf (n )+ 1の NFAによって記述されます。現在、私は聞かせすることができるよC ≤ 22が、よりスマートなアイデアが近づいする必要があることである22nΩ^(2n)cn+o(n)f(n)f(n)+1c≤22。2n
— Hsien-Chih Chang張顯之

2
私はそれがこの問題を研究するためのさらなる洞察を与えるとは思わないが、シャリットの講演のための適切な学術的言及は次のとおりである:K. Ellul、B。Krawetz、J。Shallit、M。Wang:Regular Expressions:New Results and Open Problem。Journal of Automata、Languages and Combinatorics 10(4):407-437(2005)
— ヘルマングルーバー

@Hermann:参照ありがとう
— Hsien-Chih Chang張顯之

カウンターを使用すると、スターターとターミネーターを2ステートの小さなマシンに置き換えることができると思います。したがって、これにより、NFAのサイズがさらに縮小されます。3n+O(1)
— Hsien-Chih Chang張顯之

1
著名なCAL論文の著者のプレプリント版は次のとおりです。cs.uwaterloo.ca / 〜shallit / Papers / re3.pdf製本版でもバウンドと証明は同じです。
— ヘルマングルーバー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.