Equivalenza automi AFD e AFN

Gli automi a stati finiti deterministici (DFA) e non deterministici (NFA) sono equivalenti.

L'automa deterministico DFA è un caso particolare degli automi NFA.

Quindi, il linguaggio accettato dall'automa DFA è un sottoinsieme del linguaggio accettato dell'automa NFA.

$$ L_m(DFA) ⊆ L_m(NFA) $$

Tuttavia, vale anche l'inverso

$$ L_m(NFA) ⊆L_m(DFA) $$

perché ogni automa non deterministico (NFA) ha un automa deterministico equivalente (DFA).

Esempio. Se in un NFA una stessa parola w è generata da diverse produzioni e raggiunge diversi stati x1,x2 e x3, è possibile creare in un DFA un unico stato x'1 composto dagli stati x1,x2 e x3. Ecco come trasformare un automa NFA in DFA.

Pertanto, vale la relazione di uguaglianza

$$ L_m(NFA) = L_m(DFA) $$

Un automa deterministico (DFA) e non deterministico (NFA) hanno lo stesso linguaggio accettato.

Quindi, uno stesso problema può essere affrontato con un automa DFA oppure con un automa NFA.

E' meglio un automa DFA o NFA?

La scelta tra DFA e NFA dipende soprattutto dalla semplicità di realizzazione dell'automa.

A parità di problema, un automa NFA e un automa DFA hanno un numero di stati e di transizioni differenti.

A volte è meglio l'automa DFA, altre volte l'automa NFA.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base