Presburger-Arithmetik

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