Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Stoyan Mutafchiev Betreuer: Ilhan, Tim

Ähnliche Präsentationen


Präsentation zum Thema: "Stoyan Mutafchiev Betreuer: Ilhan, Tim"—  Präsentation transkript:

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} * qQ´ 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}Q1Q2, , δ, q0, F1F2) • 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


Herunterladen ppt "Stoyan Mutafchiev Betreuer: Ilhan, Tim"

Ähnliche Präsentationen


Google-Anzeigen