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