Automi finiti
DFA
Un'automa a stati finiti deterministico (o DFA) è definito come una quintupla , dove:
- è l'insieme finito di stati
- è l'alfabeto finito degli input
- è la funzione di transizione, definita per ogni input
- è lo stato iniziale
- è l'insieme degli stati accentanti finali
Una stringa è accettata da sse tale che:
- : la sequenza di stati comincia dallo stato iniziale
- : alla fine dell'input si trova su uno stato accettante
- : l'-esimo input porta allo prossimo stato della sequenza
Per esempio, l'automa
sarà rappresentato dalla quintupla , dove:
NFA
Un'automa a stati finiti non-deterministico (o NFA) è definito come un DFA, ma: dove è la stringa vuota, infatti , è l'insieme delle parti, e è l'assenza di transizione.
Una stringa è accettata sse tale che:
con che fa parte di perchè si può anche riscrivere come o .
Per esempio,
accetta , e . Nell'ultimo caso, i percorsi tentati sono illustrati dall'albero di computazione:
perchè è riscrivibile come .
Un altro esempio è l'automa che riconosce stringhe la cui lunghezza è divisibile per o :