Kurze Einführung in Baumsprachen

Ähnliche Dokumente
FORMALE SYSTEME. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2. November Markus Krötzsch

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

FORMALE SYSTEME. Kleene s Theorem. Wiederholung: Reguläre Ausdrücke. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2.

Satz 6.5 (Mittelwertsatz der Integralrechnung) Sei f : [a, b] R stetig. Dann gibt es ein ξ [a, b], so dass. b a. f dx = (b a)f(ξ) f dx (b a)m.

Ungleichungen. Jan Pöschko. 28. Mai Einführung

Grundlagen der Informatik II Übungsblatt: 2, WS 17/18 mit Lösungen

Franz Binder. Vorlesung im 2006W

Mitschrift Repetitorium Theoretische Informatik und Logik

Inhalt. Endliche Automaten. Automaten und Formale Sprachen. Franz Binder. Endliche Automaten. Deterministische Automaten

Endliche Automaten 7. Endliche Automaten

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Informatik I WS 07/08 Tutorium 24

3 Uneigentliche Integrale

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Automaten und formale Sprachen Notizen zu den Folien

Gebrochenrationale Funktionen (Einführung)

Integrieren. Regeln. Einige Integrale die man auswendig kennen sollte. Partielle Integration

1 Metrische Räume. Sei X eine nichtleere Menge. Definition 1.1. Eine Abbildung: d : X X R heißt Metrik auf X, falls für alle x, y, z X gilt

Resultat: Hauptsatz der Differential- und Integralrechnung

Automaten und formale Sprachen Notizen zu den Folien

R := {((a, b), (c, d)) a + d = c + b}. Die Element des Quotienten M/R sind die Klassen

BINOMISCHE FORMELN FRANZ LEMMERMEYER

Einführung in die Theoretische Informatik

6. Quadratische Gleichungen

Grundbegriffe der Informatik Aufgabenblatt 6

Frank Heitmann 2/71. 1 Betrachten wir Σ für ein Alphabet Σ, so ist Σ die Menge

Umwandlung von endlichen Automaten in reguläre Ausdrücke

Formale Sprachen. Endliche Automaten - Kleene. Reguläre Sprachen. Rudolf FREUND, Marion OSWALD. Endliche Automaten. Endliche Automaten: Beispiel

Mathematik Rechenfertigkeiten

5.1 Charakterisierung relativ kompakter und kompakter

dem Verfahren aus dem Beweis zu Satz 2.20 erhalten wir zunächst die folgenden beiden ε-ndeas für die Sprachen {a} {b} und {ε} {a} +

Übungsblatt Nr. 1. Lösungsvorschlag

Mathematik Rechenfertigkeiten

Übungsblatt 1. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

3 Hyperbolische Geometrie

Seminar Quantum Computation - Finite Quanten-Automaten und Quanten-Turingmaschinen

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Präfixcodes und der Huffman Algorithmus

FORMALE SYSTEME. 6. Vorlesung: Reguläre Ausdrücke. TU Dresden, 27. Oktober Markus Krötzsch

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 6 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Automaten, Spiele, und Logik

Vorkurs Mathematik DIFFERENTIATION

11. DER HAUPTSATZ DER DIFFERENTIAL- UND INTEGRALRECHNUNG

Multiplikative Inverse

Quadratische Funktionen

LR(k)-Parser. CYK-Algorithmus ist zu langsam.

7.9A. Nullstellensuche nach Newton

Nicht-Euklidische Geometrie (Weiss) WS Vorlesungsnotizen, Woche 4

2. Das Rechnen mit ganzen Zahlen (Rechnen in )

Kapitel 1 : Mathematische Grundlagen und Stöchiometrie

TECHNISCHE UNIVERSITÄT MÜNCHEN

2.4 Elementare Substitution

Einführung in die Theoretische Informatik

2.6 Unendliche Reihen

Algebra - Lineare Abbildungen

Def.: Sei Σ eine Menge von Zeichen. Die Menge Σ* aller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt:

Lineare Algebra und Numerische Mathematik für D-BAUG

Automaten und formale Sprachen Notizen zu den Folien

Brückenkurs Lineare Gleichungssysteme und Vektoren

DEA1 Deterministische Version

S 1. Definition: Ein endlicher Automat ist ein 5-Tupel. Das endliche Eingabealphabet

Lineare Algebra I 5. Tutorium mit Lösungshinweisen

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

a = c d b Matheunterricht: Gesucht ist x. Physikunterricht Gesucht ist t: s = vt + s0 -s0 s - s0 = vt :v = t 3 = 4x = 4x :4 0,5 = x

RWTH Aachen Lehrgebiet Theoretische Informatik Rossmanith Dreier Hark Kuinke. SS 2017 Blatt

Verlauf Material LEK Glossar Lösungen. In acht Leveln zum Meister! Exponentialgleichungen lösen. Kerstin Langer, Kiel VORANSICHT

Dr. Günter Rothmeier Kein Anspruch auf Vollständigkeit Elementarmathematik (LH) und Fehlerfreiheit

a q 0 q 1 a M q 1 q 3 q 2

Berechenbarkeitstheorie 2. Vorlesung

3 Uneigentliche Integrale

10. Riemannsche Geometrie I: Riemannsche Metrik. Variable Bilinearformen.

Crashkurs - Integration

kann man das Riemannsche Unter- bzw. Oberintegral auch wie folgt definieren: xk+1 x k

Grundlagen zu Datenstrukturen und Algorithmen Schmitt, Schömer SS 2001

Universität Stuttgart Wintersemester 2014/2015

A.25 Stetigkeit und Differenzierbarkeit ( )

Grundlagen der Theoretischen Informatik, WS11/12 Minimale Automaten

Das Rechnen mit Logarithmen

Theoretische Informatik I

G2 Grundlagen der Vektorrechnung

Das Bogenintegral einer gestauchten Normalparabel

Mathe Warm-Up, Teil 1 1 2

12. STAMMFUNKTIONEN UND DAS UNBESTIMMTE INTEGRAL

Probeklausur Mathematik für Ingenieure C3

Was nicht bewertet werden soll, streichen Sie bitte durch. Werden Täuschungsversuche beobachtet, so wird die Präsenzübung mit 0 Punkten bewertet.

Exponential- und Logarithmusfunktion

2 Trigonometrische Formeln

Reduktion. Seien A Σ und B Γ. Man sagt A ist reduzierbar auf B (A B) gdw. von speziellem Interesse: Polynomialzeitreduktion

Automaten, Spiele, und Logik

5.2 BASIC MSC (BMSC) BASIC MSC. Kommunikation zwischen Instanzen. Message Sequence Charts

1.6 Bruchterme. 1 Theorie Lernziele Repetition Die Addition von zwei Bruchtermen-Methode I Doppelbrüche...

Zum Satz von Taylor. Klaus-R. Loeffler. 2 Der Satz von Taylor 2

Lineare Schaltungen (Widerstände), gleichförmige Erregungen, Knotenpotenzial-Verfahren

Endliche Automaten können wahlweise graphisch oder tabellarisch angegeben werden.

Domäne und Bereich. Relationen zwischen Mengen/auf einer Menge. Anmerkungen zur Terminologie. r Relationen auf/in einer Menge.

Ich kann LGS mit drei Gleichungen und drei Unbekannten mit dem Gauß-Verfahren lösen.

a) x 0, (Nichtnegativität) b) x = 0 x = 0, (Eindeutigkeit) c) αx = α x, (Skalierung)

Transkript:

Kurze Einführung in Bumsprchen Die folgende Einführung in Bumsprchen ist ein miniml ngepsster Ausschnitt us der Bchelor-Arbeit von Peter Bücker (peter.buecker@uni-duesseldorf.de), geschrieben bei Jun.-Prof. Wiebke Petersen im Sommersemester 2011 n der Heinrich- Heine-Universität Düsseldorf. 1 Formle Bumsprchen Formle Wortsprchen sind, wie im vorherigen Kpitel erläutert, Mengen von Wörtern und Wörter sind Folgen von Zeichen (Buchstben, Ziffern, ). Anlog dzu sind formle Bumsprchen Mengen von Bäumen, ber ws genu ist ein Bum? Ein Bum ist eine hierchische Struktur, ufgebut us Knoten und einer Dominnzreltion. An der Spitze eines Bums steht ein einziger Knoten, der sogennnte Wurzelknoten. Für sich genommen ist er bereits ein vollständiger Bum, in ller Regel gehören zum Wurzelknoten ber weitere, untergeordnete Knoten hinzu. Diese untergeordneten Knoten bezeichnet mn ls Kinder des Elternknotens, sie werden vom Elternknoten dominiert. So ergibt sich eine hierrchische Ordnung, usgehend vom Wurzelknoten bis hin zu den sogennnten Blättern, lso den Knoten, die über keine weiteren Kinder verfügen. Ein Bum ist sowohl in seiner Breite ls uch in seiner Tiefe unbeschränkt. Die einzige strukturelle Einschränkung liegt drin, dss 1. jeder Knoten einen Elternknoten benötigt (bgesehen vom Wurzelknoten), und 2. dss jeder Knoten nur genu einen Elternknoten besitzt. Mit nderen Worten: Es hndelt sich um einen gerichteten, zyklischen Grphen. Abbildung 1 zeigt ls Beispiel für einen Bum den Ableitungsbum des Wortes bb us der Grmmtik in Abbildung 2 (Wörter gerder Länge, bestehend us und b). Abbildung 1: Ableitungsbum des Wortes bb us der Grmmtik in Abbildung 2 S T S1 T S b T S1 T b S ε 1

Abbildung 2: Beispielgrmmtik G 1 S ε S T S1 S1 T S T T b Bäume lssen sich bgesehen von der bildlichen Drstellung uch ls Term repräsentieren. Der Term zum Ableitungsbum in Abbildung 1 sieht wie folgt us: S(T (), S1(T (b), S(T (), S1(T (b), S())))). Jeder Knoten, der kein Bltt ist, wird dbei durch einen n-stelligen Term repräsentiert, wobei n die Anzhl von Kindern des Knotens ist. Die Argumente eines Terms werden uf die gleiche Art und Weise gebildet. Blttknoten werden ls Atom repräsentiert, d. h. sie trgen keine Klmmern. D beide Repräsenttionsformen äquivlent sind, werden wir die Begriffe Bum und Term im weiteren Verluf der Arbeit ls ustuschbr behndeln. Im Folgenden werden Terme und Bäume forml definiert, gefolgt von grundlegenden Konzepten wie Ersetzungen und Kontexten (Comon u.. 2008, S. 15 17). 1.1 Terme und Bäume Ds obige Beispiel eines Terms zeigt die zwei unterschiedlichen Arten von Ausdrücken, die es in einem Term gibt. Einerseits gibt es komplexe Ausdrücke der Form f(t 1,..., t n ), und ndererseits tomre Symbole wie oder b, uch Vriblen gennnt. Terme werden rekursiv definiert, d. h. zunächst ist jede Vrible ein Term. Weiterhin ist ein Ausdruck wie f(t 1,..., t n ) ein Term, flls f ein n-stelliger Funktor ist und t 1,..., t n Terme sind. Definition 1 (Comon u.. 2008, S. 15). Sei N die Menge von positiven gnzen Zhlen. Die Menge von endlichen Ketten über N nennen wir N. Ein Rnglphbet ist ein Pr (F, Arity), wobei F eine endliche Menge und Arity eine Abbildung F N ist. Arity weist jedem f F eine Stelligkeit Arity(f) zu. Die Menge ller n-stelligen Funktoren schreiben wir F n. 0-stellige Funktoren heißen Konstnten. Wir verwenden eine Kurzschreibweise us Funktoren und leeren Argumentstellen um 2

nzuzeigen, welche Stelligkeit ein Funktor ht: f(, ) ist beispielsweise ein 2-stelliger Funktor. Sei X eine Menge von Konstnten, gennnt Vriblen. Es gelte X F 0 =. Die Menge T (F, X ) von Termen über dem Rnglphbet F und den Vriblen X ist die kleinste Menge, so dss gilt: F 0 T (F, X ) X T (F, X ) Wenn n 1, f F n und t 1,..., t n T (F, X ), dnn ist f(t 1,..., t n ) T (F, X ). Wenn X =, dnn schreiben wir einfch T (F) nsttt von T (F, X ). Terme in T (F) nennen wir Bsisterme. Ein Term t T (F, X ) heißt liner, flls jede Vrible höchstens ein Ml vorkommt. Definition 2 (Comon u.. 2008, S. 15 16). Ein endlicher, geordneter Bum über einer Menge von Beschriftungen E ist eine Abbildung von einer präfixbgeschlossenen Menge Pos(t) N nch E. Ein Term t T (F, X ) knn ls endlicher, geordneter Rngbum betrchtet werden, dessen Blätter mit Vriblen oder Konstnten beschriftet sind, während die übrigens Knoten mit mindestens 1- stelligen Funktoren beschriftet sind. Ein mit einem n-stelligen Funktor beschrifteter Knoten muss genu n Kinder hben. Genuer gesgt knn ein Term t T (F, X ) ls prtielle Funktion t : N F X mit Definitionsbereich Pos(t) betrchtet werden, flls t die folgenden Bedingungen erfüllt: Pos(t) ist nicht leer und präfix-bgeschlossen p Pos(t): flls t(p) F n, n 1, dnn ist {j pj Pos(t)} = {1,..., n} p Pos(t): flls t(p) X F 0, dnn ist {j pj Pos(t)} =. Jedes Element us Pos(t) wird ls Position bezeichnet. Flls j N : pj / Pos(t) gilt, so heißt p Grenzposition. Die Menge ller Grenzpositionen heißt FPos(t). Flls t(p) X gilt, so heißt p Vriblenposition. Die Menge ller Vriblenpositionen heißt VPos(t). Der Wurzelknoten wird ls Hed(t) bezeichnet, wobei Hed(t) = t(ε). Bevor weitere Begriffe eingeführt werden, sollen die Definitionen 1 und 2 näher erläutert werden. Eine Vorussetzung für die Definition von Termen sind Rnglphbete. Ein Rnglphbet ist eine Menge, in der jedem Element eine Stelligkeit zugeordnet wird. Nehmen wir ls Beispiel die folgende Konfigurtion n: M = {, b, t}, Arity() = 0, Arity(b) = 1, Arity(t) = 2. 3

Abbildung 3: Bum des Terms t(, t(, b)) smt ller Teilbäume Term t(, t(, b)) t(, b) b Teilterm t t 1 t 2 t 21 t 22 Bum t ε ε t ε ε b ε 1 t 2 1 b 2 21 b 22 Im Rnglphbet A = (M, Arity) wird jedem Element us der Menge M über die Funktion Arity eine Stelligkeit zugewiesen. In diesem Beispiel ist 0-stellig, b 1-stellig und t 2-stellig. Alterntiv zur Auflistung ller Zuweisungen der Funktion Arity knn mn uch eine bgekürzte Schreibweise mit, b() und t(, ) oder /0, b/1 und t/2 verwenden. Terme bestehen us zwei disjunkten Mengen, nämlich der Menge der Funktoren F und der Menge der Vriblen X. Funktoren können dzu genutzt werden, komplexe Ausdrücke zu erzeugen, während Vriblen ls Pltzhlter fungieren (siehe unten). Als Besonderheit werden 0-stellige Funktoren uch ls Konstnten bezeichnet. Wie vor Definition 1 bereits kurz ngedeutet, werden Terme induktiv definiert, ähnlich zur Definition von regulären Wortusdrücken. Ds heißt, es werden zunächst die kleinstmöglichen Terme definiert dies sind Konstnten und Vriblen: Jede Konstnte ist ein Term, ebenso wie lle Vriblen. Auf dieser Bsis können durch Verschchtelung beliebig komplexe Ausdrücke wie z. B. t(, t(, b)) gebildet werden (vgl. Abbildung 3). In Definition 2 werden Bäume ls eine prtielle Funktion us Ketten von ntürlichen, positiven Zhlen nch F X eingeführt. Der Definitionsbereich der Funktion wird ls Pos(t) bezeichnet und fungiert ls hierrchisches Adressierungssystem für Knoten im Bum. Jedes Element us Pos(t) ist eine Kette von ntürlichen, positiven Zhlen, in der jede Zhl für einen Knoten des Bums steht. Die Abfolge der Zhlen bestimmt einen Pfd durch den Bum. Beispiel: Die Adresse 2.1 bezeichnet in Abbildung 3 den ersten Knoten unterhlb des zweiten Knotens unterhlb der Wurzel. 1 Zerlegt mn die Adresse in eine Folge von Zhlen 1,..., n, so referenziert 1 den 1 -sten Knoten unterhlb der Wurzel, 2 den 2 -ten Knoten unterhlb von 1, und so weiter. Die Funktion Pos(t) weist jeder solchen Adresse ein Element us F X zu, d. h. zu jeder Adresse existiert im Bum ein entsprechender Knoten. 1 Zur Übersicht wurden lle Knoten mit ihrer Adresse ls Subskript versehen. Die einzelnen Stellen der Adressen werden mit einem Punkt voneinnder getrennt. 4

Abbildung 4: Term f(x 1, g(x 1, x 2 )) f x 1 g x 1 x 2 F = {f(, ), g(, ),, b}, X = {x 1, x 2 } D jeder Term us kleineren Termen besteht, können wir einen Term in seine Teilterme zerlegen. In Abbildung 3 sehen wir die Zerlegung des Terms t(, t(, b)) in seine vier Teilterme. Teilterme werden über ihre Position im ursprünglichen Term dressiert, z. B. t 2 für den Teilterm t(, b) us t(, t(, b)). Definition 3 (Comon u.. 2008, S. 16). Ein Teilterm t p eines Terms t T (F, X ) n Position p ist wie folgt definiert: Pos(t p ) = {j pj Pos(t)} q Pos(t p ), t p (q) = t(pq) Mit t[u] p bezeichnen wir den Term, der entsteht, wenn wir u nstelle von t p in t einsetzen. Wir bezeichnen ls die Teilterm-Ordnung, d. h. wir schreiben t t, flls t ein Teilterm von t ist. Wir schreiben t t, flls t t und t t. Eine Menge von Termen F wird geschlossen gennnt, flls sie bezüglich der Teilterm-Ordnung geschlossen ist, d. h. flls gilt: t F : (t t t F ). Die folgende Definition zeigt, wie Ersetzungen in Termen vorgenommen werden können. Dzu wird eine Abbildung σ definiert, die Vriblen uf Terme bbildet, d. h. Vriblen werden durch Terme ersetzt. Vriblen können uch durch ndere Vriblen ersetzt werden, ber nur endlich viele Vriblen werden nicht uf sich selbst bgebildet. Anders gesgt, drf eine Ersetzung nicht unendlich viele Ersetzungen vornehmen. Nehmen wir ls Beispiel für eine Ersetzung den Term us Abbildung 4 und σ = {x 1, x 2 g(, b)}. Die Ersetzung σ(f(x 1, g(x 1, x 2 ))) ergibt f(, g(, g(, b))), denn lle Vorkommen der Vrible x 1 werden durch ersetzt, und lle Vorkommen von x 2 durch g(, b). Definition 4 (Comon u.. 2008, S. 17). Eine Ersetzung σ ist eine Abbildung von X nch T (F, X ), in der es nur endlich viele Vriblen gibt, die nicht uf sich selbst bgebildet werden. Die Domäne einer Ersetzung σ ist die Teilmenge von Vriblen x X, so dss σ(x) x. Die Ersetzung {x 1 t 1,..., x n t n } ist X \ {x 1,..., x n } nch Abbildung von x i X uf t i T (F, X ) b, für lle 1 i n. 5

Ersetzungen lssen sich uf T (F, X ) erweitern: f F n, t 1,..., t n T (F, X ) : σ(f(t 1,..., t n )) = f(σ(t 1 ),..., σ(t n )). Wir wollen nun noch den Begriff des Kontexts einführen. Ein Kontext ist ein linerer Term mit mindestens einer Vriblen und dient ls Mrker in einem Bum, d. h. über einen Kontext knn eine Stelle im Bum identifiziert werden, n der später beispielsweise eine Ersetzung durchgeführt werden soll. Betrchten wir dzu den Term t(, t(, b)) und den Kontext C = t(, x 1 ): Über den Ausdruck C[b] können wir nun eine Ersetzung von des Teilbums t(, b) durch b vornehmen und erhlten den Term t(, b). Definition 5 (Comon u.. 2008, S. 17). Sei X n eine Menge von n Vriblen. Ein linerer Term C T (F, X n ) heißt Kontext und der Ausdruck C[t 1,..., t n ] für t 1,..., t n T (F) denotiert den Term in T (F), der durch Ersetzung von x i durch t i in C für 1 i n entsteht: C[t 1,..., t n ] = C{x 1 t 1,..., x n t n }. Die Menge ller Kontexte über (x 1,..., x n ) nennen wir C n (F). Die wichtigsten Begriffe rund um Bäume und Terme sind dmit eingeführt. Wir wollen uns nun mit Bumgrmmtiken, dem Äquivlent zu Grmmtiken für formle Wortsprchen, befssen. 1.2 Bumgrmmtiken Eine formle Bumgrmmtik besteht, ebenso wie eine formle Wortgrmmtik, us vier Teilen: einem Strtsymbol, Terminlsymbolen, Nicht-Terminlsymbolen und Produktionsregeln. Im Wortfll sind lle Terminle 0-stellig, d. h. sie hben keine innere Struktur. Deshlb lssen sich nur flche Zeichenketten us einer Wortgrmmtik bleiten, obwohl während der Ableitung durchus eine Bumstruktur, nämlich der Ableitungsbum, entsteht. Möchte mn us einer Grmmtik hingegen Bäume bleiten, müssen mehrstellige Terminle erlubt sein. Als Beispiel soll eine Bumgrmmtik dienen, die Listen in der Form von Listenkopf und Restliste modelliert, wie es beispielsweise in funktionlen Progrmmiersprchen oder Merkmlstrukturen 6

Abbildung 5: Beispielbleitungen us der Grmmtik G nil reclist reclist... nil reclist nil üblich ist: 2 List nil List reclist(hed, List) Hed Hed b Die Grmmtik ht zwei Nichtterminle (List, Hed), vier Terminle (nil/0, /0, b/0 und reclist/2), ds Strtsymbol List und die bgebildeten Produktionsregeln. Die Regeln der Form Hed β dienen zur Generierung der in der Liste enthltenen Objekte und sind für dieses Beispiel bewusst einfch gehlten. Ds Terminl nil steht für eine leere Liste. Einige Beispielbleitungen finden sich in Abbildung 5. Der Beispielbum reclist(, reclist(, nil)) leitet sich us der Grmmtik wie folgt b: List reclist(hed, List) reclist(, List) reclist(, reclist(hed, List)) reclist(, reclist(, List)) reclist(, reclist(, nil)) Im ersten Schritt wird us dem Strtsymbol eine 1-elementige Liste reclist(hed, List) bgeleitet. Die Regel Hed ersetzt in diesem Bum Hed durch, gefolgt von der Regel List reclist(hed, List), die List im Inneren des Terms durch eine weitere 1-elementige Liste ersetzt. Dieser Prozess wird dnn wiederholt und mit einer Anwendung der Regel List nil terminiert. Definition 6 (Comon u.. 2008, S. 51 52). Eine Bumgrmmtik G ist ein 4-Tupel (N, F, P, S). N ist ds Rnglphbet der Nichtterminlsymbole. F ist ds Rnglphbet der Terminlsymbole. Es gelte N F =. P ist die endliche Menge der Produktionsregeln α β, wobei P T (F N X ) T (F N X ). X ist eine Menge von Dummy-Vriblen. S N ist ds Strtsymbol mit Arity(S) = 0. Eine reguläre Bumgrmmtik G = (N, F, P, S) ist eine Bumgrmmtik mit 2 Ds Beispiel entstmmt ursprünglich us Comon u.. (2008, S. 23). 7

den folgenden Einschränkungen: n N : Arity(n) = 0 (α β) P : α N, β T (F N) Die Expnsionsreltion für die Grmmtik G nennen wir G. Flls G us dem Kontext beknnt ist, schreiben wir einfch. Es gilt s G t, flls eine Regel A α und ein Kontext C existieren, so dss gilt: s = C[A] und t = C[α]. Die von G definierte/erzeugte/generierte Sprche ist L(G) = {t T (F) S + G t}. + G ist die trnsitive Hülle von G. Eine Folge von Bäumen (t 0, t 1,..., t n ) mit t 0 = S, t n T (F) und t i G t i+1 heißt Ableitung von t n. Die grundlegenden Bestndteile einer Bumgrmmtik wie Nichtterminle, Terminle und Produktionsregeln wurden bereits erläutert. Im Folgenden soll noch gezeigt werden, uf welche Art und Weise eine Bumgrmmtik eine Bumsprche generiert bzw. beschreibt. Kurz gesgt, sind ll die Bäume Teil der generierten Sprche, die sich us der Grmmtik bleiten lssen. Ds heißt, lle Bäume t T (F), die sich durch schrittweise Anwendung der Produktionsregeln us dem Strtsymbol S erzeugen lssen, sind in der von G generierten Sprche L(G) enthlten. Forml betrchtet nutzt mn dzu die Expnsionsreltion + G, die wir schon von den formlen Wortgrmmtiken kennen. Zwei Bäume stehen in der Expnsionsreltion s t, flls es einen Kontext und eine Produktionsregel gibt, so dss die linke Regelseite eingesetzt in den Kontext s ergibt, während die rechte Regelseite, eingesetzt in den selben Kontext, t ergibt. Mit nderen Worten: Der Kontext mrkiert einen Knoten im Bum, uf den eine Regel ngewndt wird, und die Regel knn nur ngewndt werden, wenn der betroffene Knoten vorher der linken Regelseite entsprch. Betrchten wir dzu ein Beispiel: reclist reclist List reclist Hed List Die Expnsion im Beispiel ist möglich, d ein Kontext und eine Regel existieren, nämlich C = reclist(, x 1 ) und List reclist(hed, List), so dss durch Einsetzen der linken Regelseite in C der Bum reclist(, List) entsteht, und durch Einsetzen der rechten Regelseite reclist(, reclist(hed, List)). 8

1.3 Reguläre Bumusdrücke Während Grmmtiken Sprchen generieren, dienen reguläre Ausdrücke der Beschreibung von Sprchen. Reguläre Ausdrücke bringen einer Sprche zugrundeliegende Muster wie etw Wiederholungen zum Ausdruck. Wir hben im vorherigen Kpitel bereits gesehen, dss reguläre Ausdrücke für Wörter die Metsymbole oder + verwenden, um Wiederholungen oder Vereinigung von Sprchen uszudrücken. Reguläre Bumusdrücke funktionieren gnz ähnlich, obgleich ihre Syntx etws komplizierter ist, wie wir im Folgenden sehen werden. Nehmen wir ls Beispiel zunächst wieder die Sprche, die lle rekursiven Listen enthält, wie in Kpitel 1.2 beschrieben. 3 Die Sprche sieht wie folgt us: List = {nil, reclist(, nil), reclist(, reclist(, nil)),... }. Anstelle von ließen sich beliebige ndere Terme einsetzen der genue Inhlt ist hier ber nicht weiter interessnt. Die Bäume der Sprche L zeigen ein deutliches Wiederholungsmuster: Ein Bum ist entweder die leere Liste nil, oder er besteht us dem zweistelligen Funktor reclist mit einem Inhltsrgument, und der Restliste, die wiederum ein Bum ist. Die Sprche List knn mit Hilfe eines regulären Bumusdrucks wie folgt modelliert werden: List = L(nil + reclist(, 1 ), 1. 1 nil). Der Ausdruck enthält ein neues, bisher nicht verwendetes Symbol 1, um zu mrkieren, n welcher Stelle des Bums Opertionen wie Itertion oder Konktention ngewndt werden sollen. Bei Wortsprchen bruchen wir einen solchen Pltzhlter nicht, d die Opertion direkt m Ort des Auftretens usgeführt werden knn, wie z. B. im regulären Ausdruck b*c. Hier ist klr, n welcher Stelle beliebig viele bs stehen können, nämlich zwischen und c. Derrtige Opertionen uf Bäumen werfen die grundsätzliche Frge uf, wo sie geschehen sollen, d ein Bum sich nur durch Verschchtelung erweitern lässt. Deshlb wäre bei nicht-unären Bäumen ohne entsprechende Pltzhlter unklr, n welcher Stelle eine Opertion usgeführt werden soll. Beispiel: Der Bum f(, b) knn nicht einfch um den Bum g(c) erweitert werden, ohne zu wissen, n welcher Stelle des ersten Bums dies geschehen soll. Neben diesem neuen Symbol enthält der Ausdruck die zwei neuen Konstruktionen t, und t. s. Die erste Opertion entspricht dem Kleeneschen Stern für reguläre 3 Wir verwenden in diesem Abschnitt nsttt von Hed nur ds einfche Symbol, d die Regeln nsonsten unnötig komplex würden. 9

Wortusdrücke und wird Hülle gennnt. Sie beschreibt die Sprche, die durch beliebig häufige Einsetzung von t in t n der Stelle von entsteht. Im oben gezeigten Teilusdruck reclist(, 1 ), 1 entsteht ddurch die Sprche { 1, reclist(, 1 ), reclist(, reclist(, 1 )),... }. Flls wir t = reclist(, 1 ) kein Ml in 1 einsetzen, erhlten wir einfch nur { 1 }. Dies entspricht dem leeren Wort, ds wir bei Sternbildung im Fll von regulären Wortusdrücken erhlten. Setzen wir t ein Ml ein, so erhlten wir einfch t. Setzen wir t mehrfch ein, so lnden wir im ersten Schritt wieder bei { }, dnch bei t, und in llen weiteren Schritten wird t erneut in den Ausdruck des vorherigen Schritts eingesetzt. Die Hüllenopertion t, ist die Vereinigung der Sprchen, die durch ds n- mlige Einsetzen von t in t nstelle von entsteht, für n 0. Der Ausdruck t. s repräsentiert gewissermßen die Konktention zweier Bäume, obwohl wie bereits erwähnt ein Ncheinnderschreiben zweier Bäume nicht möglich ist. Stttdessen rbeitet der Ausdruck ls Substitution t{ s}, d. h. s wird nstelle von in t eingesetzt. Der Ausdruck reclist(, 1 ). 1 nil ergibt lso die Sprche {reclist(, nil)}. Bevor wir llerdings die Definition regulärer Bumusdrücke vorstellen können, müssen wir unsere bisherige Definition von Substitution (vgl. Seite 6) uf Sprchen verllgemeinern und die Begriffe der Konktention und der Hülle forml einführen. Zum Schluss der Definitionen werden lle neuen Begriffe in einem Gesmtbeispiel demonstriert. Definition 7 (Comon u.. 2008, S. 55 56). Sei K eine endliche, von F disjunkte Menge von 0-stelligen Pltzhltern. Gegeben einen Bum t T (F K), Pltzhlter 1,..., n K und Sprchen L 1,..., L n T (F K). Eine Bumersetzung von 1,..., n durch L 1,..., L n in t, geschrieben t{ 1 L 1,..., n L n }, ist die durch die folgenden Gleichungen definierte Sprche: i { 1 L 1,..., n L n } = L i für 1 i n { 1 L 1,..., n L n } = {} für lle 0-stelligen F K für die gilt: 1,..., n f(s 1,..., s n ){ 1 L 1,..., n L n } = {f(t 1,..., t n ) t i s i { 1 L 1,..., n L n }} Wir verllgemeinern diese Ersetzung nun uf Bumsprchen: Seien L, L 1,..., L n T (F K) Sprchen, dnn definieren wir L{ 1 L 1,..., n L n } ls die Menge t L t{ 1 L 1,..., n L n }. Zur Definition der Bumersetzung werden zunächst die zu verrbeitenden Terme us T (F K) in drei unterschiedliche Ktegorien unterteilt: lleinstehende Pltz- 10

hlter, lleinstehende 0-stellige Symbole, die nicht zu den verwendeten Pltzhltern gehören, und mehrstellige Terme. Für jede dieser Ktegorien wird bestimmt, ws ds Ergebnis der Bumersetzung uf ihnen ist. In jedem Fll ist wichtig, dss eine Bumersetzung immer eine Sprche zum Ergebnis ht, und nie einen Term. Nun zu den einzelnen Ktegorien: D in einem Pltzhlter i eben nur i enthlten ist, knn nur L i eingesetzt werden die resultierende Sprche ist lso L i (siehe 1. Gleichung in obiger Definition). Ein sonstiger 0-stelliger Term, der kein verwendeter Pltzhlter ist, eignet sich erst gr nicht für eine Einsetzung. In diesem Fll definieren wir die resultierende Sprche derrt, dss sie nur den besgten 0-stelligen Term enthält (siehe 2. Gleichung). Hndelt es sich bei unserem Term um einen mehrstelligen Term, so behlten wir den Funktor und verrbeiten die Argumente rekursiv weiter (siehe 3. Gleichung). Den letzten Schritt der Definition stellt die Erweiterung uf Sprchen sttt. Wie schon für mehrstellige Terme, gehen wir hier rekursiv vor: Jeder Term us der Sprche, uf der die Ersetzung durchgeführt werden soll, wird für sich genommen der Bumersetzung unterzogen. Ds Ergebnis der Ersetzung uf der Sprche ist die Vereinigung ll der einzelnen Bumersetzungen. Die zweite Vorussetzung zur formlen Definition von regulären Bumusdrücken ist die Opertion der Konktention, die wir nun vorstellen. Definition 8 (Comon u.. 2008, S. 56). Seien L und M Sprchen über T (F K) und K, dnn ist die Konktention von L und M durch, geschrieben L. M, die Bumsprche, die mn durch Ersetzung ller Vorkommen von in L durch M erhält: L. M = t L t{ M}. Die Konktention zweier Sprchen L und M ist lso nichts weiter ls die Einsetzung von M in L, vorusgesetzt es gibt einen pssenden Pltzhlter in L, n dessen Stelle M treten knn. Der Pltzhlter knn in L uch mehrfch uftreten. Es fehlt nun nur noch die Definition der Hülle einer Bumsprche. Definition 9 (Comon u.. 2008, S. 56). Sei L T (F K) eine Sprche und K, dnn definieren wir die Folge L n, wie folgt: L 0, = { } L n+1, = L n, L. L n, Die Hülle L, von L ist die Vereinigung ller L n, für n 0: L, = n 0 Ln,. Die Definition funktioniert rekursiv, d. h. es wird zunächst der Bsisfll L 0, bestimmt: Setzt mn L kein Ml in sich selbst ein, so bleibt nur der verwendete Pltzhlter über. Dnch geht es schrittweise weiter, wir setzen L lso ein Ml, zwei 11

Ml, und so weiter in sich selbst ein. Jeder Schritt bsiert direkt uf dem vorherigen Schritt. Wenn wir lso L ein Ml in sich selbst einsetzen wollen, so müssen wir es erst kein Ml einsetzen. Dieses Ergebnis setzen wir dnn wieder in L ein und vereinigen beides. In jedem weiteren Schritt wird L ein weiteres Ml in sich selbst eingesetzt. Beispiel 1.1. Sei F = {nil, reclist(, )}, K = { } und L = {nil, reclist(, )} L(F K). Berechnen wir nun L 0,, L 1, und L 2,. L 0, = { } L 1, = L 0, L. L 0, = {, nil, reclist(, )} L 2, = L 1, L. L 1, = {, nil, reclist(, ), reclist(, nil), reclist(, reclist(, ))} Mit diesen Werkzeugen usgestttet, können wir nun die Menge der regulären Bumusdrücke definieren: Definition 10 (Comon u.. 2008, S. 57 58). Die Menge Regexp(F, K) von regulären Bumusdrücken über F und K ist die kleinste Menge, so dss gilt: Regexp(F, K) Flls F 0 K eine Konstnte ist, gilt Regexp(F, K) Flls f F n, n 1 und E 1,..., E n reguläre Bumusdrücke us Regexp(F, K) sind, ist uch f(e 1,..., E n ) ein regulärer Bumusdruck us Regexp(F, K) Flls E 1, E 2 reguläre Bumusdrücke us Regexp(F, K) sind, ist uch (E 1 +E 2 ) ein regulärer Bumusdruck us Regexp(F, K) Flls E 1, E 2 reguläre Bumusdrücke us Regexp(F, K) sind und ein Element von K ist, ist uch E 1. E 2 ein regulärer Bumusdruck us Regexp(F, K) Flls E ein regulärer Bumusdruck us Regexp(F, K) und ein Element von K ist, dnn ist uch E, eine regulärer Bumusdruck us Regexp(F, K) Jeder reguläre Bumusdruck denotiert eine reguläre Bumsprche gemäß den folgenden Regeln: 4 L( ) = 4 Wir weichen n dieser Stelle bewusst von der in Comon u.. (2008) verwendeten Nottion mit... b, d die Nottion L(... ) im Bereich der formlen Wortsprchen bereits etbliert ist. 12

L() = {} L(f(E 1,..., E n )) = {f(s 1,..., s n ) s 1 L(E 1 ),..., s n L(E n )} L(E 1 + E 2 ) = L(E 1 ) L(E 2 ) L(E 1. E 2 ) = L(E 1 ){ E 2 } L(E, ) = L(E), 1.4 Endliche Bumutomten Es gibt einige Ähnlichkeiten zwischen endlichen Wortutomten und endlichen Bumutomten: beide verfügen über eine Menge von Zuständen, von denen einige ls Endzustände gekennzeichnet werden. Zusätzlich gibt es eine Menge von möglichen Übergängen zwischen Zuständen in den Automten. Im Flle von Wortutomten sind die Übergänge einfch ein Tripel us ktuellem Zustnd, Eingbesymbol und neuem Zustnd. Betrchten wir jedoch Bumutomten, werden die Übergänge etws komplexer. Der ktuelle Zustnd bzw. der neue Zustnd sind nun Terme t T (F Q), d. h. Bsisterme, die zusätzlich zu Funktoren uch Zustände beinhlten können. Zustände werden ls einstellige Funktoren behndelt und trgen ls einziges Argument einen Term t T (F). Ein zulässiger Übergng ist beispielsweise f(q(x), q(y)) q(f(x, y)), flls f F 2, x, y X und q Q. Ein direktes Äquivlent zu einem Eingbesymbol gibt es bei Bumutomten nicht. Wie lso rbeiten Bumutomten? Ein Bumutomt verrbeitet Bsisterme. Betrchten wir diese Terme ls Bäume, so beginnt der Bumutomt n den Blättern und rbeitet sich in einem Bottom-Up-Prozess Stück für Stück in Richtung des Wurzelknotens. In jedem Schritt werden Teiltermen des Eingbebums Zustände zugewiesen. Ein Bumutomt kzeptiert eine Eingbe, flls zum Schluss dem Wurzelknoten ein Endzustnd zugewiesen wurde. Den gesmten Prozess bezeichnen wir ls Reduktion. Im Unterschied zu Wortutomten kennen Bumutomten keinen Strtzustnd, sondern beginnen mit der Anwendung von Regeln der Form q(), die Konstnten Zustände zuweisen. Andere Regelnwendungen sind zu Beginn gr nicht möglich, d ds Regelformt für mehrstellige Terme f(q 1,..., q n ) verlngt, dss deren Argumente q 1,..., q n von der Form q(x) sind, lso ls Wurzel einen Zustnd trgen. D der Eingbebum ber keine Zustände enthlten knn, weil es sich um einen Bsisterm über T (F) hndelt, müssen zunächst den Blättern Zustände zugewiesen werden, dmit nschließend mehrstellige Terme verrbeitet werden können. 13

1.4.1 Nichtdeterministische Bumutomten Wir wollen nun die nichtdeterministischen Bumutomten forml definieren, bevor wir uns einem vollständigen Beispiel widmen. Definition 11 (Comon u.. 2008, S. 20). Ein nichtdeterministischer endlicher Bumutomt (NFTA, nondeterministic finite tree utomton) über F ist ein 4- Tupel A = (Q, F, Q f, ). Q ist eine Menge von (einstelligen) Zuständen, Q f Q ist eine Menge von Endzuständen, und ist eine Menge von Übergngsregeln der Form f(q 1 (x 1 ),..., q n (x n )) q(f(x 1,..., x n )) mit n 0, f F n, q, q1,..., q n Q und x 1,..., x n X. Beispiel 1.2. Sei A = (Q, F, Q f, ) ein nichtdeterministischer endlicher Bumutomt. Q = {q, q f, q g }, F = {f(, ), g(, ),, b} und Q f = {q f }. Sei die folgende Menge von Übergängen: q() b q(b) f(q g (x), q(y)) q f (f(x, y)) g(q(x), q(y)) q g (g(x, y)) Eine Reduktion des Terms t = f(g(, b), ) spielt sich dnn wie folgt b: f f f q f g g q q g q f b q q g g b b b Der erste Übergng 5 weist den Blättern des Bums den Zustnd q zu. Der zweite Übergng weist dem Teilbum t 1 nhnd der Regel g(q(x), q(y)) q g (g(x, y)) den Zustnd q g zu. Der letzte Übergng weist dem Wurzelknoten mittels der Regel 5 Eigentlich sind es drei seprte Übergänge, nämlich für jedes Bltt einen, ber zur Einfchheit der Drstellung sind diese zusmmengefsst. 14

f(q g (x), q(y)) q f (f(x, y)) den Endzustnd q f zu, d. h. der Bumutomt kzeptiert die Eingbe. Bisher wurde nur n einem Beispiel gezeigt, wie die Übergänge in einem Bumutomten funktionieren. Im Folgenden wird gezeigt, wie sich die Übergngsreltion forml definieren lässt. Definition 12 (Comon u.. 2008, S. 20). Sei A = (Q, F, Q f, ) ein nicht-deterministischer endlicher Bumutomt über F. Zwei Terme t, t T (F Q) stehen in der Übergngsreltion A, flls die folgenden Bedingungen erfüllt sind: C C(F Q), u 1,..., u n T (F), f(q 1 (x 1 ),..., q n (x n )) q(f(x 1,..., x n )), t = C[f(q 1 (u 1 ),..., q n (u n ))], t = C[q(f(u 1,..., u n ))]. Die reflexive, trnsitive Hülle von A heißt A. Ein Bsisterm t T (F) wird von A kzeptiert, flls t A q(t) und q Q f. Flls A us dem Kontext beknnt ist, schreiben wir einfch. Ein Übergng von einem Term t T (F Q) zu einem Term t T (F Q) knn ls Ersetzung verstnden werden, bei der ein Teil von t so ersetzt wird, dss t entsteht. Diese Ersetzung erfolgt mit Hilfe eines Kontexts, der mrkiert, n welcher Stelle die Ersetzung durchgeführt werden soll. Der Kontext trägt dzu genu eine Vrible, n deren Stelle dnn die linke bzw. rechte Seite einer Ersetzungsregel δ eingesetzt werden knn. Flls t dem Kontext nch Einsetzung der linken Regelseite entspricht, und t dem Kontext nch Einsetzung der rechten Regelseite entspricht, gilt t A t. Ntürlich muss die Stelligkeit des Eingbeterms mit der Stelligkeit der linken Regelseite übereinstimmen, sprich flls der Eingbeterm f(q()) lutet, knn keine Regel der Form f(q(x), q(y))... ngewendet werden. Die Vriblen in der Regel werden durch die ttsächlichen Werte n den jeweiligen Positionen ersetzt, d. h. nstelle von x n wird u n eingesetzt, für 1 n Arity(f). Die reflexive, trnsitive Hülle A der Übergngsreltion knn zur Vereinfchung benutzt werden, d sie konsekutive Übergänge zusmmenfsst (Trnsitivität). So lässt sich beispielsweise formulieren, dss ein Bumutomt eine Eingbe kzeptiert, flls t A q(t) mit q Q f gilt, lso wenn mn Übergänge findet, so dss mn schrittweise von t nch q(t) kommt und q gleichzeitig ein Endzustnd ist. Die Bumsprche L(A), die von A erknnt wird, ist die Menge ller Bsisterme, die A erkennt. Eine Menge L von Bsistermen heißt erkennbr, flls L = L(A) 15

für einen NFTA A. Zwei NFTA heißen äquivlent, flls sie die selbe Bumsprche kzeptieren. Die bisherige Definition der Übergngsregeln lässt sich ohne Beschränkung der Allgemeinheit vereinfchen zu Regeln der Form f(q 1,..., q n ) q, d die Subterme von q 1,..., q n ohnehin direkt übernommen werden. Beispiel: Aus f(q(), q(b)) wird unter Anwendung der Regel f(q(x), q(y)) q f (f(x, y)) der Term q f (f(, b)), d. h. die Regel bezieht sich lediglich uf den Funktor und die Zustände der Subterme, ber nicht uf den Inhlt der Subterme selbst. Demnch können wir den Inhlt der Subterme ignorieren und lediglich die Zustände betrchten. Die eben gennnte Regel lässt sich dnn schreiben ls f(q, q) q f. Unter Annhme dieser Vereinfchung kzeptiert ein Bumutomt eine Eingbe, flls t A q mit q Q f. Im weiteren Verluf der Arbeit wird nur noch diese verkürzte Schreibweise verwendet. Beispiel 1.3. Grundlge sei der Automt A us Beispiel 3.2. Dessen Übergngsregeln lssen sich wie folgt vereinfchen: q() wird zu q b q(b) wird zu b q f(q g (x), q(y)) q f (f(x, y)) wird zu f(q g, q) q f g(q(x), q(y)) q g (g(x, y)) wird zu g(q, q) q g Um nchvollziehen zu können, welche Zustände während einer Reduktion bestimmten Subtermen zugeordnet wurden, ist der Begriff des Lufs nützlich. Ein Luf weist jeder Position des Eingbeterms den Zustnd zu, den er im Zuge einer Reduktion bekäme. So entsteht ein zweiter, vom Eingbeterm unbhängiger Bum, der nsttt Funktoren nur noch Zustände enthält. Von der Struktur betrchtet, unterscheiden sich die beiden Bäume nicht, d jedem Knoten us dem Eingbebum genu ein Zustnd zugewiesen wird. 6 An diesem Zustndsbum lässt sich ber gut blesen, welche Einzelschritte ein Eingbeterm durchläuft, um kzeptiert zu werden. Definition 13 (Comon u.. 2008, S. 22). Sei t T (F) ein Bsisterm und A = (Q, F, Q f, ) ein NFTA. Ein Luf r von A ist eine mit komptible Abbildung r : Pos(t) Q, d. h. für jede Position p Pos(t) gilt: flls t(p) = f F n, r(p) = q, 6 Die Zustände besitzen dnn die gleiche Stelligkeit wie die Funktoren, die im Eingbeterm n ihrer Position stehen. 16

r(pi) = q i für lle i {1,..., n}, dnn f(q 1,..., q n ) q. Ein Luf r von A uf t ist erfolgreich, flls r(ε) Q f. Ein Bsisterm t wird von A kzeptiert, flls es einen erfolgreichen Luf r von A uf t gibt. Beispiel 1.4. Nehmen wir ls Grundlge den Automten und die gezeigte Reduktion us Beispiel 3.2. Der Luf zu der Reduktion findet sich uf der rechten Seite der Abbildung mn sieht dort die Zustände, die jedem Knoten us dem Eingbebum im Zuge des Lufs zugeordnet wurden. f q f g q g q b q q 1.4.2 Nichtdeterministische Bumutomten mit ε-übergängen Gemäß der bisherigen Definition übersetzt jeder Übergng einen Term der Form f(q 1,..., q n ) in einen Zustnd q die Subterme ignorieren wir dbei wie beschrieben. Oft lssen sich Automten jedoch vereinfchen, flls wir Übergänge zulssen, die keinen Funktor verrbeiten, sondern lediglich einen Zustnd gegen einen nderen Zustnd ustuschen und dnch wie gehbt fortfhren. Von Wortutomten kennen wir diese sogennnten ε-übergänge bereits und wissen, dss sie zu Automten ohne ε-übergänge äquivlent sind. Ds gleiche gilt für Bumutomten, d. h. durch die Hinzunhme von ε-übergängen gewinnen wir nicht eine höhere Mächtigkeit, sondern vereinfchen lediglich die Art und Weise, wie mn bestimmte Bumutomten formulieren knn. Wir schreiben einen solchen Übergng vereinfcht q q und meinen dmit, dss ein Term q(f(q 1,..., q n )) in q (f(q 1,..., q n ))) übersetzt werden knn. 1.4.3 Deterministische Bumutomten Die bisher vorgestellten Bumutomten heißen nichtdeterministische endliche Bumutomten, d es mehrere Regeln mit gleicher linker Regelseite geben knn. Ds 17

bedeutet, dss es mehrere Regeln geben knn, die uf den gleichen Eingbeterm ngewendet werden können. Diese Whlmöglichkeit führt zur Unklrheit drüber, welches Ergebnis ein Bumutomt gegeben einen bestimmten Eingbeterm erreicht. Im einfchsten Fll gibt es verschiedene erfolgreiche Läufe, mn kommt lso uf unterschiedlichen Wegen zum gleichen Ergebnis, nämlich dss eine Eingbe kzeptiert wird. Andererseits knn es Läufe geben, die nicht erfolgreich sind, ndere ber schon. In der Prxis werden solche Probleme dnn durch Bcktrcking gelöst, d. h. ein Progrmm bestimmt, n welchen Stellen eines Lufs eine nichtdeterministische Entscheidung gefällt wurde, und ändert den Luf so lnge, bis es keine weiteren Optionen mehr gibt. Wird durch diesen Prozess kein erfolgreicher Luf erreicht, so knn mn sgen, dss die Eingbe nicht kzeptiert wird. Alterntiv zu dieser Herngehensweise knn mn uch mit deterministischen endlichen Bumutomten (DFTA) rbeiten, die erst gr keine Doppeldeutigkeiten in den Übergngsregeln zulssen. Wenn lso eine Regel uf einen Eingbeterm zutrifft, dnn ist es die einzige solche Regel. Umgekehrt knn mn sgen, dss flls in einem Luf keine Regel mehr nwendbr ist, der Eingbeterm nicht kzeptiert wird, womit die Notwendigkeit für Bcktrcking entfällt. Außerdem lässt sich zeigen, dss jeder NFTA in einen äquivlenten DFTA umgewndelt werden knn. Ein entsprechender Beweis und der zugehörige Algorithmus finden sich in Comon u.. (2008, S. 25 27). Betrchten wir nun bschließend die formle Definition von deterministischen endlichen Bumutomten. Definition 14 (Comon u.. 2008, S. 25). Ein Bumutomt A = (Q, F, Q f, ) ist ein deterministischer endlicher Bumutomt (DFTA, deterministic finite tree utomton), flls es keine zwei Regeln mit gleicher linker Regelseite und keine ε- Übergänge gibt. Ein DFTA ist deshlb nicht mbig, d. h. für lle Bsisterme t T (F) gibt es jeweils höchstens ein q Q f, so dss t A q. In diesem Kpitel hben wir gesehen, ws Bumsprchen sind und wie sie sich von Wortsprchen unterscheiden. Außerdem hben wir gesehen, wie sich Grmmtiken, reguläre Ausdrücke und endliche Automten uf Bumsprchen übertrgen lssen. Im folgenden Abschnitt wollen wir nun versuchen einen Bumutomten zu konstruieren, der in der Lge ist, Possessionskonstruktionen in Dependenzbäumen zu finden. Litertur Comon, Hubert u.. (2008). Tree Automt Techniques nd Applictions. url: http://tt.gforge.inri.fr/. 18

Index B Bumersetzung, 10 Bumgrmmtik, 7 regulär, 7 D deterministischer endlicher Bumutomt, 18 E endlicher geordneter Bum, 3 endlicher geordneter Rngbum, 3 erkennen, 15 erkennbr, 15 Ersetzung, 5 T Teilterm, 4 Teilterm-Ordnung, 5 Term Bsisterm, 3 liner, 3 Term, 2 V Vrible, 2 Vriblenposition, 3 G Grenzposition, 3 H Hülle, 11 K Konktention, 11 Konstnte, 2 Kontext, 6 L Luf, 16 N Bumutomt, 13 P Position, 3 R Rnglphbet, 2 Reduktion, 13 regulärer Bumusdruck, 12 19