Bedingungen für die Universalität der NFA

28

Man betrachte nichtdeterministische endliche Automaten A=(Q,Σ,δ,q0,F) und eine Funktion f(n) . Zusätzlich definieren wir Σk=ikΣi .

Analysieren wir nun die folgende Aussage:

Wenn Σf(|Q|)L(A) , dann ist L(A)=Σ .

Es ist leicht zu zeigen, dass für f(n)=2n+1 gilt, wenn also die Automaten jedes Wort mit einer Länge von bis zu erzeugen Q | + 12|Q|+1 , dann erzeugt es Σ .

Aber gilt es immer noch, wenn f ein Polynom ist?

Wenn nicht, was könnte eine Konstruktion eines NFA A für ein bestimmtes polynom p aussehen, st Σp(|Q|)L(A)Σ ?

Mike B.
quelle
Ich mag die Prämie auf einen Beweis oder Widerlegung geben , dass für den Fall | Σ | 2 . Und wenn es keine gibt, gebe ich es dem besten Bau, den man bekommen kann. f(n)=2no(n)|Σ|2
Hsien-Chih Chang 張顯 張顯

Antworten:

22

Damit die Anweisung gültig ist, muss f exponentiell wachsen, auch mit dem unären Alphabet.

[Bearbeiten: Die Analyse wurde in Revision 2 leicht verbessert.]

Hier ist eine Beweisskizze. Angenommen, die Anweisung gilt und f sei eine Funktion, bei der jede NFA mit höchstens n Zuständen, die alle Zeichenfolgen mit der Länge höchstens f ( n ) akzeptiert, alle Zeichenfolgen überhaupt akzeptiert. Wir werden beweisen , dass für jede C > 0 und ausreichend groß n , haben wir f ( n )> 2 C ⋅√ n .

Der Primzahlsatz impliziert, dass es für jedes c <lg e und für ausreichend großes k mindestens c ⋅ 2 k / k Primzahlen im Bereich [2 k , 2 k +1 ] gibt. Wir nehmen c = 1. Für ein solches k sei N k = ⌈2 k / k ⌉ und definiere ein NFA M k wie folgt. Sei p 1 ,…, p N k verschiedene Primzahlen im Bereich [2 k , 2 k +1]. Die NFA M k hat S k = 1 + p 1 +… + p N k Zustände. Abgesehen vom Anfangszustand sind die Zustände in N k Zyklen unterteilt, wobei der i- te Zyklus die Länge p i hat . In jedem Zyklus sind alle bis auf einen Zustand akzeptierte Zustände. Der Anfangszustand hat N k ausgehende Flanken, von denen jede in jedem Zyklus unmittelbar nach dem zurückgewiesenen Zustand in den Zustand übergeht. Schließlich wird auch der Ausgangszustand übernommen.

Sei P k das Produkt p 1p N k . Es ist leicht zu sehen , dass M k alle Strings der Länge kleiner als akzeptiert P k lehnt aber die Zeichenfolge der Länge P k . Daher ist f ( S k ) ≥ P k .

Man beachte , daß S k ≤ 1 + N k ⋅2 k +1 = O (2 2 k ) ist und daß P k ≥ (2 k ) N k ≥ 2 2 k . Der Rest ist Standard.

Tsuyoshi Ito
quelle
Was ist Ihre Vermutung über den besten Wert von ? Sagen Sie f ( n ) = 2 n + 1 oder irgendwo zwischen 2 n und 2 c ff(n)=2n+12n ? 2cn
Hsien-Chih Chang 張顯 張顯
@ Hsien-Chih: Ich habe mich das gleiche gefragt, und ich habe keine vernünftige Vermutung. Erstens ist es trivial, f (n) ≤ 2 ^ n zu sehen (wir brauchen keine +1), und obwohl ich eine lineare Verbesserung gegenüber dieser oberen Schranke erwarte, habe ich keine Ahnung, ob es bis auf einen konstanten Faktor eng ist. (mehr)
Tsuyoshi Ito
(Fortsetzung) Zweitens, was die Untergrenze betrifft, wenn ich mich nicht irre, ergibt eine leichte Verfeinerung der obigen Analyse die folgende Untergrenze: für jede Konstante 0 <c < und ausreichend groß n haben wirf(n)>e c 1/2 . Weitere Verfeinerungen sind wahrscheinlich möglich, aber wir können keine Untergrenze wie 2 ^ {n ^ p} für p> 1/2 erhalten, wenn wir dieselbe Konstruktion des NTM verwenden. Ich halte es für eine interessante Frage, ob die Verwendung der Verteilung von Primzahlen (wie der PNT) für die Konstruktion von schlechten Beispielen wesentlich ist. (mehr)f(n)>ecnlnn
Tsuyoshi Ito
(Fortsetzung) Wenn Sie jedoch interessiert sind und es weiter untersuchen möchten, ist es wahrscheinlich klüger, zuerst nach Literatur zu suchen. Es wird mich nicht wundern, wenn diese Antwort oder etwas Besseres bereits in der Literatur auftaucht.
Tsuyoshi Ito
5
@ Tsuyoshi: Chrobak hat gezeigt, dass ein n-Zustand-DFA für eine unäre Sprache durch einen m-Zustand-NFA für m = O ( e simuliert werden kann. Daher ist Ihre Konstruktion eng, wenn die Sprache nicht einheitlich ist. Siehe [Chr86]:cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enlogn)
Hsien-Chih Chang 張顯 張顯
19

BEARBEITEN AM 12.10.06:

ok, das ist so ziemlich die beste Konstruktion, die ich bekommen kann. Mal sehen, ob jemand bessere Ideen hat.

Satz. Für jedes gibt es einen ( 5 n + 12 ) -Zustand NFA M über Alphabeten Σ mit | Σ | = 5, so dass die kürzeste Kette, die nicht in L ( M ) enthalten ist, die Länge ( 2 n - 1 ) ( n + 1 ) + 1 hat .n(5n+12)MΣ|Σ|=5L(M)(2n1)(n+1)+1

Dies ergibt .f(n)=Ω(2n/5)

Die Konstruktion ist mit der in Shallit ziemlich identisch , außer dass wir eine NFA direkt konstruieren, anstatt die Sprache zuerst durch einen regulären Ausdruck darzustellen. Lassen

.Σ={[00],[01],[10],[11],}

nΣ{sn}sn is the following sequence (take n=3 for example):

s3=[00][00][01][00][01][10][11][11][01].

The idea is that we can construct an NFA consists of five parts;

  • ein Starter , der sicherstellt, dass der String mit beginnt[00][00][01];
  • a terminator, which ensures the string ends with [11][11][01];
  • a counter, which keeps the number of symbols between two 's as n;
  • an add-one checker, which guarantees that only symbols with the form xx+1 appears; finally,
  • a consistent checker, which guarantees that only symbols with the form xyyz can appear concurrently.

Note that we do want to accept Σ{sn} instead of {sn}, so once we find out that the input sequence is disobeying one of the above behaviors, we accept the sequence immediately. Otherwise after |sn| steps, the NFA will be in the only possible rejecting state. And if the sequence is longer than |sn|, the NFA also accepts. So any NFA satisfies the above five conditions will only reject sn.

It may be easy to check the following figure directly instead of a rigorous proof:

NFA for rejecting s_n

We start at the upper-left state. The first part is the starter, and the counter, then the consistent checker, the terminator, finally the add-one checker. All the arc with no terminal nodes point to the bottom-right state, which is an all time acceptor. Some of the edges are not labeled due to lack of spaces, but they can be recovered easily. A dash line represents a sequence of n1 states with n2 edges.

We can (painfully) verify that the NFA rejects sn only, since it follows all the five rules above. So a (5n+12)-state NFA with |Σ|=5 has been constructed, which satisfies the requirement of the theorem.

If there's any unclearliness/problem with the construction, please leave a comment and I'll try to explain/fix it.


This question has been studied by Jeffrey O. Shallit et al., and indeed the optimal value of f(n) is still open for |Σ|>1. (As for unary language, see the comments in Tsuyoshi's answer)

In page 46-51 of his talk on universality, he provided a construction such that:

Theorem. For nN for some N large enough, there is an n-state NFA M over binary alphabets such that the shortest string not in L(M) is of length Ω(2cn) for c=1/75.

Thus the optimal value for f(n) is somewhere between 2n/75 and 2n. I'm not sure if the result by Shallit has been improved in recent years.

Hsien-Chih Chang 張顯之
quelle
I'm playing with Shallit's work, hope to get a better bound much near 2n. Their construction seems interesting, by specify some sequence of length Ω^(2n) which can not be represent by a "short" regular expression of length cn+o(n), and each regular expression of length f(n) can be described by an NFA of size f(n)+1. Currently I'm able to let c22, but a smarter idea is need to come close 2n.
Hsien-Chih Chang 張顯之
2
I don't think it gives further insights for studying this problem, but the proper scholarly reference for Shallit's talk is: K. Ellul, B. Krawetz, J. Shallit, M. Wang: Regular Expressions: New Results and Open Problems. Journal of Automata, Languages and Combinatorics 10(4): 407-437 (2005)
Hermann Gruber
@Hermann: Thank you for the reference, currently I cannot access to the paper, but I will find a way to.
Hsien-Chih Chang 張顯之
I think by using counter we can replace the starter and terminator by a 2-state tiny machine. So this further reduce the size of NFA to 3n+O(1).
Hsien-Chih Chang 張顯之
1
The author's preprint version of the noted JALC paper is here: cs.uwaterloo.ca/~shallit/Papers/re3.pdf The bound, and the proof is the same in the printed version.
Hermann Gruber