ω -Automaten Swen Jacobs Seminar: Logische Aspekte von XML (SS 2003) Betreuer: Tim Priesnitz Universität des Saarlandes - Programming Systems Lab - Gert Smolka
ω-Automaten und S1S x. (P a (x) y. x<y P b (y)) charakterisierende Formel b a a b Büchi-Automat A (a*b + ) ω Sprache L(A)
Überblick ω -Wortautomaten ω -Baumautomaten Büchi-Automaten und S1S Muller-Baumautomaten und S2S Verhältnis WS1S und S1S
Endliche Automaten über ω-Strings Neue Akzeptanzbedingungen über ω-Läufen: Infinity Set In(ρ)={q Q| ω i: ρ(i)=q} Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Büchi: F = {q b } Muller: F = {{q b },Q} Rabin: Ω = {(Ø,{q b })} Strett: Ω = {({q b },Q)} Beispiel: Verschiedene Akzeptanzbedingungen b a a b ω-Wortautomat für (a*b + ) ω qbqb qaqa
Endliche Automaten über ω-Strings Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Endliche Automaten über ω-Strings sim Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Endliche Automaten über ω-Strings sim Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Endliche Automaten über ω-Strings sim Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Endliche Automaten über ω-Strings sim Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Endliche Automaten über ω-Strings Welche Akzeptanzbedingungen sind gleich mächtig? Det. Büchi [Büchi62] In(ρ) F, F Q Nichtdet. Büchi In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Deterministische Büchi- Automaten sind schwächer Charakteristische Sprache (a b)*a ω Es gibt keinen deterministischen Büchi- Automaten, der diese Sprache erkennt a,b a a b
Baumautomaten über ω-Bäumen Akzeptanzbedingungen auf jedem Pfad des Laufs: Büchi [Büchi62] In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Baumautomaten über ω-Bäumen Akzeptanzbedingungen auf jedem Pfad des Laufs: Büchi [Büchi62] In(ρ) F, F Q Muller [Muller63] In(ρ) F, F 2 Q Rabin [Rabin69, Rabin72] i: In(ρ) E i = In(ρ) F i, Ei,Fi Q Rabin Chain wie Rabin, zusätzlich E 1 F 1 E 2... F n Streett [Streett82] i: In(ρ) E i In(ρ) F i =, Ei,Fi Q
Beispiel: ω-Baumautomat Q={q a,q b } I={q a } Δ= {(q a,a,q a,q a ), (q a,b,q b,q b ), (q b,a,q a,q a ),(q b,b,q b,q b )} Büchi: F={q a } Muller: F={{q a },{q a,q b }} Rabin: Ω={(Ø,{q a })} Streett: Ω = {({q a },Q)} a b a a a a b bbbbba a a qaqa qaqa qaqa qaqa qaqa qaqa qaqa qaqa qaqa qaqa qaqa qbqb qbqb qbqb qbqb Input-Baum T Lauf des Automaten auf T
Büchi-Baumautomaten sind schwächer Betrachte die Baumsprache, in der auf jedem Pfad nur endlich viele b sein dürfen: Muller: F={{q a }} Rabin: Ω={({q b },{q a })} oder Ω={({q b },Q)} Streett: Ω = {( Ø,{q b })} Büchi: nicht möglich!
Warum ist die Büchi- Bedingung unzureichend? Nehme an, ein ω-Baumautomat mit Büchi-Bedingung und n Zuständen akzeptiert die Sprache Betrachte den Baum, in dem genau an den Stellen 1 + 0, ,...,(1 + 0) n ein b steht (auf jedem Pfad nur endlich viele!) Nehme nun einen erfolgreichen Lauf des Automaten auf diesem Baum Suche akzeptierende Zustände auf 1 ω, 1 i 0 01 ω,...,1 i 0 01 i i n-1 01 ω, insgesamt also n+1 Stück Ein Zustand muß auf dem Pfad mehrmals vorkommen Baue einen Pfad, der unendlich viele b enthält und dennoch akzeptiert wird
Korrespondenz zwischen Büchi und S1S [Büchi62] Jeder Büchi-Automat besitzt eine charakteristische S1S-Formel Zu jeder S1S-Formel gibt es einen entsprechenden Büchi-Automaten
Korrespondenz zwischen Büchi und S1S [Büchi62] Erfordert Abgeschlossenheit von Büchi-Automaten: –Schnitt –Vereinigung –Komplement –Projektion –Zylindrifikation
Korrespondenz zwischen Büchi und S1S [Büchi62] Erfordert Abgeschlossenheit von Büchi-Automaten: –Schnitt –Vereinigung –Komplement schwer –Projektion –Zylindrifikation
Komplementbildung bei Büchi-Automaten Lösung: –Determinsiere auf einem Umweg über Muller-Automaten [McNaughton66] mittels Safras Construction [Safra88] –Bilde dann das Komplement (leicht) –Gehe zurück zu Büchi-Automat
Determinisierung von Büchi-Automaten Klassische Teilmengenkonstruktion unzureichend: {q 1 }{q 1,q 2 }{q 1,q 2,q 3 } {q 1,q 3 } a,b a q1q1 q2q2 q3q3 Büchi-Automat zugehörige Teilmengenkonstruktion aa b b a a b
Safras Construction [Safra88] Idee: Bilde Bäume, die Makrozustände darstellen Definition: Ein Safra-Baum für einen Automaten mit Zustandsmenge Q ist ein Baum, dessen Knoten mit Teilmengen von Q markiert sind, wobei für jeden Knoten mit Markierung M gilt: Die Markierungen der direkten Nachfolger M 1,...M n sind paarweise disjunkt und M i M.
Safras Construction [Safra88] Determinisierung eines Automaten: Bilde Teilmengenkonstruktion, wobei für jede Menge von Endzuständen ein neuer Pfad abgespalten wird Stelle sicher, dass der Baum ein Safra-Baum bleibt Neue (Muller-)Akzeptanzbedingung
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } a b Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 }{q 1,q 2,q 3 } {q 3 } a b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 }{q 1,q 2,q 3 } {q 3 } {q 1,q 2 } {q 2 } a b b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 }{q 1,q 2,q 3 } {q 3 } {q 1,q 3 } {q 3 } a b b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 }{q 1,q 2,q 3 } {q 3 } {q 1,q 3 } {q 3 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Safra-Bäume bilden Makrozustände: {q 1 } a,b a q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 }{q 1,q 2,q 3 } {q 3 } {q 1,q 3 } {q 3 } a b b b b a a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88]
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } a b Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2,q 3 } {q 3 }
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 } {q 1,q 2,q 3 } {q 3 } {q 2 }
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! {q 1,q 2,q 3 } {q 3 }
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! {q 1,q 2,q 3 } {q 3 }
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! a {q 1,q 2,q 3 } {q 3 } b b
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! a {q 1,q 2,q 3 } {q 3 } b a {q 1,q 2,q 3 } {q 3 }{q 2 } b
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! a {q 1,q 2,q 3 } {q 3 } b a {q 1,q 2,q 3 } {q 3 }{q 2 } b {q 1,q 2,q 3 } {q 3 }{q 2 }! a b
Safras Construction [Safra88] Zweites Beispiel: {q 1 } a,b ab q1q1 q2q2 q3q3 Büchi-Automat {q 1,q 2 } {q 2 } a b b b a a Komplexität: 2 O(n·log(n)) Optimal nach [Michel88] a {q 1,q 2 } {q 2 }! a {q 1,q 2,q 3 } {q 3 } b a {q 1,q 2,q 3 } {q 3 }{q 2 } b {q 1,q 2,q 3 } {q 3 }{q 2 }! a a b b
Korrespondenz zwischen S2S und ω-Baumautomaten Jeder Muller-Baumautomat besitzt eine charakteristische S2S-Formel Zu jeder S2S-Formel gibt es einen entsprechenden Muller-Baumautomaten
Korrespondenz zwischen S2S und ω-Baumautomaten Erfordert Abgeschlossenheit von Muller-Baumautomaten: –Schnitt –Vereinigung –Komplement –Projektion –Zylindrifikation
Erfordert Abgeschlossenheit von Muller-Baumautomaten: –Schnitt –Vereinigung –Komplement schwer, mittels Spieltheorie –Projektion –Zylindrifikation Korrespondenz zwischen S2S und ω-Baumautomaten
ω-reguläre Ausdrücke u·v ω, u,v reguläre Ausdrücke, v ε Erweiterung auf Sprachen: U·V ω (wobei U,V reguläre Sprachen, V ) Büchi-Charakterisierungstheorem [Büchi62]: ω-reguläre Sprachen sind Büchi-erkennbar
Verhältnis zwischen S1S und WS1S Limit Operation: W={α Σ ω | ω i: α(0...i) W}
Verhältnis zwischen S1S und WS1S Limit Operation: W={α Σ ω | ω i: α(0...i) W} Muller-Charakterisierungstheorem: L Σ ω Muller-erkennbar genau dann wenn L boolsche Kombination von W i, W i reguläre Sprachen
Verhältnis zwischen S1S und WS1S Limit Operation: W={α Σ ω | ω i: α(0...i) W} Muller-Charakterisierungstheorem: L Σ ω Muller-erkennbar genau dann wenn L boolsche Kombination von W i, W i reguläre Sprachen Jede Eigenschaft einer ω-Sprache, die sich durch eine S1S-Formel darstellen lässt, kann auch durch eine WS1S-Formel dargestellt werden
Referenzen [Finkbeiner02] B. Finkbeiner. Vorlesung Automata, Games & Verification, WS 2002/03. [Thomas96] W. Thomas. Languages, Automata, and Logic. Technischer Report für die Univ. Kiel, 1969, pp [Büchi62]* J.R. Büchi. On a decision method in restricted second-order arithmetic. Proc Int. Congr. For Logic, Methodology and Philosophy of Science. Stanford Universal Press, Stanford 1962, pp [Muller63]* D.E. Muller. Infinite sequences and finite machines. Proc. 4th IEEE Symp. On switching Circuit Theory and Logic Design, 1963, pp [Rabin69]* M.O. Rabin. Decidability of second-order theories and automata on infinite trees. Trans. Amer. Math. Soc. 141 (1969), pp [Rabin72]* M.O. Rabin. Automata on infinite objects and Churchs problem. Amer. Math. Soc., Providence, RI, [Safra88]* S. Safra. On the complexity of ω-automata. Proc. 29th IEEE Symp. on Foundations of Computer Science, 1988, pp *: cited by [Finkbeiner02] and/or [Thomas96]