Technische Universität München Institut für Informatik Prof. Dr. Markus Holzer Dr. Stefan Katzenbeisser WS 2004/2005 Übungsblatt 12 Dienstag, 1. Februar 2005 Übung zur Vorlesung Automaten, Formale Sprachen und Berechenbarkeit Lösungshinweise Aufgabe 1 Büchi-Automaten (1) Jedes unendliche Wort w, das von dem Büchi-Automaten akzeptiert wird, besteht aus Teilwörtern w1 , w2 , . . ., wobei jedes wi einem Pfad entspricht, der im Anfangszustand beginnt und endet. Es gilt damit wi ∈ L((c + ab + ba)(bb + aa)∗ c) und damit gilt: Lω (A) = L(((c + ab + ba)(bb + aa)∗ c)ω ). Aufgabe 2 Büchi-Automaten (2) (a) Wie man sich leicht überlegen kann, erkennt folgender Büchi-Automat die Sprache L: a, b, c a, b, c a a b b c c c c (b) Da die ω-regulären Sprachen, d.h. die Sprachen, die von Büchi-Automaten erkannt werden, unter Komplement abgeschlossen sind, gilt offensichtlich, daß es auch einen (nichtdeterministischen) Büchi-Automaten gibt, der L erkennt. Um zu zeigen, daß es keinen deterministischen Büchi-Automaten geben kann, der L erkennt, benutzen wir folgenden Satz: Für einen deterministischen BüchiAutomaten A gilt Lω (A) = {w ∈ Σω | unendlich viele Präfixe von w sind in L(A)}, wobei L(A) die Sprache von A ist, wenn man A als endlichen Automaten betrachtet. Wir führen einen Widerspruchsbeweis und nehmen an, L würde von einem deterministischen Büchi-Automaten erkannt. Wegen ccbω ∈ L und der obigen Aussage, folgt, daß es eine natürliche Zahl n1 gibt mit ccbn1 ∈ L(A). Nun ist aber auch ccbn1 ccbω ∈ L. Wiederum folgt mit obiger Aussage, daß ccbn1 ccbn2 ∈ L(A) für eine natürliche Zahl n2 . Etc. Dies kann weiter iteriert werden und man erhält eine unendliche Folge von natürlichen Zahlen n1 , n2 , n3 , . . ., so daß das unendliche Wort w = ccbn1 ccbn2 ccbn3 . . . Element von L ist. Da w unendlich oft die Zeichenfolge cc enthält, ist dies ein Widerspruch. Damit gibt es keinen deterministischen Büchi-Automaten, der die Sprache L erkennt. Aufgabe 3 Müller-Automaten (a) Sei A ein Büchi-Automat mit Endzustandsmenge F . Ein Ablauf π wird genau dann akzeptiert, wenn Inf (π) ∩ F 6= ∅ gilt. Für einen Müller-Automat B, der die gleiche Sprache akzeptiert, muß daher F = {F 0 ⊆ Q | F 0 ∩ F 6= ∅} gelten. Alle anderen Komponenten von A können einfach übernommen werden. Insbesondere überführt diese Konstruktion einen deterministischen Büchi-Automaten in einen deterministischen Müller-Automaten. (b) In einem deterministischen Müller-Automaten gibt es zu jedem Wort w genau einen Ablauf π. Das Wort w wird akzeptiert, genau dann, wenn Inf (π) ∈ F gilt. Und es wird nicht akzeptiert, genau dann, wenn Inf (π) 6∈ F gilt. Daher kann man MüllerAutomaten einfach dadurch komplementieren, indem man F durch 2Q \F ersetzt. Der dadurch entstehende Komplementautomat ist ebenfalls deterministisch. (c) Die Sprache L aller unendlichen Wörter aus {a, b}ω , die unendlich viele b enthalten, kann von einem deterministischen Büchi-Automaten erkannt werden, z.B. von folgendem Automaten: a b a, b Man beachte, daß auch der folgende (nicht isomorphe) deterministische BüchiAutomat die Sprache akzeptiert: a b b a Daher gibt es nach (a) auch einen deterministischen Müller-Automaten, der L akzeptiert. Und nach (b) gibt es einen deterministischen Müller-Automaten, der das Komplement L von L akzeptiert. Die Sprache L enthält genau die Wörter, in denen b nur endlich oft vorkommt. Es gilt L = L((a + b)∗ aω ). Mit der gleichen Technik wie in der vorigen Aufgabe kann man nun zeigen, daß die Sprache L von keinem deterministischen Büchi-Automaten akzeptiert wird.