Eindeutiger endlicher Automat

Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.

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 M {\displaystyle {\mathcal {M}}} = ( Q , Σ , δ , q 0 , F ) {\displaystyle \left(Q,\Sigma ,\delta ,q_{0},F\right)} ein NFA.

  • Q {\displaystyle Q} ist eine endliche Zustandsmenge.
  • Σ {\displaystyle \Sigma } ist das Eingabealphabet.
  • δ : Q × Σ P ( Q ) {\displaystyle \delta :Q\times \Sigma \rightarrow {\mathcal {P}}(Q)}
  • q 0 Q {\displaystyle q_{0}\in Q} ist der Startzustand.
  • F Q {\displaystyle F\subseteq Q} ist eine (endliche) Menge möglicher akzeptierender Zustände.

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

  • x , y Σ {\displaystyle x,y\in \Sigma ^{*}} ,
  • q 1 , q 2 Q {\displaystyle q_{1},q_{2}\in Q} ,
  • f 1 , f 2 F {\displaystyle f_{1},f_{2}\in F} gilt
( q 0 , x y ) ( q 1 , y ) ( f 1 , ϵ ) {\displaystyle (q_{0},xy)\rightarrow ^{*}(q_{1},y)\rightarrow ^{*}(f_{1},\epsilon )}
q 1 = q 2 {\displaystyle \Rightarrow q_{1}=q_{2}}
( q 0 , x y ) ( q 2 , y ) ( f 2 , ϵ ) {\displaystyle (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.