Eindeutiger endlicher Automat
# Eindeutiger endlicher Automat

Der eindeutige endliche Automat (englisch unambiguous finite automaton, UFA) nimmt seine Stellung zwischen dem deterministischen endlichen Automaten (DEA, engl. DFA) und dem nichtdeterministischen endlichen Automaten (NEA, engl. NFA) ein.

Ein UFA ist im Grunde ein NFA, mit der Einschränkung, dass für jedes Eingabewort nur ein Weg durch die Zustände zu der Menge der akzeptierenden Zustände führen darf. Wie der NFA ist auch der UFA nichtdeterministisch und darf einen Zustand über mehrere Wege mit demselben Symbol verlassen.

## Formale Definition

Sei ${\mathcal {M}}$ = $\left(Q,\Sigma ,\delta ,q_{0},F\right)$ ein NFA.

   * $Q$ ist eine endliche Zustandsmenge.

   * $\Sigma$ ist das Eingabealphabet.

   * $\delta :Q\times \Sigma \rightarrow {\mathcal {P}}(Q)$

   * $q_{0}\in Q$ ist der Startzustand.

   * $F\subseteq Q$ ist eine (endliche) Menge möglicher akzeptierender Zustände.

${\mathcal {M}}$ ist genau dann ein UFA, wenn für alle

   * $x,y\in \Sigma ^{*}$,

   * $q_{1},q_{2}\in Q$,

   * $f_{1},f_{2}\in F$ gilt

       $(q_{0},xy)\rightarrow ^{*}(q_{1},y)\rightarrow ^{*}(f_{1},\epsilon )$
                                     $\Rightarrow q_{1}=q_{2}$
       $(q_{0},xy)\rightarrow ^{*}(q_{2},y)\rightarrow ^{*}(f_{2},\epsilon )$

### Anmerkung

Die formale Definition besagt, dass beim UFA für kein Wort, welches von dem Automaten akzeptiert wird, zwei verschiedene Zwischenzustände erreicht werden dürfen.

