article

DFA_example_multiplies_of_3.png

Ein deterministischer endlicher Automat (DEA, engl.: deterministic finite automaton) ist ein endlicher Automat, der unter Eingabe eines Zeichens einen eindeutig bestimmten Folgezustand annimmt. Außerdem muss ein DEA jedes Wort über dem betrachteten Alphabet bis zum Ende lesen können, auch jene, die nicht in der zu akzeptierenden Sprache enthalten sind.

Formal kann ein DEA \mathcal{A} als 5-Tupel \left( Q, \Sigma, \delta, q_0, F \right) definiert werden. Hierbei gilt Folgendes:

  • Q ist eine endliche Menge von Zuständen. Statt Q wird oft auch Z oder S verwendet.
  • \Sigma ist ein endliches Eingabealphabet.
  • Es gibt eine Übergangsfunktion \delta : Q \times \Sigma \rightarrow Q, \delta(q,a)=q^\prime mit q, q^\prime \in Q, a \in \Sigma, die jedem Paar bestehend aus einem Zustand q und einem Eingabesymbol a einen neuen Zustand q^\primezuordnet. Weniger formal: Man kommt von q nach q^\prime, wenn man in q ein a eingibt.
  • q_0 \in Q ist der Startzustand. Statt q_0 wird oft auch z_0 verwendet.
  • F \subseteq Q ist die Menge der akzeptierenden Zustände, die sogenannte Endzustandsmenge. Wenn der Automat nach dem Lesen des Eingabewortes w \in \Sigma^* in einem Zustand aus F hält, so gehört w zur Sprache L\left(A\right). Statt F wird oft auch A verwendet.

Nichtdeterministische endliche Automaten (NEAs), DEAs und Typ-3-Grammatiken (vgl. Chomsky-Hierarchie) beschreiben die gleiche Sprachklasse. NEAs lassen sich mittels Potenzmengenkonstruktion in äquivalente DEAs wandeln.

Optimierung


Eine Möglichkeit der Optimierung ist die Minimierung der Zustandsmenge. Es ist bewiesen, dass zu jedem deterministischen EA ein äquivalenter minimaler Automat (Äquivalenzklassenautomat) existiert.

Dabei ist die Anzahl der Zustände identisch mit der Anzahl der Äquivalenzklassen der vom EA akzeptierten Sprache unter der Äquivalenzrelation

u \equiv v \Longleftrightarrow \forall w \in \Sigma^{*} : uw \in L(A_1) \Leftrightarrow vw \in L(A_1)

Formalisiert bedeutet das: Sei A_1=(Q,\Sigma,\delta,q_0,F) ein deterministischer endlicher Automat. Dann ist A_2=(Q',\Sigma,\delta',q'_0,F') mit

  • Q'=\Big\{* \mid w \in \Sigma^*\Big\}
  • ~q'_0=*
  • ~\delta'(*,a)=*
  • F'=\Big\{* \mid u \in L(A_1)\Big\}
der Äquivalenzklassenautomat zu A_1.

Literatur


  • John E. Hopcroft, Jeffrey D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. 2. Auflage. Pearson Studium, Reading 2002, ISBN 3-8273-7020-5
  • Gottfried Vossen, Kurt-Ulrich Witt, ''Grundkurs Theoretische Informatik 3.Auflage, ISBN 3-528-23147-5
  • Peter Sander, Wolffried Stucky, Rudolf Herschel: Automaten, Sprachen, Berechenbarkeit. Teubner, Stuttgart 1992, ISBN 3-519-02937-5

Automatentheorie

Deterministic finite state machine | אוטומט סופי דטרמיניסטי | Automa a stati finiti deterministico | 決定性有限オートマトン | Deterministyczny automat skończony

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Deterministischer endlicher Automat".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld