3. Determinismus und Potenzmengenkonstruktion
Thema 3: Determinismus, Potenzmengenkonstruktion - Umwandlung NFA in DFA¶
1. Determinismus (DFA) vs. Nichtdeterminismus (NFA)¶
-
Deterministischer Endlicher Automat (DFA):
-
Eigenschaft: FĂŒr jedes Symbol des Alphabets gibt es genau einen definierten Ăbergang pro Zustand.
-
Beispiel:
-
Zustand A â (a) â Zustand B
-
Zustand B â (b) â Zustand C
-
-
Vorteil: Einfacher zu implementieren und zu verstehen.
-
Nachteil: Kann mehr ZustÀnde benötigen als ein NFA.
-
-
Nichtdeterministischer Endlicher Automat (NFA):
-
Eigenschaft: FĂŒr ein Eingabesymbol können mehrere ĂbergĂ€nge möglich sein.
-
Beispiel:
-
Zustand A â (a) â Zustand B oder Zustand C
-
Erlaubt auch Δ-ĂbergĂ€nge (ĂbergĂ€nge ohne Eingabesymbol).
-
-
Vorteil: Oft einfacher zu entwerfen.
-
Nachteil: In der Praxis schwerer direkt umzusetzen.
-
Wichtige Erkenntnis: Jeder NFA kann in einen Àquivalenten DFA umgewandelt werden.
2. Potenzmengenkonstruktion (Subset Construction)¶
-
Definition: Ein Verfahren, um einen NFA in einen Àquivalenten DFA umzuwandeln.
-
Grundidee:
-
Jeder Zustand des DFA entspricht einer Menge von ZustÀnden des NFA.
-
Damit wird der nichtdeterministische Automat in einen deterministischen ĂŒberfĂŒhrt.
-
Schritte der Potenzmengenkonstruktion:
-
Startzustand des DFA: Menge aller NFA-StartzustÀnde (oft nur einer).
-
FĂŒr jedes Symbol: Berechne alle möglichen FolgezustĂ€nde (Δ-ĂbergĂ€nge berĂŒcksichtigen).
-
Neue ZustÀnde: Jeder neue Zustand im DFA entspricht einer neuen Kombination von NFA-ZustÀnden.
-
EndzustÀnde: Jeder DFA-Zustand, der einen Endzustand des NFA enthÀlt, wird ein Endzustand.
3. Beispiel zur Potenzmengenkonstruktion¶
4. Anwendungsgebiete der Potenzmengenkonstruktion¶
-
Compilerbau: Optimierung von regulĂ€ren AusdrĂŒcken.
-
Spracherkennung: Verarbeitung komplexer regulÀrer Sprachen.
-
Theoretische Informatik: Nachweis der Ăquivalenz von NFA und DFA.