Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt 25.4.2009.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt 25.4.2009."—  Präsentation transkript:

1 1 Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt

2 Inhalt Anwendung: Spezifikation linguistischer Regeln Theoretische Basis: Äquivalenz regulärer Ausdrücke und endlicher Automaten Überführung regulärer Ausdrücke in endliche Automaten Vorbereitung: Parsing regulärer Ausdrücke Algorithmus von Thompson Algorithmus von Glushkov und von McNaughton/Yamada Algorithmus von Fox © Karin Haenelt, Endliche Automaten, RegEx FSA

3 Linguistische Anwendungen: Lexikon © Karin Haenelt, Endliche Automaten, RegEx FSA eeee nnnn rrrr eeee bbbb eaea 6 ncnc 7 khkh 89 kkkk aaaa dddd 3 4 start (ab) (aber)... (denk:denk) (dach:denk)

4 Linguistische Anwendungen: Regeln © Karin Haenelt, Endliche Automaten, RegEx FSA start Stamm Flexiv Fuge Stamm start Adjektiv Artikel Nomen Adjektiv Stamm (Fuge? Stamm)* Flexiv Artikel? Adjektiv* Nomen

5 Inhalt Anwendung: Spezifikation linguistischer Regeln Theoretische Basis: Äquivalenz regulärer Ausdrücke und endlicher Automaten Überführung regulärer Ausdrücke in endliche Automaten Vorbereitung: Parsing regulärer Ausdrücke Algorithmus von Thompson Algorithmus von Glushkov und von McNaughton/Yamada Algorithmus von Fox © Karin Haenelt, Endliche Automaten, RegEx FSA

6 Äquivalenzen © Karin Haenelt, Endliche Automaten, RegEx FSA Endliche Automaten Reguläre Ausdrücke spezifizieren akzeptieren sind äquivalent Reguläre Sprachen

7 Äquivalenzen: Beispiel © Karin Haenelt, Endliche Automaten, RegEx FSA e = (dete,adje,nomn) | (dete,nomn) | (adje,nomn) | (nomn) e = (dete|ε) (adje|ε) nomn e = dete? adje? nomn beschreiben erkennen L(e) = L(A) = { (dete,adje,nomn), (dete,nomn), (adje, nomn), (nomn) } 0 dete 1 adje 2 nomn 3 adje spezifizieren A

8 Äquivalenz endlicher Automaten und regulärer Ausdrücken Satz: Die von endlichen Automaten akzeptierten Sprachen sind genau die Sprachen, die durch reguläre Ausdrücke spezifiziert werden können. Beweis durch Konstruktion eines endlichen Automaten zu einem regulären Ausdruck und umgekehrt Konstruktion RegEx EA Beispiel für Konstruktion eines εNEA: nach Thompson (1968) auch andere Verfahren bekannt © Karin Haenelt, Endliche Automaten, RegEx FSA Hopcroft/Ullmann 1988:29

9 Äquivalenz endlicher Automaten und regulärer Ausdrücke Satz (zum Thompson-Verfahren). Sei E ein regulärer Ausdruck. Dann gibt es einen εNEA, der L(E) akzeptiert Beweis mit Thompson-Konstruktion Wir zeigen durch Induktion über die Struktur der Operatoren im regulären Ausdruck, dass es einen NEA M mit ε-Transitionen und einem Endzustand, aus dem keine Transitionen herausführen, gibt, so dass L(M) = L(E) Induktionsanfang: elementare reguläre Ausdrücke Induktionsschritt: zusammengesetzte reguläre Ausdrücke Vereinigung Konkatenation Kleenesche Hülle © Karin Haenelt, Endliche Automaten, RegEx FSA

10 Prinzip des Beweises der Äquivalenz regulärer Ausdrücke und endlicher Automaten (mit Thompson-Konstruktion) Angabe von Automaten für elementare reguläre Ausdrücke zusammengesetzte reguläre Ausdrücke Feststellung durch einfache Beobachtung: die Sprachen L(M), die von den Automaten akzeptiert werden und die Sprachen L(E), die von den regulären Ausdrücken beschrieben werden sind identisch © Karin Haenelt, Endliche Automaten, RegEx FSA EA RegEx Reguläre Sprachen L(M) L(E)

11 Beweis Induktionsanfang: elementare reguläre Ausdrücke © Karin Haenelt, Endliche Automaten, RegEx FSA E = ε E = {} a E = a Automat akzeptiert nur ε, ist also äquivalent zu E = ε Automat hat keine Kante vom Startzustand zum Zielzustand, ist also äquivalent zu E = Ø Automat akzeptiert nur a, ist also äquivalent zu E = a Feststellung durch einfache Beobachtung:

12 Beweis Induktionsschritt: zusammengesetzte Ausdrücke © Karin Haenelt, Endliche Automaten, RegEx FSA E=R|S E=RS E=R* S R RS R Pfade vom Start- zum Zielzustand: durch den Automaten R oder durch den Automaten S. EA ist also äquivalent zu E = R|S Pfade vom Start- zum Zielzustand: erst durch den Automaten R, dann durch den Automaten S. EA ist also äquivalent zu E = RS Pfade vom Start- zum Zielzustand: gar nicht, einmal oder mehrmals durch den Automaten für R. EA ist also äquivalent zu E = R*

13 Inhalt Anwendung: Spezifikation linguistischer Regeln Theoretische Basis: Äquivalenz regulärer Ausdrücke und endlicher Automaten Überführung regulärer Ausdrücke in endliche Automaten Vorbereitung: Parsing regulärer Ausdrücke Algorithmus von Thompson Algorithmus von Glushkov und von McNaughton/Yamada Algorithmus von Fox © Karin Haenelt, Endliche Automaten, RegEx FSA

14 Algorithmen Thompson-Konstruktion für allgemeine Ausdrücke erzeugt einen ε -NEA meist als Standardverfahren und Beweis der Äquivalenz regulärer Ausdrücke und endlicher Automaten vorgestellt Glushkov oder McNaughton/Yamada-Konstruktion für allgemeine Ausdrücke erzeugt einen DEA interessant für linguistische Anwendungen Fox-Konstruktion für Ausdrücke, die nur durch Konkatenation gebildet werden (Lexika) erzeugt einen DEA © Karin Haenelt, Endliche Automaten, RegEx FSA

15 Übersicht der Algorithmen © Karin Haenelt, Endliche Automaten, RegEx FSA

16 Literatur Erkennung regulärer Ausdrücke 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). Hopcroft, John E., Rajeev Motwani und Jeffrey D. Ullman (2002). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium engl. Original: Introduction to Automata Theory, Languages and Computation. Addison- Wesley. www-db.stanford.edu/~ullman/ialc.htmlPearson Studiumwww-db.stanford.edu/~ullman/ialc.html Algorithmus von Thompson Thompson, Ken (1968). Regular expression search algorithms. In: CACM 11(6): Algorithmus von Glushkov und McNaughton/Yamada Glushkov, Viktor M.(1961). The abstract theory of automata. In: Russian Mathematical Surveys 16, S Glushkov, Viktor M.(1960). On Synthesis Algorithm for Abstract Automata, Ukr. Mathem. Zhurnal, 12(2), S Aho, Alfred V.; Sethi, Ravi und Jeffrey D. Ullman (1986). Compilers. Principles, Techniques and Tools. Addison-Wesley Publishing Company. (S. 141) McNaughton, Robert und Hisao Yamada (1960). Regular expressions and state graphs for automata. In IEEE Transactions on Electronic Computers 9 (1): S © Karin Haenelt, Endliche Automaten, Akzeptoren,

17 Literatur Algorithmus von Fox Fox, Christopher J. (1992). Lexical Analysis and Stoplists. In: Frakes, William; Baeza-Yates, Ricardo (eds.): Information Retrieval. Data Structures and Algorithms. Prentice Hall: New Jersey, 1992, Kap. 7 (S ) (Inhaltsverzeichnis und Programme in C) Algorithmen und Datenstrukturen (veschiedene Bücher zu verschiedenen Programmiersprachen), z.B. Sedgewick, Robert (1992). Algorithmen in C++. München; Paris; Reading, Mass. et al.: Addison-Wesley. (gleiche Bücher auch für C und Java)http://www.cs.princeton.edu/~rs/ Standish, Thomas A.(1998). Data Structures in Java. Addison Wesley Longman ftp://ftp.aw.com/cseng/authors/standish/dsj/progs/ch8.txt)ftp://ftp.aw.com/cseng/authors/standish/dsj/progs/ch8.txt © Karin Haenelt, Endliche Automaten, RegEx FSA

18 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 (2009). Endliche Automaten. Überführung regulärrer Ausrücke in endliche Automaten 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 "1 Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt 25.4.2009."

Ähnliche Präsentationen


Google-Anzeigen