¨Ubung zur Vorlesung Automaten, Formale Sprachen und

Werbung
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.
Herunterladen