Ü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