Beispiel: A d zum Automaten, der OTTO im Text erkennt. Zur Erinnerung: der nichtdeterministische Automat sieht so aus:

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

Die Nerode-Relation und der Index einer Sprache L

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Das Pumping Lemma der regulären Sprachen

Endliche Automaten Jörg Roth 101

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

Theorie der Informatik

Theoretische Grundlagen der Informatik

Das Pumping Lemma: Ein Anwendungsbeispiel

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Grenzen der Regularität

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

Die mathematische Seite

Grundlagen der Theoretischen Informatik

Das Pumping-Lemma Formulierung

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

bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln.

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

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Theoretische Grundlagen der Informatik

Theoretische Informatik Mitschrift

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

Einführung in die Theoretische Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Theoretische Informatik I

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

Lösungsvorschläge Blatt 4

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

Grundlagen der Theoretischen Informatik

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Zentralübung zur Vorlesung Theoretische Informatik

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Automaten und Formale Sprachen SoSe 2013 in Trier

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Grundlagen der theoretischen Informatik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

1 Eliminieren von ɛ-übergängen

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

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

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

2.2 Reguläre Sprachen Endliche Automaten

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Formale Sprachen Jörg Roth Formale Sprachen

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

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

Typ-3-Sprachen. Das Pumping-Lemma

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

Theoretische Grundlagen der Informatik

Automaten und Formale Sprachen ε-automaten und Minimierung

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

5.2 Endliche Automaten

Theoretische Grundlagen des Software Engineering

Grundlagen der Theoretischen Informatik

2.2 Nichtdeterministische endliche Automaten

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

WS07/08 Automaten und Formale Sprachen 5. Vorlesung

Grundlagen der Theoretischen Informatik

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

Kurz-Skript zur Theoretischen Informatik I

Mengenlehre und vollständige Induktion

Ogden s Lemma: Der Beweis (1/5)

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

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

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Theoretische Informatik

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

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

Einführung in die Theoretische Informatik

Das Halteproblem für Turingmaschinen

I.2. Endliche Automaten (ohne Ausgabe)

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Proseminar Automatentheorie. Thema: Berry Sethi Algorithmus. Von Christopher Haas

Abschlusseigenschaften

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

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

DisMod-Repetitorium Tag 4

Beweis des Pumping Lemmas

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

Grundlagen der Informatik II

1 Lokale Sprachen. 2 Verallgemeinerung

Einführung in die Theoretische Informatik

Klausur SoSe Juli 2013

Lösungen zu Übungsblatt 4

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

Die durch einen regulären Ausdruck beschriebene Sprache ist definiert durch:

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

Theoretische Grundlagen des Software Engineering

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Automaten und Formale Sprachen SoSe 2013 in Trier

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

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

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Berechenbarkeits- und Komplexitätstheorie

Transkript:

Endliche Automaten Jörg Roth 80 Beispiel: A d zum Automaten, der TT im Text erkennt. Zur Erinnerung: der nichtdeterministische Automat sieht so aus: T T S 1 S 2 S 3 S 4 immer immer δ d (es sind nur S mit S aufgeführt): T T { } {,S 1 } { } { } {,S 2,S 3 } {,S 1,S 4 }{,S 3 } { } {,S 1 } {,S 1 } {,S 2 } { } {,S 2,S 4 } {,S 1,S 4 }{,S 3,S 4 } {,S 4 } {,S 2 } {,S 1 } {,S 3 } { } {,S 3,S 4 } {,S 1,S 4 }{,S 4 } {,S 4 } {,S 3 } {,S 1,S 4 }{ } { } {,S 1,S 2,S 3 } {,S 1,S 4 }{,S 2,S 3 } { } {,S 4 } {,S 1,S 4 }{,S 4 } {,S 4 }{,S 1,S 2,S 4 } {,S 1,S 4 }{,S 2,S 3,S 4 }{,S 4 } {,S 1,S 2 }{,S 1 } {,S 2 } { } {,S 1,S 3,S 4 } {,S 1,S 4 }{,S 2,S 4 } {,S 4 } {,S 1,S 3 }{,S 1,S 4 }{,S 2 } { } {,S 2,S 3,S 4 } {,S 1,S 4 }{,S 3,S 4 } {,S 4 } {,S 1,S 4 }{,S 1,S 4 }{,S 2,S 4 }{,S 4 }{,S 1,S 2,S 3,S 4 }{,S 1,S 4 }{,S 3,S 4 } {,S 4 }

Endliche Automaten Jörg Roth 81 Der entsprechende Zustandsübergangsgraph (es sind nur Zustände dargestellt, die vom Startzustand erreichbar sind):,s 1 T T,S 2,S 3,S 1, S 4 T,S 4,S 2, S 4 T,S 3, S 4 Bemerkung. Alle Zustände die S 4 enthalten können zu einem Zustand zusammengefasst werden. Der resultierende Automat entspricht dann dem vorne eingeführten deterministischen Automaten.

Endliche Automaten Jörg Roth 83 Vorgehen beim Beweis. Eigentliches Ziel: wir wollen zeigen: x L( A d ) x L( A) Dazu benötigen wir den Hilfssatz: ( ) * ( Qx, ) = δ * ( qx, ) δ d q Q Dazu wiederrum: δ d ( Q Q', x) = δ d ( Qx, ) δ d ( Q', x)

Endliche Automaten Jörg Roth 84 δ d Beweis. Aus der Definition von folgt unmittelbar der Hilfssatz δ d ( Q Q', x) = δ d ( Qx, ) δ d ( Q', x) für QQ', P( S) und x X Wir zeigen zunächst ( δ d ) * ( Qx, ) = δ * ( qx, ) für Q S d und x X * q Q Der Beweis erfolgt durch vollständige Induktion nach x. Sei x = 0. Dann sind beide Seiten der obigen Gleichung gleich Q. Der Induktionsanfang ist also richtig.

Endliche Automaten Jörg Roth 85 Sei x = x 1 x n + 1, x i X bewiesen ( n n+ 1) und die Behauptung für Wörter der Länge n ( δ d ) * ( Qx, 1 x n + 1 ) = δ d (( δ d ) * ( Qx, 1 x n ), x n + 1 ) (Def. 2.3, δ * ) δ d δ * = ( qx, 1 x n ), x n + 1 (Ind.-Annahme) q Q = δ d ( δ * ( qx, 1 x n ), x n + 1 ) (Hilfssatz oben) q Q = δ( px, n + 1 ) (Def. 2.8, A d ) q Q p δ * ( qx, 1 x n ) = δ * ( qx, 1 x n + 1 ) (Def. 2.6, δ * ) q Q

Endliche Automaten Jörg Roth 86 D.h.: Wenn man auf einen Zustand Q das Wort x 1...x n+1 mit dem deterministischen Automaten anwendet, landet man in denselben Zuständen, wenn man den zugrunde liegenden nichtdeterministischen Automaten verwendet. Mit Hilfe dieser bewiesenen Formel folgt die Behauptung: x L( A d ) ( δ d ) * d d ( s 0, x) F (Def. 2.4, L( A)) ( δ d ) * (, x) F d (Def. 2.8, A d ) ( ) * (, x) F (Def. 2.8, A d ) δ d q δ * qx, ( ) F (Herleitung oben) Es gibt ein q mit δ * ( qx, ) F (Def. 2.7, A d ) x L( A) (Def. 2.7, A d )

Endliche Automaten Jörg Roth 88 Zusammenfassung zu endlichen nichtdeterministischen Automaten: Ein zugeordneter deterministischer Automat ist nicht optimal. Aber: Das ist aber auch nicht in erster Linie wichtig, denn es geht hier um die prinzipielle Ausdruckskraft der verschiedenen Automatentypen. Was haben wir jetzt erreicht? Wir können zu einem nichtdeterministischen Automaten einen deterministischen Automaten konstruieren, der dieselbe Sprache akzeptiert. Umgekehrt können wir jeden deterministischen Automaten auch als nichtdeterministischen Automaten ansehen. Als Konsequenz ist die Ausdrucksfähigkeit beider Automatentypen identisch. Sie akzeptieren beide gerade die regulären Sprachen. Nichtdeterministische Automaten sind häufig die bequemeren Ausdrucksmittel (weniger Zustände, weniger Übergänge).

Endliche Automaten Jörg Roth 90 Einige Vorüberlegungen. Einge Worte von L(A): aaa, acaba, acccaa Gesucht: das längste Wort, das jeden Zustand nur einmal besucht: acaba Frage: gibt es ein längeres Wort, das jeden Zustand nur einmal besucht? Nein, denn bei 6 Zuständen schöpfen 5 Zeichen alle Zustände schon aus Was ist bei Worten der Sprache mit mehr als 5 Zeichen, z.b. acbcaa? Dann müssen auch Worte dazugehören ohne oder mit beliebiger Anzahl der Wiederholung, z.b. aaa, acbccbcaa b, c b, c s 0 s 2 s 4 a, b, c c a b a c s 1 s 3 s 5 a, b a, c a, b

Endliche Automaten Jörg Roth 92 Einfach ausgedrückt: ein x ab einer gewissen Länge n kann man in drei Teile so zerlegen, dass man den mittleren Teil beliebig oft duplizieren kann und das Resultat immer noch zur Sprache gehört. Ein informelles Beispiel: Sei L eine reguläre Sprache. Also muss es ein n geben mit den oben dargestellten Eigenschaften. Sei n =5 Sei x = abdefg, x L. Es gilt: x n Dann könnte es eine Zerlegung u=ab, v=de und w=fg geben, so dass abfg, abdedefg, abdededefg, abdedededefg... auch zu L gehören. Achtung: man kann sich die Zerlegung nicht aussuchen. Das Pumping- Lemma besagt nur, dass es irgendeine entsprechende Zerlegung geben muss. Eine Zerlegung könnte auch so lauten: u=a, v=b und w=defg und damit die Worte adefg, abbdefg, abbbdefg, abbbbdefg... auch zu L gehören.

Endliche Automaten Jörg Roth 94 Dazu eine Illustration: u v w x 1 x 2 x j x j+1 x k x k+1 S i0 S i1 S S.................. x m-1 S im-1 x m S im max. n Zeichen Das Teilwort v darf hier beliebig häufig vorkommen und man gelangt immer noch in einen Endezustand. Damit gehören uw, uvw, uvvw, uvvvw etc. zur vom Automaten akzeptierten Sprache.

Endliche Automaten Jörg Roth 95 Beispiel. Gegeben folgender Automat 0 0 S 1 S 2 S 3 1 0 Jedes Wort x L(A) hat die Form x = 0(01) n 00, n 0. Damit ergibt sich u =0, v =01, w =00, so dass uv i w L für alle i 0.

Endliche Automaten Jörg Roth 97 Anders ausgedrückt: gibt es ein Wort in der Sprache, das mindestens so viele Zeichen hat, wie der akzeptierende Automat Zustände hat, dann gibt es unendlich viele akzeptierte Worte. Motivation hierzu: Wird ein Wort akzeptiert, das eine Schleife im Automaten abläuft, kann man durch das Pumping-Lemma unendliche viele Wörter konstruieren, die ebenfalls akzeptiert werden müssen (indem man diese Schleife beliebig häufig durchläuft). Warum reichen Worte der Sprache aus, die genauso viele Zeichen haben, wie der Automat Zustände hat? 0 S 1 1 In diesem Beispiel hat der Automat zwei Zustände. Es reicht aus, ein akzeptiertes Wort mit zwei Zeichen zu finden (z.b. 01), um sicherzustellen, dass es unendlich viele Worte in der Sprache gibt (hier 01 n ).

Endliche Automaten Jörg Roth 99 Beweis für ist nicht regulär (ausführliche Variante): Angenommen L ist regulär. Dann muss es laut Pumping-Lemma ein n geben, das die im Lemma geforderten Eigenschaften besitzt. In unserer betrachteten Sprache a j b j gibt es keine Begrenzung für j, d.h. es gibt auch Worte a j b j mit j>n in der Sprache. Laut Pumping-Lemma muss es für Worte dieser Länge eine Zerlegung a j b j = uvw geben mit uv n und v 1. Als Konsequenz besteht für j>n das v nur aus den Zeichen a. Es ergibt sich damit eine Zerlegung a j b j = a u a v a j- u - v b j. Damit müssen aber auch a u a i v a j- u - v b j zur Sprache gehören, was aber im allgemeinen Fall nicht stimmt. Also Widerspruch zur Annahme. L:= { a j b j j }

Endliche Automaten Jörg Roth 100 Motivation zum Pumping-Lemma: Endliche Automaten haben keinen unbegrenzten Speicher, um beispielsweise Zeichen zu zählen. Sie speichern die Erfüllung von Bedingungen, die ein akzeptiertes Wort erbringen muss, dadurch, dass ein bestimmter Zustand erreicht wird. Es gibt nur endlich viele Zustände. Ein Automat, der beispielsweise in der Sprache a j b j die Zeichen a zählen soll, scheitert. Mit endlich vielen Zuständen kann man die beliebig hohe Zahl der Zeichen a nicht zählen. Bei einer Sprache mit unendlich vielen Worten, gibt es immer Worte, die länger als ein vorbestimmtes n sind. Bei unendlichen regulären Sprachen gibt es damit grundsätzlich die im Pumping-Lemma darstellten Wiederholungen. Endliche Sprachen (diese sind immer regulär) enthalten diese Wiederholungen nicht, da die Worte nicht die geforderte Länge n haben.