Automi finiti

DFA

Un'automa a stati finiti deterministico (o DFA) è definito come una quintupla , dove:

  1. è l'insieme finito di stati
  2. è l'alfabeto finito degli input
  3. è la funzione di transizione, definita per ogni input
  4. è lo stato iniziale
  5. è 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 :