Operationen auf endlichen Akzeptoren und Transduktoren

Ähnliche Dokumente
Operationen auf endlichen Akzeptoren und Transduktoren

Operationen auf endlichen Automaten und Transduktoren

Operationen auf endlichen Automaten und Transduktoren

Überführung regulärer Ausdrücke in endliche Automaten

Endliche Automaten. Grundlagen: Alphabet, Zeichenreihe, Sprache. Karin Haenelt

Transduktoren für die Sprachverarbeitung: Komposition zweier Transduktoren. Karin Haenelt

Reguläre Ausdrücke. Karin Haenelt

Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( )

Parsing regulärer Ausdrücke. Karin Haenelt

1 Eliminieren von ɛ-übergängen

Endliche Automaten. Deterministische Akzeptoren, nichtdeterministische Akzeptoren, nichtdeterministische Akzeptoren mit Epsilon-Übergängen

Transduktoren für die Sprachverarbeitung. Karin Haenelt

Endliche Automaten. Akzeptoren. Karin Haenelt

Der Earley-Algorithmus

Der Earley-Algorithmus

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Überführung regulärer Ausdrücke in endliche Automaten

Induktive Definition

Reguläre Sprachen und endliche Automaten

Automaten und Formale Sprachen SoSe 2013 in Trier

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Einführung in die Computerlinguistik Satz von Kleene

Theoretische Informatik für Medieninformatiker

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Grundlagen der Informatik II

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Einführung in die Computerlinguistik Satz von Kleene

Berechenbarkeitstheorie 1. Vorlesung

5.4 Endliche Automaten

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Formale Sprachen und Automaten

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Finite-State Technology

Formale Sprachen und endliche Automaten

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Einführung in die Computerlinguistik

Endliche Automaten. Endliche Automaten J. Blömer 1/24

Informatik-Grundlagen

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Probeklausur Lösungen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Grundbegriffe der Informatik Tutorium 10

Anwenundg regulärer Sprachen und endlicher Automaten

Endliche Automaten Jörg Roth 101

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Kapitel 2: Formale Sprachen Gliederung

2.2 Nichtdeterministische endliche Automaten

Automaten und Formale Sprachen

5.2 Endliche Automaten

Einführung in die Computerlinguistik Satz von Kleene

Informatik III - WS07/08

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Einführung in die Computerlinguistik Satz von Kleene

Automaten und Formale Sprachen ε-automaten und Minimierung

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

2.6 Verdeutlichung verwendeter Begriffe

Grundbegriffe der Informatik Tutorium 11

2.3 Abschlusseigenschaften

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Endliche Akzeptoren. Inhalt

Theoretische Grundlagen der Informatik

Automatentheorie und formale Sprachen

Das Pumping-Lemma Formulierung

THIA - Übungsblatt 2.

Die mathematische Seite

Einführung in die Informatik

Grundbegriffe der Informatik Tutorium 33

1 Lokale Sprachen. 2 Verallgemeinerung

Automatentheorie und formale Sprachen

Überführung regulärer Ausdrücke in endliche Automaten. Der Algorithmus von Glushkov und McNaughton/Yamada

Theoretische Informatik I

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Unentscheidbare Probleme bei formalen Sprachen

Automatentheorie und formale Sprachen Pumping-Lemma für reguläre Sprachen

Kurz-Skript zur Theoretischen Informatik I

Software Engineering Ergänzung zur Vorlesung

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Automaten und Formale Sprachen SoSe 2013 in Trier

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

Grundlagen der Informatik II

Determinisierung von Transduktoren

Theorie der Informatik

Das Pumping Lemma: Ein Anwendungsbeispiel

Determinisierung von endlichen Automaten

Automaten und Coinduktion

ALP I Turing-Maschine

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Einführung in die Theoretische Informatik

Mathematische Grundlagen

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

Der Earley-Algorithmus.

Transkript:

Operationen auf endlichen Akzeptoren und Transduktoren Definitionen, Algorithmen, Erläuterungen und Beispiele - eine Übersicht Karin Haenelt, 28.5.2010 ( 1 25.04.2004) Operationen auf endlichen Akzeptoren und Transduktoren... 1 Definitionen, Algorithmen, Erläuterungen und Beispiele - eine Übersicht... 1 Karin Haenelt, 28.5.2010 ( 1 25.04.2004)... 1 1 Vorbemerkung... 2 2 Notationskonventionen... 2 3 Übersicht der Operationen... 4 4 Einige Begriffe... 4 5 Operationen... 5 5.1 Komplement (complement)... 5 5.1.1 Komplement regulärer Sprachen... 5 5.1.2 Komplement endlicher Akzeptoren... 5 5.2 Umkehrung (reversal)... 7 5.2.1 Umkehrung regulärer Sprachen... 7 5.2.2 Umkehrung von Akzeptoren... 8 5.2.3 Umkehrung von Transduktoren... 8 5.3 Inversion (Eingabe-Ausgabe-Umkehrung) (inversion)... 8 5.3.1 Inversion von Transduktoren... 8 5.4 Projektion (projection)... 9 5.4.1 Projektion von Transduktoren... 9 5.5 Hülle (Iteration, Stern) (closure)... 9 5.5.1 Hülle regulärer Sprachen... 9 5.5.2 Hülle von Akzeptoren... 9 5.5.3 Hülle von Transduktoren...10 5.6 Homomorphismus (homomorphism)...11 5.7 Konkatenation (Produkt, Verkettung) (product, concatenation)...11 5.7.1 Konkatenation regulärer Sprachen...11 5.7.2 Konkatenation von Akzeptoren...11 5.7.3 Konkatenation von Transduktoren...12 5.8 Vereinigung (Summe, Disjunktion) (sum, union)...12 5.8.1 Vereinigung regulärer Sprachen...12 5.8.2 Vereinigung von Akzeptoren...12 5.8.3 Vereinigung von Transduktoren...16 5.9 Durchschnitt (intersection)...16 5.9.1 Durchschnitt regulärer Sprachen...16 5.9.2 Durchschnitt endlicher Automaten...16 5.10 Differenz (difference)...18 5.10.1 Differenz regulärer Sprachen...18 5.10.2 Differenz endlicher Automaten...18 5.11 Komposition (composition)...20 Haenelt, Operationen auf Akzeptoren und Transduktoren 1/25

5.11.1 Komposition von Transduktoren...20 6 Vielen Dank...24 7 Literatur...25 1 Vorbemerkung Dieses Skript präsentiert einige der Operationen, die für endliche Akzeptoren und Transduktoren definiert wurden. Es handelt sich dabei um eine Auswahl. Ziel dieses Skripts ist die Zusammenstellung in einer Übersicht und die tutorielle Erläuterung. Σ 2 Notationskonventionen Eingabealphabet. (Wenn eine Sprache L durch einen Automaten definiert ist, enthält die Spezifikation des Automaten das Eingabealphabet.) Σ * Menge aller Worte über dem Eingabealphabet (einschließlich ) Ω a, b und Ziffern Ausgabealphabet bzw. Eingabealphabet Ausgabealphabet Eingabesymbole aus dem Eingabealphabet w,x,y,z Zeichenketten über dem Eingabealphabet leeres Wort (= Wort der Länge 0) L Q leere Menge reguläre Menge, Sprache Zustandsmenge p, q Zustände q 0 F Startzustand Menge der Endzustände δ ( q, Zustandsübergangsfunktion für Eingabesymbole Q Σ Q ˆ δ ( q, x) Zustandsübergangsfunktion für Eingabeketten λ ( q, Ausgabefunktion Q Σ * ρ (q) Endausgabefunktion F ( *) p A DEA NEA endlicher Automat deterministischer endlicher Automat nichtdeterministischer endlicher Automat NEA nichtdeterministischer endlicher Automat mit -Transitionen Haenelt, Operationen auf Akzeptoren und Transduktoren 2/25

T Transduktor Haenelt, Operationen auf Akzeptoren und Transduktoren 3/25

3 Übersicht der Operationen beschrieben Abgeschlossenheit (closure) für L A T unäre Operationen (= Operationen auf einem Operanden) L Komplement (complement) L, A, T ja ja nicht generell R L Umkehrung (reversal) L, A, T ja ja ja 1 T Inversion (Eingabe:Ausgabe- Umkehrung) (inversion) T - - ja T ' Projektion (Umformung von FST in FSA) (projection) T - - ja L * Iteration (Hülle, Stern) (closure) L, A, T ja ja ja Homomorphismus L, A, T ja ja ja binäre Operationen (= Operationen auf zwei Operanden) L 1L2 Konkatenation (Produkt, L, A, T ja ja ja Verkettung) (product, concatenation) L1 L2 Vereinigung (Summe, Disjunktion) L, A,T ja ja ja (sum, union) L1 L2 Durchschnitt (intersection) L, A, T ja ja nicht generell T 1 T 2 Komposition T - - sofern endlichsubsequentiell A1 A2 Differenz L, A, T ja ja nicht generell Optimierungsoperationen Connection Determinisierung EpsilonEntfernung Pushing Minimierung 4 Einige Begriffe Abgeschlossenheit Das Ergebnis einer Operation auf Elementen einer Menge liegt wiederum innerhalb dieser Menge (Beispiel: Vereinigung zweier regulärer Ausdrücke ergibt wieder einen regulären Ausdruck). Haenelt, Operationen auf Akzeptoren und Transduktoren 4/25

lazy implementation - in der Praxis sind oft viele Zustände, die als Zwischenergebnis einer Operation entstehen (z.b. durch Bildung des kartesischen Produktes der Zustände), vom Startzustand aus nicht erreichbar - daher ist es günstig, solche Zustände erst gar nicht zu produzieren, sondern nur Zustände nach Bedarf zu erzeugen (lazy implementation) - dies geschieht folgendermaßen: o Konstruktion mit Zustand (0,0) beginnen, o nur dann weitere Zustände hinzufügen, wenn sie Ergebnis einer Transition sind, die von einem bereits hinzugefügten Zustand ausgeht 5 Operationen 5.1 Komplement (complement) L 5.1.1 Komplement regulärer Sprachen Definition Bedeutung Beispiel L = Σ * L Sei L eine Sprache über einem Alphabet Σ, dann enthält L alle Worte, die in Σ * enthalten sind, aber nicht in L Abgeschlossenheit ja. Wenn L eine reguläre Menge ist und L Σ *, dann ist Σ * L eine abgeschlossene Menge (Hopcroft/Ullman 1988: 61) A 5.1.2 Komplement endlicher Akzeptoren Definition Sei L = L(A) für einen DEA A = { Q, Σ, δ, q0, F) Dann ist L = L(A) für einen DEA A = { Q, Σ, δ, q0, Q F) Bedeutung A sieht genauso aus wie A, mit dem Unterschied, dass die akzeptierenden Zustände aus A zu nicht-akzeptierenden Zuständen in A werden und die nicht-akzeptierenden zu akzeptierenden. A akzeptiert genau die Worte aus Σ, die A nicht akzeptiert. A akzeptiert genau dann ein Wort w, wenn ˆ δ ( q0, w) in Q F liegt, d.h. wenn w in Σ * L Haenelt, Operationen auf Akzeptoren und Transduktoren 5/25

liegt. (Hopcroft/Ullman, 1988: 61) und (Hopcroft/Motwani/Ullman, 2001: 133) Konstruktion - akzeptierende Zustände aus A werden zu nicht-akzeptierenden Zuständen in A - und umgekehrt - falls A nicht deterministisch ist, muss A zuerst determinisiert werden Konstruktion Fall A ist nicht-deterministisch 1 A Σ Q adje dete nomn 0-1 - 2 1 2 - - 2 2 - - 3-3 F - - - - 0 dete 1 adje 2 nomn 3 A: -NEA - aus A die - Kanten entfernen A Σ Q adje dete nomn 0 - {1,2} 3 1 2-3 2 - - 3 3 F - - - dete 0 dete 1 adje 2 nomn 3 nomn nomn A: NEA Fall 2 - A determinisieren - weiter wie Fall 2 A ist nicht-deterministisch mit folgenden Einschränkungen - δ ( q, liefert für jedes Eingabesymbol a höchstens einen Wert - es gibt keine -Übergänge (m.a.w.: A ist ein DEA mit partieller Übergangsfunktion) A Q Σ adje dete nomn 0 [0] - 1 3 1 [1,2] 2-3 2 [2] - - 3 3 F [3] - - - 0 dete 1 adje 2 nomn 3 nomn nomn A: DEA, partiell - fehlende Kanten ergänzen ( Fangzustand einführen) Haenelt, Operationen auf Akzeptoren und Transduktoren 6/25

Fall 3 - weiter wie Fall 3 A ist deterministisch (d.h. δ ( q, liefert für jedes Eingabesymbol a genau einen Wert und es gibt keine -Übergänge) A Σ Q adje dete nomn 0 4 1 3 1 2 4 3 2 4 4 3 3 F 4 4 3 4 4 4 4 dete, adje,nomn adje 0 dete nomn 4 dete dete, adje,nomn dete, adje 1 adje 2 nomn 3 nomn A: DEA, total Dieser Automat akzeptiert einfache Nominalphrasen der Art {dete adje nomn, dete nomn, nomn} - akzeptierende und nicht-akzeptierende Kanten umkehren A Σ Q adje dete nomn 0 F 4 1 3 1 F 2 4 3 2 F 4 4 3 3 4 4 3 4 F 4 4 4 dete, adje,nomn adje 0 dete nomn dete, adje,nomn 4 dete dete, adje 1 adje 2 nomn 3 nomn A: DEA Dieser Automat erkennt und akzeptiert alle Kombinationen von dete adje nomn, soweit sie keine einfache Nominalphrase gemäß Spezifikation in A bilden Abgeschlossenheit ja. Wenn L eine reguläre Menge ist und L Σ *, dann ist Σ * L eine abgeschlossene Menge (Hopcroft/Ullman 1988: 61) 5.2 Umkehrung (reversal) R L 5.2.1 Umkehrung regulärer Sprachen Definition Bedeutung Die Umkehrung einer Sprache L, geschrieben als R L, besteht aus der Umkehr all ihrer Worte (Hopcroft/Motwani/Ullman, 2001: 137) Beispiel L = { heit, keit, ung}, L R = { gnu, teih, teik} Haenelt, Operationen auf Akzeptoren und Transduktoren 7/25

Abgeschlossenheit ja. Reguläre Mengen sind unter der Operation der Umkehrung abgeschlossen R A 5.2.2 Umkehrung von Akzeptoren Definition Bedingung Bedeutung für DEA, NEA, NEA Die Umkehrung eines Akzeptors A, geschrieben als ein Wort w, dann und nur dann, wenn A das Wort (Hopcroft/Motwani/Ullman, 2001: 137) R A akzeptiert R w akzeptiert Konstruktionsprinzip - Umkehrung aller Kanten in der Transitionstabelle von A Beispiel Abgeschlossenheit - Bestimmung des Startzustandes von A zum einzigen akzeptierenden Zustand - Erzeugung eines neuen Startzustandes p 0 mit -Transitionen zu allen akzeptierenden Zuständen von A (Hopcroft/Motwani/Ullmann, 2001: 137) ja. Reguläre Mengen sind unter der Operation der Umkehrung abgeschlossen T R 5.2.3 Umkehrung von Transduktoren Definition R R R [ T ]( x, y) = [ T ]( x, y ) vgl. (Mohri/Riley 2002: I, 15) Bedeutung Transduktor, der die Worte von hinten liest und schreibt 5.3 Inversion (Eingabe-Ausgabe-Umkehrung) (inversion) 1 T 5.3.1 Inversion von Transduktoren Definition 1 [ T ]( x, y) = [ T ]( y, x) (Mohri/Riley 2002: I, 15) Bedeutung Umkehrung der Abbildung Eingabe (x) :Ausgabe (y) Haenelt, Operationen auf Akzeptoren und Transduktoren 8/25

5.4 Projektion (projection) ' T 5.4.1 Projektion von Transduktoren Definition [ A]( x) = [ T ]( x, y) y (Mohri/Riley 2002: I, 15) Bedeutung Reduktion der Abbildungsdimensionen, Reduktion eines Transducers auf einen einfachen Automaten 5.5 Hülle (Iteration, Stern) (closure) L * Definition 5.5.1 Hülle regulärer Sprachen Kleensche Hülle i 0 L L, und es gilt = { } * = i=0 positive Hülle i i 1 L, L = LL für i 1 L + = =1 i i L Bedeutung L * bezeichnet die Wörter, die durch die Konkatenation einer beliebigen Anzahl von Wörtern aus L entstehen. (Hopcroft/Ullman, 1988: 28) n L ist die Menge der Ketten, die in genau n Teilketten zerlegbar sind, die zu L gehören. (Kunze, 2001: 177) Beispiel L = {ha}, L* = {, ha, haha, hahaha,...}, Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Kleeneschen Hüllenbildung abgeschlossen A * 5.5.2 Hülle von Akzeptoren Definition A 1 = ( Q1, Σ 1, δ 1, q1,{ F1}) A 1* = ( Q1 { q0, f 0}, Σ1, δ, q0,{ f 0}) δ definiert durch δ ( q 0, ) = δ ( f 1, ) = { q1, f 0} δ ( q, = δ 1( q, für q Q1 { f 1} und a { Σ1 } Haenelt, Operationen auf Akzeptoren und Transduktoren 9/25

(Hopcroft/Ullman, 1988: 32) Bedeutung A * akzeptiert die Wörter, die durch die Konkatenation einer beliebigen Konstruktion Anzahl von Wörtern aus A entstehen. erzeuge - Anfangszustand q 0 - Endzustand f 0 - -Transitionen von q 0 nach q 1 - -Transitionen von q 0 nach f 0 (modelliert Möglichkeit von null Vorkommen) - -Transitionen von F = { f 11, f 12,..., f 1n} nach q 1 (modelliert Wiederholung) - -Transitionen von F = { f 11, f 12,..., f 1n} nach f 0 A * q 0 q 1 A f 1 f 0 Beispiel (Hopcroft/Ullmann, 1988: 32) h a q 0 q 1 q 2 f 1 f 0 Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Kleeneschen Hüllenbildung abgeschlossen T * Definition 5.5.3 Hülle von Transduktoren n [ T*]( x, y) = [ T] ( x, y) n= 0 (Mohri/Riley 2002: I, 11) Haenelt, Operationen auf Akzeptoren und Transduktoren 10/25

5.6 Homomorphismus (homomorphism) A string homomorphism is a function on strings that works by substituting a particular string for each symbol. (Hopcroft/Motwani/Ullman 2001: 139) A homomorphism (substitution of strings for symbols) of a regular language is regular. (Hopcroft/Motwani/Ullman 2001: 139) 5.7 Konkatenation (Produkt, Verkettung) (product, concatenation) L 1 L2 5.7.1 Konkatenation regulärer Sprachen Definition L1 L2 = { xy x L1 y L2} Bedeutung L 1 L2 enthält die Verkettung der Worte, die in L 1 oder in L2 enthalten sind Beispiel L 1 = { lach, mach}, L 2 = { e, st, t}, L 1L2 = { lache, lachst, lacht, mache, machst, macht} Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Konkatenation abgeschlossen A 1 A2 5.7.2 Konkatenation von Akzeptoren Definition A 1 = ( Q1, Σ 1, δ 1, q1,{ F1}) A 2 = ( Q2, Σ 2, δ 2, q2,{ F 2}) A = A1 A2 = ( Q1 Q2, Σ1 Σ2, δ,{ q1},{ f 2}) δ (Hopcroft/Ullman, 1988: 31) definiert durch δ ( q, = δ 1( q, für q Q1 { f 1} und a { Σ1 } δ ( q, = δ 2( q, für q Q2 { f 2} und δ ( f 1, ) = { q 2} a { Σ2 } Bedeutung A 1 A2 akzeptiert die Verkettung der Worte, die L 1 bzw. L2 akzeptieren Konstruktion erzeuge -Transitionen von den Endzuständen von A 1 zu den Anfangszuständen von A 2 Haenelt, Operationen auf Akzeptoren und Transduktoren 11/25

A q A 1 1 f 2 1 q 2 A f 2 Beispiel (Hopcroft/Ullmann, 1988: 32) A 1 A 2 l a c h 10 11 12 13 14 m e 20 21 s t 22 t Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Konkatenation abgeschlossen T 1 T 2 5.7.3 Konkatenation von Transduktoren Definition [ T 1 T 2]( x, y) = [ T 1]( x1, y1) [ T 2]( x2, y2) x= x1x 2, y= y1y (Mohri/Riley 2002: I, 11) 2 5.8 Vereinigung (Summe, Disjunktion) (sum, union) L1 L2 5.8.1 Vereinigung regulärer Sprachen Definition L1 L2 = { x x L1 x L2} Bedeutung Seien L 1 und L 2 Sprachen über einem Alphabet Σ, dann enthältl1 L2 alle Worte, die in L 1 oder in L2 enthalten sind Beispiel L 1 = { bahn, wald}, L 2 = { bau, lach}, L 1 L2 = { bahn, bau, lach, wald} Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Vereinigung abgeschlossen A1 A2 5.8.2 Vereinigung von Akzeptoren Definition A 1 = ( Q1, Σ 1, δ 1, q1,{ F1}) Haenelt, Operationen auf Akzeptoren und Transduktoren 12/25

A 2 = ( Q2, Σ 2, δ 2, q2,{ F 2}) A = A1 A2 = ( Q1 Q2 { q0, f 0}, Σ1 Σ2, δ, q0,{ f 0}) q 0 neuer Anfangszustand f 0 neuer Endzustand δ definiert durch δ ( q 0, ) = { q 1, q2} δ ( q, = δ 1( q, für q Q1 { f 1} und a { Σ1 } δ ( q, = δ 2( q, für q Q2 { f 2} und a { Σ2 } δ ( f 1, ) = δ ( f 2, ) = { f 0} Bedingung (Hopcroft/Ullman, 1988: 61) DEAs und NEAs Bedeutung A akzeptiert alle Worte, die A 1 oder A 2 akzeptieren. Konstruktion erzeuge - Anfangszustand q 0 - -Transitionen von q0 zu den Anfangszuständen von A 1 und A 2 - Endzustand f 0 - -Transitionen von den Endzuständen von A 1 und A2 zu f 0 A q A 1 1 f 1 q 0 f 0 q A 2 2 f 2 (Hopcroft/Ullmann, 1988: 32) Haenelt, Operationen auf Akzeptoren und Transduktoren 13/25

Beispiel A 00 A 1 b a h n 10 11 12 13 14 w a l d 15 16 17 A 2 01 b a u 20 21 22 23 l a c h 24 25 26 nach Umwandlung des NEA in einen NEA entsteht daraus: A b 00 11 21 a 12 22 h u 13 n w a l d 15 16 17 l a c h 24 25 26 01 Haenelt, Operationen auf Akzeptoren und Transduktoren 14/25

NEA Σ Q a b c d h l n u w 00 {10,20} 10 11 15 11 12 12 13 13 14 14 01 15 16 16 17 17 14 20 21 24 21 22 22 23 23 01 24 25 25 26 26 23 01 NEA Σ Q a b c d h l n u w [00] [11,21] [24] [15] [11,21] [12,22] [12,22] [13] [01] [13] [01] [15] [16] [16] [17] [17] [01] [24] [25] [25] [26] [26] [01] [01] Implementierung lazy implementation: Haenelt, Operationen auf Akzeptoren und Transduktoren 15/25

Abgeschlossenheit ja. Reguläre Mengen sind per definitionem unter der Operation der Vereinigung abgeschlossen T 1 T 2 5.8.3 Vereinigung von Transduktoren Definition [ T 1 T 2]( x, y) = [ T 1]( x, y) [ T 2]( x, y) (Mohri/Riley 2002: I, 11) Beispiel T 1 red/0.5 T green/0.3 blue/0 0 1 2 yellow/0.8 0.8 6 T 2 green/0.4 3 4 blue/1.2 5 0 0.3 (Mohri/Riley 2002: I, 12) 5.9 Durchschnitt (intersection) L1 L2 5.9.1 Durchschnitt regulärer Sprachen Definition L1 L2 = { x x L1 x L2} Bedeutung Seien L 1 und L 2 Sprachen über einem Alphabet Σ, dann enthält Beispiel Abgeschlossenheit ja. L1 L2 alle Worte, die in L 1 und in L2 enthalten sind {bau, glas, honig, wald} {bau, glas, lach, mach} = {bau, glas} A1 A2 5.9.2 Durchschnitt endlicher Automaten Definition A 1 = ( Q, Σ, δ 1, q1, F1) A 2 = ( Q, Σ, δ 2, q2, F 2) A = A1 A2 = ( Q 1 Q2, Σ, δ,[ q1, q2], F1 F 2) Haenelt, Operationen auf Akzeptoren und Transduktoren 16/25

Bedingung Konstruktion wobei für alle p1 Q1, p2 Q2 und a Σ gilt: [ p1, p2], [ δ 1( p1,, δ 2( p, ] δ = (Hopcroft/Ullman, 1988: 61) ( 2 Algorithmus funktioniert für DEAs und auch für NEAs. Falls die Eingabealphabete der Automaten nicht identisch sind, ist Σ die Vereinigung der Alphabete der beiden Automaten. Sei Q 1 = {q 1, q 2,, q m } die Zustandsmenge des ersten Automaten Sei Q 2 = {s 1, s 2,, s m } die Zustandsmenge des zweiten Automaten Das Ergebnis der Schnittbildung ist das Kartesische Produkt Q 1 x Q 2 dieser beiden Zustandsmengen, wobei es eine Kante mit dem Etikett λ Σ von Zustand q i s j zu Zustand q k sl genau dann gibt, wenn es in den Originalautomaten Kanten mit dem Etikett λ von Zustand q i zu Zustand q k und von Zustand s j zu Zustand s l gibt. Der Zustand q s ist nur dann ein Endzustand, wenn beide Zustände i j der Originalautomaten q i aus Q 1 und s j aus Q 2 Endzustände sind. Der Startzustand der Schnittbildung ist der Zustand q s α β, wobei q α und s β die Startzustände der Originalautomaten sind (Quelle????) Bedeutung A akzeptiert alle Worte, die sowohl A 1 als auch A 2 akzeptieren. Beispiel A 1 p 1 0 q 0,1 A = A1 A2 pr 1 ps 1 0 0 A 2 r 0 1 s 0,1 qr 1 0 qs 0,1 A 1 akzeptiert alle Worte, die eine 0 enthalten. A2 akzeptiert alle Worte, die eine 1 enthalten. A akzeptiert die Worte, die sowohl eine 1 als auch eine 0 enthalten. (Hopcroft/Motwani/Ullman, 2001: 136) Haenelt, Operationen auf Akzeptoren und Transduktoren 17/25

Beispiel A 1 0 b 1 a h 2 3 n 4 u A = A1 A2 A 2 w a l d 5 6 7 0 b 1 a 2 h 3 n 4 u 0 b 1 a 2 h 3 n 4 u Abgeschlossenheit ja. l a c h 5 6 7 A 1 akzeptiert Nomen-Stämme. A2 akzeptiert Verbstämme. A akzeptiert Stämme, die sowohl Verb- als auch Nomen-Stämme sind. 5.10 Differenz (difference) L1 L2 5.10.1 Differenz regulärer Sprachen Definition L1 L2 = { x x L1 x L2} Bedeutung Seien L 1 und L 2 Sprachen über einem Alphabet Σ, dann enthält Beispiel L1 L2 alle Worte, die in L 1 aber nicht in L2 enthalten sind {bau, glas, honig, wald} - {bau, glas, lach, mach} = {honig, wald} Abgeschlossenheit ja. Reguläre Sprachen sind unter Differenzbildung abgeschlossen A1 A2 5.10.2 Differenz endlicher Automaten Definition [ A1 A2]( x) = [ A1 A2]( x) (Mohri/Riley 2002: I, 19) Bedingung A2 ungewichtet und deterministisch Bedeutung Konstruktion Konstruktionsschritte vgl. Komplementbildung: Wenn ein A bzw. T nicht vollständig ist (d.h. δ ist nur eine partielle Funktion, d.h. nicht für alle Zustände gibt es Kanten für alle Symbole aus Σ ), muss zuerst ein toter Zustand konstruiert werden, zu dem die fehlenden Übergänge führen. Haenelt, Operationen auf Akzeptoren und Transduktoren 18/25

A red/0.5 green/0.3 blue/0 0 1 2 yellow/0.8 0.8 B green red yellow 0 1 2 blue A-B red/0.5 red/0.5 red/0.5 0 1 2 green/0.3 green/0.3 blue/0 3 4 yellow/0.8 0.8 (Mohri/Riley 2002: I, 24) Konstruktionsschritte B determinisieren (hier: vervollständigen) B green green blue yellow Komplementbildung von B red yellow 0 1 2 blue red 3 red, green blue, yellow red green blue yellow B green blue yellow red yellow 0 1 2 blue green red red 3 green blue red, green yellow blue, yellow Haenelt, Operationen auf Akzeptoren und Transduktoren 19/25

Schnittbildung von A 1 mit B A B Σ Q blue green red yellow [00] - [13] [01] - [01] - [11] [03] - [03] - [13] [03] - [11] [20] - - [22] [13] [23] - - [23] [20] - - - - [22] - - - - [23] f - - - - A-B yellow/0.8 22 green/0.3 11 blue/0 20 red/0.5 red/0.5 red/0.5 00 01 03 green/0.3 green/0.3 blue/0 13 23 yellow/0.8 0.8 Tilgung der Pfade, die nicht zu akzeptierenden Zuständen führen, ergibt den in (Mohri/Riley 2002: I, 24) gezeigten Automaten (s.o.) Abgeschlossenheit Transduktoren sind nicht generell unter Differenzbildung abgeschlossen 5.11 Komposition (composition) T 1 T 2 5.11.1 Komposition von Transduktoren Definition [ T 1 T 2]( x, y) = [ T 1]( x, z) [ T 2]( z, y) (Mohri/Riley 2002: I, 19) z T 1 = ( Q1, F1, Σ,, δ 1, σ 1, ρ1, q10) Haenelt, Operationen auf Akzeptoren und Transduktoren 20/25

T 2 = ( Q2, F 2,, Ω, δ 2, σ 2, ρ 2, q20) T = T 1 T 2 = ( Q1 Q2, F, Σ, Ω, δ, σ, ρ,{ q10, q20}) F = {( q1, q2) Q : q1 F1, δ 2( q2, ρ1( q1)) F 2 } a Σ, ( q1, q2) Q ( q1, q2) F δ (( q1, q2), = ( δ 1( q1,, δ 2( q2, σ 1( q1, )) σ (( q1, q2), = σ 2( q2, σ 1( q1, ) ρ (( q1, q2)) = σ 2( q2, ρ1( q1)) ρ 2( δ ( q2, ρ1( q1))) Bedingung Bedeutung (Mohri, 1997: 273) K (Menge der Gewichte) kommutativ verknüpft Die Komposition zweier Transduktoren ermöglicht es, zwei Transduktoren, die in Serie hintereinander laufen, durch einen komplexeren Tranduktor zu ersetzen. Komponiert werden hier zwei Funktionen, nämlich die Abbildungsfunktionen eines Transduktors T 1 und die eines Transduktors T 2 von der Eingabekette auf die Ausgabekette, In der Algebra ist eine Komposition (auch Verkettung) zweier Funktionen ist definiert als ( g h)( x) : = g( h( x)). Für die Verkettung der Abbildungsfunktionen von der Eingabekette auf die Ausgabekette gilt: T 1 T 2 T 1 T 2 Es gilt also: [ 1 T 2] ( Σ) = T 1( T 2( Σ)) T. Transduktor von Σ nach Transduktor von nach Ω Transduktor von Σ nach Ω Der komponierte Transduktor T 1 T 2 entsteht durch Schnittbildung der Ausgaben von T 1 mit den Eingaben von T 2. Haenelt, Operationen auf Akzeptoren und Transduktoren 21/25

Beispiel 1 T 1 T 2 [NP NP NP] das gute Beispiel T 2 T 1 [NP NP NP] dete adje nomn dete adje nomn das gute Beispiel Beispiel 2 1 c:a [0.3] T 1 a:b [0.1] a:a [0.4] 0 3 [0.6] b:a [0.2] b:b [0.5] 2 a:b [0.6] T 2 0 b:c [0.3] 1 a:b [0.4] 2 [0.7] Haenelt, Operationen auf Akzeptoren und Transduktoren 22/25

Zustandsmenge Q T1 QT 2 und gemeinsame Pfade bei Schnitt der Ausgabe von T 1 mit der Eingabe von T 2 0,0 1,0 2,0 3,0 a:b [0.1] b:c [0.3] 0,1 1,1 c:a [0.3] a:b [0.4] c:a [0.3] 0,2 1,2 a:b [0.6] 2,1 3,1 a:a [0.4] a:b [0.4] 2,2 a:a [0.4] a:b [0.6] 3,2 [0.6] [0.7] 0,3 1,3 2,3 3,3 0,0 T 1 T 2 a:c [0.4] 1,1 c:b [0.7] a:b [0.8] c:b [0.7] 1,2 3,2 a:b [1.0] [1.3] Beispiel nach Mohri/Riley 2002: I, 20 T 1 Σ w Σ w Σ w a b c 0 1 b 0.1 2 a 0.2 - - - 1 3 a 0.4 - - - 1 a 0.3 2 - - - 3 b 0.5 - - - 3 - - - - - - - - - 0.6 Haenelt, Operationen auf Akzeptoren und Transduktoren 23/25

T 2 Ω w Ω w Ω w a b c 0 - - - 1 c 0.2 1 2 b 0.4 - - - 2 2 b 0.6 - - - 0.7 T 1 Σ Ω w Σ Ω w Σ Ω w T 2 a b c 0,0 1,1 c 0.4 0,1 0,2 1,0 1,1 3,2 b 0.8 1,2 b 0.7 1,2 3,2 b 1.0 1,2 b 0.9 2,0 2,1 2,2 3,0 3,1 3,2 1.3 Komplexität quadratisch: O(( Kanten 1 + Q 1 ) x ( Kanten 2 + Q 2 )) -Transitionen können zu vielerlei Pfaden führen (path multiplicity), z.b. :b - a: ; hierfür kürzer: a:b; zu erreichen über Komposition mit -Filter: T 1 F T 2. s. Mohri/Riley 2002: I,19-22 Implementierung o lazy implementation Abgeschlossenheit 6 Vielen Dank Für das Aufspüren von Fehlern in früheren Versionen und für Verbessrungsvorschläge danke ich: Maximilian Albert, Christian Roth. Haenelt, Operationen auf Akzeptoren und Transduktoren 24/25

7 Literatur Haenelt, Karin (2004). Minimierung endlicher Automaten. Kursfolien. 15.04.2004. 19 S. http://kontext.fraunhofer.de\haenelt\kurs\folien\fsa-minimierung.pdf, pdf:2, pdf:6, ppt Haenelt, Karin (2004). Determinisierung von Transducern. Eine Erläuterung des Algorithmus von Mohri. Kursfolien. 15.02.2004. 7 Seiten. http://kontext.fraunhofer.de\haenelt\kurs\folien\fstdetermmohri.pdf, html Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u.a.: Addison-Wesley (engl. Original: Introduction to automata theory, languages and computation) Hopcroft, John E. Rajeev Motwani und Jeffrey D. Ullman (2001). Introduction to Automata Theory, Languages and Computation. Addison-Wesley. http://wwwdb.stanford.edu/~ullman/ialc.html Kunze, Jürgen (2001). Computerlinguistik. Voraussetzungen, Grundlagen, Werkzeuge. Vorlesungsskript. Humboldt Universität zu Berlin. http://www2.rz.huberlin.de/compling/lehrstuhl/skripte/computerlinguistik_1/index.html Mohri, Mehryar (1997). Finite State Transducers in Language and Speech Processing. In: Computational Linguistics, 23, 2, 1997, S. 269-311. Mohri, Mehryar und Michael Riley (2002). Weighted Finite-State Transducers in Speech Recognition (Tutorial). Teil 1: http://www.research.att.com/~mohri/postscript/icslp.ps, Teil 2: http://www.research.att.com/~mohri/postscript/icslp-tut2.ps Haenelt, Operationen auf Akzeptoren und Transduktoren 25/25