1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09
2 / 15 Deterministischer endlicher Automat (DEA) Definition 1: Deterministischer endlicher Automat Ein deterministischer endlicher Automat A = (Σ, Q, δ, q 0, F) besteht aus einer endlichen Menge (Alphabet) von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q Σ Q einem Anfangszustand q 0 Q einer Menge F Q von Endzuständen
Sprache eines DEAs Definition 2 Sei a Σ ein Eingabesymbol, w Σ ein Wort über einem Alphabet, q Q ein Zustand und δ : Q Σ Q die Übergangsfunktion eines DEAs A. Dann ist die Übergangsfunktion für Worte δ : Q Σ Q definiert als: δ(q, ɛ) = q und δ(q, aw) = δ(δ(q, a), w) L(A) := {w Σ δ(q 0, w) F} ist die Sprache von A. L(A) ist die Menge der akzeptierten Worte. Statt δ schreiben wir oft auch einfach nur δ. 3 / 15
4 / 15 Nichtdeterministischer endlicher Automat (NEA) Definition 3: Nichtdeterministischer endlicher Automat Ein nichtdeterministischer endlicher Automat A = (Σ, Q, δ, q 0, F ) besteht aus einer endlichen Menge von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q Σ P(Q) einem Anfangszustand q 0 Q einer Menge F Q von Endzuständen
Sprache eines NEAs Definition 4 Die Menge der von einem nichtdeterministischen endlichen Automaten A = (Σ, Q, δ, q 0, F ) akzeptierten Worte ist L(A) = {w Σ w = a 1... a n mit a i Σ (1 i n), q 1 Q... q n Q : q 1 δ(q 0, a 1 ), q 2 δ(q 1, a 2 ),..., q n δ(q n 1, a n ), q n F} 5 / 15
6 / 15 Nichtdeterministischer endlicher ɛ-automat (ɛ-nea) Definition 5: Nichtdeterministischer endlicher ɛ-automat Ein nichtdeterministischer endlicher ɛ-automat A = (Σ, Q, δ, q 0, F ) besteht aus einer endlichen Menge von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q (Σ {ɛ}) P(Q) einer Menge von Anfangszuständen q 0 Q einer Menge F Q von Endzuständen
Sprache eines ɛ-nea Definition 6 Die Menge der von einem nichtdeterministischen endlichen ɛ-automaten A = (Σ, Q, δ, q 0, F) akzeptierten Worte ist L(A) = {w Σ w = a 1... a n mit a i Σ {ɛ} (1 i n), q 1 Q... q n Q : q 1 δ(q 0, a 1 ), q 2 δ(q 1, a 2 ),..., q n δ(q n 1, a n ), q n F} 7 / 15
8 / 15 Wortmengen Definition 7: Wortmengen Seien L, L 1 und L 2 Mengen von Worten über einem Alphabet Σ: 1 L 1 L 2 := {w 1 w 2 Σ w 1 L 1, w 2 L 2 } 2 L 0 = {ɛ}, L 1 = L, L n+1 = LL n 3 4 L = n=0 L + = n=1 L n L n
Reguläre Ausdrücke und Sprachen Definition 8: Reguläre Ausdrücke und Sprachen Sei Σ ein Alphabet, 1 ist ein regulärer Ausdruck über Σ mit L( ) = (leere Menge), 2 ɛ ist ein regulärer Ausdruck über Σ mit L(ɛ) = {ɛ} (leere Wort), 3 Sei a Σ, dann ist a ein regulärer Ausdruck über Σ mit L(a) = {a}, 4 Seien r und s reguläre Ausdrücke über Σ, dann sind r, r +, (rs), (r s) reguläre Ausdrücke über Σ mit L(r ) = L(r), L(r + ) = L(r) +, L((rs)) = L(r)L(s), L((r s)) = L(r) L(s). 9 / 15
10 / 15 Reguläre Ausdrücke und Sprachen Hinweis: Für den regulären Ausdruck r s schreiben wir auch r s. Die Klammern dienen nur zur Strukturierung der Ausdrücke.
Rechtslineare Grammatik Definition 9: Rechtslineare Grammatik Eine Grammatik G = (T, N, P, S) ist rechtslinear, wenn alle Produktionen (Regeln) für X, Y N und a T eine der folgenden Formen besitzen: X ::= ay, X ::= Y, X ::= a, X ::= ɛ 11 / 15
Äquivalenz Theorem 1 Sei M eine Menge von Worten über dem Alphabet Σ. Dann sind die folgenden fünf Aussagen äquivalent: 1 Es gibt einen DEA A mit L(A) = M. 2 Es gibt einen NEA A mit L(A) = M. 3 Es gibt einen ɛ-nea A mit L(A) = M. 4 Es gibt einen regulären Ausdruck r mit L(r) = M. 5 Es gibt eine rechtslineare Grammatik G mit L(G) = M. 12 / 15
13 / 15 Beweisstruktur für Theorem 1 Die Beweisfolge ist: (1) (2), (2) (1), (3) (2), (1) (4), (4) (3), (1) (5), (5) (3) Fasst man die Aussagen als Knoten und die Beweisrichtung als Kanten eines gerichteten Graphen auf, so erkennt man, dass es sich dabei um einen stark zusammenhängenden Graphen handelt. Daraus ergibt sich dann, dass alle Aussagen äquivalent zueinander ist.
14 / 15 Literaturhinweis Für den ausführlichen Beweis zum Nachlesen verweisen wir auf: J.E. Hopcroft und J.D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, 4. Auflage, Oldenbourg Verlag München Wien, 2000
15 / 15 Grenzen der Automaten Theorem 2 1 Es gibt keinen DEA A mit L(A) = {a n b n n 0}. 2 Es gibt keinen DEA A mit L(A) = {a p p ist Primzahl }. 3 Sei K die Menge der korrekten Klammerausdrücke (siehe kontextfreie Grammatiken), dann gibt es keinen DEA A mit L(A) = K.