Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Automatentheorie „Berechnungsmodell für logische Sprachen“

Ähnliche Präsentationen


Präsentation zum Thema: "Automatentheorie „Berechnungsmodell für logische Sprachen“"—  Präsentation transkript:

1 Automatentheorie „Berechnungsmodell für logische Sprachen“
Thorsten Haupt Betreut durch Tim Priesnitz Proseminar Theorie kommunizierender Systeme Programming Systems Lab – Prof. Gert Smolka “Ein” Berechnungsmodell

2 Automaten für Nebenläufigkeit
> A A‘ _ > A A‘ b _ b b > b B‘ B _ c > B‘ B _ c Sinn & Zweck: Richtung des Vortrages 2 endl. Automaten kommunizieren 2. Ueberlegung ob extra Foie LTS versus endl. Automaten 2 Unterchiede: Startzustaebde fehlen > betrachte nicht mehr globale Sprache sondern Sprache eines Zustandes Endzustaende fehlen: Theorie der praefix-abgeshlossenen Sprachen 3. Dicker Balken: Synkronisationspunkt A = a.A‘ B = b.B‘ A‘ = b.A B‘ = c.B _ _ CCS

3 Übersicht Einführung Abschluss- & Spracheigenschaften
Sprachäquivalenzen Erweiterung

4 Theorie der endlichen Automaten
eingeführt für Modellierung von Neuronen-Netzen, Schaltkreisen, Parsern, ... [Kleene, 1956] Berechnungsmodell für logische Sprachen Klassiker: schwache Monadische Logik 2. Ordnung mit einem Nachfolger [Büchi, 1960] Anwendungen: Verifikation, Compilerbau, ...

5 Definition endlicher Automaten
• Q : endliche Menge von Zuständen •  : endliche Menge von Eingabesymbolen •  : Q   {ε} 2Q Übergangsfunktion • S  Q : Menge von Startzuständen • F  Q : Menge von Endzuständen  : Q    Q Übergangsfunktion [ ] s  Q : Startzustand Def. Zeile fuer Ziele einblenden Hier: Besprechen Unerschied LTS und end. Automaten det. Automaten haben nur ein Anfangszustand Sprache ist definiert als alle woerter die man vom startzustand zu den endzustaenden erreichen kann. Wuerde man dies mathematisch definieren wuerde man einen lauf des automaten definieren. Hieraus defniert man eine abbildung (strukturerhaltend) -> homomorphismus

6 Abschluss- & Spracheigenschaften
NEA DEA Vereinigung L1  L2 O(n) O(n²) Komplement L1 O(2n) Schnitt L1  L2 _ Leerheit L(A) =  O(n log n) Universalität L(A) = * PSPACE O(n) ? ?

7 Vereinigung von Automaten
F1 M1 = (Q1, , 1, s1, F1) s1 > ε s > M2 ε F2 s2 M2 = (Q2, , 2, s2, F2) > M = (Q1Q2 {s}, , 12{(s, ε,s1),(s, ε,s2)}, s, F1F2)

8 Determinisierung von Automaten
Jede von einem NEA akzeptierbare Sprache ist auch durch einen DEA akzeptierbar. [Rabin,Scott, 1959] Idee: Teilmengenkonstruktion 1 {q0} {q0,q1} {q1} {q0} {q0,q1} 1 0,1 > q0 q1 0,1 >

9 q0 q1 > √ √ √ Komplementbildung Idee: 1. Automat determinisieren
2. Automat vervollständigen 3. Endzustände und Nichtendzustände tauschen 0,1 1 q0 q1 >

10 Schnitt Idee: Produktautomat > z2 > z1 z3 >
0,1 0,1 1 z1 > z2 > z3 (Q1, , 1, s1, F1) (Q2, , 2, s2, F2) 0,1 1 z1,z2 > z1,z3 1. bilde Kreuzprodukte aus Zuständen => neue Zustände sind Paare 2. übertrage Transitionen entsprechend 3. Startzustand ist der Zustand, der alle Startzustände enthält 4. Endzustände sind die Zustände, die alle Endzustände enthalten --- Auch hier: Beispiel max. vereinfachen (Q1 x Q2, , , (s1,s2), F1 x F2) mit ((q, p), a) = (1(q, a), 2(p, a))

11 Leerheit Sprache ist leer  existiert kein Pfad
von Start- nach Endzustand Implementierung: Dijkstra Algorithmus [1959] O(n log n) Wichtig: sagen durch dijkstra Algorithmus aus der Graphentheorie Berechnet Erreichbarkeitsrelation von allen moeglichen Knotenpaaren

12 Universalität Idee: Zurückführung auf Leerheitsproblem Determinisieren
Vervollständigen Komplement bilden Komplement leer => Sprache universell determinisieren sehr teuer => determinisieren „on-the-fly“ raten des Pfades auf dem Zustandsgraph Terminierung: Übergangsszähler (Schranke : 2|Q|) Sagen: Sprahce ist univeral wenn sie alle Elemente enthaelt, wichtig; Abhaengig von Sigma ---- PSPACE ist die Menge aller TM die pol. Speicher benoetigen => Reduzierung der Komplexität auf PSPACE

13 NEA DEA Bisimulation PSPACE O(n log(n)) klassische O(n²)
Sprachäquivalenzen NEA DEA Bisimulation PSPACE O(n log(n)) klassische O(n²) Sagen: Buch Hauptziel war schwache Aequivalenz hier ist Vorgehen: CCS nach Automaten und auf Automatenseite schwache Aequivalenz zu testen

14 Klassische Sprachäquivalenz
1 > A 1 B B C D E X Automat 1 X X > C D X X X 1 1 A B C D E A und C äquivalent => Automat 1 & 2 sind äquivalent 1 Automat 2

15 Minimierung > A B D E > C D X X C D E C und D äquivalent
1 > A 1 B Automat 1 D E > C D X X 1 1 C D E C und D äquivalent => Automat 1 Minimalautomat 1 Automat 2

16 {A},{C},{B,E},{D} {A,B,C,D,E} {A},{C},{B},{E},{D} {A,C},{B,E},{D}
Bisimulation {A},{C},{B,E},{D} {A,B,C,D,E} {A},{C},{B},{E},{D} {A,C},{B,E},{D} 1 > A 1 B B C D E X Automat 1 X X X X X > C D X X X X 1 1 A B C D Invariante: Wenn s  t, so bleiben s und t im selben Block während des Algorithmus Terminierung: endliche Anzahl an Teilungen E {D} - 0 {A} - 0 {A,C} - 0 1 Automat 2 Automat 1 & 2 sind NICHT äquivalent

17 Motivation HD-Automaten
l m n b d a q q‘ e c v 1. Nun Zustaende sind assoziert mit einer Menge von Zustansnamen u x w t

18 Referenzen Milner, R., Communicating and Mobile Systems:
the π – Calculus, Cambridge University Press, 1999 Hopcroft, J.E., Motwani, R. und Ullman, J.D., Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, 2. Auflage, Addison Wesley, 2002 Schöning, U., Theoretische Informatik kurzgefasst, Spectrum, 2001 Montanari, U. und Pistore, M., History-Dependent Automata, ENTCS, Vol. 10, 1998 Hermanns, H., Finkbeiner, B., Podelski, A., Verification, Vorlesung, Universität des Saarlandes, SS 2003


Herunterladen ppt "Automatentheorie „Berechnungsmodell für logische Sprachen“"

Ähnliche Präsentationen


Google-Anzeigen