2.7 KiB
2.7 KiB
Grundlagen endlicher Automaten
Definition
Deterministischer endlicher Automat (DEA)
- 5-Tupel
A=(Σ,Q,q_s,Q_a, δ)
Σ
: endliches EingabealphabetQ
: endliche Menge von Zuständenq_s ∈ Q
: StartzustandQ_a ⊆ Q
: akzeptierte Zuständeδ: Q x Σ → Q
: Übergangsfunktion
Graphdarstellung G_A
- Graphknoten:
Q
- Startzustand: Knoten mit eingehender Kante ohne Quelle
- akzeptierter Zustand: Knoten mit Doppelkreis
- gelabelte Kanten: Zustandsübergänge
- Kante von
q
nachq'
mit Labela ↔ δ(q,a) = q'
- Kante von
Beispiel einfacher endlicher Automat
A=(Σ,Q,q_s,Q_a, δ)
Σ=\{0,1\}
Q=\{q_1,q_2,q_3\}
q_s=q_1
Q_a=\{q_3\}
δ:
-
Zustand δ(.,0)
δ(.,1)
q_1
q_1
q_2
q_2
q_1
q_3
q_3
q_3
q_3
-
- Graphdarstellung
Sprache eines Automaten
Sei
A=( Σ,Q,q_s,Q_a, δ)
ein DEA. Die fortgesetzte Übergangsfunktionδ^*: Q x Σ^* →Q
ist definiert durch
δ^*(q, ∈):=q
und
δ^*(q,wx):= δ( δ^*(q,w),x)
fürw ∈ Σ^* und x ∈ Σ
↑ ~induktive Definition
Sei $A= ( Σ,Q, q_s, Q_A, δ) ein DEA.
(a) Wir sagen
A
akzeptiertw ∈ Σ^*
, wennδ^*(q_s,w) ∈ Q_A
(b) Die von
A
akzeptierte Sprache istL(A) := \{w ∈ Σ^* \space| \space A\space akzeptiert \space w\}
Unvollständige Automaten
Ein unvollständiger deterministischer Automat
A=( Σ, Q,Q_s, Q_A, δ)
ist wie ein normaler DEA
mit folgenden Änderungen:(a) Die Übergangsfunktion
δ
darf partiell sein(b) Ist während einer Berechnung der nächste Zustand nicht definiert → Eingabe verwerfen
Beispiel unvollständiger Automat:
Nichtdeterministischer endlicher Automat (NEA)
Nichtdeterminismus
- Erlauben pro Zustand/Zeichen-Paar mehrere Folgezustände
- die wiederum selbst wieder mehrere Folgezustände haben können
- Eine Eingabe, mehrere Berechnungspfade
- Eingabe wird akzeptiert, wenn
- Berechnungspfad existiert, der in akzeptierendem Zustand endet
Definition NEA
- 5-Tupel
A=(Σ,Q,q_s,Q_a, δ)
Σ
: endliches EingabealphabetQ
: endliche Menge von Zuständenq_s ∈ Q
: StartzustandQ_a ⊆ Q
: akzeptierte Zuständeδ: Q x Σ → P(Q)
: Übergangsfunktion
- jede einzelne Berechnung wie beim DEA
- starte in
q_s
- lies nächstes Zeichen
- berechne Folgezustand mit
δ
- wechsle in Folgezustand
- ist akzeptierend? →
:)
- sonst → verwerfe
- ist akzeptierend? →
- starte in