Endliche Akzeptoren. Inhalt

Größe: px
Ab Seite anzeigen:

Download "Endliche Akzeptoren. Inhalt"

Transkript

1 Endliche Akzeptoren Inhalt Endliche Akzeptoren Endliche Akzeptoren Vorbemerkung zur Darstellungsweise Definitionen: Zustandsübergangsfunktion Varianten endlicher Akzeptoren Übersicht Definitionen und Erläuterungen Deterministische endliche Akzeptoren Nicht-deterministische endliche Akzeptoren Nicht-deterministische endliche Akzeptoren mit Epsilontransitionen Erweiterung des Definitionsbereichs der Zustandsübergangsfunktionen auf Zeichenfolgen Erweiterte Zustandsübergangsfunktion eines deterministischen Akzeptors Erweiterte Zustandsübergangsfunktion Sprache eines deterministischen endlichen Akzeptors Erweiterte Zustandsübergangsfunktion eines nicht-deterministischen Akzeptors Erweiterte Zustandsübergangsfunktion Sprache eines nicht-deterministischen endlichen Automaten Erweiterte Zustandsübergangsfunktion eines nicht-deterministischen Akzeptor mit Epsilontransitionen Die Epsilonhülle Erweiterte Zustandsübergangsfunktion Sprache eines nicht-deterministischen endlichen Automaten mit Epsilon- Transitionen Erkennungsalgorithmen Erkennung einer Zeichenfolge mit einem deterministischen endlichen Akzeptor 18 Karin Haenelt, Endliche Automaten: Akzeptoren Seite 1 von 33

2 4.2 Erkennung einer Zeichenfolge mit einem nicht-deterministischen endlichen Akzeptor Äquivalenzen und Transformationen Vervollständigung eines deterministischen Akzeptors mit partieller Übergangsfunktion Überführung eines nicht-deterministischen endlichen Akzeptors in einen deterministischen endlichen Akzeptor Epsilonentfernung aus einem nicht-deterministischen Akzeptor mit Epsilontransitionen Komplexität Endliche Akzeptoren 1.1 Vorbemerkung zur Darstellungsweise Nach der Art der Ausgabe eines endlichen Automaten unterscheidet man Akzeptoren und Transduktoren. Ein endlicher Akzeptor ist ein endlicher Automat, der eine Zeichenfolge zeichenweise betrachtet und sich dabei nach den Vorgaben der Zustandsübergangsfunktion δ(q,a) bei jedem Zeichen von einem Zustand in den nächsten begibt, und am Ende accept oder reject ausgibt. Wenn er nach Abarbeitung der gesamten Zeichenfolge einen Endzustand erreicht, sagt man, der Akzeptor akzeptiert diese Zeichenfolge (accept), andernfalls sagt man, er verwirft diese Zeichenfolge (reject). Ein Akzeptor dient nur der Feststellung, ob eine gegebene Eingabe zur Menge der für den Akzeptor gültigen Eingaben gehört oder nicht. Er partitioniert die Menge der Zeichenfolgen in zwei Teilmengen: in die Sprache, die von der Maschine akzeptiert wird, und in die Sprache, die von der Maschine nicht akzeptiert wird. Ein endlicher Transduktor ist ein endlicher Automat, der einer Eingabe zusätzlich eine Ausgabe zuordnet. Im Einführungskapitel hatten wir bereits eine Definitionen für endliche Automaten verwendet, die sowohl die Ausprägungen des Akzeptors als auch des Transduktors berücksichtigen. Da wir zunächst einige Eigenschaften betrachten möchten, die nur die Eingabeseite der Automaten betreffen, beschränken wir uns in diesem Kapitel auf die Betrachtung von Akzeptoren. Wir benutzen die Definition aus dem Einführungskapitel weiterhin als Basis, nehmen jedoch von nun an eine notationelle Veränderung vor: An Stelle Karin Haenelt, Endliche Automaten: Akzeptoren Seite 2 von 33

3 der Buchstaben X und Y verwenden wir die in der Informatik-Literatur gebräuchlicheren Buchstaben Q (für die Menge der Zustände) und Σ (für die Menge der Eingabesymbole). So lautet unsere Definition eines Akzeptors nun Definition 1 endlicher Akzeptor Ein endlicher Akzeptor wird formal spezifiziert durch das Quintupel A = (Q,q 0,F,Σ,δ), wobei A für den Namen des Akzeptors steht, und die Elemente des Quintupels folgende Bedeutung haben: Q endliche Menge von N Zuständen q 0, q 1,... q N-1 q 0 F Startzustand, q 0 Q Menge der Endzustände, F Q Σ endliche Menge von M Eingabesymbolen a 1, a 2,... a M δ(q,a) Zustandsübergangsfunktion 1.2 Definitionen: Zustandsübergangsfunktion Die formalen Definitionen für Zustandsübergangsfunktionen verwenden einige Termini, deren Definition wir zuerst angeben. Danach werden wir die Definitionen für Zustandsübergangsfunktionen geben. Definition 2 Korrespondenz Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M in N (bzw. zwischen M und N) genannt, wenn K M N ist. (Starke, 2000: 20) Eine Korrespondenz ist also eine Beziehung zwischen Elementen verschiedener Mengen. Beispiel: Es sei S die Menge aller Städte und F die Menge aller Flüsse und L = {(s,f) s S und f F und die Stadt s liegt am Fluss f }. Definition 3 rechtseindeutige Korrespondenz Es seien M, N Mengen. Dann wird K eine rechtseindeutige Korrespondenz genannt, wenn zu jedem Element aus M höchstens ein Element aus N in Korrespondenz steht. Es gilt m M: n,o N: (m,n) K (m,o) K n=o. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 3 von 33

4 Beispiel: Es sei L die Menge aller Länder und H die Menge aller Hauptstädte und K = (l,h) l L und h H und h ist die Hauptstadt von l. Definition 4 Funktion Eine rechtseindeutige Korrespondenz ist eine Funktion. Zuweilen unterscheidet man noch zwischen partieller Funktion und totaler Funktion. Eine partielle Funktion liegt vor, wenn jedem Element aus einer Menge M höchstens ein Element aus einer Menge N entspricht. Das bedeutet, dass es nicht für alle Elemente aus M ein korrespondierendes Element in N gibt, aber wenn es eines gibt, dann genau eines. Eine totale Funktion liegt vor, wenn jedem Element aus einer Menge M genau ein Element aus einer Menge N). Eine Funktion schreibt man in der Form f: M N oder x f(x). Definition 5 Relation Korrespondenzen aus einer Menge A in diese Menge A werden als Relationen bezeichnet. Sei M eine Menge. Jede Teilmenge K M n heißtn-stellige Relation. Beispiel: Es sei S die Menge aller Städte und P = {(p,s) p,s S und p ist eine Partnerstadt von s }. Nun kommen wir zu den Definitionen der Zustandsübergangsfunktion: Definition 6 Zustandsübergangsfunktion Unter einer Zustandsübergangsfunktion δ(q,a) versteht man eine Funktion bzw. Relation, die einem Zustand q eines Automaten bei Eingabe eines Symbols a keinen, einen bzw. mehrere Folgezustände zuweist. Definition 7 totale Zustandsübergangsfunktion Karin Haenelt, Endliche Automaten: Akzeptoren Seite 4 von 33

5 Eine Zustandsübergangsfunktion δ(q,a), die für jede Situation (q,a) definiert ist, heißt totale Zustandsübergangsfunktion. Hier ist für jeden Zustand q für jedes Eingabesymbol a definiert, in welchen Folgezustand der Automat bei Eingabe des jeweiligen Symbols übergeht. Definition 8 partielle Zustandsübergangsfunktion Eine Zustandsübergangsfunktion δ(q,a), die nicht für jede Situation (q,a) definiert ist, heißt partielle Zustandsübergangsfunktion. Hier kann es vorkommen, dass an einem Zustand q für ein Eingabesymbol a kein Übergang in einen Folgezustand definiert ist. 2 Varianten endlicher Akzeptoren 2.1 Übersicht Für die Zustandsübergangsfunktion δ gibt es mehrere Varianten, die mehreren Arten endlicher Akzeptoren entsprechen. Drei grundlegende Arten sind deterministische Akzeptoren, nicht-deterministische Akzeptoren, und nicht-deterministische Akzeptoren mit Epsilon-Transitionen. Alle Arten gibt es jeweils mit totaler und mit partieller Zustandsübergangsfunktion. Abbildung 1 zeigt eine vergleichende Übersicht. A = (Q, q 0, F, Σ, δ) Typ δ deterministisch DEA totale Q Σ Q für jede Situation (q,a) Funktion genau ein Zielzustand partielle Q Σ Q für jede Situation (q,a) Funktion falls (q,a) definiert höchstens ein ist Zielzustand nicht- NEA totale Q Σ 2 Q \ für eine Situation (q,a) deterministisch Relation ein oder mehrere Zielzustände Karin Haenelt, Endliche Automaten: Akzeptoren Seite 5 von 33

6 partielle Relation Q Σ 2 Q für eine Situation (q,a) kein, ein oder mehrere Zielzustände nicht- ε- totale Q (Σ ε) 2 Q \ für eine Situation (q,a) deterministisch NEA Relation oder (q,ε) ein oder mit ε-übergängen mehrere Zielzustände partielle R. Q (Σ ε) 2 Q für eine Situation (q,a) oder (q,ε) kein, ein oder mehrere Zielzustände Abbildung 1 Vergleichende Übersicht der Varianten endlicher Akzeptoren Alle hier gezeigten Arten von Akzeptoren sind äquivalent bezüglich der Klasse der Sprachen, die sie akzeptieren. Keine Variante akzeptiert eine Sprache, die eine andere Variante nicht akzeptiert. Die Varianten dienen lediglich dem Programmierkomfort, sie sind alle ineinander überführbar. 2.2 Definitionen und Erläuterungen Deterministische endliche Akzeptoren Definition 9 deterministischer endlicher Akzeptor A = (Q, q 0, F, Σ, δ) heißt deterministischer endlicher Akzeptor, wenn Q und Σ nichtleere Mengen sind und δ eine auf Q Σ definierte Funktion ist, deren Werte in Q liegen. Definition 10 deterministischer Akzeptor mit totaler Übergangsfunktion Ein endlicher Akzeptor heißt deterministischer Akzeptor mit totaler Übergangsfunktion, wenn er deterministisch ist und eine totale Übergangsfunktion hat. Im deterministischen Akzeptor mit totaler Übergangsfunktion gibt es in jedem Zustand für jedes Eingabesymbol genau einen Zustandsübergang. D.h. die Zustandsübergangsfunktion Karin Haenelt, Endliche Automaten: Akzeptoren Seite 6 von 33

7 liefert bei Eingabe eines Zustandes q Q und eines Eingabesymbols a Σ genau einen Zielzustand q Q. Abbildung 2 zeigt ein Beispiel eines solchen Akzeptors. In diesem Beispiel enthält das Eingabealphabet Σ die Symbole {adje, dete, nomn}, die hier als Abkürzungen für Adjektiv, Artikel (Determiner) und Nomen stehen. Der Akzeptor definiert mögliche Folgen dieser Symbole. Das Beispiel kann man sich als vereinfachtes Modell einer Nominalphrase des Deutschen vorstellen. Die Q Σ - Matrix zeigt die möglichen Kombinationen von Zuständen und Eingabesymbolen, wobei die einzelnen Zellen die Zielzustände q Q für die einzelnen Kombinationen (= Situationen (q,a))angeben. In einem deterministischen Akzeptor mit totaler Übergangsfunktion ist jede Zelle der Matrix gefüllt. DEA-t Σ (Eingabesymbole) Q adje dete nomn F dete, adje,nomn adje 0 dete nomn dete, adje,nomn 4 dete, dete 1 adje adje 2 nomn 3 nomn Abbildung 2 Deterministischer Akzeptor mit totaler Übergangsfunktion Definition 11 deterministischer Akzeptor mit partieller Übergangsfunktion Ein endlicher Akzeptor heißt deterministischer Akzeptor mit partieller Übergangsfunktion, wenn er deterministisch ist und eine partielle Übergangsfunktion hat. Deterministische Akzeptoren mit partieller Übergangsfunktion haben in jedem Zustand für jedes Eingabesymbol höchstens eine Transition. Es können Situationen (q,a) auftreten, für die δ nicht definiert ist. Die Zustandsübergangsfunktion liefert also nicht in jedem Zustand für jedes Eingabesymbol einen Zielzustand, aber wenn sie einen liefert, dann auch nur einen (Beispiel in Abbildung 3). Karin Haenelt, Endliche Automaten: Akzeptoren Seite 7 von 33

8 DEA-p Σ Q adje dete nomn F dete 1 adje 2 nomn 3 nomn nomn Abbildung 3 Deterministischer Akzeptor mit partieller Übergangsfunktion Nicht-deterministische endliche Akzeptoren Nicht-deterministische Automaten lassen im Unterschied zu deterministischen Automaten eine Menge von Zielzuständen zu. Dabei gilt Definition 12 nicht-deterministischer endlicher Akzeptor mit totaler Übergangsfunktion A = (Q, q 0, F, Σ, δ) heißt vollständiger deterministischer endlicher Akzeptor, wenn Q und Σ nichtleere Mengen sind und δ eine eindeutige Abbildung von Q Σ nach (Q)\Ø ist. Definition 13 nicht-deterministischer endlicher Akzeptor mit partieller Übergangsfunktion A = (Q, q 0, F, Σ, δ) heißt partieller deterministischer endlicher Akzeptor, wenn Q und Σ nichtleere Mengen sind und δ eine eindeutige Abbildung von Q Σ nach (Q) ist. (Q) ist die Potenzmenge von Q. Neben (Q) ist auch die Schreibweise 2 Q gebräuchlich. Die Potenzmenge von Q ist die Menge aller Teilmengen, die sich aus Elementen von Q bilden lassen, einschließlich der leeren Menge. Für Q = {1,2,3} ist (Q) = {{1,2,3},{1,2},{1,3}, {2,3}, {1},{2},{3}, {}}. Die unterschiedlichen Teilmengen, die sich aus Q bilden lassen, sind also die möglichen Zielzustände einer Situation (q,a). Dabei ist ein vollständiger Automat ein solcher, der für jede Situation eine nicht-leere Teilmenge von Zielzuständen liefert, und ein partieller Automat ist ein solcher, der auch die leere Teilmenge als möglichen Zielzustand angibt. Für die Funktionsweise des Automaten ist es unwesentlich, ob δ für eine Situation (q,a) nicht definiert ist, oder zwar definiert oder leer ist (vgl. Starke, 1969:120). Allerdings ist zu Karin Haenelt, Endliche Automaten: Akzeptoren Seite 8 von 33

9 bemerken, dass solche Zustandsübergänge zwar nicht definiert, aber auch nicht völlig beliebig festlegbar sind. Abbildung 4 zeigt einen partiellen nicht-deterministischen endlichen Akzeptor. NEA-p Σ Q adje dete nomn 0 {1,2} {3} 1 {2} {3} 2 {3} dete 0 dete 1 adje 2 nomn 3 nomn nomn Abbildung 4 Nicht-deterministischer Akzeptor Andere Varianten als die hier gezeigten lassen für nicht-deterministische Akzeptoren außerdem eine Menge von Startzuständen zu (Lawson, 2005) Nicht-deterministische endliche Akzeptoren mit Epsilontransitionen Nicht-deterministische Akzeptoren mit ε-übergängen erlauben zusätzlich zu den bereits spezifizierten nicht-deterministischen Akzeptoren auch den Übergang in einen neuen Zustand, ohne dass eine Eingabe erfolgt. Als Symbol für die leere Eingabe steht ein Symbol für die leere Zeichenfolge verwendet, das hier mit ε bezeichnet wird. Definition 14 nicht-deterministischer Akzeptor mit Epsilontransitionen Sei ε eine leere Zeichenfolge. Dann ist ein nicht-deterministischer Akzeptor mit Epsilontransitionen ist ein nicht-deterministischer Akzeptor, bei dem auch Transitionen auf der leeren Eingabe ε (d.h. ohne Eingabe) möglich sind. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 9 von 33

10 ε-nea Σ Q adje dete nomn ε 0 {1} {2} 1 {2} {2} 0 dete 1 adje 2 nomn 3 ε ε 2 {3} 3 F Abbildung 5 Nicht-deterministischer Akzeptor mit Epsilonübergängen 3 Erweiterung des Definitionsbereichs der Zustandsübergangsfunktionen auf Zeichenfolgen In den bisher vorgestellten Definitionen der Akzeptoren wurden die Zustandsübergangsfunktionen für einzelne Eingabezeichen angegeben. Es ist nun zusätzlich noch anzugeben, wie Eingabezeichenfolgen behandelt werden sollen, d.h. zu definieren, wie eine Eingabezeichenfolge akzeptiert wird. Mit dieser Definition können wir dann auch die von einem Akzeptor akzeptierte Sprache bestimmen. Die Definitionen bilden ferner die theoretische Grundlage für die Traversionsalgorithmen und für die Überführung der einzelnen Automaten ineinander. Das Prinzip für die Zustandsübergangsfunktion für Zeichenfolgen ist folgendes: Sei A = (Q, q 0, F, Σ,δ) ein endlicher Akzeptor, seien p,q Q beliebige Zustände, und sei w = a 1...a n eine beliebige Eingabezeichenfolge. Für jedes Symbol a ε Σ und für jeden Zustand q Q sind die einzelnen Transitionen durch die Zustandsübergangsfunktion δ - darstellbar durch die Zustandsübergangstabelle - definiert. Die Verarbeitung einer ganzen Zeichenfolge erfolgt, indem die Eingabezeichenfolge zeichenweise gelesen und die Zustandsübergangsfunktion auf das jeweils erreichte Zeichen und dem jeweils erreichten Zustand angewendet wird. Auf diese Weise lesen wir die gesamte Zeichenfolge und folgen einem Pfad durch den Automaten, der mit den Zeichen der Zeichenfolge etikettiert ist. Zur formalen Definition der Zustandsübergangsfunktion für Zeichenfolgen erweitern wir den Definitionsbereich von δ auf Zeichenfolgen und führen hierfür die Notation δ* ein. Diese Funktion hat als Argumente einen Zustand p und eine Zeichenfolge w, und sie liefert den Zustand q, den der Automat Karin Haenelt, Endliche Automaten: Akzeptoren Seite 10 von 33

11 erreicht, wenn er ausgehend von Zustand p die Eingabefolge w verarbeitet. In den folgenden Abschnitten werden wir die Definitionen der Funktionen für die einzelnen Akzeptortypen angeben. 3.1 Erweiterte Zustandsübergangsfunktion eines deterministischen Akzeptors Erweiterte Zustandsübergangsfunktion Die erweiterte Zustandsübergangsfunktion ist für deterministische Akzeptoren wie folgt definiert (vgl. Hopcroft/Motwani/Ullman (2002: 58f), Starke (1969: 23/24) und Lawson (2004: 16f)): Definition 15 Die erweiterte Zustandsübergangsfunktion δ* eines deterministischen endlichen Akzeptors Die erweiterte Zustandsübergangsfunktion δ* eines deterministischen Automaten ist eine rechtseindeutige Abbildung von Q Σ * nach Q, die folgende Bedingungen erfüllt, wobei a Σ, w Σ*, q Q: - Basis δ*(q,ε) = q - Induktion δ*(q,wa) = δ(δ*(q,w)a) oder δ*(q,aw) = δ*(δ(q,a)w). Es gilt δ*(q,a) = δ(δ*(q,ε)a) = δ(q,a). Daher kann es keinen Widerspruch zwischen δ und δ* geben für Argumente, auf denen beide Funktionen definiert sind. Man kann daher auch einfach δ für δ*schreiben. Die Herleitung der zweiten Variante δ*(q,aw) = δ*(δ(q,a)w) aus δ*(q,wa) = δ(δ*(q,w)a) zeigt Starke (1969: 24). Sie erfolgt durch Induktion über w. Der Angangsschritt w = ε ist trivial. Im Induktionsschritt erfolgt sie durch Schluss von w auf wb für beliebiges b Σ: δ (q,awb) = δ(δ(q,aw),b) (nach Definition von δ) = δ(δ(δ(q,a),w),b) (nach Induktionsvoraussetzung) = δ(δ(q,a),wb) (nach Definition von δ) Wir geben ein Beispiel für beide Varianten: Karin Haenelt, Endliche Automaten: Akzeptoren Seite 11 von 33

12 0 dete 1 adje 2 nomn 3 Abbildung 6 Beispielautomat Unser Beispielautomat sei der Automat in Abbildung 6. Wir wollen den Zielzustand δ(q 0,(dete,adje,nomn))in diesem Automaten bestimmen. Form 1: Bestimmung nach δ(q,wa) = δ(δ(q,w),a) δ* ( q 0, dete adje nomn ) = δ ( δ* ( q 0, dete adje ), nomn ) = δ ( δ ( δ* ( q 0, dete ), adje ), nomn ) = δ ( δ ( δ ( δ* ( q 0, ε ), dete ), adje ), nomn ) = δ ( δ ( δ ( q 0, dete ), adje ), nomn ) = δ ( δ ( q 1, adje ), nomn ) = δ ( q 2, nomn ) = q 3 Form 2: Bestimmung nach δ(q,aw) = δ(δ(q,a),w) δ* ( q 0, dete adje nomn ) = δ* ( δ ( q 0, dete ), adje nomn ) = δ* ( δ ( δ ( q 0, dete ), adje ), nomn ) = δ* ( δ ( δ ( δ ( q 0, dete ), adje ), nomn ), ε ) = δ* ( δ ( δ ( q 1, adje ), nomn ), ε ) = δ* ( δ ( q 2, nomn ), ε ) = δ* ( q 3, ε ) = q 3 Karin Haenelt, Endliche Automaten: Akzeptoren Seite 12 von 33

13 Während in der ersten Form der Bestimmung die Auflösung rekursiv erfolgt, kann in der zweiten Form der Bestimmung die Auflösung auch direkt schrittweise erfolgen. Die einzelnen Schritte sind: δ(q 0,(dete,adje,nomn) = δ(δ(q 0,dete),(adje,nomn)) = δ(q 1,(adje,nomn)) δ(q 1,(adje,nomn)) = δ(δ (q 1,adje),nomn)) = δ(q 2,nomn)) δ(q 2,nomn)) = δ(δ(q 2,nomn), ε) = δ(q 3, ε) δ(q 3, ε) = q Sprache eines deterministischen endlichen Akzeptors Auf der Basis dieser Definitionen können wir nun auch die Sprache, die von einem DEA akzeptiert oder erkannt wird, definieren. Sei DEA A=(Q,Σ,δ,q 0,F) und w Σ*, dann ist L(A), die Sprache, die durch A erkannt wird, und diese Sprache wird wie folgt definiert: Definition 16 Sprache eines deterministischen endlichen Akzeptors L(A) = {w δ*(q 0,w) F} Das heißt, die Sprache L(A), die von A akzeptiert wird, ist die Menge der Zeichenfolgen w, deren Transition vom Startzustand q 0 zu einem akzeptierenden Zustand führen. Die leere Zeichenfolge wird dann von einem Automaten akzeptiert, wenn der Startzustand ein akzeptierender Zustand ist. 3.2 Erweiterte Zustandsübergangsfunktion eines nicht-deterministischen Akzeptors Erweiterte Zustandsübergangsfunktion Im nicht-deterministischen Automaten ist δ*(q,aw) die Menge aller Zustände, die man durch Eingabe von aw von q aus erreichen kann. Die Definition lautet: Definition 17 Die erweiterte Zustandsübergangsfunktion δ* eines nicht-deterministischen endlichen Akzeptors Die erweiterte Zustandsübergangsfunktion δ* eines nicht-deterministischen Automaten ist eine Abbildung von Q Σ* nach 2 Q, die folgende drei Bedingungen erfüllt, wobei a Σ, w Σ*, q Q: Karin Haenelt, Endliche Automaten: Akzeptoren Seite 13 von 33

14 - δ*(q,ε) = {q} - δ*(q,a) = δ(q,a) - δ*(q,aw) = q Q δ*(δ(q,a),w) Erläuterung - q Q δ*(δ(q,a),w) bedeutet Folgendes: Angenommen δ(q,a) = {q 1,q 2,q 3 }, dann ist δ*(q,aw) = δ*(q 1,w) δ*(q 2,w) δ*(q 3,w) - Als Beispiel wollen wir den Zielzustand δ*(q 0,(dete,adje,nomn)) im Automaten in Abbildung 4 bestimmen. Die einzelnen Schritte sind: δ*(q 0,(dete,adje,nomn)) = δ*( δ(q 0,dete),(adje,nomn)) = δ*(q 1,adje,nomn) δ*(q 2,adje,nomn) = δ*( δ(q 1,adje),nomn) δ*( δ(q 2,adje),nomn) = δ*(q 2,(nomn)) Ø = δ*( δ (q 2,nomn), ε) = δ*(q 3,ε) = q Sprache eines nicht-deterministischen endlichen Automaten Die von einem nicht-deterministischen endlichen Akzeptor akzeptierte Sprache ist Definition 18 Sprache eines nichtdeterministischen endlichen Akzeptors L(A) = {w δ*(q 0,w) F Ø} Das heißt, dass ein nicht-deterministischer endlicher Akzeptor alle Zeichenfolgen akzeptiert, die mindestens einem Pfad durch den Automaten entsprechen, der am Ende der Zeichenfolge einen akzeptierenden Zustand erreicht. 3.3 Erweiterte Zustandsübergangsfunktion eines nicht-deterministischen Akzeptor mit Epsilontransitionen In der Betrachtung der erweiterten Zustandsübergangsfunktion eines nichtdeterministischen Automaten mit ε-transitionen spielen die ε-transitionen eine Karin Haenelt, Endliche Automaten: Akzeptoren Seite 14 von 33

15 entscheidende Rolle. Denn ein Pfad in diesem Automaten schließt auch Kanten ein, die mit ε etikettiert sind und daher ohne Eingabe durchlaufen werden können. Abbildung 7 zeigt ein Beispiel. Der Automat akzeptiert u.a. die Zeichenfolge (nomn), obwohl es keine mit nomn etikettierte Kante vom Startzustand q 0 zu einem der akzeptierenden Zustände (q 3 oder q 5 ) gibt. Die erweiterte Übergangsfunktion wird mit Hilfe des Konzepts der ε-hülle von Zuständen beschrieben. Wir werden daher zuerst das Konzept der ε-hülle vorstellen und dann die erweiterte Zustansdübergangsfunktion im nicht-deterministischen Akzeptor mit Epsilontransitionen angeben. adje q 0 dete q 1 advb q 2 nomn q 3 ε ε prpo q4 temp q 5 das richtig gute Beispiel von heute dete advb adje nomn prpo temp ε Abbildung 7 ein nicht-deterministischer endlicher Akzeptor mit Epsilontransitionen Die Epsilonhülle Die Epsilonhülle eines Zustandes ist nichts Anderes als die Menge der Zustände, die von einem Knoten aus durch Epsilontransition erreichbar sind. Die Definition und ein Beispiel sind in Abbildung 8 gezeigt. Definition 19 Epsilonhülle Die Epsilonhülle eines Zustandes q in einem Automaten A ist eine Menge von Zuständen. Sie besteht aus q selbst und der Menge aller von q aus rekursiv durch Eingabe von ε erreichbaren Zustände. Sie wird notiert als ε-hülle(q). Es gilt Basis q ε-hülle(q) Induktion p ε-hülle(q) und r δ(p,ε) r ε-hülle(q) Karin Haenelt, Endliche Automaten: Akzeptoren Seite 15 von 33

16 ε-hülle(q) Menge aller Knoten p, für die es einen mit ε markierten Pfad von q nach p gibt ε-hülle(q 0 ) = {q 0,q 1,q 2 } ε-hülle(q 3 ) = {q 3,q 5 } ε-hülle(q 1 ) = {q 1,q 2 } ε-hülle(q 4 ) = {q 4 } ε-hülle(q 2 ) = {q 2 } ε-hülle(q 5 ) = {q 5 } adje q dete 0 q advb 1 q nomn prpo 2 q 3 q4 q 5 ε ε ε das richtig gute Beispiel von heute dete advb adje nomn prpo temp Abbildung 8 Epsilonhülle: Definition und Beispiel Erweiterte Zustandsübergangsfunktion Auf der Basis der Epsilonhülle ist die erweiterte Übergangsfunktion wie folgt definiert: Definition 20 Die erweiterte Zustandsübergangsfunktion δ* eines nicht-deterministischen endlichen Akzeptor mit Epsilon-Transitionen Die erweiterte Übergangsfunktion δ* ist eine eindeutige Abbildung von Q Σ* nach 2 Q, die folgende drei Bedingungen erfüllt, wobei a Σ, w Σ*, q Q: δ*(q,ε) = ε-hülle(q) δ*(q,a) = ε-hülle(δ(ε-hülle(q,a)) δ*(q,aw) = ˆ( δ p, w) p ε Hülle( δ ( ε Hülle( q), a)) Am Beispiel der Bestimmung der Transition δ*(q 0,nomn) in dem in Abbildung 8 gezeigten Automaten sei zunächst die zweite Bedingung der Definition illustriert: δ*(q 0,nomn) = ε-hülle ( δ ( ε-hülle ( q 0 ), nomn ) ) = ε-hülle ( δ ( { q 0,q 1,q 2 }, nomn ) ) = Karin Haenelt, Endliche Automaten: Akzeptoren Seite 16 von 33

17 ε-hülle ({ δ(q 0,nomn) δ(q 1,nomn) δ(q 2,nomn) }) = ε-hülle ({ {q 3 } }) = ε-hülle ( {q 3 } ) = {q 3,q 5 } Sodann sei schrittweise die dritte Bedingung am Beispiel der Erkennung der Zeichenfolge (dete,adje,nomn) mit dem Automaten in Abbildung 8 erklärt. Die Verarbeitung beginnt mit δ*(q 0,(dete,adje,nomn)): ε-hülle(q 0 ): zunächst ist die ε-hülle(q 0 ) zu bilden; man erhält {q 0,q 1,q 2 } δ*(ε-hülle(q 0,dete): es ist sind die Transitionen für das Eingabesymbol dete in den Zuständen der Epsilon-Hülle von q 0 zu bilden. Für die Epsilonhülle von q 0 können wir {q 0,q 1,q 2 } einsetzen. Man erhält δ(q 0,dete) δ(q 1,dete) δ(q 2,dete) = {q 1 } }={q 1 } ε-hülle(δ(ε-hülle(q 0,dete)): die Epsilonhülle der im vorangegangenen Schritt ermittelten Zustandsmenge ist zu bilden. Für δ(ε-hülle(q 0,dete) können wir {q 1 } einsetzen. Man erhält ε-hülle(q 1 ) = {q 1,q 2 } p ε-hülle(δ(ε-hülle(q 0 ),dete)): die im vorangegangenen Schritt ermittelte Zustandsmenge {q 1,q 2 } wird mit dem Namen P bezeichnet, ihre Elemente mit den Namen p. ˆ( δ p,( p ε Hülle δ ( ε Hülle( q ), dete)) ( 0 adje, nomn)) : Wir wissen nun, dass wir bei Eingabe von dete in Zustand q 0 zu den Zielzuständen P = {q 1,q 2 } gelangt sind. Von diesen Zuständen ausgehend ist nun die Restkette adje,nomn zu betrachten: δ*(q 1,(adje,nomn)) δ*(q 2,(adje,nomn)). Wir haben für p ε-hülle(δ(ε-hülle(q 0 ),dete)) eingesetzt: p {q 1,q 2 }. Durch Umformung von ˆ( δ p,( adje, nomn)) erhält man p q, q } { 1 2 δ*(q 1,(adje,nomn)) δ*(q 2,(adje,nomn)) Die Ausdrücke δ*(q 1,(adje,nomn)) und δ*(q 2,(adje,nomn)) sind nun ihrerseits nach dem Prinzip der vorangegangenen Schritte weiterzuverarbeiten. Schließlich erhält man als Ergebnis δ(q 0,(dete,adje,nomn)) = {q 3,q 5 }}. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 17 von 33

18 3.3.3 Sprache eines nicht-deterministischen endlichen Automaten mit Epsilon- Transitionen Die Sprache, die durch einen nicht-deterministischen Akzeptor mit Epsilon-Transitionen erkannt wird, kann dann wie folgt definiert werden: Definition 21 Sprache eines nicht-deterministischen endlichen Automaten mit Epsilontransitionen L(A) = {w δ(q0,w) F Ø} Erkannt werden also alle Zeichenfolgen, die von einem Startzustand q 0 ausgehend bei Eingabe der Zeichenfolge w in mindestens einen Zielzustand führen. 4 Erkennungsalgorithmen In den folgenden Abschnitten werden die Algorithmen zur Verarbeitung einer Eingabezeichenfolge beschrieben. Eingabe der Algorithmen sind jeweils eine Zeichenfolge und ein Akzeptor. Kern der Algorithmen ist die Zustandsübergangsfunktion. 4.1 Erkennung einer Zeichenfolge mit einem deterministischen endlichen Akzeptor Für die Erkennung mit einem deterministischen endlichen Akzeptor stellen wir den Algorithmus in der Form vor, in der Jurafsky und Martin (2000: 37) ihn beschreiben. Der Algorithmus ist für totale und partielle Übergangsfunktionen im Wesentlichen identisch. Für partielle Übergangsfunktionen ist lediglich zusätzlich für die Fälle vorzusorgen, in denen ein Zustandsübergang für eine gegebene Eingabe nicht definiert ist (Zeile 8 und 9 in Algorithmus 1). Eingabe Zeichenfolge, deterministischer Akzeptor Ausgabe accept oder reject Methode 1 function D-ERKENNER(tape, transition-table) returns accept oder reject 2 index Anfangsposition des Eingabebandes 3 current-state Startzustand des Automaten Karin Haenelt, Endliche Automaten: Akzeptoren Seite 18 von 33

19 4 loop 5 if Ende der Eingabe ist erreicht then 6 if current-state ist ein akzeptierender Zustand then return accept 7 else return reject 8 elseif transition-table[current-state,tape[index]] ist leer then 9 return reject 10 else 11 current-state transition-table[current-state,tape[index]] 12 index index+1 13 end Algorithmus 1 Algorithmus zur Erkennung einer Zeichenfolge mit einem deterministischen Akzeptor transition-table[current-state, tape[index]] Eingabeband Akzeptor dete adje nomn DEA-p Σ Q adje dete nomn F Abbildung 9 index Identifikation des Zielzustandes über die Daten transition-table, tape und Eingabe für den Algorithmus sind ein Eingabeband (tape) mit der Zeichenfolge und ein deterministischer Akzeptor (transition-table). Der Akzeptor ist hier als zweidimensionales Array angegeben. Für größere Automaten sollten aber besser Hashtabellen verwendet werden. Die Ausgabe ist eine Meldung, die entweder accept oder reject lautet, je nachdem, ob die Eingabe zu der Sprache gehört, die durch den Automaten akzeptiert wird, oder nicht. Der Algorithmus verwendet vier Datenobjekte, nämlich tape, das Eingabeband, die Variable index, die als Index auf die Positionen des Eingabebandes verwendet wird, transition-table, Karin Haenelt, Endliche Automaten: Akzeptoren Seite 19 von 33

20 die Zustandsübergangstabelle, und current-index, die Variable, die als Index auf die Zustände der Zustandsübergangstabelle verwendet wird. Hinzu kommt current-state als einzige Variable zur Speicherung des Verarbeitungsstandes. Der Algorithmus beginnt mit einer Initialisierung der beiden Variablen index und current-state. index erhält den Wert der Anfangsposition des Eingabebandes (Zeile 2), und current-state erhält den Wert des Startzustandes des Automaten (Zeile 3). Daran schließt sich eine Schleife an (Zeilen 4-13), die solange durchlaufen wird, bis das Ende der Eingabe (Zeile 5) oder ein reject-fall bei fehlender Transition (Zeilen 8 und 9) erreicht ist. In der Schleife wird die Eingabezeichenfolge Symbol für Symbol durchlaufen und ein entsprechender Pfad durch den Automaten verfolgt. In der Schleife sind drei Fälle vorgesehen: das Ende der Eingabe ist erreicht (Zeilen 5-7), ein Zustandsübergang ist nicht definiert (dies ist die Erweiterung für partielle Zustandsübergangsfunktionen) (Zeilen 8-9), ein Zustandsübergang wird durchgeführt (Zeilen 10-12). Abbildung 9 zeigt eine Illustration der Bestimmung eines Zustandsübergangs (Zeile 11). Die Zeichenfolge, die im Beispiel in der Abbildung untersucht werden soll, ist die Folge (dete,adje,nomn). Die Illustration zeigt die Verarbeitung des ersten Symbols der Zeichenfolge. Vor dieser Verarbeitung hat index den Wert 0 (Initialwert). tape[index] ist also tape[0] und hat den Wert dete. current-state hat den Wert 0 (Initialwert). Aus diesen Werten ergibt sich der Zustandsübergang: transition-table[current-state,tape[index]] ist also transition-table[0,dete] und hat den Wert 1. Dieser Zustand wird der neue Wert von currentstate. Anschließend wird index eine Position weitergerückt (Zeile 12). Mit diesen Werten beginnt dann der nächste Schleifendurchlauf. 4.2 Erkennung einer Zeichenfolge mit einem nicht-deterministischen endlichen Akzeptor In nicht-deterministischen Akzeptoren kann es für ein Eingabesymbol in einem Zustand mehr als einen Zustandsübergang geben. Eine nicht-deterministische Traversion muss daher alternative Lösungshypothesen verfolgen können. Lösungsalternativen können in Sackgassen führen oder bis zum Ende bestehen bleiben. So kann es auch Mehrfachlösungen geben. Das Finden eines richtigen Pfades durch den Automaten (Graphen) kann als ein Graphen- Suchproblem augefasst werden. Der Suchraum umfasst die Menge aller möglichen Pfade durch den Automaten und ist definiert durch die Struktur des Automaten. Zur effizienten Lösung von Suchproblemen in Graphen sind Standardalgorithmen bekannt, die man auch für Karin Haenelt, Endliche Automaten: Akzeptoren Seite 20 von 33

21 endliche Automaten verwenden kann. Suchverfahren, die sich zur Verfolgung alternativer Lösungshypothesen in endlichen Automaten eignen, sind: Look-Ahead (nicht geeignet wenn es Mehrfach-Lösungen gibt, da dann eine begrenzte Vorausschau keine Entscheidung bringt ) Verfolgen der Alternativen mit Agenda paralleles Verfolgen (Agenda als queue, breadth-first-suche) sequentielles Verfolgen (backtracking)(agenda als stack, depth-first- Suche) Beim Look-Ahead werden beim Auftreten von Alternativen nachfolgende Symbole der Eingabezeichenfolge betrachtet, um zu prüfen, welche der Alternativen sich mit den nachfolgenden Symbolen weiter fortsetzen lässt. Wieweit nach rechts vorausgeschaut werden soll, d.h. wieviele weitere Symbole der Eingabezeichenfolge betrachtet werden sollen, wird in der Look-Ahead-Funktion festgelegt. Häufig wird mit einem Look-Ahead von 1 gearbeitet. Die Verwendung des Look-Ahead-Verfahrens ist nur sinnvoll, wenn es keine Mehrfach-Lösungen gibt, und wenn nach sehr kurzer Zeit (z.b. look-ahead(1)) nur eine der Alternativen übrig bleibt. Wenn es Mehrfachlösungen gibt oder die Alternativen über längere Pfade erhalten bleiben, ist das Verfolgen mit einer Agenda besser geeignet. Eine Agenda stellt sicher, dass alle Alternativen durchsucht werden, und dass gemeinsame (Teil-)Pfade der Alternativen nur einmal besucht werden. Eine Agenda (lateinisch: das zu Tuende) ist eine Liste, in die die Aufgaben, die weiter zu verfolgen sind, eingetragen werden. Bei der Traversion durch einen nicht-deterministischen endlichen Automaten sind die Aufgaben, die in die Agenda eingetragen werden, Paare von Zuständen und Positionen auf dem Eingabeband [state,index]. Diese Paare definieren eindeutig den jeweils aktuellen Stand der Analyse, der als Ausgangsbasis für die weitere Traversion dient. Es gibt verschiedene Strategien für die Reihenfolge, in der Aufgaben auf die Agenda geschrieben und von der Agenda zur Verarbeitung gelesen werden. Beim parallelen Verfolgen werden alle Alternativen jeweils schrittweise mit dem Voranschreiten der Betrachtung der Eingabezeichenfolge fortgeführt. Die Aufgaben werden am Ende der Agenda hinzugefügt, und am Anfang entnommen. Dies ist das Prinzip einer Queue. Entsprechend erhält man den Effekt des parallelen Verfolgens der alternativen Pfade, wenn man die Agenda als eine Queue implementiert. Das parallele Karin Haenelt, Endliche Automaten: Akzeptoren Seite 21 von 33

22 Verfolgen entspricht der klassischen Graphtraversionsmethode in breadth-first-reihenfolge. Im Backtracking-Verfahren werden die Alternativen der Reihe nach jeweils bis zum Ende der Eingabezeichenfolge verfolgt. Dabei wird stets die jeweils zuletzt aufgetretene Aufgabe zuerst verfolgt und dann kommen sukzessive die vorher aufgetretenen Aufgaben an die Reihe. Die Aufgaben werden immer am Anfang der Agenda hinzugefügt, und am Anfang entnommen. Dies ist das Prinzip eines Stacks (Stapelspeicher). Entsprechend erhält man den Effekt des Backtrackings, wenn man die Agenda als Stack implementiert. Das Backtracking- Verfahren entspricht der klassischen Graphtraversionsmethode in depth-first-reihenfolge. NEA Q 0 - {1,2} Σ adje dete nomn Eingabe: dete, adje, nomn dete F init 0 dete 1 adje 2 nomn 3 #2 2 #1 nicht fortsetzbar #3 #4 Verfahren Aufgabenfolge parallel init #1 #2 #3 #4 sequentiell init #2 #1 #3 #4 Abbildung 10 Traversion eines nicht-deterministischen Akzeptors: Traversionsfolge bei paralleler und sequentieller Traversion In der Effizienz sind beide Verfahren äquivalent, wenn der gesamte Suchraum durchsucht werden muss. Die ist bei der Verwendung endlicher Akzeptoren der Fall. Abbruchkriterien für falsche Hypothesen sind: a) für ein Eingabesymbol ist im erreichten Zustand kein Zustandsübergang definiert, oder b) das Ende der Eingabezeichenfolge korrespondiert nicht mit einem akzeptierenden Zustand. Das bedeutet, dass die Entscheidung allein von der Eingabezeichenfolge und der Struktur des Automaten abhängt. Im endlichen Automaten gibt es kein Gedächtnis und keinen zusätzlichen Speicher, der weitere Entscheidungskriterien bereithalten könnte. Daher ist in jedem Fall das vollständige Absuchen aller Hypothesen erforderlich. Abbildung 10 zeigt die Traversion der Zustände des Automaten in der Aufgabenfolge beim parallelen Verfolgen und beim sequentiellen Verfolgen. In beiden Fällen werden dieselben Zustände besucht. Die Fälle unterscheiden sich nur in der Reihenfolge, in der die Zustände besucht werden. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 22 von 33

23 Abbildung 11 zeigt die Agenda in der Version als Queue. Kern der Agenda ist das Aufgabenpaar [Zielzustand, nächste Eingabeposition]. Die weitere Information dient lediglich der Erläuterung. Die Agenda ist in der Abbildung als Übersichtstabelle aller anfallenden Aufgaben dargestellt. Es befinden sich aber niemals alle Aufgaben gleichzeitig auf der Agenda. Die Aufgaben werden vielmehr in der folgenden Reihenfolge auf die Agenda geschrieben und von ihr entfernt: add #1, add #2, remove #1, add #3, remove #2, remove #3, add #4, remove #4.Die Verarbeitung beginnt in Zustand 0 an Eingabeposition 0. An Eingabeposition 0 wird das Eingabezeichen dete gelesen. Für die Eingabe dete in Zustand 0 sind die Zielzustände 1 und 2 definiert. Hierfür werden Aufgabe #1 und #2 als aktueller Bearbeitungsstand auf die Agenda geschrienen: Aufgabe #1[Zielzustand 1, nächste Eingabeposition 1], Aufgabe #2[Zielzustand 2, nächste Eingabeposition 1]. Als nächstes wird Aufgabe #1 vom Anfang der Agenda entfernt und bearbeitet. Aufgabe #1 gibt Zustand 1 und Eingabeposition 1 vor. An Position 1 steht in der Eingabezeichenfolge adje. Für die Eingabe adje ist in Zustand 1 der Zielzustand 3 definiert. Damit wird der Bearbeitungsstand [Zielzustand 3, nächste Eingabeposition 2] erreicht. Für diesen Stand wird Aufgabe #3 an das Ende der Agenda angefügt. Danach wird Aufgabe #2 vom Anfang der Agenda entfernt und bearbeitet. An Eingabeposition 1 steht adje. Für die Eingabe adje ist aber in Zustand 2 keine Transition definiert. Die Bearbeitung von Aufgabe #2 führt also nicht dazu, dass eine weitere Aufgabe auf die Agenda geschrieben wird. Die Verarbeitung von Aufgabe #3 führt zur neuen Aufgabe #4. Bei Erreichen des Endes der Eingabezeichenfolge wird dann geprüft, ob ein akzeptierender Zustand erreicht wurde. Agenda - Queue - parallel - breadth-first remove task Eingabezeichen add task erkannte # Zustand Eingabeq # Ziel- nächste Eingabe- Position zustand q Eingabe- Position zeichenfolge init 0 0 dete #1 1 1 dete #2 2 1 dete #1 1 1 adje #3 2 2 dete, adje Karin Haenelt, Endliche Automaten: Akzeptoren Seite 23 von 33

24 #2 2 1 adje - #3 2 2 nomn #4 3 3 dete, adje, nomn # accept Aufgabe: ein Paar aus [Zielzustand, nächste Eingabeposition] Abbildung 11 Traversion eines nicht-deterministischen Akzeptors: Agenda mit parallelem Verfolgen der Hypothesen (mit einer Queue) Abbildung 12 zeigt die Übersicht der Aufgabenfolge bei Abarbeitung mit einem Stack. Auch hier sind nicht alle Aufgaben gleichzeitig auf dem Stack. Agenda - Stack - sequentiell - depth-first pop task Eingabezeichen push task erkannte # Zustand Eingabeq # Ziel- nächste Eingabe- Position zustand q Eingabe- Position zeichenfolge init 0 0 dete #1 1 1 dete #2 2 1 dete #2 2 1 adje - #1 1 1 adje #3 2 2 dete, adje #3 2 2 nomn #4 3 3 dete, adje, nomn # accept Abbildung 12 Traversion eines nicht-deterministischen endlichen Akzeptors: Agenda mit sequentiellem Verfolgen der Hypothesen (mit einem Stack) Jurafsky und Martin (2000: 37) spezifizieren den Algorithmus, der für nicht-deterministische endliche Akzeptoren mit (Zeile 18) und ohne Epsilontransitionen verwendet werden kann, wie folgt: Karin Haenelt, Endliche Automaten: Akzeptoren Seite 24 von 33

25 Eingabe Zeichenfolge, nicht-deterministischer Akzeptor Ausgabe accept oder reject Methode 1 function ND-ERKENNER(tape, transition-table) return accept oder reject 2 agenda {(Startzustand des Akzeptors, Anfang des Eingabebandes) 3 current-search-state NEXT(Agenda) 4 loop 5 if ACCEPT-STATE?(current-search-state) returns true then 6 return accept 7 else 8 agenda agenda ERZEUGE-FOLGE-ZUSTÄNDE(currentsearch-state) 9 if agenda ist leer then 10 return reject 11 else 12 current-search-state NEXT(agenda) 13 end 14 function ERZEUGE-FOLGE-ZUSTÄNDE(current-state) return eine Menge von search-states 15 current-node Zustand des aktuellen search-state 16 index index auf das Eingabeband im aktuellen search-state 17 return eine Liste von search-states aus der Transitionstabelle wie folgt: 18 (transition-table[current-node,ε], index) 19 (transition-table[current-node, tape[index]], index + 1) 20 function ACCEPT-STATE?(search-state) returns true oder false 21 current-node Zustand des aktuellen search-state Karin Haenelt, Endliche Automaten: Akzeptoren Seite 25 von 33

26 22 index index auf das Eingabeband im aktuellen search-state 23 if index ist am Ende des Eingabebandes and current-node ist ein accept-state 24 return true 25 else 26 return false Algorithmus 2 Algorithmus zur Erkennung einer Zeichenfolge mit einem deterministischen Akzeptor Mit search-state wird der aktuelle Bearbeitungsstand bezeichnet. Er wird angegeben als ein Paar aus [Zustand, Position des Eingabebandes]. Zeile 18 berücksichtigt die ε-hülle: in jedem Zustand wird geprüft, ob eine ε-transition definiert ist. Ist dies der Fall, wird der Übergang zum entsprechenden Zustand durchgeführt, ohne dass der Index auf die Eingabezeichenfolge weitergerückt wird. Mit jeder Bearbeitung einer Aufgabe werden so auch schrittweise alle Zustände der ε-hülle durchgearbeitet. 5 Äquivalenzen und Transformationen Obwohl die einzelnen Akzeptortypen unterschiedliche Ausdrucksmittel zur Verfügung stellen, akzeptieren sie keine unterschiedlichen Klassen von Sprachen. Alle vier Arten von Akzeptoren sind äquivalent bezüglich der Sprache, die sie akzeptieren, und alle vier Arten sind ineinander überführbar. Die unterschiedlichen Ausdrucksmittel dienen lediglich dem Beschreibungskomfort. Die Beispiele in Abbildung 2 bis Abbildung 5 zeigen Akzeptoren, die bezüglich der Sprache, die sie akzeptieren, äquivalent sind. Das Eingabealphabet Σ ist in allen gezeigten Fällen {adje, dete,nomn}, und alle vier Beispiele akzeptieren die folgende Menge von Zeichenfolgen: {(dete, adje, nomn), (dete, nomn), (nomn)}. Andere Zeichenfolgen werden von keinem der gezeigten Akzeptoren akzeptiert. Definition 22 Äquivalenz zweier Akzeptoren Zwei Akzeptoren A 1 und A 2 heißen äquivalent, wenn sie dieselben Sprachen akzeptieren: L(A 1 ) = L(A 2 ). Karin Haenelt, Endliche Automaten: Akzeptoren Seite 26 von 33

27 Für die Verarbeitung großer Datenmengen sind meist deterministische Automaten gewünscht, weil sie das bessere Laufzeitverhalten haben. Die Verwaltung der Alternativen mit einer Agenda kostet Rechenzeit. Demgegenüber können nicht-deterministische Automaten kompakter sein als ihre deterministischen Varianten. Für die Modellierung arbeitet man gern mit unterschiedlichen Varianten, weil sie unterschiedliche Vorzüge bei der Darstellung haben. Beispiele sind: Für Beweise bestimmter Eigenschaften der Automaten sowie für Beweise der Äquivalenz von Sprachklassen, die von regulären Ausdrücken beschrieben und von endlichen Akzeptoren akzeptiert werden, sind die Umformungsvarianten hilfreich. Für die Beschreibung von Sprachen ist es oftmals viel zu aufwändig, alle möglichen Zeichenfolgen explizit aufzuzählen. Auch die Regeln geben Menschen gern in ökonomischer kompakter Weise an. So ist es beispielsweise in der Modellierung der Nominalphrasen des Deutschen naheliegender zu sagen, dass eine Nominalphrase mit oder ohne Artikel (dete ε) beginnen und eine optionale Adjektivfolge haben kann (adje*), als alle möglichen Zeichenfolgen einzeln explizit aufzuzählen. Man schreibt also eher (dete ε) adje* nomn als eine kompakte Regel als eine Menge expliziter Regeln. Ein nicht-deterministischer Akzeptor mit Epsilonübergängen (Abbildung 5) ermöglicht eine 1:1-Darstellung zwischen regulärem Ausdruck und seinem zugehörigen Automaten. Manche Operationen sind mit einer der Varianten direkter darzustellen als mit den anderen. So lässt sich beispielsweise die Vereinigung zweier Automaten leicht unter Verwendung von Epsilontransitionen beschreiben. Abbildung 13 zeigt eine Vereinigung zweier Automaten unter Verwendung von Epsilontransitionen. Im Beispiel werden ein Automat mit Verbstämmen und ein Automat mit Substantivstämmen zu einem Stammautomaten vereinigt. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 27 von 33

28 00 ε b a h n w a l d ε 01 ε b a u l a c h ε Abbildung 13 Vereinigung zweier Akzeptoren unter Verwendung von Epsilontransitionen 5.1 Vervollständigung eines deterministischen Akzeptors mit partieller Übergangsfunktion Ein deterministischer endlicher Akzeptor mit partieller Übergangsfunktion (DEA-p) kann sehr einfach in einen deterministischen endlichen Akzeptor mit totaler Übergangsfunktion (DEAt) überführt werden. Hierfür führt man in DEA-t einfach gegenüber DEA-p einen zusätzlichen nicht-akzeptierenden Zustand f ein, der die Eigenschaft eines Fangzustandes hat. Jede Eingabe in Zustand f führt in Zustand f zurück. Anschließend wird zu jedem anderen Zustand q f für jedes Eingabesymbol a, für das in DEA-p im Zustand q kein Zustandsübergang definiert ist, in DEA-t ein Zustandsübergang zu Zustand f definiert. Zustand f wird englisch meist sink state genannt. Im Deutschen gibt es eine Reihe von Benennungen (z.b. Mülleimerzustand, Misthaufenzustand). Abbildung 14 zeigt die beiden Varianten eines Akzeptors. Formal kann die Umwandlung auch durch die Teilmengenkonstruktion beschrieben werden, mit der zu einem nicht-deterministischen endlichen Akzeptor ein äquivalenter deterministischer endlicher Akzeptor konstruiert wird. Dabei wird die Teilmengenkonstruktion auf den Akzeptor mit partieller Übergangsfunktion angewandt. Der Fangzustand entspricht unter den Teilmengen der Zustände, die hierbei konstruiert werden, der Teilmenge der leeren Menge Ø. Die Teilmengenkonstruktion wird im folgenden Abschnitt vorgestellt. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 28 von 33

29 DEA-p Σ Q adje dete nomn F DEA-t Σ Q adje dete nomn F dete 1 adje 2 nomn 3 nomn nomn dete, adje,nomn adje 0 dete nomn dete, adje,nomn 4 dete dete, 1 adje 2 nomn 3 nomn Abbildung 14 oben: deterministischer endlicher Akzeptor mit partieller Übergangsfunktion unten: äquivalenter deterministischer endlicher Akzeptor mit totaler Übergangsfunktion 5.2 Überführung eines nicht-deterministischen endlichen Akzeptors in einen deterministischen endlichen Akzeptor Für jeden nicht-deterministischen endlichen Akzeptor (NEA) läßt sich ein deterministischer endlicher Akzeptor (DEA) konstruieren, der dieselbe Sprache akzeptiert, wie der nichtdeterministische endliche Akzeptor. Die Konstruktion erfolgt über die Teilmengenkonstruktion oder auch Potenzmengenkonstruktion. Die Potenzmenge einer Menge M ist die Menge aller Teilmengen von M, dazu gehört auch die leere Menge. Die Grundidee der Teilmengenkonstruktion ist folgende: Im nicht-deterministischen endlichen Akzeptor kann es in einem Zustand für ein Eingabesymbol a Übergänge zu mehreren Zielzuständen geben. So gibt es im Beispiel in Abbildung 15 im NEA in Zustand 0 bei Eingabe von dete einen Übergang zu Zustand 1 und zu Zustand 2. Bei der Determinisierung werden diese Übergänge zusammengelegt. Hierfür muss der neue Zielzustand die Eigenschaften (Übergänge) des ursprünglichen Zustandes 1 und 2 haben, oder anders ausgedrückt: der Zielzustand im DEA ist die Zusammenfassung einer Menge von Zuständen im NEA. Wir können diesen Zustand, der die Zustände 1 und 2 zusammenfasst, Zustand [1,2] nennen. Je nach Ausprägung eines NEA kann es vorkommen, dass als Zusammenfassungen alle möglichen Teilmengen der Menge der Zustände des NEA auftreten. Daher hat ein DEA, der zu einem NEA mit n Zuständen äquivalent ist, im Extremfall 2 n Zustände. Theoretisch erfolgt die Konstruktion eines zu einem NEA äquivalenten DEA nach folgendem Prinzip: Karin Haenelt, Endliche Automaten: Akzeptoren Seite 29 von 33

30 Die Menge aller Teilmengen der Zustandsmenge des NEA bildet die Menge der Zustände des DEA, d.h. Zustände des DEA sind Repräsentanten von Mengen von Zuständen des NEA. Zur Illustration kann ein Zustand eines DEA benannt werden nach den Elementen der Teilmenge, die er zusammenfasst, also z.b. [1,2]. Die Zustandsübergänge des DEA kann man dann auffassen als Zustandsübergänge von einem Teilmengenrepräsentanten zu einem anderen. Um für den DEA in einem Zustand [q] für ein Eingabesymbol a den Zielzustand [r] zu bestimmen, muss man im NEA für alle Zustände, die in [q] zusammengefasst sind, die Zielzustände für das Eingabesymbol a ermitteln. Der Repräsentant der Vereinigungsmenge dieser Zustände ist dann der Zielzustand [r] im DEA. Eine solche Konstruktion ist in Abbildung 15 illustriert. Die Illustration zeigt in Spalte Q die Teilmengen der Zustandsmenge des NEA. Die Zustände des DEA sind Repräsentanten dieser Teilmengen. Auch die Zielzustände der Zustandsübergänge des DEA sind mit den Mengen- Namen angegeben. Der DEA-Zustand mit der Benennung [-,1,2,-] ist z.b. die Zusammenfassung der NEA-Zustände 1 und 2. Um den Zielzustand zu bestimmen, in den der DEA bei Eingabe von adje in Zustand [-,1,2,-] übergeht, muss man feststellen, in welchen Zustand der NEA bei Eingabe von adje in Zustand 1 und in Zustand 2 übergeht. δ NEA (1,adje) = {2} und δ NEA (2,adje) = Ø. Die Vereinigung dieser Mengen ist {2} {2} = Ø. Der Zielzustand zu δ DEA ([-,1,2,-],adje) ist der Repräsentant der Vereinigungsmenge dieser Zustände, also [-,-,2,-]. Die rein schematische Konstruktion erzeugt sehr viele Zustände, die vom Anfangszustand nicht erreichbar sind und daher im resultierenden Automaten in der Praxis auch keine Rolle spielen. Anstatt all diese Zustände zuerst zu produzieren und dann zu löschen, kann man gleich ein lazy-implementation-verfahren wählen. Bei diesem Verfahren beginnt die Konstruktion in Zustand 0, und es werden nur dann neue Zustände hinzugefügt, wenn sie das Ziel einer Transition sind, die von einem bereits hinzugefügten Zustand ausgeht. Auf diese Weise entstehen in der Beispielkonstruktion nur die in der Tabelle unterlegten Zustände. In der Spalte Q-neu sind für diese Zustände Namen in Form einer neuen Durchnummerierung angegeben. Diese Namen sind auch in der zugehörigen graphischen Darstellung auf der rechten Seite der Abbildung verwendet. Karin Haenelt, Endliche Automaten: Akzeptoren Seite 30 von 33

Endliche Automaten. Akzeptoren. Karin Haenelt

Endliche Automaten. Akzeptoren. Karin Haenelt Endliche Automaten Akzeptoren Karin Haenelt 1 Inhalt Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen Varianten endlicher Akzeptoren: DEA, NEA, ε-nea Zustandsübergangsfunktionen

Mehr

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

Endliche Automaten. Deterministische Akzeptoren, nichtdeterministische Akzeptoren, nichtdeterministische Akzeptoren mit Epsilon-Übergängen Endliche Automaten Deterministische Akzeptoren, nichtdeterministische Akzeptoren, nichtdeterministische Akzeptoren mit Epsilon-Übergängen Karin Haenelt 1 Themen 1. Endliche Automaten: Übersicht 2. Akzeptoren

Mehr

Finite-State Technology

Finite-State Technology Finite-State Technology Teil III: Automaten 1 Wiederholung Formale Grammatiken sind entweder axiomatische Systeme mit Ableitungsregeln oder Automaten. Beide beschreiben formale Sprachen. Formale Sprachen

Mehr

Operationen auf endlichen Akzeptoren und Transduktoren

Operationen auf endlichen Akzeptoren und Transduktoren Operationen auf endlichen Akzeptoren und Transduktoren Kursfolien Karin Haenelt Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, 08.07.2006 ( 1 05.04.2004) 1 Notationskonventionen L reguläre

Mehr

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

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER Endliche Automaten - Kleene STEPHEN KLEENE (99-994) 956: Representation of events in nerve nets and finite automata. In: C.E. Shannon und

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Es gibt drei unterschiedliche Automaten:

Es gibt drei unterschiedliche Automaten: Automatentheorie Es gibt drei unterschiedliche Automaten: 1. Deterministische Endliche Automaten (DEA) 2. Nichtdeterministische Endliche Automaten (NEA) 3. Endliche Automaten mit Epsilon-Übergängen (ε-

Mehr

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

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen Dr. Theo Lettmann Paderborn, den 9. Januar 24 Abgabe 9. Januar 24 Übungen zur Vorlesung Modellierung WS 23/24 Blatt Musterlösungen AUFGABE 7 : Es sei der folgende partielle deterministische endliche Automat

Mehr

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

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Professur für Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Determinisierung von endlichen Automaten

Determinisierung von endlichen Automaten Thomas Hanneforth Institut für Linguistik Universität Potsdam May 14, 2014 Thomas Hanneforth (Universität Potsdam) May 14, 2014 1 / 21 Outline 1 Einführung 2 Beispiel 3 Ein verbesserter Determinisierungsalgorithmus

Mehr

Operationen auf endlichen Automaten und Transduktoren

Operationen auf endlichen Automaten und Transduktoren Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer

Mehr

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

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

2.6 Verdeutlichung verwendeter Begriffe

2.6 Verdeutlichung verwendeter Begriffe 2.6 Verdeutlichung verwendeter Begriffe endlich/finit: die Mengen der Zustände und der Ein- bzw. Ausgabezeichen sind endlich synchron: die Ausgabezeichen erscheinen synchron mit dem Einlauf der Eingabezeichen

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

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

Endliche Automaten. Endliche Automaten J. Blömer 1/24 Endliche Automaten Endliche Automaten J. Blömer /24 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben)

Mehr

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

Endliche Automaten. Endliche Automaten J. Blömer 1/23 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

Mehr

Endliche Automaten Jörg Roth 101

Endliche Automaten Jörg Roth 101 Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

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

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Operationen auf endlichen Akzeptoren und Transduktoren

Operationen auf endlichen Akzeptoren und Transduktoren 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

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

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

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (III) 7.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch, 10.06.2015, D028,

Mehr

1 Eliminieren von ɛ-übergängen

1 Eliminieren von ɛ-übergängen 1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,

Mehr

Thomas Behr. 17. November 2011

Thomas Behr. 17. November 2011 in in Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 17. November 2011 c 2011 FernUniversität in Hagen Outline in 1 2 3 4 5 6 - Was ist das? in über

Mehr

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}}

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}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik

Mehr

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

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d) Zusammenfassung der letzten LVA Ein nichtdeterministischer endlicher Automat (NEA) ist ein 5-Tupel (Q, Σ, δ, S, F), sodass Q eine endliche Menge von Zustände Σ eine endliche Menge, das Eingabealphabet;

Mehr

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

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

5.4 Endliche Automaten

5.4 Endliche Automaten 5.4 Endliche Automaten Ein endlicher Automat ist ein mathematisches Modell eines Systems mit Ein- und Ausgaben. Ein solches System befindet sich immer in einem internen Zustand. Beispiele Ein Register

Mehr

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

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Diskrete Mathematik Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Zusammenfassung der letzten LVA Definition Ein ɛ-nea N = (Q, Σ, δ, S, F) ist gegeben durch eine endliche

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

Endliche Automaten. Endliche Automaten 1 / 102

Endliche Automaten. Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

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

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 07.11.2017 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Frage Frage: Ist der

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/31 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

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

Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( ) Endliche Automaten Minimierung Karin Haenelt 1 Inhalt Vorteile eines Minimalautomaten Fälle für die Minimierung Minimierungsalgorithmus für deterministische endliche Automaten (mit totaler Übergangsfunktion)

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Induktive Definition

Induktive Definition Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}

Mehr

Reguläre Grammatiken/Sprachen und endliche Automaten

Reguläre Grammatiken/Sprachen und endliche Automaten Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten 30.04.2015 Viorica Sofronie-Stokkermans Matthias Horbach e-mail: sofronie@uni-koblenz.de, horbach@uni-koblenz.de 1 Bis jetzt 1. Motivation

Mehr

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der

Mehr

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

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

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Vorlesung von Prof. Dr. Sven Rahmann im Sommersemester 2008 Kapitel 4 Reguläre Ausdrücke Webseite zur Vorlesung http://ls11-www.cs.tu-dortmund.de/people/rahmann/teaching/ss2008/algorithmenaufsequenzen

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr