A Fine-Grained Analogue of Schaefer’s Theorem in P: Dichotomy of ∃ k ∀ -Quantified First-Order Graph Properties Karl Nick Marvin Bringmann 1 Fischer 1 Künnemann 1 1 Max Planck Institute for Informatics, Saarland Informatics Campus (SIC), Saarbrücken
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: E(x, y) ∧ E(y, z) ∧ E(z, x)
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: E(x, y) ∧ E(y, z) ∧ E(z, x)
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: E(x, y) ∧ E(y, z) ∧ E(z, x) 3-independent set
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: SQL E(x, y) ∧ E(y, z) ∧ E(z, x) Age Id Name Salary Id 3-independent set
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: SQL E(x, y) ∧ E(y, z) ∧ E(z, x) Age Id Name Salary Id we measure the complexity in the number of edges m 3-independent set
First-Order Property Model-Checking Fix a first-order property ψ . The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph). ∃ x ∃ y ∃ z: SQL E(x, y) ∧ E(y, z) ∧ E(z, x) Age Id Name Salary Id we measure the complexity in the number of edges m 3-independent set here, m equals the size of the database
Orthogonal Vectors Given two sets X 1 , X 2 ⊆ {0, 1} d of size n, 1 1 1 1 0 0 orth. 0 1 1 1 0 0 check whether there exists an orthogonal 1 1 1 1 0 0 pair x 1 ∈ X 1 , x 2 ∈ X 2 1 0 1 1 1 1
Orthogonal Vectors Given two sets X 1 , X 2 ⊆ {0, 1} d of size n, 1 1 1 1 0 0 orth. 0 1 1 1 0 0 check whether there exists an orthogonal 1 1 1 1 0 0 pair x 1 ∈ X 1 , x 2 ∈ X 2 1 0 1 1 1 1 requires time n2 − o(1) · poly(d) under SETH
Orthogonal Vectors Given two sets X 1 , X 2 ⊆ {0, 1} d of size n, 1 1 1 1 0 0 orth. 0 1 1 1 0 0 check whether there exists an orthogonal 1 1 1 1 0 0 pair x 1 ∈ X 1 , x 2 ∈ X 2 1 0 1 1 1 1 requires time n2 − o(1) · poly(d) under SETH i [d] x 1 [i] = 1 x 2 [i] = 1 ∃ x 1 ∈ X 1 ∃ x 2 ∈ X 2 ∀ i ∈ [d]: x 1 x 1 [i] = 0 ∨ x 2 [i] = 0 x 2 X 1 X 2
Orthogonal Vectors Given two sets X 1 , X 2 ⊆ {0, 1} d of size n, 1 1 1 1 0 0 orth. 0 1 1 1 0 0 check whether there exists an orthogonal 1 1 1 1 0 0 pair x 1 ∈ X 1 , x 2 ∈ X 2 1 0 1 1 1 1 requires time n2 − o(1) · poly(d) under SETH i [d] here, m equals the total number of x 1 [i] = 1 1-entries x 2 [i] = 1 ∃ x 1 ∈ X 1 ∃ x 2 ∈ X 2 ∀ i ∈ [d]: x 1 x 1 [i] = 0 ∨ x 2 [i] = 0 x 2 X 1 X 2
Orthogonal Vectors k- Given two sets X 1 , X 2 ⊆ {0, 1} d of size n, 1 1 1 1 0 0 orth. 0 1 1 1 0 0 check whether there exists an orthogonal 1 1 1 1 0 0 pair x 1 ∈ X 1 , x 2 ∈ X 2 1 0 1 1 1 1 requires time n2 − o(1) · poly(d) under SETH i [d] here, m equals the total number of x 1 [i] = 1 1-entries x 2 [i] = 1 ∃ x 1 ∈ X 1 . . . ∃ x k ∈ X k ∀ i ∈ [d]: x 1 x 1 [i] = 0 ∨ . . . ∨ x k [i] = 0 x 2 . . . X 1 X 2 X k
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k )
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k ) • (Sparse) k-OV is complete for the class of (k + 1)-quantifier properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k ) • (Sparse) k-OV is complete for the class of (k + 1)-quantifier properties [Gao, Impagliazzo, Kolokolova, Williams ’17] • All complete properties require time m k − o(1) under SETH
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k ) • (Sparse) k-OV is complete for the class of (k + 1)-quantifier properties [Gao, Impagliazzo, Kolokolova, Williams ’17] • All complete properties require time m k − o(1) under SETH What about the others? Can we classify queries according to their complexity?
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k ) • (Sparse) k-OV is complete for the class of (k + 1)-quantifier properties [Gao, Impagliazzo, Kolokolova, Williams ’17] • All complete properties require time m k − o(1) under SETH What about the others? Can we classify queries according to their complexity? O(m k ) vs. O(m k − 0.01 )
Our Starting Point • Each (k + 1)-quantifier first-order query can be checked in time O(m k ) • (Sparse) k-OV is complete for the class of (k + 1)-quantifier properties [Gao, Impagliazzo, Kolokolova, Williams ’17] • All complete properties require time m k − o(1) under SETH Constraint First-order satisfaction problems properties 3-SAT is k-OV is NP-complete FOP-complete [Cook ’71] [GIKW ’17] Every Boolean ? CSP is either in P or NP-complete [Schaefer ’78]
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties ∃ x 1 . . . ∃ x k ∀ y: ψ = φ (E(x 1 , y), . . . , E(x k , y))
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties ∃ x 1 . . . ∃ x k ∀ y: ψ = φ (E(x 1 , y), . . . , E(x k , y)) Boolean function φ : {0, 1}k → {0, 1}
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1}
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) for any subset J ⊆ [k] of k − h inputs, Boolean function φ : {0, 1}k → {0, 1} there exists an assignment α : J → {0, 1}, so that φ | α has exactly one falsifying assignment
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1}
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1} h 4 3 2 ≤ 1 2 3 4 k
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1} h 4 require time mk − o(1) 2 < h under the Hyperclique or hypothesis h = k 3 2 decidable in time h ≤ 2 O(mk − ϵ ) for some and ϵ > 0 h < k ≤ 1 2 3 4 k
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1} h 4 require time mk − o(1) h = k under the Hyperclique hypothesis 3 2 < h < k 2 decidable in time h ≤ 2 O(mk − ϵ ) for some and ϵ > 0 h < k ≤ 1 2 3 4 k
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1} h require time mk − o(1) under SETH [GIKW ’17] 4 require time mk − o(1) h = k under the Hyperclique hypothesis 3 2 < h < k 2 decidable in time h ≤ 2 O(mk − ϵ ) for some and ϵ > 0 h < k ≤ 1 2 3 4 k
Our Main Result: A Classification of ∃ k ∀ -Quantified Graph Properties The hardness of ψ is the largest number ∃ x 1 . . . ∃ x k ∀ y: ψ = h ∈ {0, . . . , k}, such that φ (E(x 1 , y), . . . , E(x k , y)) “ ψ is h-OV-like ” Boolean function φ : {0, 1}k → {0, 1} h require time mk − o(1) under SETH [GIKW ’17] 4 require time mk − o(1) h = k under the Hyperclique hypothesis 3 2 < h < k 2 2 = h < k decidable in time O(mk − ϵ ) for some ϵ > 0 ≤ 1 h ≤ 1 2 3 4 k
Recommend
More recommend