Logik und Komplexität

Werbung
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Logik und Komplexität
Thomas Zeume
Institut für Theoretische Informatik
Universität Hannover
Mai 2007
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Gliederung
1
Logiken
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
2
Komplexität der Logiken erster und zweiter Stufe
Komplexität der Probleme Evaluation und
Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
3
Polynomialzeithierarchie
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Parametrisiertes, gewichtetes,
Erfüllbarkeitsproblem
Sei Φ Klasse von aussagenlogischen Formeln.
p−WSAT (Φ)
Instanz: ϕ ∈ Φ und k ∈ N
Parameter: k
Problem: Ist φ k -erfüllbar? D.h. gibt es eine erfüllende
Belegung in der k Variablen wahr sind?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Klassen aussagenlogischer Formeln
PROP := {ϕ | ϕ ist aussagenlogische Formel }
induktive Klassen ∆i,d und Γi,d wie folgt
Γ0,d := {λ1 ∧ . . . ∧ λc | c ∈ [d], λ1 , . . . , λc Literale }
∆0,d := {λ1V
∨ . . . ∨ λc | c ∈ [d], λ1 , . . . , λc Literale }
Γt+1,d := {
δi | d ∈ N und δi ∈ ∆t,d für alle i ∈ [d]}
i∈[d]
W
∆t+1,d := {
δi | d ∈ N und δi ∈ Γt,d für alle i ∈ [d]}
i∈[d]
Bsp.: 3−CNF := Γ1,3 , 3−DNF := ∆1,3
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Klassen aussagenlogischer Formeln
PROP := {ϕ | ϕ ist aussagenlogische Formel }
induktive Klassen ∆i,d und Γi,d wie folgt
Γ0,d := {λ1 ∧ . . . ∧ λc | c ∈ [d], λ1 , . . . , λc Literale }
∆0,d := {λ1V
∨ . . . ∨ λc | c ∈ [d], λ1 , . . . , λc Literale }
Γt+1,d := {
δi | d ∈ N und δi ∈ ∆t,d für alle i ∈ [d]}
i∈[d]
W
∆t+1,d := {
δi | d ∈ N und δi ∈ Γt,d für alle i ∈ [d]}
i∈[d]
Bsp.: 3−CNF := Γ1,3 , 3−DNF := ∆1,3
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Klassen aussagenlogischer Formeln
PROP := {ϕ | ϕ ist aussagenlogische Formel }
induktive Klassen ∆i,d und Γi,d wie folgt
Γ0,d := {λ1 ∧ . . . ∧ λc | c ∈ [d], λ1 , . . . , λc Literale }
∆0,d := {λ1V
∨ . . . ∨ λc | c ∈ [d], λ1 , . . . , λc Literale }
Γt+1,d := {
δi | d ∈ N und δi ∈ ∆t,d für alle i ∈ [d]}
i∈[d]
W
∆t+1,d := {
δi | d ∈ N und δi ∈ Γt,d für alle i ∈ [d]}
i∈[d]
Bsp.: 3−CNF := Γ1,3 , 3−DNF := ∆1,3
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Klassen aussagenlogischer Formeln
PROP := {ϕ | ϕ ist aussagenlogische Formel }
induktive Klassen ∆i,d und Γi,d wie folgt
Γ0,d := {λ1 ∧ . . . ∧ λc | c ∈ [d], λ1 , . . . , λc Literale }
∆0,d := {λ1V
∨ . . . ∨ λc | c ∈ [d], λ1 , . . . , λc Literale }
Γt+1,d := {
δi | d ∈ N und δi ∈ ∆t,d für alle i ∈ [d]}
i∈[d]
W
∆t+1,d := {
δi | d ∈ N und δi ∈ Γt,d für alle i ∈ [d]}
i∈[d]
Bsp.: 3−CNF := Γ1,3 , 3−DNF := ∆1,3
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
p−WSAT -Reduktionen
Lemma
p−WSAT (Γ1,1 ) ≤fpt
≤fpt
≤fpt
p−WSAT (Γ1,2 )
p−WSAT (Γ2,1 )
p−WSAT (Γ3,1 )
..
.
≤fpt p−WSAT (PROP) ≤fpt p−WSAT (CIRC)
Beweis
Γ1,1 ⊆ Γ1,2 ⊆ Γ2,1 ⊆ Γ3,1 ⊆ . . . ⊆ PROP
p−WSAT (CIRC) ist W [P]-vollständig
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
p−WSAT -Reduktionen
Lemma
p−WSAT (Γ1,1 ) ≤fpt
≤fpt
≤fpt
p−WSAT (Γ1,2 )
p−WSAT (Γ2,1 )
p−WSAT (Γ3,1 )
..
.
≤fpt p−WSAT (PROP) ≤fpt p−WSAT (CIRC)
Beweis
Γ1,1 ⊆ Γ1,2 ⊆ Γ2,1 ⊆ Γ3,1 ⊆ . . . ⊆ PROP
p−WSAT (CIRC) ist W [P]-vollständig
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
p−WSAT -Reduktionen
Lemma
p−WSAT (Γ1,1 ) ≤fpt
≤fpt
≤fpt
p−WSAT (Γ1,2 )
p−WSAT (Γ2,1 )
p−WSAT (Γ3,1 )
..
.
≤fpt p−WSAT (PROP) ≤fpt p−WSAT (CIRC)
Beweis
Γ1,1 ⊆ Γ1,2 ⊆ Γ2,1 ⊆ Γ3,1 ⊆ . . . ⊆ PROP
p−WSAT (CIRC) ist W [P]-vollständig
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiele: Syntax der Prädikatenlogik
Formeln
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
Sätze
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiele: Syntax der Prädikatenlogik
Formeln
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
Sätze
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiele: Syntax der Prädikatenlogik
Formeln
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
Sätze
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Relationale Strukturen
relationale Symbolmenge τ : Menge von
Relationssymbolen R, jedes mit festgelegter Stelligkeit
s(R)
τ -Struktur A besteht aus
Universum A
Interpretation, die jedem Relationssymbol R in τ eine
Relation R A ⊆ As(R)
Hier: nur endliche Symbolmengen und Universen
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Relationale Strukturen
relationale Symbolmenge τ : Menge von
Relationssymbolen R, jedes mit festgelegter Stelligkeit
s(R)
τ -Struktur A besteht aus
Universum A
Interpretation, die jedem Relationssymbol R in τ eine
Relation R A ⊆ As(R)
Hier: nur endliche Symbolmengen und Universen
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Relationale Strukturen
relationale Symbolmenge τ : Menge von
Relationssymbolen R, jedes mit festgelegter Stelligkeit
s(R)
τ -Struktur A besteht aus
Universum A
Interpretation, die jedem Relationssymbol R in τ eine
Relation R A ⊆ As(R)
Hier: nur endliche Symbolmengen und Universen
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: Graphen
Symbolmenge τgraph : binäres Relationssymbol E
τgraph -Struktur G = (G, E G )
G: Menge der Knoten
E G ⊆ G2 : Menge der Kanten
Graph ist ungerichtet, falls E G symmetrisch etc.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: Graphen
Symbolmenge τgraph : binäres Relationssymbol E
τgraph -Struktur G = (G, E G )
G: Menge der Knoten
E G ⊆ G2 : Menge der Kanten
Graph ist ungerichtet, falls E G symmetrisch etc.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: Graphen
Symbolmenge τgraph : binäres Relationssymbol E
τgraph -Struktur G = (G, E G )
G: Menge der Knoten
E G ⊆ G2 : Menge der Kanten
Graph ist ungerichtet, falls E G symmetrisch etc.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: Schaltkreise
Symbolmenge τcircuit :
binäres Relationssymbol: E
unäre Relationssymbole: OUT, AND, OR, NEG, IN, TRUE,
FALSE
Schaltkreise können dargestellt werden durch
τcircuit -Struktur mit
(C, E C ): gerichteter, azyklischer Graph
OUT C : enthält genau ein Element aus C
AND C , OR C , NEGC : Partition der Knoten mit mindestens
einer eingehenden Kante, NEGC enthält nur Knoten mit
genau einer eingehenden Kante
IN C , TRUE C , FALSE C : Partition der Knoten mit keiner
eingehenden Kante
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: Schaltkreise
Symbolmenge τcircuit :
binäres Relationssymbol: E
unäre Relationssymbole: OUT, AND, OR, NEG, IN, TRUE,
FALSE
Schaltkreise können dargestellt werden durch
τcircuit -Struktur mit
(C, E C ): gerichteter, azyklischer Graph
OUT C : enthält genau ein Element aus C
AND C , OR C , NEGC : Partition der Knoten mit mindestens
einer eingehenden Kante, NEGC enthält nur Knoten mit
genau einer eingehenden Kante
IN C , TRUE C , FALSE C : Partition der Knoten mit keiner
eingehenden Kante
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (I)
Vorgehen: Bestimme induktiv erfüllende Tupel ϕ(A) über
dem Universum
zum Beispiel:
Falls ϕ(x, y) = Rxy , dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ R A }
Falls ϕ(x, y) = φ(x, y ) ∧ ψ(x, y ), dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ φ(A) und (ax , ay ) ∈ ψ(A)}
Falls ϕ(x) = ∃y φ(x, y ), dann
ϕ(A) := {(ax )| es gibt ein ay ∈ A mit (ax , ay ) ∈ φ(A)}
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (I)
Vorgehen: Bestimme induktiv erfüllende Tupel ϕ(A) über
dem Universum
zum Beispiel:
Falls ϕ(x, y) = Rxy , dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ R A }
Falls ϕ(x, y) = φ(x, y ) ∧ ψ(x, y ), dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ φ(A) und (ax , ay ) ∈ ψ(A)}
Falls ϕ(x) = ∃y φ(x, y ), dann
ϕ(A) := {(ax )| es gibt ein ay ∈ A mit (ax , ay ) ∈ φ(A)}
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (I)
Vorgehen: Bestimme induktiv erfüllende Tupel ϕ(A) über
dem Universum
zum Beispiel:
Falls ϕ(x, y) = Rxy , dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ R A }
Falls ϕ(x, y) = φ(x, y ) ∧ ψ(x, y ), dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ φ(A) und (ax , ay ) ∈ ψ(A)}
Falls ϕ(x) = ∃y φ(x, y ), dann
ϕ(A) := {(ax )| es gibt ein ay ∈ A mit (ax , ay ) ∈ φ(A)}
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (I)
Vorgehen: Bestimme induktiv erfüllende Tupel ϕ(A) über
dem Universum
zum Beispiel:
Falls ϕ(x, y) = Rxy , dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ R A }
Falls ϕ(x, y) = φ(x, y ) ∧ ψ(x, y ), dann
ϕ(A) := {(ax , ay ) ∈ A2 | (ax , ay ) ∈ φ(A) und (ax , ay ) ∈ ψ(A)}
Falls ϕ(x) = ∃y φ(x, y ), dann
ϕ(A) := {(ax )| es gibt ein ay ∈ A mit (ax , ay ) ∈ φ(A)}
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (II)
Notation: A |= ϕ(a1 , a2 ) anstelle (a1 , a2 ) ∈ ϕ(A)
A ist ein Modell von ϕ, falls ϕ(A) 6= ∅. Kurz: A |= ϕ
Beachte: Für Sätze bedeutet ϕ(A) 6= ∅, dass ϕ(A) das
leere Tupel enthält.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (II)
Notation: A |= ϕ(a1 , a2 ) anstelle (a1 , a2 ) ∈ ϕ(A)
A ist ein Modell von ϕ, falls ϕ(A) 6= ∅. Kurz: A |= ϕ
Beachte: Für Sätze bedeutet ϕ(A) 6= ∅, dass ϕ(A) das
leere Tupel enthält.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Semantik der Prädikatenlogik (II)
Notation: A |= ϕ(a1 , a2 ) anstelle (a1 , a2 ) ∈ ϕ(A)
A ist ein Modell von ϕ, falls ϕ(A) 6= ∅. Kurz: A |= ϕ
Beachte: Für Sätze bedeutet ϕ(A) 6= ∅, dass ϕ(A) das
leere Tupel enthält.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: VERTEX −COVER
Definition
VERTEX −COVER := {(G, k ) | G := (V , E) Graph und
es gibt genau k Knoten
die an allen Kanten beteiligt sind}
logische Charakterisierung
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: VERTEX −COVER
Definition
VERTEX −COVER := {(G, k ) | G := (V , E) Graph und
es gibt genau k Knoten
die an allen Kanten beteiligt sind}
logische Charakterisierung
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: VERTEX −COVER
Definition
VERTEX −COVER := {(G, k ) | G := (V , E) Graph und
es gibt genau k Knoten
die an allen Kanten beteiligt sind}
logische Charakterisierung
vck0 (x1 , . . . , xk ) := ∀y ∀z Eyz →
_
(xi = y ∨ xi = z)
i∈[k ]
vck := ∃x1 . . . ∃xk
^
xi 6= xj ∧ vck0 (x1 , . . . , xk )
1≤i<j≤k
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Logik zweiter Stufe
Prädikatenlogik: Quantifizierung über einzelne Elemente
des Universums
Logik zweiter Stufe: Quantifizierung auch über Teilmengen
(Relationen) erlaubt
Relationsvariablen, belegbar mit Relationen über dem
Universum
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Logik zweiter Stufe
Prädikatenlogik: Quantifizierung über einzelne Elemente
des Universums
Logik zweiter Stufe: Quantifizierung auch über Teilmengen
(Relationen) erlaubt
Relationsvariablen, belegbar mit Relationen über dem
Universum
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Logik zweiter Stufe
Prädikatenlogik: Quantifizierung über einzelne Elemente
des Universums
Logik zweiter Stufe: Quantifizierung auch über Teilmengen
(Relationen) erlaubt
Relationsvariablen, belegbar mit Relationen über dem
Universum
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: k-Färbbarkeit von Graphen
Definition
COLORABILITY := {(G, k ) | G := (V , E) Graph dessen
Knoten man mit k Farben anmalen
kann ohne dass Knoten mit gleicher
Farbe verbunden sind}
logische Charakterisierung
W
i∈[k ]
Xi x ∧
colk := ∃X1 . . . ∃Xk ∀x∀y
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: k-Färbbarkeit von Graphen
Definition
COLORABILITY := {(G, k ) | G := (V , E) Graph dessen
Knoten man mit k Farben anmalen
kann ohne dass Knoten mit gleicher
Farbe verbunden sind}
logische Charakterisierung
W
i∈[k ]
Xi x ∧
colk := ∃X1 . . . ∃Xk ∀x∀y
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: k-Färbbarkeit von Graphen
Definition
COLORABILITY := {(G, k ) | G := (V , E) Graph dessen
Knoten man mit k Farben anmalen
kann ohne dass Knoten mit gleicher
Farbe verbunden sind}
logische Charakterisierung
W
i∈[k ]
Xi x ∧
colk := ∃X1 . . . ∃Xk ∀x∀y
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: k-Färbbarkeit von Graphen
Definition
COLORABILITY := {(G, k ) | G := (V , E) Graph dessen
Knoten man mit k Farben anmalen
kann ohne dass Knoten mit gleicher
Farbe verbunden sind}
logische Charakterisierung
W
i∈[k ]
Xi x ∧
colk := ∃X1 . . . ∃Xk ∀x∀y
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Aussagenlogik
Prädikatenlogik
Logik zweiter Stufe
Beispiel: k-Färbbarkeit von Graphen
Definition
COLORABILITY := {(G, k ) | G := (V , E) Graph dessen
Knoten man mit k Farben anmalen
kann ohne dass Knoten mit gleicher
Farbe verbunden sind}
logische Charakterisierung
W
i∈[k ]
Xi x ∧
colk := ∃X1 . . . ∃Xk ∀x∀y
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Die Probleme EVAL(Φ) und MC(Φ)
Sei Φ Klasse von Formeln.
EVAL(φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Problem: Berechne ϕ(A).
MC(Φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Problem: Entscheide, ob A |= ϕ (also ϕ(A) 6= ∅).
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Die Probleme EVAL(Φ) und MC(Φ)
Sei Φ Klasse von Formeln.
EVAL(φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Problem: Berechne ϕ(A).
MC(Φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Problem: Entscheide, ob A |= ϕ (also ϕ(A) 6= ∅).
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Komplexität von EVAL(Φ) und MC(Φ)
Satz
EVAL(FO) und MC(FO) können in Zeit O(|ϕ| · |A|ω · ω) gelöst
werden, wobei ω die maximale Anzahl freier Variablen der
Subformeln der Eingabeformel ϕ ist.
Korollar
Sei k ≥ 1 und FO k die Teilklasse von FO, die Formeln mit
maximal k Variablen enthält. Dann sind EVAL(FO k ) und
MC(FO k ) in polynomieller Zeit lösbar. Insbesondere sind
EVAL({ϕ}) und MC({ϕ}) polynomiell lösbar.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Komplexität von EVAL(Φ) und MC(Φ)
Satz
EVAL(FO) und MC(FO) können in Zeit O(|ϕ| · |A|ω · ω) gelöst
werden, wobei ω die maximale Anzahl freier Variablen der
Subformeln der Eingabeformel ϕ ist.
Korollar
Sei k ≥ 1 und FO k die Teilklasse von FO, die Formeln mit
maximal k Variablen enthält. Dann sind EVAL(FO k ) und
MC(FO k ) in polynomieller Zeit lösbar. Insbesondere sind
EVAL({ϕ}) und MC({ϕ}) polynomiell lösbar.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Parametrisiertes Model-Checking
p−MC(Φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Parameter: |ϕ|
Problem: Entscheide, ob A |= ϕ.
Korollar
p−MC(Φ) ∈ XP, also es gibt eine berechenbare Funktion
f : N → N und einen Algorithmus der bei gegebenem x ∈ Σ∗ in
Zeit |x|f (κ(x)) + f (κ(x)) entscheidet, ob x ∈ p−MC(Φ).
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Parametrisiertes Model-Checking
p−MC(Φ)
Instanz: Eine Struktur A und eine Formel ϕ ∈ Φ
Parameter: |ϕ|
Problem: Entscheide, ob A |= ϕ.
Korollar
p−MC(Φ) ∈ XP, also es gibt eine berechenbare Funktion
f : N → N und einen Algorithmus der bei gegebenem x ∈ Σ∗ in
Zeit |x|f (κ(x)) + f (κ(x)) entscheidet, ob x ∈ p−MC(Φ).
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Eine weitere Hierarchie von Formel-Klassen...
Formeln in Σt+1 sind von der Form ∃x1 . . . ∃xk ϕ mit ϕ ∈ Πt
Formeln in Πt+1 sind von der Form ∀x1 . . . ∀xk ϕ mit ϕ ∈ Σt
Σ0 und Π0 sind Formeln erster Stufe ohne Quantifizierung
genauere Untersuchung dieser Formelklassen später:
W -Hierarchie, A-Hierarchie
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
...und noch eine Hierarchie
dasselbe für Logik zweiter Stufe
Formeln in Σ1t+1 sind von der Form ∃X1 . . . ∃Xk ϕ mit ϕ ∈ Π1t
Formeln in Π1t+1 sind von der Form ∀X1 . . . ∀Xk ϕ mit ϕ ∈ Σ1t
Σ10 und Π10 sind Formeln zweiter Stufe ohne Quantifizierung
über Relationsvariablen
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Satz von Fagin
Satz
Ein Entscheidungsproblem ist in NP genau dann wenn es mit
einer Formel aus Σ11 beschrieben werden kann, also mit einer
existenziellen Formel zweiter Stufe.
Beispiel
k − COLORABILITY liegt in NP, mittels
colk := ∃X1 . . . ∃Xk ∀x∀y
W
i∈[k ]
Xi x ∧
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Satz von Fagin
Satz
Ein Entscheidungsproblem ist in NP genau dann wenn es mit
einer Formel aus Σ11 beschrieben werden kann, also mit einer
existenziellen Formel zweiter Stufe.
Beispiel
k − COLORABILITY liegt in NP, mittels
colk := ∃X1 . . . ∃Xk ∀x∀y
W
i∈[k ]
Xi x ∧
W
V ¬ Xi x ∧ Xj x ∧
Exy → ¬ Xi x ∧ Xi y
1≤i<j≤k
i∈[k ]
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (I)
Wir betrachten Formeln ϕ(X1 , . . . , Xk ) der Prädikatenlogik
mit freien Relationsvariablen
Lösungen von ϕ(X1 , . . . , Xk ) sind k-Tupel (S1 , . . . , Sk ) von
Relationen, so dass A |= ϕ(S1 , . . . , Sk )
FO ist die Klasse aller solcher Formeln
FDϕ (Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A
Problem: Gibt es eine Lösung für ϕ in A?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (I)
Wir betrachten Formeln ϕ(X1 , . . . , Xk ) der Prädikatenlogik
mit freien Relationsvariablen
Lösungen von ϕ(X1 , . . . , Xk ) sind k-Tupel (S1 , . . . , Sk ) von
Relationen, so dass A |= ϕ(S1 , . . . , Sk )
FO ist die Klasse aller solcher Formeln
FDϕ (Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A
Problem: Gibt es eine Lösung für ϕ in A?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (I)
Wir betrachten Formeln ϕ(X1 , . . . , Xk ) der Prädikatenlogik
mit freien Relationsvariablen
Lösungen von ϕ(X1 , . . . , Xk ) sind k-Tupel (S1 , . . . , Sk ) von
Relationen, so dass A |= ϕ(S1 , . . . , Sk )
FO ist die Klasse aller solcher Formeln
FDϕ (Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A
Problem: Gibt es eine Lösung für ϕ in A?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (I)
Wir betrachten Formeln ϕ(X1 , . . . , Xk ) der Prädikatenlogik
mit freien Relationsvariablen
Lösungen von ϕ(X1 , . . . , Xk ) sind k-Tupel (S1 , . . . , Sk ) von
Relationen, so dass A |= ϕ(S1 , . . . , Sk )
FO ist die Klasse aller solcher Formeln
FDϕ (Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A
Problem: Gibt es eine Lösung für ϕ in A?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (II)
Für Klassen Φ von Formeln, ist FD−Φ die Klasse der
Probleme FDϕ mit ϕ ∈ Φ
Korollar (Umformulierung von Fagin’s Satz)
NP = FD−FO
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Umformulierung von Fagin’s Satz (II)
Für Klassen Φ von Formeln, ist FD−Φ die Klasse der
Probleme FDϕ mit ϕ ∈ Φ
Korollar (Umformulierung von Fagin’s Satz)
NP = FD−FO
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Optimierungsprobleme
Sei ϕ(X ) Formel mit freier Relationsvariable X mit der
Stelligkeit s
WDϕ (Gewichtet Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A und k ∈ N
Problem: Gibt es eine Lösung S ⊆ As für ϕ mit |S| = k?
Schreibweise: WD−Φ ist Klasse der Probleme WDϕ mit
ϕ∈φ
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Optimierungsprobleme
Sei ϕ(X ) Formel mit freier Relationsvariable X mit der
Stelligkeit s
WDϕ (Gewichtet Fagin-beschreibbar mit ϕ)
Eingabe: Eine Struktur A und k ∈ N
Problem: Gibt es eine Lösung S ⊆ As für ϕ mit |S| = k?
Schreibweise: WD−Φ ist Klasse der Probleme WDϕ mit
ϕ∈φ
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Beispiel: VERTEX −COVER
VERTEX −COVER ∈ WD−Π1
VERTEX −COVER ist WDvc für
vc(X ) := ∀x∀y Exy → (Xx ∨ Xy))
da vc ∈ Π1 folgt die Behauptung
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Beispiel: DOMINATING−SET
Definition
DOMINATING−SET := {(G, k) | G := (V , E) Graph und
es gibt k Knoten von denen alle
anderen Knoten erreichbar sind }
DOMINATING−SET ∈ WD−Π2
DOMINATING−SET ist WDds für
ds(X ) := ∀x∃y Xy ∧ (Eyx ∨ y = x)
da ds ∈ Π2 folgt die Behauptung
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Komplexität der Probleme Evaluation und Model-Checking
Fagin-Beschreibbarkeit (Fagin-definability)
Beispiel: DOMINATING−SET
Definition
DOMINATING−SET := {(G, k) | G := (V , E) Graph und
es gibt k Knoten von denen alle
anderen Knoten erreichbar sind }
DOMINATING−SET ∈ WD−Π2
DOMINATING−SET ist WDds für
ds(X ) := ∀x∃y Xy ∧ (Eyx ∨ y = x)
da ds ∈ Π2 folgt die Behauptung
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Wiederholung: Polynomialzeithierarchie
Eine Nichtdeterministische Orakelturingmaschine (NOTM)
mit Orakel A ⊆ Σ∗ kann die Sprache A kostenlos
entscheiden
Polynomialzeithierarchie:
ΣP0 := P
ΣPk+1 := {A | A kann von einer NOTM mit Orakel
aus ΣPk entschieden werden }
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Wiederholung: Polynomialzeithierarchie
Eine Nichtdeterministische Orakelturingmaschine (NOTM)
mit Orakel A ⊆ Σ∗ kann die Sprache A kostenlos
entscheiden
Polynomialzeithierarchie:
ΣP0 := P
ΣPk+1 := {A | A kann von einer NOTM mit Orakel
aus ΣPk entschieden werden }
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Alternierendes Erfüllbarkeitsproblem
ASAT
Eingabe: Eine quantifizierte aussagenlogische Formel
φ = Q1 X1 Q2 X2 . . . Qn Xn ϕ
wobei Qi ∈ {∃, ∀} und ϕ aussagenlogische Formel
Problem: Ist φ wahr?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Alternierendes Erfüllbarkeitsproblem
ASAT
Eingabe: Eine quantifizierte aussagenlogische Formel
φ = Q1 X1 Q2 X2 . . . Qn Xn ϕ
wobei Qi ∈ {∃, ∀} und ϕ aussagenlogische Formel
Problem: Ist φ wahr?
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
k -Alternierendes Erfüllbarkeitsproblem
ASATk
Eingabe: Eine k-alternierende quantifizierte
aussagenlogische Formel
φ = ∃X11 . . . ∃X1n1 ∀X21 . . . ∀X2n2 . . . Qk X11 . . . Qk Xknk ϕ
Problem: Ist φ wahr?
Satz
Für alle k ≥ 1 ist ASATk vollständig für den k -ten Level ΣPk der
Polynomialzeithierarchie.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
k -Alternierendes Erfüllbarkeitsproblem
ASATk
Eingabe: Eine k-alternierende quantifizierte
aussagenlogische Formel
φ = ∃X11 . . . ∃X1n1 ∀X21 . . . ∀X2n2 . . . Qk X11 . . . Qk Xknk ϕ
Problem: Ist φ wahr?
Satz
Für alle k ≥ 1 ist ASATk vollständig für den k -ten Level ΣPk der
Polynomialzeithierarchie.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Weitere Ergebnisse
Satz
Für alle k ≥ 1 ist das Problem MC(Σk ) vollständig für den k-ten
Level ΣPk der Polynomialzeithierarchie.
Verallgemeinerung von Fagin’s Satz
Für alle k ≥ 1 ist ein Entscheidungsproblem in ΣPk genau dann
wenn es mit einer Formel aus Σ1k beschrieben werden kann.
Thomas Zeume
Logik und Komplexität
Logiken
Komplexität der Logiken erster und zweiter Stufe
Polynomialzeithierarchie
Weitere Ergebnisse
Satz
Für alle k ≥ 1 ist das Problem MC(Σk ) vollständig für den k-ten
Level ΣPk der Polynomialzeithierarchie.
Verallgemeinerung von Fagin’s Satz
Für alle k ≥ 1 ist ein Entscheidungsproblem in ΣPk genau dann
wenn es mit einer Formel aus Σ1k beschrieben werden kann.
Thomas Zeume
Logik und Komplexität
Herunterladen