Este é um resumo do artigo Sobre o número de idiomas distintos aceitos pelos autômatos finitos com n Estados . O documento fornece limites relativamente fáceis, porém distantes, reduzidos e superiores do número de idiomas distintos aceitos pelos NFAs. A discussão deles sobre o número de DFAs distintos é muito esclarecedora, por isso também incluirei essa parte.
O artigo começa com um assintótico bastante rigoroso para o número de idiomas distintos aceitos por um DFA com estados em um alfabeto unário. Isso é feito observando sob quais condições um determinado DFA de estado n unário é mínimo. Nesses casos, a descrição do autômato pode ser mapeada (bijetivamente) para uma palavra primitiva , e a enumeração de tais palavras é bem conhecida e feita com a ajuda da função Möbius . Usando esse resultado, os limites para alfabetos não unários, tanto no caso do DFA quanto no do NFA, são comprovados.nn
Vamos entrar em mais detalhes. Para um alfabeto com letras , defina
f k ( n )k
Observe quegk(n)=∑ n
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
. Começamos com
f1(k)e
g1(k).
gk(n)=∑ni=1fk(i)f1(k)g1(k)
Enumeração de DFAs unários
Um DFA unário com estados q 0 , … , q n - 1 é mínimo seM=(Q,{a},δ,q0,F)q0 0, ... , qn - 1
- Está conectado. Assim, após renomear, o diagrama de transição consiste em um loop e uma cauda, ou seja, eδ( q n - 1 ,a)= q j para algunsj≤n-1.δ( qEu, a ) = qi + 1δ( qn - 1, a ) = qjj ≤ n - 1
- O loop é mínimo.
- Se , então q j - 1 ∈ F e qj ≠ 0qj - 1∈ Fou q j - 1 ∉Fe q n - 1 ∈F.qn - 1∉ Fqj - 1∉ Fqn - 1∈ F
O loop é mínimo se a palavra a j ⋯ a n - 1 definida por
a i = { 1qj, ... , qn - 1umaj⋯ an - 1
forprimitivo, o que significa que não pode ser escrito na formaxk
para alguma palavraxe algum número inteirok≥2.
O númeroψk(n)de palavras primitivas de comprimentonsobrekd, em
queμ(n)é afunção Möbius. Com a ajuda deψk(n)
umaEu= { 1se q∈ F,0 0se q∉ F
xkxk ≥ 2ψk( N )nk alfabetos com letra é conhecido, ver, por exemplo, Lothaire,
Combinatorics on Words . Temos
ψk( n ) = ∑d| nμ ( d) kn / d
μ ( n )ψk( N ) o papel prova fórmulas exactas para
e
g 1 ( n ) e mostra que assintoticamente (Teorema 5 e Corollary 6),
g 1 ( n )f1( N )g1( N )g1( N )f1( N )= 2n( n - α + O ( n 2- n / 2) ))= 2n - 1( n + 1 - α + O ( n 2- n / 2) ) .
Enumeração de DFAs
O próximo passo é um limite inferior para . O teorema 7 afirma que
f k ( n ) ≥ f 1 ( n ) n ( k - 1 ) n ∼ n 2 n - 1 n ( k - 1 ) n .
Para um conjunto Δ ⊂ Σ de um autômato M , defina M Δ como a restrição de M a Δ .fk( N )
fk( n ) ≥ f1( N ) n( k - 1 ) n∼ N 2n- 1n( k -1 ) n.
Δ ⊂ ΣMMΔMΔ
A prova funciona considerando o conjunto
Sk , n de do DFA
sobre o
k -Carta alfabeto
{ 0 , 1 , ... , k - 1 } definida por
Mk{ 0 , 1 , … , k - 1 }
- Permitir que seja um dos f 1 ( n ) DFAs unários diferentes em n estados eM{ 0 }f1( N )n
- Escolhendo quaisquer funções h i : Q → Q para 1 ≤ i < k e definindo δ ( q , i ) =k - 1hEu: Q → Q1 ≤ i < k para um ≤ i < k e q ∈ Q .δ( q, i ) = hEu( q)1 ≤ i < kq∈ Q
A observação é então que contém f 1 ( n ) n ( k - 1 ) n línguas diferentes e mínimas.Sn , kf1( N ) n( k - 1 ) n
Enumeração de AFN
Para um tem o limite inferior trivial 2 n , já que todo subconjunto ϵ , a , … , a n - 1 pode ser aceito por algum NFA com nG1( N )2na , a , … , an - 1n
G1( n ) ≤ ( c1nregistron)n
k ≥ 2
n 2( k - 1 ) n2≤ Gk( n ) ≤ ( 2 n - 1 ) 2k n2+ 1.
( q, Um )Qδ( q, Um )2k n2{ 1 , … , k }k ∈ [ 0 .. n - 1 ]M= ( Q , Σ , δ, q0 0, F)Σ = { 0 , 1 , … , k - 1 }Q = { q0 0, ... , qn - 1}δδ( qEu, 0 )δ( qEu, J )= q( i + 1 )modnpara 0 ≤ i < n= hj( I )para 0 ≤ i < n ,1 ≤ j < k
hj: { 1 , … , n - 1 } → 2QF= { qEu}i ∈ [ 0 .. n - 1 ]2( k - 1 ) n2nmaneiras de escolher o conjunto de estados finais. Pode-se então mostrar que nenhum desses NFAs aceita o mesmo idioma.