170 likes | 456 Views
Endliche Automaten. Stoyan Mutafchiev Betreuer: Ilhan, Tim. Gert Smolka PS – Lab Universität des Saarlandes. Beispiel für endlichen Automaten. Drücken. Aus. Start. Ein. Drücken. EA akzeptiert ungerade Anzahl von „Drücken “. Übersicht.
E N D
Endliche Automaten Stoyan Mutafchiev Betreuer: Ilhan, Tim Gert Smolka PS – Lab Universität des Saarlandes
Beispiel für endlichen Automaten Drücken Aus Start Ein Drücken EA akzeptiert ungerade Anzahl von „Drücken“
Übersicht • Was ist ein endlichen Automat • Abschlusseigenschaften - Vereinigung - Komplement - Schnitt • Probleme für EA •Tupel-Automaten und Projektion der Sprache
Nichtdeterministische endliche Automaten (Q, , , S, F) mit • Q : endliche Menge von Zuständen • : endliche Menge von Symbolen • : Q {ε} 2 Übergangsfunktion • S Q : Menge von Startzustände • F Q : Menge der Endzustände |Q| a > b a b L(A) = (ab aba) *
Detrministische endliche Automaten DEA ist Teilmenge von NEA mit: • genauein Startzustand • Übergangsfunktion δ: Q Q a a b a > b a b b a,b L(A) = (ab aba) *
Equivalenz von DEA und NEA Satz. (Rabin,Scott) Jede von einem NEA akzeptierbare Sprache ist auch durch einen DEA akzeptierbar. NEA = (Q, , δN, q0, FN) DEA D = (2 , , δD, {q0}, FD) |Q| • • δD(Q´, a) = UδN (q, a) • • FD = {Q´ 2 | Q´ enthält mindestens ein Endzustand aus FN} * qQ´ |Q|
Beispiel für Teilmengekonstruktion 1 0 z0 1 z0z1z2 0,1 1 z0z2 z0 z1 0 0 1 0 z0z1 z1z2 0 0 0 z2 1 z2 0,1 0 Ø z1 1 0,1 NEA akzeptiert auf 00 endendeWörter equivalenter DEA
Abschlusseigenschaften Komplexitätim Speicher Vereinigung L(A1) L(A2) linear Komplement L(A1) exponential Schnitt L(A1) ∩L(A2) quadratisch
Vereinigung A1 A1 = ( Q1, , δ1, S1, F1) > q1 A2 = ( Q2, , δ2, S2, F2) ε q0 > A=({q0}Q1Q2, , δ, q0, F1F2) • q0 - Startzustand • δ = δ1δ2(q0, ε, q1)(q0, ε,q2) A2 ε q2 >
Komplement EA A über = {a, b} a > s f b a,b z a,b EA vervollständigen und determinisieren a > s f a,b b z a,b End- und Nichtendzustände jeweils vertauschen
Schnitt A = (Q1 x Q2, , δ, (q1,q2), F1 x F2) A1 = (Q1, , δ1, S1, F1) mit δ((p, q), a) = (δ(p1, a), δ(q2, a)) A2 = (Q2, , δ2, S2, F2) Produktautomat Beispiel: 1 1 1 s1s2 s1e2 e1 > s1 0,1 > 0 0 0 0 1 e1e2 0,1 e1s2 e2 s2 > 0,1 1 0
Probleme für endliche Automaten Komplexität Leerheit L(A) Ø P ? = ? Universalität L(A) PSPACE * =
Leerheit Frage:Gibt es irgendeinen Pfad vom Start- zum Endzustand ? Mit dem Algorithmus aus der Graphentheorie die Menge der erreichbaren Zustände rekursiv berechnen: -Startzustand ist vom Startzustand erreichbar - Annahme: p von Startzustand aus erreichbar - gibt es einen Übergang von p nach q mit Eingabesymbol oder ε , dann ist q erreichbar - überprüfen, ob es einen Endzustand in der Menge von erreichbare Zustände gibt
Universalität •Pumping Lemma: Wenn A mit n Zustände das Wort u = w1vw2mit |u|≥ n, |w1w2|≤n und v ≠ ε akzeptiert, dann auch alle Wörter w1v w2 für k≥0. k hiernach suchen 1 2 |Q| 2 1 1 2 > Suche nach einen Wort w L(A) oberer Teil auffalten
k-Tupel Automat a b •Untersuchen Sprache aus ( ) . * k > • k-Tupelautomat über ist ein EA über ( { }) . b a k ┴ Beispiel: k = 2 (a, a) (b, b) ( , b) ( , a) w ┴ ┴ Die Wörter haben unterschiedlichen Shape
Projektion und Zylindrifikation der Sprachen L ist Sprache über ┴ u . v . u u . . u 1 1 Proi(L) = { i L für ein v } k-1 * ┴ k-1 k-1 u . v . u 1 u . . u 1 Zyli(L) = {i L für ein v } * k-1 ┴ k-1 k-1 a b a b b b Pro1(L) b Zyl1(L) > > > a b a b b b b
Referenzen -Nerode A., Koussainov B.: Automata Theory and its Applications. Birkhäuser2001 -John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Addison Wesley 1990 -Uwe Schöning: Theoretische Informatik – kurzgefasst. Spektrum Akademischer Verlag 1995 -Michael Sipser: Introduction to the Theory of Computation. Addison Wesley 1997