Descriptive complexity
for counting complexity classes
Mart´ın Mu˜noz PUC Chile - IMFD Joint work with
Marcelo Arenas and Cristian Riveros
Descriptive complexity has been very fruitful
in connecting logics with computational complexity
NP ≡ ∃SO coNP ≡ ∀SO
P ≡ LFP≤
NL ≡ TC≤
AC0 ≡ FO+Bit PSPACE ≡ PFP≤
⋮ ⋮ ⋮
Manyapplicationsin diverse areas like:
1.
Computational complexity and logics.2.
Database management systems.3.
Verification systems.Descriptive complexity has been very fruitful
in connecting logics with computational complexity
NP ≡ ∃SO
coNP ≡ ∀SO
P ≡ LFP≤
NL ≡ TC≤
AC0 ≡ FO+Bit PSPACE ≡ PFP≤
⋮ ⋮ ⋮
Manyapplicationsin diverse areas like:
1.
Computational complexity and logics.2.
Database management systems.3.
Verification systems.Descriptive complexity has been very fruitful
in connecting logics with computational complexity
NP ≡ ∃SO coNP ≡ ∀SO
P ≡ LFP≤
NL ≡ TC≤
AC0 ≡ FO+Bit PSPACE ≡ PFP≤
⋮ ⋮ ⋮
Manyapplicationsin diverse areas like:
1.
Computational complexity and logics.2.
Database management systems.3.
Verification systems.Descriptive complexity has been very fruitful
in connecting logics with computational complexity
NP ≡ ∃SO coNP ≡ ∀SO
P ≡ LFP≤
NL ≡ TC≤
AC0 ≡ FO+Bit PSPACE ≡ PFP≤
⋮ ⋮ ⋮
Manyapplicationsin diverse areas like:
1.
Computational complexity and logics.2.
Database management systems.3.
Verification systems.. . . but computational complexity is not only about true or false
One would like to study thecomplexityof problems like:
“How many valuations satisfies my boolean formula?”
“How many simple paths
are connecting two vertices in my graph?”
. . . but computational complexity is not only about true or false
One would like to study thecomplexityof problems like:
“How many valuations satisfies my boolean formula?”
“How many simple paths
are connecting two vertices in my graph?”
. . . but computational complexity is not only about true or false
One would like to study thecomplexityof problems like:
“How many valuations satisfies my boolean formula?”
“How many simple paths
are connecting two vertices in my graph?”
. . . but computational complexity is not only about true or false
Counting complexity classes
⎧⎪⎪⎪⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎨⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎩
#P
≡ ?
SpanP
≡ ?
FP
≡ ?
#L
≡ ?
#PSPACE
≡ ?
⋮
⋮ ⋮
. . . but computational complexity is not only about true or false
Counting complexity classes
⎧⎪⎪⎪⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎨⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎩
#P
≡ ?
SpanP
≡ ?
FP
≡ ?
#L
≡ ?
#PSPACE
≡ ?
⋮
⋮ ⋮
. . . but computational complexity is not only about true or false
Counting complexity classes
⎧⎪⎪⎪⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎨⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎩
#P ≡ ?
SpanP ≡ ? FP ≡ ?
#L ≡ ?
#PSPACE ≡ ?
⋮ ⋮ ⋮
How can we describe thesecountingclasses with logic?
In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.In this paper, we propose to use weighted logics for descriptive complexity of counting classes
We propose to use:
Quantitative Second Order Logics (QSO) = Weighted Logics overN
Specifically, our contributions are:
1.
We show that QSOcapturesmany counting complexity classes.● #P,SpanP,FP, #PSPACE,MinP,MaxP, . . .
2.
We use QSO to find classes below #Pthat have goodtractabilityandclosureproperties.
3.
We show how to definequantitative recursionover QSO in order to capture classes belowFP.Quantitative second order logic
QSO vs counting complexity
Below and beyond
Outline
Quantitative second order logic
QSO vs counting complexity
Below and beyond
Outline
Some notation and restrictions
Given a relational signatureR= {R1, . . . ,Rk,<},
we considerfinite ordered structuresoverRof the form:
A= (A,R1A, . . . ,RkA,<A) whereAis the domain and<A is alinear orderoverA.
LetStruct(R)be the set of all finite ordered structures overR. We consider formulas ofSecond Order logicoverRof the form:
ϕ ∶= True ∣ x=y ∣ R(¯u) ∣ X(¯v) ∣ ¬ϕ ∣ (ϕ∨ϕ) ∣ ∃x. ϕ ∣ ∃X. ϕ whereR∈Randx andX are a first and second order variable, respectively.
The semantics of a second order formula is defined as usual.
Some notation and restrictions
Given a relational signatureR= {R1, . . . ,Rk,<},
we considerfinite ordered structuresoverRof the form:
A= (A,R1A, . . . ,RkA,<A) whereAis the domain and<A is alinear orderoverA.
LetStruct(R)be the set of all finite ordered structures overR.
We consider formulas ofSecond Order logicoverRof the form: ϕ ∶= True ∣ x=y ∣ R(¯u) ∣ X(¯v) ∣ ¬ϕ ∣ (ϕ∨ϕ) ∣ ∃x. ϕ ∣ ∃X. ϕ whereR∈Randx andX are a first and second order variable, respectively.
The semantics of a second order formula is defined as usual.
Some notation and restrictions
Given a relational signatureR= {R1, . . . ,Rk,<},
we considerfinite ordered structuresoverRof the form:
A= (A,R1A, . . . ,RkA,<A) whereAis the domain and<A is alinear orderoverA.
LetStruct(R)be the set of all finite ordered structures overR.
We consider formulas ofSecond Order logicoverRof the form:
ϕ ∶= True ∣ x=y ∣ R(¯u) ∣ X(¯v) ∣ ¬ϕ ∣ (ϕ∨ϕ) ∣ ∃x. ϕ ∣ ∃X. ϕ whereR∈Randx andX are a first and second order variable, respectively.
The semantics of a second order formula is defined as usual.
Some notation and restrictions
Given a relational signatureR= {R1, . . . ,Rk,<},
we considerfinite ordered structuresoverRof the form:
A= (A,R1A, . . . ,RkA,<A) whereAis the domain and<A is alinear orderoverA.
LetStruct(R)be the set of all finite ordered structures overR.
We consider formulas ofSecond Order logicoverRof the form:
ϕ ∶= True ∣ x=y ∣ R(¯u) ∣ X(¯v) ∣ ¬ϕ ∣ (ϕ∨ϕ) ∣ ∃x. ϕ ∣ ∃X. ϕ whereR∈Randx andX are a first and second order variable, respectively.
The semantics of a second order formula is defined as usual.
Syntax of Quantitative Second Order logic
Definition
A QSO-formulaαoverRis given by the followingsyntax:
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α whereϕis a (boolean) second order formula ands∈N.
Example
LetR= {E(⋅,⋅),<}whereE encodes an edge relation.
α ∶= Σx.Σy.Σz.(E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z)
Syntax of Quantitative Second Order logic
Definition
A QSO-formulaαoverRis given by the followingsyntax:
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α whereϕis a (boolean) second order formula ands∈N.
Example
LetR= {E(⋅,⋅),<}whereE encodes an edge relation.
α ∶= Σx.Σy.Σz.(E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z)
Syntax of Quantitative Second Order logic
Definition
A QSO-formulaαoverRis given by the followingsyntax:
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α whereϕis a (boolean) second order formula ands∈N.
Example
LetR= {E(⋅,⋅),<}whereE encodes an edge relation.
α ∶= Σx.Σy.Σz.(E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧ y<z)
Syntax of Quantitative Second Order logic
Definition
A QSO-formulaαoverRis given by the followingsyntax:
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α whereϕis a (boolean) second order formula ands∈N.
Example
LetR= {E(⋅,⋅),<}whereE encodes an edge relation.
α ∶= Σx.Σy.Σz.(E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧ y<z
´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶
SO formulaϕ
)
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Given a QSO-formulaα,A∈Struct(R)and a var. assignmentv∶X→A we define thesemantics⟦α⟧ ∶Struct(R) →Nrecursively as follow:
⟦ϕ⟧(A,v) = ⎧⎪⎪
⎨⎪⎪⎩
1 if(A,v) ⊧ϕ 0 otherwise
⟦s⟧(A,v) = s
⟦α1+α2⟧(A,v) = ⟦α1⟧(A,v) + ⟦α2⟧(A,v)
⟦α1⋅α2⟧(A,v) = ⟦α1⟧(A,v) ⋅ ⟦α2⟧(A,v)
⟦Σx. α⟧(A,v) = ∑
a∈A
⟦α⟧(A,v[a/x])
⟦Πx. α⟧(A,v) = ∏
a∈A
⟦α⟧(A,v[a/x])
⟦ΣX. α⟧(A,v) = ∑
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
⟦ΠX. α⟧(A,v) = ∏
C⊆Aarity(X)
⟦α⟧(A,v[C/X])
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2
A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1 ⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2
A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1 ⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2
A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1
⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2 A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1 ⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2
A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1 ⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the triangles in a graph)
1
2 3 4
5
3 4
5
3
1
2
A∶
triangle(x,y,z) ∶= E(x,y) ∧E(y,z) ∧E(z,x) ∧x<y ∧y<z
⟦triangle⟧(A,3,4,5) = 1 ⟦triangle⟧(A,1,2,3) = 0
α ∶= Σx.Σy.Σz.triangle(x,y,z)
⟦α⟧(A) = 3
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2
A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1 ⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2
A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1 ⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2
A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1
⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2 A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1 ⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2
A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1 ⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Semantics of Quantitative Second Order logic
Example (counting the number of cliques in a graph)
1
2 3 4
5
3 4
5
1
2
A∶
clique(X) ∶= ∀x.∀y.(X(x) ∧X(y) ∧x≠y) →E(x,y)
⟦clique⟧(A,{3,4,5}) = 1 ⟦clique⟧(A,{1,2}) = 1
α ∶= ΣX.clique(X)
⟦α⟧(A) = 18
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic. QSO(LFP) := ϕis restricted toLFP logic. We can restrict or extend the language ofα
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.). ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic. QSO(LFP) := ϕis restricted toLFP logic. We can restrict or extend the language ofα
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.). ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic.QSO(LFP) := ϕis restricted toLFP logic. We can restrict or extend the language of
α
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.). ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic.QSO(LFP) := ϕis restricted toLFP logic.
We can restrict or extend the language of
α
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.). ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic.QSO(LFP) := ϕis restricted toLFP logic.
We can restrict or extend the language of
α
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.).
ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic.QSO(LFP) := ϕis restricted toLFP logic.
We can restrict or extend the language of
α
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.).
ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.)
Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Subfragments and extentions of QSO
α ∶= ϕ∈SO ∣ s ∣ (α+α) ∣ (α⋅α) ∣Σx. α ∣ Πx. α ∣ ΣX. α ∣ ΠX. α
QSO = QSO
±α
(
«ϕ
SO)
We can restrict or extend the language of
ϕ
: QSO(FO) := ϕis restricted toFO logic.QSO(LFP) := ϕis restricted toLFP logic.
We can restrict or extend the language of
α
:QFO(SO) := αis restricted tofirst order operators(i.e. s,+,⋅,Σx. ,Πx.).
ΣQSO(SO) := αis restricted tosum operators(i.e. s,+,Σx. ,ΣX.) Or both
ϕ
andα
:QFO(LFP) = αis restricted tofirst order operators andϕis restricted toLFP logic.
Quantitative second order logic
QSO vs counting complexity
Below and beyond
Outline
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class. ThenFcapturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class. ThenFcapturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class.
ThenFcapturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class.
ThenF capturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class.
ThenF capturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
Capturing a counting complexity class with QSO
Recall that a counting complexityC ⊆ {f ∶Σ∗→N}.
Let enc(A)be any reasonable encoding ofAinto a string in Σ∗.
Definition
LetFbe a fragment or extension of QSO andCa counting complexity class.
ThenF capturesCover orderedR-structures if:
1.
for everyα∈ F, there existsf ∈ Csuch that⟦α⟧(A) =f(enc(A)) for everyA∈Struct[R].2.
for everyf ∈ C, there existsα∈ F such thatf(enc(A)) = ⟦α⟧(A) for everyA∈Struct[R].F capturesC over ordered structures ifF capturesCover ordered R-structuresfor every signatureR.
What counting classes can be captured by QSO?
Counting complexity classes
⎧⎪⎪⎪⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎨⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎩
#P
≡ ?
SpanP
≡ ?
FP
≡ ?
#L
≡ ?
#PSPACE
≡ ?
⋮
⋮ ⋮
We show that most of these classes
can be captured by subfragments or extensions of QSO
What counting classes can be captured by QSO?
Counting complexity classes
⎧⎪⎪⎪⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎨⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎩
#P
≡ ?
SpanP
≡ ?
FP
≡ ?
#L
≡ ?
#PSPACE
≡ ?
⋮
⋮ ⋮
We show that most of these classes
can be captured by subfragments or extensions of QSO
How to capture # P ?
f ∈#P iff there exists anNP machineM
such thatf(x) =#acceptsM(x)for allx∈Σ∗. ΣQSO(FO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toFO logic.
Theorem
ΣQSO(FO)captures #Pover ordered structures.
How to capture # P ?
f ∈#P iff there exists anNP machineM
such thatf(x) =#acceptsM(x)for allx∈Σ∗.
ΣQSO(FO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.) andϕrestricted toFO logic.
Theorem
ΣQSO(FO)captures #Pover ordered structures.
How to capture # P ?
f ∈#P iff there exists anNP machineM
such thatf(x) =#acceptsM(x)for allx∈Σ∗. ΣQSO(FO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toFO logic.
Theorem
ΣQSO(FO)captures #Pover ordered structures.
How to capture # P ?
f ∈#P iff there exists anNP machineM
such thatf(x) =#acceptsM(x)for allx∈Σ∗. ΣQSO(FO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toFO logic.
Theorem
ΣQSO(FO)captures #Pover ordered structures.
How to capture SpanP ?
#P ≡ ΣQSO(FO)
f ∈SpanP iff there exists anNP machineM withoutput such thatf(x) =#outputsM(x)for allx∈Σ∗. ΣQSO(∃SO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toexistential SO logic.
Theorem
ΣQSO(∃SO)capturesSpanPover ordered structures.
#PandSpanPwere shown to be captured by a different framework of Saluja et al. and Compton et al.
How to capture SpanP ?
#P ≡ ΣQSO(FO)
f ∈SpanP iff there exists anNP machineM withoutput such thatf(x) =#outputsM(x)for allx∈Σ∗.
ΣQSO(∃SO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.) andϕrestricted toexistential SO logic.
Theorem
ΣQSO(∃SO)capturesSpanPover ordered structures.
#PandSpanPwere shown to be captured by a different framework of Saluja et al. and Compton et al.
How to capture SpanP ?
#P ≡ ΣQSO(FO)
f ∈SpanP iff there exists anNP machineM withoutput such thatf(x) =#outputsM(x)for allx∈Σ∗. ΣQSO(∃SO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toexistential SO logic.
Theorem
ΣQSO(∃SO)capturesSpanPover ordered structures.
#PandSpanPwere shown to be captured by a different framework of Saluja et al. and Compton et al.
How to capture SpanP ?
#P ≡ ΣQSO(FO)
f ∈SpanP iff there exists anNP machineM withoutput such thatf(x) =#outputsM(x)for allx∈Σ∗. ΣQSO(∃SO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toexistential SO logic.
Theorem
ΣQSO(∃SO)capturesSpanPover ordered structures.
#PandSpanPwere shown to be captured by a different framework of Saluja et al. and Compton et al.
How to capture SpanP ?
#P ≡ ΣQSO(FO)
f ∈SpanP iff there exists anNP machineM withoutput such thatf(x) =#outputsM(x)for allx∈Σ∗. ΣQSO(∃SO) := αrestricted tosum operators(i.e. s,+,Σx. ,ΣX.)
andϕrestricted toexistential SO logic.
Theorem
ΣQSO(∃SO)capturesSpanPover ordered structures.
#PandSpanPwere shown to be captured by a different framework of Saluja et al. and Compton et al.
How to capture FP ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
f ∈FP iff there exists aPTIME machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QFO(LFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toLFP logic.
Theorem
QFO(LFP)capturesFPover ordered structures.
How to capture FP ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
f ∈FP iff there exists aPTIME machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QFO(LFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toLFP logic.
Theorem
QFO(LFP)capturesFPover ordered structures.
How to capture FP ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
f ∈FP iff there exists aPTIME machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QFO(LFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toLFP logic.
Theorem
QFO(LFP)capturesFPover ordered structures.
How to capture FP ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
f ∈FP iff there exists aPTIME machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QFO(LFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toLFP logic.
Theorem
QFO(LFP)capturesFPover ordered structures.
How to capture FPSPACE ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP)
f ∈FPSPACE iff there exists aPSPACE machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QSO(PFP) := ϕrestricted toPFP logic.
Theorem
QSO(PFP)capturesFPSPACEover ordered structures.
How to capture FPSPACE ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP)
f ∈FPSPACE iff there exists aPSPACE machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QSO(PFP) := ϕrestricted toPFP logic.
Theorem
QSO(PFP)capturesFPSPACEover ordered structures.
How to capture FPSPACE ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP)
f ∈FPSPACE iff there exists aPSPACE machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QSO(PFP) := ϕrestricted toPFP logic.
Theorem
QSO(PFP)capturesFPSPACEover ordered structures.
How to capture FPSPACE ?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP)
f ∈FPSPACE iff there exists aPSPACE machineM with output such thatf(x) =M(x)for allx∈Σ∗.
QSO(PFP) := ϕrestricted toPFP logic.
Theorem
QSO(PFP)capturesFPSPACEover ordered structures.
How to capture FPSPACE (poly)?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP) FPSPACE ≡ QSO(PFP)
f ∈FPSPACE(poly) iff there exists aPSPACE machineM with output of polynomial size such thatf(x) =M(x)for allx∈Σ∗.
QFO(PFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toPFP logic.
Theorem
QFO(PFP)capturesFPSPACE(poly)over ordered structures.
How to capture FPSPACE (poly)?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP) FPSPACE ≡ QSO(PFP)
f ∈FPSPACE(poly) iff there exists aPSPACE machineM with output of polynomial size such thatf(x) =M(x)for allx∈Σ∗.
QFO(PFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toPFP logic.
Theorem
QFO(PFP)capturesFPSPACE(poly)over ordered structures.
How to capture FPSPACE (poly)?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP) FPSPACE ≡ QSO(PFP)
f ∈FPSPACE(poly) iff there exists aPSPACE machineM with output of polynomial size such thatf(x) =M(x)for allx∈Σ∗.
QFO(PFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toPFP logic.
Theorem
QFO(PFP)capturesFPSPACE(poly)over ordered structures.
How to capture FPSPACE (poly)?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO) FP ≡ QFO(LFP) FPSPACE ≡ QSO(PFP)
f ∈FPSPACE(poly) iff there exists aPSPACE machineM with output of polynomial size such thatf(x) =M(x)for allx∈Σ∗.
QFO(PFP) := αrestricted tofirst order op. (i.e. +,⋅,Σx. ,Πx.) andϕrestricted toPFP logic.
Theorem
QFO(PFP)capturesFPSPACE(poly)over ordered structures.
More classes?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
FP ≡ QFO(LFP)
FPSPACE ≡ QSO(PFP) FPSPACE(poly) ≡ QFO(PFP)
GapP ≡ ΣQSOZ(FO)
MaxP ≡ MaxQSO(FO)
MinP ≡ MinQSO(FO)
More classes?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
FP ≡ QFO(LFP)
FPSPACE ≡ QSO(PFP) FPSPACE(poly) ≡ QFO(PFP) GapP ≡ ΣQSOZ(FO)
MaxP ≡ MaxQSO(FO)
MinP ≡ MinQSO(FO)
More classes?
#P ≡ ΣQSO(FO)
SpanP ≡ ΣQSO(∃SO)
FP ≡ QFO(LFP)
FPSPACE ≡ QSO(PFP) FPSPACE(poly) ≡ QFO(PFP) GapP ≡ ΣQSOZ(FO)
MaxP ≡ MaxQSO(FO)
MinP ≡ MinQSO(FO)
Quantitative second order logic
QSO vs counting complexity
Below and beyond
Outline
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
We consider subfragments below FO:
Σ0 = {θ∈FO ∣ θ has no first-order quantifiers} Σ1 = {ϕ∈FO ∣ ϕ= ∃x. θ¯ (x¯) ∧ θ∈Σ0} Π1 = {ϕ∈FO ∣ ϕ= ∀x¯. θ(x¯) ∧ θ∈Σ0} Σ2 = {ϕ∈FO ∣ ϕ= ∃¯x.∀¯y. θ(¯x,y¯) ∧ θ∈Σ0 } Π2 = {ϕ∈FO ∣ ϕ= ∀x¯.∃y¯. θ(x¯,y¯) ∧ θ∈Σ0 }
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
We consider subfragments below FO:
Σ0 = {θ∈FO ∣ θ has no first-order quantifiers} Σ1 = {ϕ∈FO ∣ ϕ= ∃x. θ¯ (x¯) ∧ θ∈Σ0} Π1 = {ϕ∈FO ∣ ϕ= ∀x¯. θ(x¯) ∧ θ∈Σ0} Σ2 = {ϕ∈FO ∣ ϕ= ∃¯x.∀¯y. θ(¯x,y¯) ∧ θ∈Σ0} Π2 = {ϕ∈FO ∣ ϕ= ∀x¯.∃y¯. θ(x¯,y¯) ∧ θ∈Σ0}
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊ ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1) ⊊ #Σ2
#Σ2 = ΣQSO(Σ2) ⊊ #Π2 = ΣQSO(Π2) ≡ #P
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊
ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1) ⊊ #Σ2
#Σ2 = ΣQSO(Σ2) ⊊ #Π2 = ΣQSO(Π2) ≡ #P
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊ ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1) ⊊ #Σ2
#Σ2 = ΣQSO(Σ2) ⊊ #Π2 = ΣQSO(Π2) ≡ #P
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊ ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1)
#Σ2
⊊
#Σ2 = ΣQSO(Σ2) ⊊ #Π2 = ΣQSO(Π2) ≡ #P
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊ ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1) ⊊ #Σ2
#Σ2 = ΣQSO(Σ2)
#Π2
⊊ = ΣQSO(Π2) ≡ #P
Use QSO to understand classes below # P
#P ≡ ΣQSO(FO)
Saluja et. al. counting classes below # P
#Σ0 ⊊ #Σ1 ⊊ #Π1 ⊊ #Σ2 ⊊ #Π2 = #FO ≡ #P
Theorem (ΣQSO-hierarchy)
#Σ0
#Σ1
⊊
ΣQSO(Σ0)
⊊ ΣQSO(Σ1)
⊊
⊊
#Π1
⊊ = ΣQSO(Π1) ⊊ #Σ2
#Σ2 = ΣQSO(Σ2) ⊊ #Π2 = ΣQSO(Π2) ≡ #P
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one. Moreover, ΣQSO(Σ1[FO]) ⊆TotPand every function in ΣQSO(Σ1[FO])has an FPRAS.
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one. Moreover, ΣQSO(Σ1[FO]) ⊆TotPand every function in ΣQSO(Σ1[FO])has an FPRAS.
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one. Moreover, ΣQSO(Σ1[FO]) ⊆TotPand every function in ΣQSO(Σ1[FO])has an FPRAS.
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one.
Moreover, ΣQSO(Σ1[FO]) ⊆TotPand every function in ΣQSO(Σ1[FO])has an FPRAS.
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one. Moreover, ΣQSO(Σ1[FO]) ⊆TotP
and every function in ΣQSO(Σ1[FO])has an FPRAS.
The class ΣQSO(Σ
1[FO])
Consider the following fragment of FO:
Σ1[FO] = {ϕ∈FO ∣ ϕ= ∃¯x. θ(¯x)andθcan contain atomic formulae of the form u=v, X(u¯)andϕ(¯u) ∈FO}
Theorem (good decision and closure properties)
The class ΣQSO(Σ1[FO])is closed under sum, multiplication and subtraction by one. Moreover, ΣQSO(Σ1[FO]) ⊆TotPand every function in ΣQSO(Σ1[FO])has an FPRAS.
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form: α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x¯): α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,¯x)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form:
α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x¯): α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,¯x)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form:
α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x¯): α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,¯x)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form:
α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x¯): α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,¯x)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form:
α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x):¯ α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,x¯)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
ΣQSO(Σ
1[FO]) is closed under subtraction by one
We focus on the case whereα∈ΣQSO(Σ1[FO])is of the form:
α = Σ ¯X.Σ¯x.∃y¯. ϕ(X¯,x,¯y¯)
We construct a formulamin-ϕFO(x¯)that identifies thelexicographically minimalassignmentσto ¯x that satisfies∃X¯.∃y¯. ϕ(X¯,x,¯y¯).
Then we usemin-ϕFO(x¯)to define a formulaψ(X¯,x¯)thatfilters outthe minimal assignment to ¯X for thatσ.
Lastly, we define a formula that counts one assignment less for(X¯,x):¯ α′ = Σ ¯X.Σ¯x.∃¯y. ϕ(X¯,x,¯y¯) ∧ψ(X¯,x¯)
In this setting, the existence of asmall witness(in this caseσ) is essential to have closure by subtraction by one.
(proof sketch)
Extend QSO to capture complexity classes beyond QSO
We extend QFO withrecursion:
RQFO = QFO withquantitativerecursion. TQFO = QFO withquantitativetransitive closure.
Theorem
1.
RQFO(FO)capturesFPover the class of ordered structures.2.
TQFO(FO)captures #Lover the class of ordered structures.Extend QSO to capture complexity classes beyond QSO
We extend QFO withrecursion:
RQFO = QFO with quantitativerecursion.
TQFO = QFO withquantitativetransitive closure.
Theorem
1.
RQFO(FO)capturesFPover the class of ordered structures.2.
TQFO(FO)captures #Lover the class of ordered structures.Extend QSO to capture complexity classes beyond QSO
We extend QFO withrecursion:
RQFO = QFO with quantitativerecursion.
TQFO = QFO with quantitativetransitive closure.
Theorem
1.
RQFO(FO)capturesFPover the class of ordered structures.2.
TQFO(FO)captures #Lover the class of ordered structures.Extend QSO to capture complexity classes beyond QSO
We extend QFO withrecursion:
RQFO = QFO with quantitativerecursion.
TQFO = QFO with quantitativetransitive closure.
Theorem
1.
RQFO(FO)capturesFPover the class of ordered structures.2.
TQFO(FO)captures #Lover the class of ordered structures.Extend QSO to capture complexity classes beyond QSO
We extend QFO withrecursion:
RQFO = QFO with quantitativerecursion.
TQFO = QFO with quantitativetransitive closure.
Theorem
1.
RQFO(FO)capturesFPover the class of ordered structures.2.
TQFO(FO)captures #Lover the class of ordered structures.Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?
Conclusions and future work
“We believe thatquantitative logicsare the right framework for Descriptive complexity ofcounting complexity classes.”
Plenty of open problems here . . .
1.
Logical characterizationof classes likeTotP,SpanL, . . .2.
Compl. characterizationof subfragments like QSO(FO),QFO(FO), . . .3.
Use quantitative logic to find complexityclasses with good properties.4.
Understand theexpressivenessof QSO and their subfragments.Thanks! Questions?