Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

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
(ab) (aber) ... (denk:denk) (dach:denk) start a b e r 1 2 3 4 d e a n c k h 5 6 7 k e n 8 9 © Karin Haenelt, Endliche Automaten, RegEx → FSA

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

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 Endliche Automaten Reguläre Ausdrücke spezifizieren
akzeptieren sind äquivalent Sprachen © Karin Haenelt, Endliche Automaten, RegEx → FSA

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

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 Hopcroft/Ullmann 1988:29 © Karin Haenelt, Endliche Automaten, RegEx → FSA

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 © Kari n 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 RegEx L(E) EA Reguläre Sprachen L(M) © Karin Haenelt, Endliche Automaten, RegEx → FSA

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

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

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 Thompson-Konstruktion
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 erzeugt einen DEA interessant für linguistische Anwendungen Fox-Konstruktion für Ausdrücke, die nur durch Konkatenation gebildet werden (Lexika) © Karin Haenelt, Endliche Automaten, RegEx → FSA

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

16 Literatur Erkennung regulärer Ausdrücke Algorithmus von Thompson
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.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) Standish, Thomas A.(1998). Data Structures in Java. Addison Wesley Longman 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 "Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt 25.4.2009."

Ähnliche Präsentationen


Google-Anzeigen