Dies ist eine Zusammenfassung des Artikels Über die Anzahl der von endlichen Automaten akzeptierten unterschiedlichen Sprachen mit n Zuständen . Das Papier bietet relativ einfache, aber weit davon entfernt, enge Unter- und Obergrenzen für die Anzahl der von NFA akzeptierten unterschiedlichen Sprachen. Ihre Diskussion über die Anzahl der unterschiedlichen DFAs ist sehr aufschlussreich, daher werde ich auch diesen Teil einbeziehen.
Die Arbeit beginnt mit einer ziemlich strengen Asymptotik für die Anzahl der von einem DFA mit Zuständen über einem unären Alphabet akzeptierten unterschiedlichen Sprachen . Dies erfolgt durch Beobachten, unter welchen Bedingungen ein gegebener unärer n- Zustand-DFA minimal ist. In solchen Fällen kann die Beschreibung des Automaten (bijektiv) auf ein primitives Wort abgebildet werden , und die Aufzählung solcher Wörter ist bekannt und erfolgt mit Hilfe der Möbius-Funktion . Mit diesem Ergebnis werden Grenzen für nicht-unäre Alphabete sowohl im DFA- als auch im NFA-Fall bewiesen.nn
Lassen Sie uns näher darauf eingehen. Für ein -letter Alphabet definieren Sie
f k ( n )k zu
beachtendassgk(n)=Σ n i = 1 fk(i). Wir beginnen mitf1(k)undg1(k).
fk(n)gk(n)Gk(n)=the number of pairwise non-isomorphic minimal DFA's with n states=the number of distinct languages accepted by DFA's with n states=the number of distinct languages accepted by NFA's with n states
gk(n)=∑ni=1fk(i)f1(k)g1(k)
Aufzählung der unären DFAs
Ein unärer DFA M=(Q,{a},δ,q0,F) mit den Zuständen ist minimal, wennq0,…,qn−1
- Es ist verbunden. Somit besteht das Übergangsdiagramm nach dem Umbenennen aus einer Schleife und einem Schwanz, dh und δ ( q n - 1 , a ) = q j für einige j ≤ n - 1 .δ(qi,a)=qi+1δ(qn−1,a)=qjj≤n−1
- Die Schleife ist minimal.
- Wenn , dann ist entweder q j - 1 ≤ F und q n - 1 ≤ F oder q j - 1j≠0qj−1∈Fqn−1∉F und q n - 1 ∈ F .qj−1∉Fqn−1∈F
Die Schleife ist minimal, wenn das Wort a j ⋯ a n - 1 durch
a i = { 1 definiert istqj,…,qn−1aj⋯an−1
istprimitiv, das heißtsie können nicht in der Form geschrieben werdenxk
für einige Wortxund einige ganze Zahlk≥2.
Die Anzahlψk(n)von primitiven Wörtern der Längenüberk-Buchstaben-Alphabeten ist bekannt, siehe z. B. Lothaire,Combinatorics on Words. Wir haben
ψk(n)=∑d | nμ(d)kn/
ai={1if q∈F,0if q∉F
xkxk≥2ψk(n)nk
wobei
μ(n)die
Möbius-Funktion istψk(n)=∑d|nμ(d)kn/d
μ(n) . Mit Hilfe von
liefert die Arbeit exakte Formeln für
f 1 ( n ) und
g 1 ( n ) und zeigt, dass asymptotisch (Satz 5 und Folgerung 6),
g 1 ( n )ψk(n)f1(n)g1(n)g1(n)f1(n)=2n(n−α+O(n2−n/2))=2n−1(n+1−α+O(n2−n/2)).
Aufzählung der DFAs
Der nächste Schritt ist eine Untergrenze für . Satz 7 besagt, dass
f k ( n ) ≥ f 1 ( n ) n ( k - 1 ) n ≤ n 2 n - 1 n ( k - 1 ) n ist .
Für einen Satz Δ ⊂ & Sigma; eines Automaten M definieren M Δ als Einschränkung des M zu Δ .fk(n)
fk(n)≥f1(n)n(k−1)n∼n2n−1n(k−1)n.
Δ⊂ΣMMΔMΔ
den Beweis Arbeiten des Satzes unter Berücksichtigung
Sk,nMk{0,1,…,k−1}
- M{0}f1(n)n
- k−1 hich:Q→Q1≤i<kδ(q,i)=hi(q)1≤i<kq∈Q
Die Beobachtung ist dann die Sn , k enthält f1( n ) n( k - 1 ) n verschiedene und minimale Sprachen.
Aufzählung der NFA
Zum G1(n) one has the trivial lower bound 2n, since every subset ϵ,a,…,an−1 can be accepted by some NFA with n states. The lower bound is improved slightly, yet the proof is rather lengthy.
The paper Descriptional Complexity in the unary case by Pomerance et al shows that G1(n)≤(c1nlogn)n.
Proposition 10 shows that, for k≥2 we have
n2(k−1)n2≤Gk(n)≤(2n−1)2kn2+1.
The proof is quite short, hence I include it verbatim (more or less). For the upper bound, note that any NFA can be specified by specifying, for each pair
(q,a) of state and symbol, which subset of
Q equals
δ(q,a) (hence the factor
2kn2. We may assign the final states as follows: either the initial state is final or not, and since the names of the states are unimportant, we may assume the remaining final states are
{1,…,k} for
k∈[0..n−1]. Finally, if we choose no final states, we obtain the empty language.
For the lower bound the authors proceed in a similar way as in the proof for the DFA case: Define an NFA
M=(Q,Σ,δ,q0,F) with
Σ={0,1,…,k−1},
Q={q0,…,qn−1} and
δ:
δ(qi,0)δ(qi,j)=q(i+1)modnfor 0≤i<n=hj(i)for 0≤i<n,1≤j<k
where
hj:{1,…,n−1}→2Q is any set-valued function. Finally, let
F={qi} for any
i∈[0..n−1]. There are
2(k−1)n2 such functions and
n ways to choose the set of final states. One can then show that no two such NFA's accept the same language.