Nun erweitern wir die Überführungsfunktion in der Definition eines DFA
und bezeichnen die neuen Automaten als NFA.
Ein __nichtdeterministischer endlicher Automat__
(kurz NFA) ist ein Quintupel $M = (\Sigma, Z, \delta , S, F)$, wobei
* $\Sigma$ ein Alphabet ist,
* $Z$ eine endliche Menge von Zuständen mit
$\Sigma \cap Z = \emptyset$,
* $\delta : Z \times \Sigma \rightarrow ℙ(Z)$ die
Überführungsfunktion (hier: $ℙ(Z)$ ist die Potenzmenge
von $Z$, also die Menge aller Teilmengen von $Z$),
* $S \subseteq Z$ die Menge der Startzustände und
* $F \subseteq Z$ die Menge der Endzustände (Finalzustände).
%% Cell type:markdown id: tags:
Die Definition ändert sich im Vergleich zum DFA für die Überführungsfunktion $\delta$ und die Startzustände. Im DFA gab es genau einen Startzustand $z_0 \in Z$,
hier ist es eine Menge $S \subseteq Z$.
Im DFA war $\delta$ vom Typ:
* $\delta : Z \times \Sigma \rightarrow Z$ die Überführungsfunktion
Die Funktion $\widehat{\delta}$ berechnet die möglichen Zustände nach dem Abarbeiten eines Wortes. Zum Beispiel, kann sich der Automat nach dem Abarbeiten des Präfixes 111 in folgenden Zuständen befinden.
Für das leere Wort bekommen wir die Startzustände zurück:
%% Cell type:code id: tags:
``` prob
δs({z0},[])
```
%% Output
$\{\mathit{z0}\}$
{z0}
%% Cell type:markdown id: tags:
Das leere Wort $\lambda$ wird nicht akzeptiert da $\widehat{\delta}(S,\lambda) \cap F$ leer ist:
Jedes Element der Potenzmenge (ist eine Menge) und wird zu einem Zustand des NFAs.
Tabellarisch können wir $\widehat{\delta}$ für $ℙ(Z)$ und Wörter der Länge 1 wie folgt ausrechnen.
Anmerkung: $z'\in\widehat{\delta}(x,a)$ bedeutet: es ist möglich von einem Zustand $z$ aus der Menge $x$ einen Übergang im NFA zu wählen, so dass man den Zustand $z'$ erreicht.