Automaten, Spiele, und Logik Woche 4 9. Mai 2014 Inhalt der heutigen Vorlesung I Arithmetik von Presburger I Mona I Komplexität einiger Entscheidungsproblemen mit MSO über Wörter Arithmetik von Presburger Definition Die Arithmetik von Presburger ist die erstufige Theorie auf den Natürlichen Zahlen auf der Signatur {+, <}. Das heißt, die Formeln (ϕ) und Terme (t) der Presburger Arithmetik sind durch die folgende Grammatik gegeben. ϕ::=t = t | t < t | ϕ ∧ ϕ | ¬ϕ | ∃x.ϕ t ::=0 | x | t + t wobei x eine beliebige (erstufige) Variable ist. Eine Interpretation I ordnet jeder freien Variable x einen natürlichen Zahl I (x) zu. Beispiele I “y ist gerade”: ∃x.y = x + x I “y ist 1”: ∀x.x < y ⇒ x = 0 I “y = r mod 5”: ∃x.r < 5 ∧ y = x + x + x + x + x + r I “das System von linearen Gleichungen x + y = 13 x −y = 1 hat eine Lösung mit natürlichen Zahlen”: ∃x, y .x + y = 13 ∧ x − y = 1 Von Interpretation zu Wörtern I (x) = 13 I (y ) = 1 I (z) = 3 x ≺y ≺z 1 0 1 1 w (≺, I ) = 1 0 0 0 1 1 0 0 Die Sprache einer Formel ist die Menge der (Kodierungen von) Interpretationen, die die Formel modelieren. Das heißt : L(≺, φ) = {w (≺, I ) | I |= φ} Satz L(≺, φ) ist regulär. Übung: Beweisen Sie diesen Satz. Entscheidbarkeit der Arithmetik von Presburger Satz Das Model-Checking Problem I Input : I , φ I Frage : I |= φ ? ist entscheidbar. Satz Das Erfüllbarkeitsproblem I Input : φ I Frage : gibt es I , so dass I |= φ ? ist entscheidbar. Bemerkung Die Peano Arithmetik ist die erstufige Theorie den Natürlichen Zahlen auf der Signatur {+, ×, <}. Sein existentielles Fragment (aka diophantische Gleichung) ist nicht entscheidbar (siehe Hilbert’s 10te Probleme, und der Satz von Matijasevitsch). Was ist die Komplexität von MSO? Fall Das MSO Entscheidungsproblem ist “Schwierieger” als das Universalitätsproblem für NFA. Übung: Beweisen Sie das. Komplexität ohne Komplexitätstheorie Sei B eine Beschreibung von einer reguläre Sprache L(B) d.h. ein DFA, ein NFA, eine reguläre Ausdruck, eine MSO Formel Es gibt (in allen Fällen) eine Funktion f , derart L(B) 6= ∅ gdw ∃w ∈ L(B). derart |w | ≤ f (n) (wobei n die ”Größe” von B ist) Je schneller f steigt, desto komplizierter ist die Beschreibungsart. Die “beste” Funktion f = die “Komplexität” (kann formeller gemacht werden) Komplexität: Erinnerung DFA,NFA reg. A. co-NFA MSO n Zustände Länge Zustände Länge f (n) n n 2n ? Exponenzturm 20 = 1, und 2n+1 = 22n . Satz Die Komplexität von MSO über endliche Wörter ist höchstens 2n . Beweis: Wir haben bewiesen, dass für jede Formel ϕ ein Automat Aϕ existiert, der die Sprache der Modelle von ϕ erkennt. Die Größe von Aϕ ist 2O(|ϕ|) , weil für diese Konstruktion gilt, dass ein Junktor am meisten durch ein Exponent die Zustandsmenge vergrössert. Untere Schranke Satz Die Komplexität von MSO über endliche Wörter ist mindestens 2O(n) . Aus der Komplexitätstheorie: Das Entscheidungsproblem für MSO ist nicht elementär. Beweis Wenn wir eine Formel distn (x, y ) und eine Funktion f definieren, derart: I f (n) ≥ 2n , und I distn (x, y ) ⇔ y − x = f (n) I |distn | = O(n) dann haben wir den Satz bewiesen. Erster Versuch distn (x, y ) := y − x = |1 + 1 + {z· · · + 1} f (n) wobei φ(1) := ∃z.φ(z) ∧ ∀t.(t < z) ⇒ ∃u.u < t Problem: Die Grösse von distn (x, y ) ist f (n), und nicht O(n). Zweiter Versuch Wir schreiben eine Formel φ, so dass I X kodiert den Anfang von Blöcken B0 , . . . BN−1 , jeder mit Länge n I x ist der Anfang des ersten Blocks B0 I y ist der Anfang des letzten Blocks BN I Y kodiert eine Zahl zwischen 0 und 2n − 1 auf jeden Block I B0 entählt 0, BN1 entählt 2n − 1 I Bi und Bi+1 entählten konsekutive Zahlen. Dann N = 2n , und die Länge eines Model von φ ist mindestens n2n Übung: die Formel in MONA kodieren http://www.brics.dk/mona/index.html Zum Beweis Er zeigt Wenn |φ| = O(n), dann |I | = n2n ... noch nicht ein Exponenzturm! Letzter Schritt distn durch Induktion definieren. Prinzip der Konstrukion von distn Wir machen eine Induktion, und vermuten, dass distn−1 schon definiert wurde. Wir wollen jetzt distn definieren mithilfe distn−1 , aber wir müssen darauf achten, dass: I nur einmal distn−1 benutzt werden darf I nur eine konstante Zahl (d.h unhabhängig von n) von Variablen und Junktoren benutzt werden darf Ein Wort über Presburger-Arithmetik Dies zeigt die Komplexität von Presburger-Arithmetik ist maximal eine Exponenzturm. Tatsächlich ist Presburger-Arithmetik leichter (obwohl schwer). Satz Die Zeitkomplexität für Erfüllbarkeit/Model-Checking der Presburger-Arithmetik ist O(n) 22 Programmieraufgabe Schreiben Sie ein Programm P mit I Input: ein System S von linearen Gleichungen I Output: eine MSO Formel φ I φ erfüllbar ist gdw S eine Lösung in N hat I φ kann durch MONA interpretiert werden Abgabe: 02.06