Gli NFA con $\epsilon$-mosse, o $\epsilon$-NFA, sono un’estensione del modello degli NFA in cui sono ammesse transizioni sulla stringa vuota $\epsilon$. In altre parole, un automa di questo tipo può effettuare delle mosse (transizioni) spontaneamente, senza consumare alcun simbolo di input, e si usa la stringa vuota $\epsilon$ come simbolo per etichettare le transizioni che possono avvenire spontaneamente.
A scopo illustrativo, si consideri il linguaggio dei numeri decimali in notaizone anglosassone, che sono composti da:
Una delle due sequenza di cifre può essere vuota, ma non entrambe. Alcune stringhe di questo linguaggio sono:
$$ 3.14\ \ \ +125. \ \ \ -125.0\ \ \ .010\ \ \ +.010 $$
Un $\epsilon$-NFA che riconosce questo linguaggio è il seguente:
Per riconoscere, ad esempio, la stringa 3.14, questo automa:
In questo percorso di computazione, il ruolo della prima $\epsilon$-mossa è stato quello di esprimere l’”opzionalità” del simbolo + o -.