Präsentation herunterladen
1
Stoyan Mutafchiev Betreuer: Ilhan, Tim
Endliche Automaten Stoyan Mutafchiev Betreuer: Ilhan, Tim Welcome to my talk “Non-Struc. Sub.- Entailment” in the series of the Graduate Studies Program. Gert Smolka PS – Lab Universität des Saarlandes
2
Beispiel für endlichen Automaten
Drücken Aus Start Ein Drücken EA akzeptiert ungerade Anzahl von „Drücken“ Zwei Zustände: • Aus - Startzustand • Ein - Endzustand Eine Eingabe: • Drücken
3
Übersicht • Was ist ein endlichen Automat • Abschlusseigenschaften
- Vereinigung - Komplement - Schnitt • Probleme für EA • Tupel-Automaten und Projektion der Sprache
4
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) *
5
Detrministische endliche Automaten
DEA ist Teilmenge von NEA mit: • genau ein Startzustand • Übergangsfunktion δ: Q Q a a b a > b a b b δ(q,a) liefert genau ein Zustand kein ε –Übergänge a,b L(A) = (ab aba) *
6
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´ QD = Potenzmenge von QN, d. h. R QD = Menge von Zustände aus QN |Q|
7
Beispiel für Teilmengekonstruktion
1 z0 1 z0z1z2 0,1 1 z0z2 z0 z1 1 z0z1 z1z2 z2 1 z2 0,1 Ø z1 1 0,1 NEA akzeptiert auf 00 endende Wörter equivalenter DEA
8
Abschlusseigenschaften
Komplexität im Speicher Vereinigung L(A1) L(A2) linear Komplement L(A1) exponential Schnitt L(A1) ∩ L(A2) quadratisch
9
Vereinigung A1 A2 A1 = ( Q1, , δ1, S1, F1) > q1
ε q0 > A=({q0}Q1Q2, , δ, q0, F1F2) • q0 - Startzustand • δ = δ1δ2(q0, ε, q1)(q0, ε,q2) A2 ε q2 > • q0 - Startzustand
10
Komplement > s f z a,b EA vervollständigen und determinisieren >
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 Die Komplementbildung des EAs geht durch 3 Phasen: z a,b End- und Nichtendzustände jeweils vertauschen
11
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 > Produktautomat 1 e1e2 0,1 e1s2 e2 s2 > 0,1 1
12
Probleme für endliche Automaten
Komplexität Leerheit L(A) Ø P ? = ? Universalität L(A) PSPACE * = P: TM die polynomiell viel Zeit benötigt PSPACE: TM die polinomiell viel Speicher benötigt
13
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 Die Berechnung der Erreichbarkeit O(n^2) Zeitaufwand erfordert im schlimsten Fall proportional zur Anzahl der Pfeile im Übergangstdiagram ist die nicht gröser sein kann.
14
Universalität • Pumping Lemma: Wenn A mit n Zustände das Wor t u = w1vw2 mit |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 > oberer Teil Auffalten durch partielles determinisieren Suche nach einen Wort w L(A) oberer Teil auffalten
15
k-Tupel Automat • Untersuchen Sprache aus ( ) . >
b • Untersuchen Sprache aus ( ) . * k > • k-Tupelautomat über ist ein EA über ( { }) . b a k ┴ Beispiel: k = 2 (a, a) (b, b) ( , b) ( , a) a b a b w ┴ EA A eingesetzt auf k Wörter aus . w1= ab L1, akzeptiert von EA A1 über w2 = abba L2 akzeptiert von EA A2 über w akzeptiert von 2-tupel EA A über ┴ (geliftet) ┴ Die Wörter haben unterschiedlichen Shape
16
Projektion und Zylindrifikation der Sprachen
L ist Sprache über ┴ u . v u . 1 1 Pro i(L) = { i L für ein v } k-1 * ┴ k-1 k-1 u . v 1 u . 1 Zyl i(L) = {i L für ein v } * k-1 ┴ k-1 k-1 a b a b b Pro1(L) b Zyl1(L) > > > a b a b b b
17
Referenzen -Nerode A., Koussainov B.: Automata Theory and its Applications. Birkhäuser 2001 -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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.