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?


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
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,…,qn−1

  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δ(qn−1,a)=qjj≤n−1
  2. Pętla jest minimalna.
  3. Jeśli , wówczas q j - 1 ∈ F i q n - 1 ∉ F i q j - 1 ∉ F i q n - 1 ∈ F .j≠0qj−1∈Fqn−1∉Fqj−1∉Fqn−1∈F

Pętla jest minimalne IFF słowa j ⋯ n - 1 określa się I = { 1qj,…,qn−1aj⋯an−1 jestprymitywne, co oznacza, że ​​nie można go zapisać w formiexk dla jakiegoś słowaxi jakiejś liczby całkowitejk≥2. 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 q∈F,0if q∉F
xkxk≥2
ψ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 ) n ∼ n 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)n∼n2)n-1n(k-1)n.
Δ⊂ΣM.M.ΔM.Δ
S.k,nM.k{0,1,…,k−1}
  1. M{0}f1(n)n
  2. k−1hi:Q→Q1≤i<kδ(q,i)=hi(q)1≤i<k and q∈Q.

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

Enumeration of NFA's

For 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)≤(c1nlog⁡n)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)=q(i+1)modnfor 0≤i<nδ(qi,j)=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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.