Una lingua può avere più di un DFA?


17

Ad esempio, quando consideriamo un DFA che consente alle stringhe di non avere sotto-stringhe 00o 11che posso produrre i seguenti due DFA:

inserisci qui la descrizione dell'immagine

Risposte:


37

Prima di tutto, il tuo DFA sinistro non è corretto - accetta ad es. 011.

In secondo luogo, i DFA possono essere minimizzati canonicamente , quindi in questo senso puoi sempre trovare un DFA canonico per una determinata lingua.

Ma in generale, ci sono infiniti DFA diversi per ogni lingua, in modo da poter ottenere risposte corrette diverse.


E questo è anche infinitamente fino all'isomorfismo.
G. Bach,

Per essere ancora più specifico: è infinito fino a isomorfismo quando gli stati sono un sottoinsieme di un insieme fisso, ad esempio, . Se non lo risolviamo, la raccolta di automi non è nemmeno un set ... In qualche modo non penso che questa fosse l'intenzione dell'OP :)N
Shaull

Infiniti DFA diversi anche per i linguaggi finiti?
Bergi,

1
@Bergi: Certamente, puoi aggiungere tutti gli stati ridondanti che desideri. Può sembrare "sciocco", ed è davvero insensato quando costruisci un automa da solo. Tuttavia, molte volte gli automi vengono costruiti traducendo da qualche altro formalismo (ad esempio la determinazione di NFA), nel qual caso è molto probabile che si ottengano stati ridondanti.
Shaull

@Shaull: intendi con transizioni ε o stati irraggiungibili? OK, non li ho considerati.
Bergi,
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.