[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenende ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]
Idee der endlichen Transduktoren
Endliche Transduktoren erweitern das Konzept des endlichen Automaten, indem auf zwei statt auf einem Band Zeichenketten verarbeitet werden.
Unterschiedliche Interpretationen der Bänder
Lexikalischer Transduktor bei Wortform-Generierung
Siehe Abb. 115 auf Seite 178.
Lexikalischer Transduktor bei Wortform-Analyse
Siehe Abb. 5.2 auf Seite 181.
Nicht-deterministischer endlicher Transduktor (ε-NET)
Definition 5.2.1 (non-deterministic finite state transducer). Ein nicht-deterministischer endlicher Transduktor T = 〈Φ,Σ,δ,S,F〉 besteht aus
Hinweise
Die Notation Σε steht für Σ ∪{ε}, wobei εΣ. Ein Transduktor unterscheidet sich nur in der Übergangsfunktion von einem EA.
Beispiel 5.2.2 (Direktes Einlesen von ET im PROLOG-Format).
xfst[0]: read prolog
Type one or more networks in prolog format. Use ^D to terminate input. arc(ex2,0,1,"0":"0"). arc(ex2,1,2,"0":"b"). final(ex2,2). |
Übergangsfunktion auf Paare von Zeichenketten
Die Bestimmung der Übergangsfunktion δ∗ auf Paare von Zeichenketten setzt auf der reflexiven und
transitiven Hülle der ε:ε-Übergänge auf.
Definition 5.2.3. Die ε-Hülle δε∗ : Φ → ℘(Φ) eines ε-NET für einen Zustand T ∈ Φ ist rekursiv definiert durch:
Hinweis
Das Vorgehen ist analog zur Behandlung in ε-NEA.
Definition 5.2.4 (Zustandsübergangsfunktion für Zeichenketten). Die auf Zeichenketten erweiterte Übergangsfunktion δ∗ : Φ × Σε∗× Σε∗→ ℘(Φ) bestimmt die Menge der erreichbaren Zustände nach dem vollständigen Lesen eines Paars von Zeichenketten.
Die Sprach-Relation eines ε-NET ist die Menge aller Paare von Zeichenketten, für die δ∗ ausgehend vom Startzustand mindestens einen Endzustand enthält.
Zugrundeliegender EA
Jeder ET kann als EA aufgefasst werden, der die Symbole auf den beiden Bändern des ET als
Symbolpaar auf einem Band verarbeitet.
Definition 5.2.5 (zugrundeliegender EA). Ein zugrundeliegender EA eines ET = (Φ,Σ,δ,S,F) ergibt sich als (Φ,Σ′,δ′,S,F): Für alle a,b ∈ Σ und T ∈ Φ
Nicht-deterministischer endlicher Transduktor (NET)
Jeder ε-NET kann in einen äquivalenten NET umgewandelt werden, der keine ε:ε-Übergänge enthält,
indem im zugrundeliegenden EA die entsprechende ε-Eliminierung gemacht wird.
Der NET kann jedoch weiterhin Übergänge vom Typ ε:a bzw. a:ε mit a ∈ Σ enthalten.
Beispiel 5.2.6 (Entfernen von ε:ε-Übergängen).
xfst[1]: epsilon-remove net
xfst[1]: print net Sigma: b Flags: epsilon_free, loop_free Arity: 2 s0 [non-det]: <0:b> -> fs1. fs1: (no arcs) |
EA-Minimale Transduktoren in XFST
Das Minimieren von ET bezieht sich in XFST immer auf den zugrundeliegenden EA.
Beispiel 5.2.7 (xfst und Zustandsdiagramm).
xfst[0]: read regex [ a:0 0:b ] ;
xfst[1]: minimize net xfst[1]: print flags deterministic, pruned, minimized, epsilon_free, loop_free, |
Hinweis
Die Relation kann leicht durch einen Automaten mit nur zwei Zuständen ausgedrückt werden. XFST führt eine solche Minimierung aber nicht automatisch durch. Für einfache Fälle der Form a:0 0:b führt der Stackbefehl cleanup allerdings doch noch zum erwünschten Ergebnis.
EA-Deterministische Transduktoren in XFST
Das Flag für Determiniertheit von ET bezieht sich in XFST immer auf den zugrundeliegenden
EA.
Beispiel 5.2.8 (xfst und Zustandsdiagramm).
xfst[0]: set minimal OFF
xfst[0]: read regex a:b c:a | a:b c:b; xfst[1]: print net ... s0 [non-det]: <a:b> -> s1, <a:b> -> s2. ... xfst[1]: determinize net xfst[1]: print net Flags: deterministic, pruned, epsilon_free, loop_free |
Hinweis
EA-Deterministische Transduktoren in XFST erlauben gleiche Symbole auf dem einen Band, welche zu unterschiedlichen Folgezuständen führen.
[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenbeginn ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]