Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

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

Übung zur Vorlesung Theoretische Information. Produktautomat

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

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Die Nerode-Relation und der Index einer Sprache L

Endliche Automaten. Endliche Automaten 1 / 102

Endliche Automaten. Endliche Automaten 1 / 115

Automaten und Formale Sprachen ε-automaten und Minimierung

Für jede Sprache L X sind die folgenden Aussagen äquivalent:

Theoretische Grundlagen der Informatik

Theorie der Informatik

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

Automaten und Coinduktion

Die mathematische Seite

Grundbegriffe der Informatik Tutorium 33

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Theoretische Grundlagen der Informatik

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

PDA, Übergangsfunktion

Übungsaufgaben zu Formalen Sprachen und Automaten

I.2. Endliche Automaten (ohne Ausgabe)

Reguläre Sprachen Endliche Automaten

Theoretische Grundlagen der Informatik

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

Finite-State Technology

4. Übung zur Vorlesung Informatik III am

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik Mitschrift

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

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 Informatik. Prof. Dr. Stefan Enderle NTA Isny

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Tutorium Prolog für Linguisten 8

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Wiederholung. Datenbereichsbezogenes Testen. aus Spezifikation der Parameter Testfälle ableiten. Vorgestellte Verfahren

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

5.4 Endliche Automaten

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

Theorie der Informatik

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

Grundbegriffe der Informatik Tutorium 10

Übung Theoretische Grundlagen

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

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

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

Einschub: Erkennung durch Monoide

Theoretische Grundlagen der Informatik

Nachklausur zur Vorlesung

Theoretische Grundlagen der Informatik

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

2.2 Reguläre Sprachen Endliche Automaten

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Theoretische Grundlagen des Software Engineering

Kurz-Skript zur Theoretischen Informatik I

Theoretische Informatik II

Determinisierung von endlichen Automaten

Formale Sprachen und endliche Automaten

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Grundlagen der Informatik II

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

Reguläre Sprachen und endliche Automaten

Minimalautomaten. Minimalautomaten. Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt?

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

1. Gruppen. 1. Gruppen 7

8. Turingmaschinen und kontextsensitive Sprachen

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

THEORETISCHE INFORMATIK

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

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

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Einführung in die Theoretische Informatik

Software Engineering Ergänzung zur Vorlesung

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

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

Beispiel für die Minimierung von DEAs

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

Vorlesung Mathematik I für Wirtschaftswissenschaftler. Universität Leipzig, WS 16/17

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Mathematische Grundlagen der Informatik 2

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

Theoretische Grundlagen der Informatik

Semantik von Programmiersprachen SS 2017

Deterministische PDAs

Theoretische Grundlagen der Informatik

Grundbegriffe der Informatik

Zur Zykelschreibweise von Permutationen

Theoretische Grundlagen der Informatik

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Transkript:

Übung zur Vorlesung Theoretische Information Minimierungsalgorithmus Folie

Warum Automaten minimieren? Zwei endliche Automaten Automat q q Automat 2 q q Beide akzeptieren die selbe Sprache Welche? q 2 q 3 q, 4 Folie 2

Warum Automaten minimieren? q q q q q 2 q 3 q 4, Folie 3

Warum Automaten minimieren? Wir haben gesehen: Kleine Automaten sind übersichtlich effizient Ziel: Jeden Automaten nach einem strukturierten System zu minimieren Hierfür zunächst leider einige Definitionen in den nächsten Folien Folie 4

Äquivalenz Vorüberlegung: Bei einem Automat interessiert nur, ob er akzeptiert oder nicht Definition: Zwei Automaten sind äquivalent, wenn Sie dieselbe Sprache akzeptieren Beispiel für zwei äquivalente Automaten: q q q q Folie 5 q 2 q 3 q 4,

Äquivalenz und Minimaler Automat Was ist ein minimaler Automat? Definieren wir mit Hilfe der Definition von Äquivalenz: Definition: Ein Automat heißt minimal, wenn es keinen äquivalenten Automaten mit weniger Zuständen gibt Folie 6

Und jetzt? Wie minimiere ich ein großen Automaten? Überlegung: Wenn ich minimiere, müssen Zustände wegfallen Zwei Schritte hierzu: Schritt : Zustände, die nicht erreichbar sind streichen" Schritt 2: Zustände, die dasselbe tun, kann ich verschmelzen Folie 7

Schritt : Unerreichbare Zustände Unerreichbarer Zustand = Zustand kann mit keiner Eingabe vom Startzustand aus erreicht werden Unerreichbarer Zustände entfernen Neuer Automat äquivalent? Ja (trivial) Beispiel: q 4 ist vom Startzust nicht erreichbar q q q 2 q 3 q 4, Folie 8

Schritt 2: Zustände verschmelzen q q q 2 Zustände, die dasselbe tun, kann ich verschmelzen Aber wann tun zwei Zustände dasselbe? Wir benötigen eine Definition q 3 Folie 9

Schritt 2: Äquivalenz von Zuständen Definition: Zwei Zustände sind äquivalent, wenn jede Eingabe (inkl leeres Wort) von den beiden Zuständen aus zum selben Ergebnis führt Zum selben Ergebnis führen heißt: Jedes Wort wird entweder von beiden oder keinem Zustand akzeptiert Wir schreiben z Bsp: q ~ q 2 Bessere Definition (siehe Skript): Folie

Schritt 2: Äquivalenz von Zuständen OK Aber ich kann nicht jedes Wort ausprobieren Dann müsste ich auch extrem lange Wörter ausprobieren Deshalb eine weitere Definition: k sei eine natürliche Zahl Zwei Zustände sind für alle Wörter bis zur Länge k äquivalent, wenn alle Wörter bis zur Länge k von keinem oder beiden Zuständen aus akzeptiert werden Wir schreiben z Bsp: q ~ k q 2 Folie

Schritt 2: Äquivalenz von Zuständen q q q 2 q 3 Beispiel: Wir möchten wissen, ob q ~ q 2 gilt Was heißt q ~ q 2? Für alle Wörter bis zur Länge ist es egal, ob man in q oder q 2 startet Also müssen wir ἐ,, ausprobieren Tafel Wenn wir nur Wörter bis zur Länge hätten, würde ausreichen q ~ q, q ~ q 2, q ~ q 3, q ~ q 2, zu überprüfen und dann zu verschmelzen Folie 2

Schritt 2: Zustände verschmelzen q q q 2 q 3 q x und q y dürfen aber natürlich nur verschmolzen werden, wenn q x ~ q y gilt Unsere Hilfe Das Skript: Wenn wir alle Zustände untersuchen auf q x ~ k+ q y und es ändert sich nichts mehr im Vergleich zu q x ~ k q y, dann gilt q x ~ q y Folie 3

Schritt 2: Zustände verschmelzen Eingabe q q q 2 q 3 Äquivalenzklassen ἐ {q, q 2 }, {q, q 3 } {q, q 2 }, {q, q 3 } {q, q 2 }, {q, q 3 } Wörter der Länge im Vergleich zur Länge trennen keine Zustandsmengen mehr Fertig {q, q 2 } {q, q 3 } Folie 4