Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Endliche Automaten Akzeptoren

Ähnliche Präsentationen


Präsentation zum Thema: "Endliche Automaten Akzeptoren"—  Präsentation transkript:

1 Endliche Automaten Akzeptoren
Karin Haenelt

2 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

3 Automatentheorie: endliche Automaten haben kein Gedächtnis zum Speichern von Zwischenergebnissen
Mengen der Zustände, der Eingabesignale, der Ausgabesignale sind endlich kein Gedächtnis zur Speicherung durchlaufener Zustände: Übergang von Zustand zur Zeit t in Zustand zur Zeit t+1 nur abhängig von Zustand zur Zeit t und Eingabe im Zustand zur Zeit t Vorhergehende Zustände nur dadurch wirksam, dass sie über eine bestimmte Eingabe in den aktuellen Zustand geführt haben, und dieser aktuelle Zustand ein bestimmtes Ergebnis repräsentiert. B Bu Buc Buch Start u c h © Karin Haenelt, Endliche Automaten, Akzeptoren,

4 Definition: Endlicher Akzeptor
Ein endlicher Akzeptor wird formal spezifiziert durch das Quintupel A = (Q,q0,F,Σ,δ) Q endliche Menge von N Zuständen q0, q1, ... qN-1 q0 Startzustand, q0  Q F Menge der Endzustände, F  Q Σ endliche Menge von M Eingabesymbolen a1, a2, ... aM δ (q, a) Zustandsübergangsfunktion © Karin Haenelt, Endliche Automaten, Akzeptoren,

5 Formen der Darstellung eines Akzeptors, Beispiele
q1 q2 q3 q4 q5 Start u r c h q0 d Transitionsgraph Startzustand Endzustand Tripel Transitions- funktion Transitionstabelle / Zustandsübergangs- matrix (0,d,1) (1,u,2) (2,r,3) (3,c,4) (4,h,5) Hopcroft/Motwani/Ullmann 2001:48,49 © Karin Haenelt, Endliche Automaten, Akzeptoren,

6 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

7 Definitionen Korrespondenz
Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M in N (bzw. zwischen M und N) genannt, wenn K  M × N ist. ■ (Starke, 2000: 20) rechtseindeutige Korrespondenz Eine Korrespondenz ist rechtseindeutig, wenn zu jedem Element aus M höchstens ein Element aus N in Korrespondenz steht. ■ Funktion Eine Funktion ist eine rechtseindeutige Korrespondenz ■ Relation Korrespondenzen aus einer Menge A in diese Menge A werden als Relationen bezeichnet. ■ © Karin Haenelt, Endliche Automaten, Akzeptoren,

8 Definitionen: Korrespondenz, Funktion, Relation
Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M in N (bzw. zwischen M und N) genannt, wenn K  M × N ist. ■1) Eine Korrespondenz ist rechtseindeutig, wenn zu jedem Element aus M höchstens ein Element aus N in Korrespondenz steht. ■ Eine Funktion ist eine rechtseindeutige Korrespondenz ■ Korrespondenzen aus einer Menge A in diese Menge A werden als Relationen bezeichnet. ■ L = {(s,f) | die Stadt s  S liegt am Fluss f  F} K = (l,h) | h  H ist die Hauptstadt von l  L. f(l) = h) | h  H ist die Hauptstadt von l  L. P = {(p,s) | p,s  S und p ist eine Partnerstadt von s }. 1) Starke, 2000: 20 © Karin Haenelt, Endliche Automaten, Akzeptoren,

9 Definition: Zustandsübergangsfunktion
Unter einer Zustandsübergangsfunktion δ (q, a) versteht man in der Informatik eine mathematische Funktion oder eine mathematische Relation, die einem Zustand q  Q eines Automaten bei Eingabe eines Symbols a  Σ keinen, einen oder mehrere Folgezustände zuweist. ■ Eine totale Zustandsübergangsfunktion ist für jede Situation (q,a) definiert. ■ Eine partielle Zustandsübergangsfunktion ist nicht für jede Situation (q,a) definiert. ■ © Karin Haenelt, Endliche Automaten, Akzeptoren,

10 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

11 Varianten endlicher Akzeptoren
2Q Potenzmenge von Q: Menge aller Teilmengen von Q Beispiel: Q = {1,2}, 2Q = {{1,2}, {1}, {2},{}} © Karin Haenelt, Endliche Automaten, Akzeptoren,

12 Varianten endlicher Akzeptoren: Beispiele
DEA, totale Übergangsfunktion DEA, partielle Übergangsfunktion NEA Epsilon-NEA © Karin Haenelt, Endliche Automaten, Akzeptoren,

13 Varianten endlicher Akzeptoren: Beispiele
L = {(dete,adje,nomn), (dete,nomn),(nomn)} Varianten endlicher Akzeptoren: Beispiele DEA, totale Übergangsfunktion DEA, partielle Übergangsfunktion dete adje dete, adje,nomn 1 2 nomn 3 4 dete, adje dete 1 adje 2 nomn 3 NEA Epsilon-NEA dete 1 adje 2 nomn 3 dete 1 adje 2 nomn 3 © Karin Haenelt, Endliche Automaten, Akzeptoren,

14 Varianten endlicher Akzeptoren: Bedeutung
die verschiedenen Varianten erweitern endliche Automaten erweitern nicht die Klasse der Sprachen, die von einem endlichen Automaten akzeptiert werden erweitern den Programmierkomfort Achtung! Die Definitionen von Operationen auf Automaten werden oft für bestimmte Automaten gegeben; häufig für DEA mit totaler Übergangsfunktion (Definitionen stets genau betrachten!) © Karin Haenelt, Endliche Automaten, Akzeptoren,

15 Varianten endlicher Akzeptoren: Verwendungsbeispiele
Fall: - Nicht-Determinismus diente dem Spezifikationskomfort dete 1 adje 2 nomn 3 dete 1 adje 2 nomn 3 © Karin Haenelt, Endliche Automaten, Akzeptoren,

16 Varianten endlicher Akzeptoren: Verwendungsbeispiele
Fall: NEA entstanden durch Vereinigung zweier DEA b h a w l d 10 11 12 14 15 16 17 13 n u c 20 21 22 23 24 25 26 01 00 © Karin Haenelt, Endliche Automaten, Akzeptoren,

17 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

18 Zustandsübergangsfunktionen für Zeichenfolgen
Zweck Definition des Akzeptierens einer Eingabezeichenfolge Bestimmung der von einem Akzeptor akzeptierten Sprache Anwendung Traversionsalgorithmen Überführung der einzelnen Akzeptorvarianten ineinander © Karin Haenelt, Endliche Automaten, Akzeptoren,

19 Zustandsübergangsfunktionen für Zeichenfolgen Erweiterte Zustandsübergangsfunktion
Einführung einer Funktion und Festlegung ihrer Bedeutung Es sei A = (Q, Σ, δ) ein beliebiger deterministischer Automat, dann gilt für alle q  Q, w  Σ*, a  Σ Basis Induktion oder 1) es gilt Quellen: Hopcroft/Motwani/Ullman (2002: 58f) Lawson (2004: 16f) 1) Beweis der Herleitung: Starke (1969: 23/24) © Karin Haenelt, Endliche Automaten, Akzeptoren,

20 Zustandsübergangsfunktionen für Zeichenfolgen Beispiel
Form 1 Form 2 dete 1 adje 2 nomn 3 Form 2 © Karin Haenelt, Endliche Automaten, Akzeptoren,

21 Sprache eines deterministischen endlichen Automaten
Sei DEA A = (Q, q0,F,Σ,δ), dann ist L(A), die Sprache, die durch A erkannt wird, und diese Sprache wird wie folgt definiert: die Sprache L(A), die von A akzeptiert wird, ist die Menge der Zeichenfolgen w, die vom Startzustand q0 zu einem akzeptierenden Zustand führen. Die leere Zeichenfolge wird dann von einem Automaten akzeptiert, wenn der Startzustand ein akzeptierender Zustand ist. © Karin Haenelt, Endliche Automaten, Akzeptoren,

22 Erweiterte Zustandsübergangsfunktion im nicht-deterministischen Automaten
Basis Induktion oder Erläuterung angenommen , dann ist © Karin Haenelt, Endliche Automaten, Akzeptoren,

23 Sprache eines nicht-deterministischen endlichen Automaten
ein NEA akzeptiert alle Zeichenfolgen, die mindestens einem Pfad durch den Automaten entsprechen, der am Ende der Zeichenfolge einen akzeptierenden Zustand erreicht © Karin Haenelt, Endliche Automaten, Akzeptoren,

24 Übergangsfunktion im NEA mit ε-Transitionen
schließt ε-Transitionen ein ist also eine Funktion über Zeichenfolgen Berechnung über ε-Hüllen Beispiel: © Karin Haenelt, Endliche Automaten, Akzeptoren,

25 ε-Hülle ε-Hülle(q), d.h. alle von q aus rekursiv durch Eingabe von ε erreichbaren Zustände Basis Induktion und Grahne, 2002: 46 © Karin Haenelt, Endliche Automaten, Akzeptoren,

26 ε-Hülle © Karin Haenelt, Endliche Automaten, Akzeptoren,

27 Erweiterte Zustandsübergangsfunktion im nicht-deterministischen Automaten mit ε-Transitionen
Basis Induktion Erläuterung © Karin Haenelt, Endliche Automaten, Akzeptoren,

28 Sprache eines nicht-deterministischen endlichen Automaten mit ε-Transitionen
ein ε-NEA akzeptiert alle Zeichenfolgen, die mindestens einem Pfad durch den Automaten entsprechen, der am Ende der Zeichenfolge einen akzeptierenden Zustand erreicht © Karin Haenelt, Endliche Automaten, Akzeptoren,

29 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

30 Erkennung mit einem DEA
current state q0 q1 q2 tape index Ergänzung für partielle Übergangs- funktion Jurafsky/Martin 2000:37 © Karin Haenelt, Endliche Automaten, Akzeptoren,

31 Algorithmus zur Erkennung mit einem NEA mit Agenda 1/3
© Karin Haenelt, Endliche Automaten, Akzeptoren,

32 Algorithmus zur Erkennung mit einem NEA mit Agenda 2/3
//für -Transitionen Jurafsky/Martin 2000:44 © Karin Haenelt, Endliche Automaten, Akzeptoren,

33 Algorithmus zur Erkennung mit einem NEA mit Agenda 3/3
Jurafsky/Martin 2000:44 © Karin Haenelt, Endliche Automaten, Akzeptoren,

34 Behandlung alternativer Erkennungspfade im NEA
Klassische Suchverfahren Lookahead (nicht geeignet für Mehrfach-Lösungen) Verfolgen der Alternativen mit Agenda Paralleles Verfolgen (Agenda als queue, breadth-first) Sequentielles Verfolgen / Backtracking (Agenda als stack, depth-first) Transitionen Erkennungswege Eingabebeispiel „dete,adje,nomn“ dete 1 adje 2 nomn 3 nicht fortsetzbar dete 1 adje 2 nomn 3 © Karin Haenelt, Endliche Automaten, Akzeptoren,

35 NEA: Erkennung mit Agenda: Queue: paralleles Verfolgen
d 1 a 2 n 3 NEA: Erkennung mit Agenda: Queue: paralleles Verfolgen Aufgaben werden - hinten angefügt - vorne entfernt Aufgabe: ein Paar aus [Zielzustand, nächste Eingabeposition] © Karin Haenelt, Endliche Automaten, Akzeptoren,

36 NEA: Erkennung mit Agenda: Stack: sequentiell / backtracking
d 1 a 2 n 3 NEA: Erkennung mit Agenda: Stack: sequentiell / backtracking Aufgaben werden - oben angefügt - oben entfernt Aufgabe: ein Paar aus [Zielzustand, nächste Eingabeposition] © Karin Haenelt, Endliche Automaten, Akzeptoren,

37 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

38 Vervollständigung eines DEA mit partieller Übergangsfunktion
ein DEA mit partieller Zustandsübergangsfunktion kann vervollständigt werden Ergebnis dieser Konstruktion: zusätzlicher „Fangzustand“ dete adje dete, adje,nomn 1 2 nomn 3 4 dete, adje © Karin Haenelt, Endliche Automaten, Akzeptoren,

39 Äquivalenz von DEA und NEA
Für jeden NEA lässt sich ein äquivalenter DEA konstruieren (d.h. einer, der dieselbe Sprache akzeptiert) Beweis durch Konstruktion eines äquivalenten Automaten DEA → NEA: Verfahren: Potenzmengenkonstruktion (auch Teilmengenkonstruktion) © Karin Haenelt, Endliche Automaten, Akzeptoren,

40 Äquivalenz von DEA und NEA
Hopcroft/Ullmann 1988:22 © Karin Haenelt, Endliche Automaten, Akzeptoren,

41 Äquivalenz von DEA und NEA: Beispiel
q1q2 q0 q1 q2 © Karin Haenelt, Endliche Automaten, Akzeptoren,

42 Äquivalenz von DEA und NEA
in der Praxis oft viele Zustände vom Anfangszustand [q0] aus nicht erreichbar lazy implementation Abhilfe: Konstruktion mit Zustand [q0] beginnen Nur dann Zustände hinzufügen, wenn sie Ergebnis einer Transition sind, die von einem bereits hinzugefügten Zustand ausgeht a b a q0 q1 q1,2 Hopcroft/Ullmann 1988:24 © Karin Haenelt, Endliche Automaten, Akzeptoren,

43 Äquivalenz von DEA und NEA
Umbenennung der resultierenden Zustände a a b a b a q0 q1 q1,2 qA qB qC © Karin Haenelt, Endliche Automaten, Akzeptoren,

44 Äquivalenz von NEA mit und ohne ε- Transitionen bzw
Äquivalenz von NEA mit und ohne ε- Transitionen bzw. Eliminierung von ε-Transitionen Hopcroft/Ullmann 1988:26 © Karin Haenelt, Endliche Automaten, Akzeptoren,

45 Äquivalenz von NEA mit und ohne ε- Transitionen bzw
Äquivalenz von NEA mit und ohne ε- Transitionen bzw. Eliminierung von ε -Transitionen det,a,x a d a,x n 1 2 3 n n a , , det x n 1 2 3 © Karin Haenelt, Endliche Automaten, Akzeptoren,

46 Äquivalenzen NEA mit und ohne ε- Transitionen und DEA
d,a,x a a,x a , , d x n d a,x n d a,x n 1 2 3 1 2 3 12 2 3 n n n n © Karin Haenelt, Endliche Automaten, Akzeptoren,

47 Inhalt Endliche Akzeptoren Definitionen
Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz © Karin Haenelt, Endliche Automaten, Akzeptoren,

48 Effizienz endlicher Automaten
Zeit Am besten: deterministische Automaten Allgemein: linear Platz schlechtester Fall eines DEA, der zu einem NEA mit n Zuständen äquivalent ist: 2n Zustände optimierbar mit klassischen Minimierungsalgorithmen © Karin Haenelt, Endliche Automaten, Akzeptoren,

49 Vielen Dank Für das Aufspüren von Fehlern in früheren Versionen und für Verbesserungsvorschläge danke ich Hamdiye Arslan © Karin Haenelt, Endliche Automaten, Akzeptoren,

50 Literatur Grahne, Gosta (2002): Introduction to Theoretical Computer Science. Course Slides. Hopcroft, John E. Rajeev Motwani und Jeffrey D. Ullman (2001). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium engl. Original: Introduction to Automata Theory, Languages and Computation. Addison-Wesley. Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 (engl. Original Introduction to automata theory, languages and computation) Lawson, Mark V. (2004). Finite Automata. Boca Raton, London, New York, Washington D.C.: Chapman&Hall/CRC. Starke, Peter H. (2000). Logische Grundlagen der Informatik. Skript zur Vorlesung Theoretische Informatik I. Humboldt Universität zu Berlin. Starke, Peter H. (1969). Abstrakte Automaten. VEB Deutscher Verlag der Wissenschaften: Berlin (ältere, aber sehr gute mathematische Darstellung) © Karin Haenelt, Endliche Automaten, Akzeptoren,

51 Versionen Haenelt_FSA_Akzeptoren 3.1 2.5.2010, 3.0 21.04.2009
Haenelt_FSA-Basis , , 2.4: , 2.3: , 2.2: , 2.1: ; 2.0: 24.08.,04.05.,30.04.,24.04., © Karin Haenelt, Endliche Automaten, Akzeptoren,

52 Copyright © 2009 Karin Haenelt. All rights reserved. The German Urheberrecht shall be applied to these slides. In accordance with these laws these slides are a publication which may be quoted and used for non-commercial purposes, if the bibliographic data is included as described below. Please quote correctly. If you use the presentation or parts of it for educational and scientific purposes, please include the bibliographic data (author, title, date, page, URL) in your publication (book, paper, course slides, etc.). Deletion or omission of the footer (with name, data and copyright sign) is not permitted Bibliographic data. Karin Haenelt ( Endliche Automaten. Einführung in den Themenbereich. Kursfolien Any further use requires the prior permission in writing from the author. For commercial use: No commercial use is allowed without written permission from the author. In case you are interested in commercial use please contact the author. Court of Jurisdiction is Darmstadt. © Karin Haenelt, Endliche Automaten, Akzeptoren,


Herunterladen ppt "Endliche Automaten Akzeptoren"

Ähnliche Präsentationen


Google-Anzeigen