Liczba różnych regularnych języków

14

Biorąc pod uwagę alfabet Σ={za,b} , ile jest różnych języków regularnych, które może zaakceptować n stanowy niedeterministyczny automat skończony?

Jako przykład rozważmy n=3 . Następnie mamy 218 różnych konfiguracji przejścia i 23 różne konfiguracje stanu początkowego i końcowego, więc mamy górną granicę 224 różnych języków.
Jednak wiele z nich będzie równoważnych, a ponieważ testowanie pod kątem PSPACE-Complete jest prawdopodobnie niemożliwe przetestowanie każdego ustawienia.
Czy istnieją inne środki lub argumenty kombinatoryczne, które ograniczają liczbę różnych języków akceptowanych przez dany zasób?

john_leo
źródło
Istnieją tylko 3 różne konfiguracje stanu początkowego, a nie 23 .
FrankW
4
Szybki pomysł: zwykłe języki charakteryzują się skończoną liczbą klas równoważności, por. Myhill-Nerode. Ile różnych zestawów klas równoważności może obsługiwać automat n stanowy?
Raphael
5
Pomocne może być wyszukanie w gazecie artykułu „O liczbie różnych języków akceptowanych przez automaty skończone ze stanami n” autorstwa Domaratzki, Kisman i Shallit.
Hendrik,
1
oto papierowy adres
cytatu
1
znaleziono prawie takie samo pytanie na tcs.se: Jaka liczba języków jest akceptowana przez DFA o rozmiarze n?
vzn

Odpowiedzi:

11

To jest streszczenie artykułu O liczbie odrębnych języków akceptowanych przez skończone automaty z n stanami . Artykuł zapewnia stosunkowo łatwe, ale dalekie od ścisłych, dolnych i górnych granic liczbę różnych języków akceptowanych przez NFA. Ich dyskusja na temat liczby różnych DFA jest bardzo wnikliwa, więc uwzględnię również tę część.

Artykuł zaczyna się od dość rygorystycznej asymptotyki w odniesieniu do liczby różnych języków akceptowanych przez DFA, przy czym stanowi jednolity alfabet. Dokonuje się tego, obserwując, w jakich warunkach dany n- stanowy jednoargumentowy DFA jest minimalny. W takich przypadkach opis automatu może być odwzorowany (biotycznie) na prymitywne słowo , a wyliczenie takich słów jest dobrze znane i wykonane za pomocą funkcji Möbiusa . Korzystając z tego wyniku, udowodniono granice dla jednych alfabetów, zarówno w przypadku DFA, jak i przypadku NFA.nn

Przejdźmy bardziej szczegółowo. Dla alfabetu -liter zdefiniuj f k ( n )k Zwróć uwagę, żegk(n)= n i = 1 fk(i). Rozpoczynamy odf1(k)ig1(k).

fk(n)=the number of pairwise non-isomorphic minimal DFA's with n statesgk(n)=the number of distinct languages accepted by DFA's with n statesGk(n)=the number of distinct languages accepted by NFA's with n states
gk(n)=i=1nfk(i)f1(k)g1(k)

Wyliczenie Unary DFA

Jednostkowy DFA ze stanami q 0 , , q n - 1 jest minimalny iffM=(Q,{a},δ,q0,F)q0,,qn1

  1. Jest podłączony. Tak więc, po zmianie nazwy, schemat przejściowy składa się z pętli i ogona, tj. i δ ( q n - 1 , a ) = q j dla niektórych j n - 1 .δ(qi,a)=qi+1δ(qn1,a)=qjjn1
  2. Pętla jest minimalna.
  3. Jeśli , wówczas q j - 1F i q n - 1F i q j - 1F i q n - 1F .j0qj1Fqn1Fqj1Fqn1F

Pętla jest minimalne IFF słowa jn - 1 określa się I = { 1qj,,qn1ajan1 jestprymitywne, co oznacza, że ​​nie można go zapisać w formiexk dla jakiegoś słowaxi jakiejś liczby całkowitejk2. Znana jest liczbaψk(n)prymitywnych słów o długościnpowyżejk-liter alfabetu, patrz np. Lothaire,Combinatorics on Words. Mamy ψk(n)=d | nμ(d)kn/

ai={1if qF,0if qF
xkxk2
ψk(n)nk gdzieμ(n)jestfunkcją Möbiusa. Dzięki * F k (n),papier dowodzi dokładnie formuły f 1 (n)i g 1 (n)i pokazuje, że asymptotycznie (twierdzenie 5, wynikiem czego 6) g 1 ( n )
ψk(n)=d|nμ(d)kn/d
μ(n)ψk(n)f1(n)sol1(n)
sol1(n)=2)n(n-α+O(n2)-n/2)))fa1(n)=2)n-1(n+1-α+O(n2)-n/2))).

Wyliczenie DFA

Następnym krokiem jest dolna granica dla . Twierdzenie 7 stwierdza, że f k ( n ) f 1 ( n ) n ( k - 1 ) nn 2 n - 1 n ( k - 1 ) n . Dla zestawu Æ Ď z automatem M zdefiniować M Æ jako ograniczenie M do hemibursztynianu .fak(n)

fak(n)fa1(n)n(k-1)nn2)n-1n(k-1)n.
ΔΣM.M.ΔM.Δ
S.k,nM.k{0,1,,k1}
  1. M{0}f1(n)n
  2. k1hi:QQ1i<kδ(q,i)=hi(q)1i<k and qQ.

The observation is then that Sn,k contains f1(n)n(k1)n different and minimal languages.

Enumeration of NFA's

For G1(n) one has the trivial lower bound 2n, since every subset ϵ,a,,an1 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 k2 we have

n2(k1)n2Gk(n)(2n1)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..n1]. 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,,k1}, Q={q0,,qn1} and δ:
δ(qi,0)=q(i+1)modnfor 0i<nδ(qi,j)=hj(i)for 0i<n,1j<k
where hj:{1,,n1}2Q is any set-valued function. Finally, let F={qi} for any i[0..n1]. There are 2(k1)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.
john_leo
źródło