Il numero di diverse lingue regolari


14

Dato un alfabeto Σ={a,b} , come molti diversi linguaggi regolari sono lì che può essere accettata da un n -Stato automa a stati finiti non deterministico?

Ad esempio, consideriamo n=3 . Abbiamo quindi 218 diverse configurazioni di transizione e 23 diverse configurazioni di stato iniziale e finale, quindi abbiamo un limite superiore di 224 lingue diverse.
Tuttavia, molti di questi saranno equivalenti e poiché i test per questo sono PSPACE-Complete, è probabilmente impossibile testare ogni impostazione.
Esistono altri mezzi o argomenti combinatori che limitano il numero di lingue diverse accettate da una determinata risorsa?


Esistono solo 3 diverse configurazioni dello stato iniziale, non 23 .
FrankW,

4
Idea veloce: le lingue regolari sono caratterizzate da finitamente molte classi di equivalenza, cfr Myhill-Nerode. Quante diverse serie di classi di equivalenza può supportare un automa n ?
Raffaello

5
Potrebbe essere utile google per l'articolo "Sul numero di lingue distinte accettate da automi finiti con n stati" di Domaratzki, Kisman e Shallit.
Hendrik


1
ho trovato quasi la stessa domanda su tcs.se: qual è il numero di lingue accettate da un DFA di dimensione n?
vzn,

Risposte:


11

Questo è il riassunto del documento Sul numero di lingue distinte accettate dagli automi finiti con n Stati . Il documento fornisce limiti relativamente facili, ma tutt'altro che stretti, inferiori e superiori al numero di lingue distinte accettate dagli NFA. La loro discussione sul numero di DFA distinti è molto approfondita, quindi includerò anche quella parte.

L'articolo inizia con un asintotico piuttosto rigoroso per il numero di lingue distinte accettate da un DFA con stati su un alfabeto unario. Questo viene fatto osservando le condizioni in cui un dato n -state unario DFA è minimo. In tali casi la descrizione dell'automa può essere mappata (biiettivamente) su una parola primitiva , e l'enumerazione di tali parole è ben nota e fatta con l'aiuto della funzione Möbius . Usando questo risultato, vengono dimostrati i limiti per gli alfabeti non unari, sia nel caso DFA che nel caso NFA.nn

Andiamo più nel dettaglio. Per un alfabeto -letter, definisci f k ( n )K Nota chegk(n)= n i = 1 fk(i). Iniziamo conf1(k)eg1(k).

fK(n)=il numero di DFA minimi non isomorfi a coppie con n statigK(n)=il numero di lingue distinte accettate dai DFA con n statisolK(n)=il numero di lingue distinte accettate da NFA con n stati
gk(n)=i=1nfk(i)f1(k)g1(K)

Enumerazione dei DFA unari

Un DFAE unario con stati q 0 , , q n - 1 è minimo iffM=(Q,{un'},δ,q0,F)q0,,qn1

  1. È collegato. Pertanto, dopo la ridenominazione, il diagramma di transizione è costituito da un ciclo e una coda, ovvero e δ ( q n - 1 , a ) = q j per alcuni j n - 1 .δ(qi,a)=qi+1δ(qn1,a)=qjjn1
  2. Il ciclo è minimo.
  3. Se , allora o q j - 1F e q n - 1F o q j - 1F e q n - 1F .j0qj1Fqn1Fqj1Fqn1F

Il ciclo è minimo se la parola a ja n - 1 definita da un i = { 1qj,,qn1ajan1 èprimitivo, il che significa che non può essere scritto nella formaxk per una parolaxe un numero interok2. Il numeroψk(n)di parole primitive di lunghezzansualfabetik-letter è noto, vedi ad esempio Lothaire,Combinatorics on Words. Abbiamo ψk(n)=d | nμ(d)kn/

ai={1if qF,0if qF
xkxk2
ψk(n)nk doveμ(n)è il
ψk(n)=d|nμ(d)kn/d
μ(n) funzione di Möbius . Con l'aiuto di il documento dimostra le formule esatte per f 1 ( n ) e g 1 ( n ) e lo mostra asintoticamente (Teorema 5 e Corollario 6), g 1 ( n )ψk(n)f1(n)g1(n)
g1(n)=2n(nα+O(n2n/2))f1(n)=2n1(n+1α+O(n2n/2)).

Enumerazione dei DFA

Il passaggio successivo è un limite inferiore per . Il teorema 7 afferma che f k ( n ) f 1 ( n ) n ( k - 1 ) nn 2 n - 1 n ( k - 1 ) n . Per un set Δ Σ di un automa M , definire M Δ come restrizione da M a Δ .fk(n)

fk(n)f1(n)n(k1)nn2n1n(k1)n.
ΔΣMMΔMΔ
La prova funziona considerando l'insieme Sk,nMk{0,1,,k1}
  1. M{0}f1(n)n
  2. K-1hio:QQ per 1io<K e definendo δ(q,io)=hio(q) per 1io<K e qQ.

L'osservazione è quindi quella Sn,K contiene f1(n)n(K-1)n lingue diverse e minime.

Enumerazione di NFA

Per sol1(n) uno ha il limite inferiore banale 2n, poiché ogni sottoinsieme ε,un',...,un'n-1 può essere accettato da alcuni NFA con nstati. Il limite inferiore è leggermente migliorato, ma la prova è piuttosto lunga.
Lo dimostra la complessità descrittiva nel caso unario di Pomerance et alG1(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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.