Condizione per l'infinito del linguaggio di un automa a stati finiti


9

C'è un teorema che dice che:

Dato un automa a stati finiti con stati, se esiste una stringa cui lunghezza soddisfa la lingua accettata dall'automa è infinita.nn | w | 2 n - 1wn|w|2n1

Capisco il vincolo , ma non capisco perché il vincolo è lì.| w | 2 n - 1|w|n|w|2n1

Risposte:


5

Nel peggiore dei casi, il tuo NFA potrebbe apparire così:

Il più piccolo per cui è garantito il loop (costringendolo ad accettare un linguaggio infinito) ha dimensioni .2 n - 1w2n1


Quando inizio da q0 e dopo quando torno a q0, significa che c'è un ciclo nella macchina. Non è sufficiente nel peggiore dei casi, perché in questo caso torniamo allo stadio finale? Per quanto ho capito da questa figura, pomperemo questo ciclo una volta e poi torneremo allo stadio finale, quindi significa una volta entrati nello stadio finale, allora assumiamo che questa non sia la mia stringa poiché è tornata ad un altro stato, ma una volta tornata allo stadio finale, allora siamo sicuri che questa nostra stringa in quanto vi è un ciclo che ha stato pompato?
Rahul Sharma,

Stiamo cercando di dimostrare qualcosa sull'automa, vale a dire che accetta un linguaggio infinito. Nel modo in cui viene formulata la dimostrazione, viene congetturata una stringa , le cui dimensioni si suppone siano entro un certo intervallo. Ovviamente, se l'automa ha un ciclo, allora esiste la stringa . Quello che succede è che se è impossibile trovare all'interno di questo intervallo, la macchina non può essere come quella nella foto. O non ha anelli o non ha stati finali. w wwww
André Souza Lemos,

Capisco il tuo punto. Sto solo cercando di capire il limite superiore dell'intervallo, perché è 2n-1 e perché non 2n-x (x può essere qualsiasi cosa tranne 1). Nella figura sopra possiamo dire che loop è qo -q1 .... qn-q1 .... qn, giusto (il ciclo massimo)? Ma quando sono di nuovo q0 (q0 ... aq, q0), non significa che c'è un ciclo, quindi il massimo dovrebbe essere n, perché stiamo aggiungendo n-1 a n (o perché stiamo andando di nuovo allo stato finale). Sto avendo qualche difficoltà a ottenere questo :(. il loop massimo può essere q0., q1, q2 ..qn, qn-1, qn-1..q0, qualcosa del genere?
rahul sharma

Il limite superiore è perché non è peggio di così. è più piccolo di e ti ho appena mostrato un automa che necessita passaggi . Non ce n'è uno che ha bisogno di più (e fa il lavoro), ma ce n'è uno che ha bisogno di questo importo. 2 n - x 2 n - 1 2 n - 12n12nx2n12n1
André Souza Lemos,

Capito ora. Solo un piccolo dubbio. Suppongo di avere 4 stati nella mia macchina. E ho letto la stringa abc e ho raggiunto lo stato finale, quindi ho letto d lì e sono tornato allo stato iniziale, quindi torna allo stato finale, quindi la mia stringa diventerà abcdabc. Come posso dividere questo in un lemma di pompaggio e ottenere y ^ i, dove i = 1, per mostrare che y è stato pompato una volta.?
Rahul Sharma,

5

La condizione aggiuntiva consente di scrivere un algoritmo semplice - controllare tutte le stringhe con lunghezze in questo intervallo - per decidere (in) la finezza della lingua accettata. Quindi, ottieni una prova che questa proprietà è decidibile (cosa che non è per la maggior parte dei modelli di automi con potenza super regolare).


3

Il teorema completo afferma un'equivalenza piuttosto che un'implicazione :

nwn|w|2n1

|w|2n1

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.