Reguläre Sprachen und endliche Automaten
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 2,92 KB
Reguläre Sprachen
Betrachten Sie das Alphabet Σ = {a, b}. Für jede natürliche Zahl n gibt es nur eine endliche Anzahl an Wörtern der Länge n. Diese Strings lassen sich lexikographisch ordnen: 0 für die Länge 0, Wörter der Länge 1, und allgemein für die Länge n+1. Beispiel: ε → 0, a → 1, b → 2, aa → 3, ab → 4 ...
Allgemein gilt: Da alle endlichen Alphabete abzählbar sind, können wir die Zeichen in einer beliebigen Reihenfolge anordnen: Σ = {a₀, a₁, a₂, ..., aₙ}. Die Menge aller Sprachen über Σ ist jedoch nicht abzählbar unendlich.
Reguläre Sprachen und reguläre Ausdrücke
Eine Sprache über einem Alphabet Σ ist regulär, wenn sie rekursiv wie folgt definiert ist:
- a) ∅ ist eine reguläre Sprache (leere Sprache).
- b) {ε} ist eine reguläre Sprache (Sprache mit der leeren Zeichenkette).
- c) Für alle a ∈ Σ ist {a} eine reguläre Sprache.
- d) Wenn A und B reguläre Sprachen sind, dann sind auch A ∪ B, A · B und A* reguläre Sprachen.
- e) Jede andere Sprache ist nur dann regulär, wenn sie durch eine endliche Anzahl von Operationen gemäß d) gebildet werden kann.
Beispiele
Σ = {a, b}: {ε}, {a}, {b}, {a, b} = {a} ∪ {b}, {ab} = {a} · {b}, {a}*.
Hinweis: Nicht jede Sprache ist regulär. L₂ = {aⁱbⁱ | i ≥ 0} ist beispielsweise nicht regulär.
Reguläre Ausdrücke
Reguläre Ausdrücke bezeichnen reguläre Sprachen. Ein Ausdruck r bezeichnet die Sprache L(r).
Deterministische endliche Automaten (DFA)
Ein DFA M = (Q, Σ, δ, q₀, F) besteht aus:
- Einem Eingabealphabet Σ.
- Einer endlichen Menge Q von Zuständen.
- Einem Startzustand q₀ ∈ Q.
- Einer Menge F ⊆ Q von Endzuständen.
- Einer Übergangsfunktion δ: Q × Σ → Q.
Ein DFA kann als Zustandsdiagramm (gerichteter Graph) oder als Übergangstabelle dargestellt werden.
AFD und Sprachen
Die von einem DFA M akzeptierte Sprache L(M) ist die Menge aller Wörter w ∈ Σ*, die M von q₀ in einen Zustand f ∈ F überführen.
Nichtdeterministische endliche Automaten (NFA)
Ein NFA erlaubt bei gleicher Eingabe den Übergang in mehrere oder gar keinen Zustand. Die Übergangsrelation ist δ: (Q × Σ) → 2^Q.
Gleichwertigkeit von NFA und DFA
Jeder NFA kann in einen äquivalenten DFA umgewandelt werden (Potenzmengenkonstruktion). Ein NFA mit n Zuständen kann im schlimmsten Fall einen DFA mit 2ⁿ Zuständen erfordern.
AF mit Epsilon-Übergängen (ε-NFA)
Ein ε-NFA erlaubt Übergänge zwischen Zuständen, ohne ein Eingabesymbol zu verbrauchen. Die Epsilon-Hülle ε(q) definiert alle Zustände, die von q aus ohne Eingabe erreichbar sind.