2. Automaten über unendlichen Wörtern

Werbung
2. Automaten über unendlichen Wörtern
(Das ergänzt Kap. 2 aus dem Skript von A. Kiehn)
2.1 Nichtdeterministische Automaten
Motivation: Spezifikation und Verifikation reaktiver
Systeme (nebenläufiger Prozesse, die theoretisch
ewig ablaufen).
Man will z.B. folgende Aussagen formalisieren:
(1) „Im Prozessablauf kommt nach jedem Ereignis a
irgendwann auch ein Ereignis b“
(2) „Im Prozessablauf tritt zwischen je zwei
Vorkommen der Situation a die Situation b
geradzahlig oft ein“ .
(3) „Das Ereignis a tritt in jedem Ablauf nur endlich
oft auf“
Gegeben: Endliches Alphabet A (für Ereignisse oder
Aktionen). Zusätzlich zu A* wird betrachtet:
Aω := Menge aller (einseitig unendlichen) Folgen
α0α1α2 . . . αk . . . von Zeichen αi aus A.
Die Elemente von Aω heißen auch ω-Wörter.
A∞ := A* ∪ Aω
Für w = w0w1 ... wn aus A* und α aus Aω ist das
α definiert durch
Produkt wα
α := w0w1 ... wnα0α1α2 ... αk ...
wα
α | u∈
∈U, α∈W} für U⊆
⊆A* und W⊆
⊆ Aω .
sowie UW := {uα
Sei B = (Q, A , t, q0 , F) ein endlicher buchstabierender
×A×
×Q ) nichtdeterministischer Automat mit
( d.h. t ⊆ Q×
einem Anfangszustand q0 über A.
B läßt sich auch zur Akzeptierung von ω-Wörtern
verwenden –
mit folgender Akzeptierungsbedingung (sog. BüchiAkzeptierung – B heißt dann Büchi-Automat):
α = α0α1α2 . . . αk . . . wird akzeptiert,
wenn die von α in B erzeugte Zustandsfolge
σ(1)σ
σ(2). . . mit σ(0) = q0 und
σα = σ(0)σ
σ(i), αi , σ(i+1)) ∈ t für i= 0, 1, 2,...
(σ
mindestens einen Endzustand qf aus F unendlich oft
enthält.
L(B) ⊆ Aω
sei die Menge aller von B akzeptierbaren
ω-Wörter.
L ⊆ Aω heißt Büchi-erkennbar, wenn ein BüchiAutomat B über A existiert mit L = L(B).
Beispiel zu Aussage (1):
B1 = ( {1,2}, {a,b,c},
{(1,a,2), (1,b,1), (1,c,1), (2,a,2), (2,b,1), (2,c,2), 1, {1} )
Auch das Komplement Aω - L(B1) ist Büchi-erkennbar:
durch den Automaten
B1‘ = ( {1,2}, {a,b,c},
{(1,a,2), (1,a,1), (1,b,1), (1,c,1), (2,a,2), (2,c,2)}, 1, {2} )
Beispiel zu Aussage (2):
B2 = ( {1,2,3}, {a,b,c}, {(1,a,2), (1,b,1), (1,c,1), (2,a,2),
(2,b,3), (2,c,2), (3,b,2), (3,c,3)}, 1, {1, 2} ).
Beispiel zu Aussage (3):
B3 = ( {1,2}, {a,b},
{(1,a,1), (1,b,1), (1,b,2), (2,b,2)}, 1, {2} )
⊆Aω ist BüchiSatz 1 (Büchi 1962): Eine ω-Sprache L⊆
erkennbar gdw
L ist endliche Vereinigung von ω-Sprachen der Form
U Vω mit U, V ∈ REC(A*), wobei
Vω = { α∈ Aω | α = v0v1 . . . mit vi ∈ V für i ≥ 0 }
(Man kann auch noch V V ⊆ V verlangen).
(Das ist Prop. 2.1.2 in Skript Kiehn.)
Def. Die Darstellung einer ω-Sprache L in der im Satz
angegeben Form mit regulären Ausdrücken für die
Mengen U und V heißt ω-regulärer Ausdruck für L.
Beweis des Satzes: ⇒ : Für Zustände q, p von B sei
W(q,p) = { w ∈ A* | (q,w,p) ∈ t* .
Dann ist :
W(q,p) ∈ REC(A*) und
∈ F}.
L(B) = ∪{ W(q0,p) W(p,p)ω | p∈
Offenbar ist W(p,p) W(p,p) ⊆ W(p,p)
⇐ : Alles folgt aus den Abschlußeigenschaften im
Hilfssatz:
(1) Ist V ∈ REC(A*), so ist Vω Büchi-erkennbar.
(2) Ist U ∈ REC(A*) und L ⊆ Aω Büchi-erkennbar, so
ist UL Büchi-erkennbar.
⊆ Aω Büchi-erkennbar, so sind auch
(3) Sind L, L‘⊆
L ∪ L‘ und L ∩ L‘ Büchi-erkennbar.
(vgl. Prop.2.1.7 im Skript Kiehn)
Bew.: (1) Wegen Vω = (V-{εε})ω können wir
annehmen, dass ε ∉ V .
Ferner kann man voraussetzen, dass zum
Startzustand des Büchi-Automaten B für V
keine Transition führt.
Dann erhält man aus B den Büchi-Aut. B‘ für Vω ,
indem man zu t für jede Transition (q,a,q‘) mit q‘ ∈ F
die Transition (q,a,q0) hinzufügt
und {q0} statt F als Endzustandsmenge wählt.
(2) wie bei traditionellen endl. Aut. in Analogie zu (1).
(3) ebenfalls analog zum traditionellen Fall mithilfe
des kartesischen Produkts:
Beweis für Abschluss unter ∩ :
B und B‘ seien die B.-Aut. für L und L‘.
∩ L‘ ist
Der B.-Aut. für L∩
×Q‘×
×{0,1,2} , (q0,q0‘,0) , t∩ , Q×
×Q‘×
×{2} },
B∩ = ( Q×
wobei t∩ in den ersten beiden Komponenten t bzw. t‘
kopiert und die dritte Komponente wie folgt behandelt
wird:
Normalerweise ist die dritte Komponente 0 .
Sobald eine Transition in der ersten Komponente
einen Zustand f aus F erzeugt, wird die dritte
Komponente von 0 auf 1 gesetzt: ((q,q‘,0), a, (f,q1‘,1)).
((q,q‘,1), a, (q1,f‘,i)) mit i=2 falls f‘ in F‘, andernfalls i=1.
(q,q‘,2), a, (q1,q1‘,0) stets.
So erscheint 2 in der dritten Komponente unendlich
oft in einem Ablauf gdw in diesem Ablauf sowohl ein
Zustand aus F als auch ein Zustand aus F‘ unendlich
oft erscheint.
Satz 2: (i) Jede nichtleere Büchi-erkennbare
ω-Sprache enthält ein schließlich periodisches
ω-Wort, d.h. ein ω-Wort der Form uvvv...
(ii) Das Leerheitsproblem für Büchi-Automaten ist
entscheidbar. (vgl. Prop. 2.1.8 im Skript Kiehn)
Bew.: B akzeptiert ein ω-Wort α gdw ein
Anfangsstück u von α ( mit |u| ≤ |Q|-1 ) von q0 zu
einem Endzustand qf führt und von qf eine Schleife
mit einem Wort v ( mit |v| ≤ |Q|-1 ) immer wieder zu
qf führt.
Schwerer zu beweisen ist (siehe dazu den folgenden
Abschnitt 2.2 oder Absch. 2.1.1 im Skript Kiehn):
Satz 3: Zu jedem Büchi-Automaten B läßt sich effektiv
ein Büchi-Aut. konstruieren, der Aω - L(B) akzeptiert.
Dies gilt nicht, wenn man sich dabei auf (nicht
notwendig vollständige) deterministische Automaten
beschränkt.
Gegenbeispiel: L(B3) ist nicht von einem determ.
Büchi.-Aut. akzeptierbar (Beweis dafür folgt in 2.2),
aber Aω - L(B3) wird von folgendem det. B.-Aut.
akzeptiert:
B3‘ = ( {1, 2}, {a, b}, {(1,a,2), (1,b,1), (2,a,2), (2,b,1)},
1, {2} )
Folgerung: Die Familien der von allgemeinen BüchiAut. bzw. von deterministischen Büchi-Aut.
akzeptierbaren Mengen sind verschieden.
(vgl. Prop2.1.4 im Skript Kiehn)
2.2 Deterministische Automaten
Sei B ein nicht notwendig vollständiger, aber
deterministischer endlicher Automat, der die Menge
⊆A* akzeptiert.
W⊆
Wenn man ihn als Büchi-Automat interpretiert, ist die
von ihm akzetierte ω-Sprache L(B) die Menge
∈N mit
lim (W) := { α ∈ Aω | Es ex. unendlich viele n∈
α0α1α2 . . . αn ∈ W, wobei α = α0α1α2 . . . }.
Feststellung: L ⊆ Aω wird von einem
deterministischen Büchi-Automaten akzeptiert gdw
L = lim(W) für ein W ∈ REC (A*).
Bemerkung: Um zu zeigen, dass L(B3) nicht von
einem determ. Büchi.-Aut. akzeptierbar ist,
müssen wir nur zeigen, dass L(B3) nicht die Form
∈REC(A*) mit A = {a, b} hat.
lim(V) mit V∈
Bew.: Ann. L(B3) = lim(V). Da bω∈ lim(V) (d.h. a tritt
0-mal auf), existiert ein n(1) ∈ N mit bn(1) ∈ V.
Da bn(1)abω∈ lim(V), ex. ein n(2) ∈ N mit bn(1)abn(2) ∈ V.
Macht man so weiter, so erhält man eine unendliche
Folge n(1), n(2), ....n(i),... natürlicher Zahlen so, dass
jedes der Wörter bn(1)abn(2)abn(3). . . abn(i) in V, also
das ω-Wort bn(1)abn(2)abn(3). . . abn(i) . . . in lim(V) liegt.
Dies Wort gehört aber nicht zu L(B3) – Widerspruch!
Um alle Büchi-erkennbaren ω-Sprachen von
deterministischen Automaten akzeptierbar zu
machen, wird die Akzeptierungsbedingung geändert.
Def.: Ein sog. Muller-Automat M = (Q,A,q0, δ, F) ist ein
vollständiger endlicher deterministischer Automat
×A nach Q und
( δ sei die Transitionsabbildung von Q×
Q sei endlich)), wobei jedoch
F nicht eine Teilmenge von Q sondern eine
Teilmenge der Potenzmenge ℘(Q) von Q ist.
M akzeptiert ein ω-Wort α ∈ Aω gdw
σα) aller der Zustände von M,
die Menge In(σ
die M unendlich oft beim Lesen von α durchläuft
(die in σα unendlich oft vorkommen),
eine Menge aus F ist.
L(M) sei die Menge aller von M akzeptierten ω-Wörter.
Eine ω-Sprache heißt Muller-erkennbar, wenn es einen
Muller-Automaten M mit L = L(M) gibt.
Beisp.: Muller-Automat für L(B3): B3‘ mit { {1} } als
Endzustandsmengenfamilie F der Zustand 2 darf nicht unendlich oft durchlaufen
werden!
Feststellung: Zu jedem vollständigen,
deterministischen Büchi-Aut. B = (Q,A,q0, δ, F)
erhält man einen äquivalenten Muller-Aut. , indem
man F ersetzt durch
F = { T ⊆ Q | T ∩ F ≠ ∅ }.
Satz 4: Die Familie der Muller-erkennbaren
ω-Sprachen ist abgeschlossen unter den
mengentheoretischen Operationen.
Bew.: 1. Wenn M = (Q,A,q0, δ, F) die ω-Sprache L
akzeptiert, dann akzeptiert
M‘ = (Q,A,q0, δ, ℘(Q) - F)
die ω-Sprache Aω - L.
2. Wenn M die ω-Sprache L und M‘ die ω-Sprache L‘
akzeptiert, dann akzeptiert der folgende
Produkt-Automat M× die ω-Sprache L ∪ L‘ :
×Q‘, A, δ× , (q0,q0‘), F× ) mit
M× = ( Q×
δ× = { ((q,q‘), a, (p,p‘) | (q,a,p)∈
∈δ, (q‘,a,p‘)∈
∈δ‘ }
und { (q1, q1‘), . . . (qn,qn‘) } ∈ F× gdw
{ q1, . . . qn } ∈ F oder { q1‘, . . . qn‘ } ∈ F ‘ .
Folgerung: Eine ω-Sprache L ⊆ Aω ist Mullererkennbar gdw
L mithilfe endlich vieler Anwendungen der
Operationen Vereinigung, Durchschnitt und
Komplement über Aω aus ω-Sprachen der Form
lim(W) mit W ∈ REC(A*) erzeugt werden kann.
⇐“ folgt aus Satz 4 und der Feststellung .
Bew.: „⇐
⇒ : Sei M ein Muller-Aut. für L.
Für jedes q aus Q sei Wq ⊆ A* die von dem endlichen
Automaten (Q, A, δ, q0, {q}) akzeptierte Wortmenge.
M akzeptiert ein ω-Wort α gdw ein F ∈ F exist. so,
dass α ∈ lim(Wq) für jedes q aus F
und α ∉ lim(Wq) für jedes q aus Q-F.
Das liefert die gesuchte Darstellung: L =
∈F}) ∩ ( ∩{ Aω- lim(Wq)|q∈
∈Q-F})|F∈
∈F }
∪ { ( ∩{ lim(Wq)|q∈
Folgerung: Eine ω-Sprache L ⊆ Aω ist Mullererkennbar gdw
L aus Aω erhalten werden kann durch endlich viele
Anwendungen der Operationen
Vereinigung, Durchschnitt, " Komplement über Aω "
sowie
" Multiplikation von links mit einer regulären
Teilmenge von A* "
Bew.: Wir brauchen aufgrund der letzten Folgerung
nur zu zeigen, daß sich lim(W) für reguläres W ∈ Aω so
wie in der Behauptung darstellen läßt.
Offenbar ist lim(W) = Aω - L , wobei L die Menge aller
der ω-Wörter ist, die höchstens endlich viele Präfixe
(also entweder keins oder ein längstesPräfix) aus W
besitzen.
Sei α ∈ L sowie w = α0α1α2 . . . αm das längste in W
liegende Präfix von α .
Sei nun B = (Q,A,q0, δ, F) ein det. endl. Automat,
der W akzeptiert.
Daß w das längste in W liegende Präfix von α ist,
bedeutet dann:
Es gibt einen Zustand p in F mit δ(q0,w) = p ,
aber es gibt kein n > m und kein q ∈ F mit
αm+1αm+2 . . . αn) = q.
δ(q0,wα
Daraus folgt die gesuchte Darstellung von L (Übung).
Der wesentliche Satz (aus dem auch Satz 3 folgt) ist
Satz 5 (McNaughton, 1966): Eine ω-Sprache ist Mullererkennbar gdw sie Büchi-erkennbar ist.
⇒“ ergibt sich aus der letzten Folgerung, der
Bew.: „⇒
Feststellung zur Def. der Büchi-erkennb. ω-Sprachen
und der Abgeschlossenheit der Büchi-erkennb.
ω-Sprachen unter den mengentheoret. Operationen.
⇐“ ergibt sich aus der letzten Folgerung und
„⇐
folgendem (schwerer zu beweisenden)
Satz 6: Jede Büchi-erkennbare ω-Sprache ist eine
endliche Vereinigung von ω-Sprachen der Form
lim(W) ∩ (Aω - lim(V)) mit W, V ∈ REC(A*)
∈ REC(A*) ).
( oder auch der Form Ulim(V) mit U, V∈
Lit.: W. Thomas. „Automata on infinite objects“. In J. van Leeuwen
(Ed.) Handbook of Theoretical Computer Science., Vol. B, 1990.
2.3 Büchis Sequenzenkalkül
Zur Formulierung von Aussagen über ω-Wörter
(ein monadischer Kalkül 2. Stufe)
Gegeben: Endliches Alphabet A.
Gewisse ω-Wörter über A sollen durch Aussagen
dargestellt werden, die angeben, an welchen Stellen
(bezeichnet durch natürliche Zahlen) bestimmte
Buchstaben aus A stehen sollen.
Wie üblich in der Logik, gibt man zunächst die Terme
an, die hier zur Beschreibung der Positionen
verwendet werden können:
Terme (die natürliche Zahlen darstellen) werden
gebildet mit
Konstanten: 0, 1 ∈ N ,
Variablen: x,y (für natürliche Zahlen) und dem
Operator:
+1 (die Nachfolgeropreation auf N).
Zur Bildung von Prädikaten gibt es noch:
Variable: X, Y (für Mengen natürlicher Zahlen)
Prädikatsymbole: Qa für jedes a ∈ A, wobei in einer
∈ Qa wahr
Aussage über ein ω-Wort die Aussage x∈
ist, wenn an der Position x der Buchstabe a steht.
Atomare Prädikate: Seien t, t‘ Terme, dann sind
Prädikate
∈ X,
t = t‘ , t < t‘ , t∈
∈ Qa (bedeutet: an der Position t steht a).
t∈
Zur Bildung von Aussagen können folgende logische
Zeichen verwendet werden:
∧, ∨, ¬, ⇒, ⇔ sowie die
Quantoren ∀ und ∃ , die auf Individuen- (x,y, ...) und
auf Mengen-Variablen (X, Y, ...)
(deshalb Kalkül 2. Stufe) angewendet werden dürfen.
Beispiele:
∈Qa ⇒ ∃ y (x<y ∧ y ∈ Qb))
(1) ∀x (x∈
„Zu jeder Position x, an der ein a steht, gibt es eine
spätere Position y, an der ein b steht“.
(2)
∀x∀
∀y (x ∈ Qa ∧ y ∈ Qa ∧ x<y ∧ ¬∃z(x<z ∧ z<y ∧ z ∈ Qa)
⇒ ∃X (x∈
∈X ∧ ∀z‘ (z‘ ∈X ⇔ ¬(z‘+1 ∈ X)) ∧ ¬y∈
∈X))
„Für je zwei Positionen x und y, an denen a steht,
folgt daraus, dass zwischen x und y kein a steht, dass
es eine Menge X von Positionen gibt, deren erste
Position x ist, die jede zweite folgende Position nicht
enthält, aber alle anderen vor y, aber nicht mehr y“.
Ist A = {a,b}, heißt das „zwischen je zwei a’s gibt es
geradzahlig viel b’s.
Ist A = {a,b,c}, heißt das: "Zwischen je zwei a's ist die
Zahl der Positionen mit von a verschiedenen
Buchstaben gerade."
Büchi bewies 1962, daß eine ω-Sprache genau dann
Büchi-erkennbar ist, wenn sie in obigem Kalkül
beschreibbar ist.
Eine Richtung ist ganz einfach zu beweisen:
Satz (Büchi, 1962): Jede Büchi-erkennbare ω-Sprache
ist im Sequenzenkalkül Büchis beschreibbar.
Bew.: Sei B = (Q, A , t, q0 , F) ein Büchi-Automat mit
Q = {0, 1, ...., m} und q0 = 0.
Um einen Ablauf zu beschreiben, der ein ω-Wort
akzeptiert, fordern wir die Existenz von m+1 Mengen
natürlicher Zahlen: Y0, Y1, Y2, ... , Ym, wobei Yi genau
die „Zeitpunkte“ enthält, an denen der Zustand i im
Ablauf eintritt.
Und mindestens eines dieser Yi muß (wegen der
Büchischen Akzeptierungsbedingung) unendlich
sein.
∈Yi ∧ y∈
∈Yj) ∧ 0∈
∈Y0
∃Y0 ∃Y1 ... ∃Ym ( ∧i≠j ¬∃y (y∈
∧ ∀x ( ∨(i,a,j)∈t (x∈
∈Yi ∧ x∈
∈Qa ∧ x+1∈
∈Yj )
∧ ∨i∈F ∀x ∃y (x < y ∧ y∈
∈Yi )) .
Hinweis: Dies liefert (zusammen mit den BüchiAutomaten) ein Verfahren zur Formalisierung der
Beispiel-Aussagen im Kalkül.
Bemerkung: Mit leichten Änderungen (nur endliche
Mengen natürlicher Zahlen werden betrachtet) kann
man auch einen Sequenzenkalkül erhalten, der genau
die von normalen endlichen Automaten
akzeptierbaren Mengen beschreibt.
Literatur.: Ein weiterer Aufsatz von W. Thomas, aber nun im
Handbook of Formal Languages, Vol. 3 , Chapter 7 :
Languages, Automata, Logic. Springer-Verlag 1997.
Herunterladen