Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010."—  Präsentation transkript:

1 1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

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, 2.5.2010 2

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. 3 BBuBucBuch Start Buch © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

5 Formen der Darstellung eines Akzeptors, Beispiele 5 Hopcroft/Motwani/Ullmann 2001:48,49 Startzustand Endzustand Transitionsgraph q1q1 q2q2 q3q3 q4q4 q5q5 Start urch q0q0 d Transitionstabelle / Zustandsübergangs- matrix Transitions- funktion (0,d,1) (1,u,2) (2,r,3) (3,c,4) (4,h,5) Tripel © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 6© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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. 7© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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. 8 1) Starke, 2000: 20 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 }. © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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. 9© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 10© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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

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

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!) 14© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

16 Varianten endlicher Akzeptoren: Verwendungsbeispiele 16 bha wlda 101112 14 151617 13 n bua lcha 202122 23 242526 01 00 Fall: NEA entstanden durch Vereinigung zweier DEA © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 17© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 18© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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) 19 Quellen: Hopcroft/Motwani/Ullman (2002: 58f) Lawson (2004: 16f) 1) Beweis der Herleitung: Starke (1969: 23/24) es gilt © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

21 Sprache eines deterministischen endlichen Automaten Sei DEA A = (Q, q 0,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 q 0 zu einem akzeptierenden Zustand führen. Die leere Zeichenfolge wird dann von einem Automaten akzeptiert, wenn der Startzustand ein akzeptierender Zustand ist. 21© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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 23© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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

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

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

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 28© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 29© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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

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

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

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) 34 Transitionen Erkennungswege Eingabebeispiel dete,adje,nomn 0 dete 1 adje 2 nomn 3 dete nicht fortsetzbar 0 dete 1 adje 2 nomn 3 2 © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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

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 37© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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) 39© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

41 Äquivalenz von DEA und NEA: Beispiel 41 q0q0 b q1q1 a q1q2q1q2 a q0q0 b q1q1 a q2q2 a © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

43 Äquivalenz von DEA und NEA 43 q0q0 b q1q1 a q 1,2 a qAqA b qBqB a qCqC a Umbenennung der resultierenden Zustände © Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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

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

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

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 47© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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: 2 n Zustände optimierbar mit klassischen Minimierungsalgorithmen 48© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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, 2.5.2010 49

50 Literatur Grahne, Gosta (2002): Introduction to Theoretical Computer Science. Course Slides. http://www.cs.concordia.ca/~teaching/comp335/2002F http://www.cs.concordia.ca/~teaching/comp335/2002F 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.Pearson Studium 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. http://www2.informatik.huberlin.de/lehrstuehle/automaten/logik/skript.pdf http://www2.informatik.huberlin.de/lehrstuehle/automaten/logik/skript.pdf Starke, Peter H. (1969). Abstrakte Automaten. VEB Deutscher Verlag der Wissenschaften: Berlin (ältere, aber sehr gute mathematische Darstellung) 50© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

51 Versionen Haenelt_FSA_Akzeptoren 3.1 2.5.2010, 3.0 21.04.2009 Haenelt_FSA-Basis 2.6 27.04.2008, 2.5 05.05.2007, 2.4: 29.04.2007, 2.3: 28.04.2007, 2.2: 23.05.2006, 2.1: 19.05.2006; 2.0: 13.05.2006 24.08.,04.05.,30.04.,24.04.,26.03.2005 04.05.2004 15.01.2003 51© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010

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 (20089. Endliche Automaten. Einführung in den Themenbereich. Kursfolien 30.03.2009 http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_FSA-Akzeptoren.pdf http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_FSA-Akzeptoren.pdf 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. 52© Karin Haenelt, Endliche Automaten, Akzeptoren, 2.5.2010


Herunterladen ppt "1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010."

Ähnliche Präsentationen


Google-Anzeigen