Graph Colouring is Hard for Algorithms Based on Hilbert’s Nullstellensatz and Gröbner Bases Massimo Lauria Sapienza - Università di Roma CCC 2017 — Riga
joint work with: Jakob Nordström (KTH, Stockholm)
Graph Colouring is Hard for Algorithms Based on Hilberts - - PowerPoint PPT Presentation
Graph Colouring is Hard for Algorithms Based on Hilberts Nullstellensatz and Grbner Bases Massimo Lauria Sapienza - Universit di Roma CCC 2017 Riga joint work with: Jakob Nordstrm (KTH, Stockholm) k -coloring of a graph G Colors =
Graph Colouring is Hard for Algorithms Based on Hilbert’s Nullstellensatz and Gröbner Bases Massimo Lauria Sapienza - Università di Roma CCC 2017 — Riga
joint work with: Jakob Nordström (KTH, Stockholm)
Colors = { } Assign a color to each vertex… …while avoiding monochromatic edges
Proof lines: polynomial eq. over 𝔾
Axiom: vertex v gets color {1,…,k}
xv,1 + xv,2 + . . . + xv,k = 1 xv,jxv,j0 = 0
for j≠j’ ∈ [k] Proof lines: polynomial eq. over 𝔾
Axiom: two colors on {u,v} ∈ E(G)
xu,jxv,j = 0
for j ∈ [k] Axiom: vertex v gets color {1,…,k}
xv,1 + xv,2 + . . . + xv,k = 1 xv,jxv,j0 = 0
for j≠j’ ∈ [k] Proof lines: polynomial eq. over 𝔾
Axiom: two colors on {u,v} ∈ E(G)
xu,jxv,j = 0
for j ∈ [k] Axiom: vertex v gets color {1,…,k}
xv,1 + xv,2 + . . . + xv,k = 1 xv,jxv,j0 = 0
for j≠j’ ∈ [k] Proof lines: polynomial eq. over 𝔾
p = 0 q = 0 αp + βq = 0 α, β ∈ F
Inference rules
p = 0 xv,j · p = 0
Axiom: two colors on {u,v} ∈ E(G)
xu,jxv,j = 0
for j ∈ [k] Axiom: vertex v gets color {1,…,k}
xv,1 + xv,2 + . . . + xv,k = 1 xv,jxv,j0 = 0
for j≠j’ ∈ [k]
Refutation Proof lines: polynomial eq. over 𝔾
p = 0 q = 0 αp + βq = 0 α, β ∈ F
Inference rules
p = 0 xv,j · p = 0
Proof Size = cumulative #monomials in proof lines Degree = largest degree among the monomials in the proof
Proof Size = cumulative #monomials in proof lines Degree = largest degree among the monomials in the proof
Easy upper bounds where n is the number of variables
Proof Size = cumulative #monomials in proof lines Degree = largest degree among the monomials in the proof
Easy upper bounds where n is the number of variables
Main Theorem. Fix k>0. We describe graphs {Gn}n such
Corollary [IPS’99]. PC proofs of non-k-colorability require size 2Ω(n).
we unconditional exponential lower bounds.
we unconditional exponential lower bounds.
Algebraic algorithm to decide (non-)k-colorability
SUCCESS: non-k-colorable FAILURE: undetermined (maybe d too small?)
Open Problem [De Loera et al ’09, Li et al. ’16]. Is there, for every integer d>0, a graph that requires degree >d?
Our Answer. Gn require degree Ω(n) Algebraic algorithm to decide (non-)k-colorability
SUCCESS: non-k-colorable FAILURE: undetermined (maybe d too small?)
pi,h1 + pi,h2 + . . . + pi,hk = 1
for j≠j’ ∈ [k]
pi,hj · pi,hj0 = 0
for {i1,h},{i2,h} ∈ E(Bn)
pi1,h · pi2,h = 0
Pigeon i picks one hole in {h1, …, hk} No two pigeons in same hole
Bipartite Bn
[n]
4 5 6 11 7 2 3 10 9 1 8 5 10 4 1 2 3 9 8 7 6
[n-1] Pigeons Holes deg≤k deg≤O(k)
Theorem [MN’15]. If {Bn}n as described here is a family of boundary expanders(*), then any polynomial calculus refutations of FPHP(Bn) requires degree Ω(n).
(*) boundary expander: for some constant 𝛽>0 and c>0 every set S
exactly one neighbor in S each.
We build {Gn}n such that k-colorability formula for Gn is an obfuscated version of formula FPHP(Bn) We start with a family {Bn}n
pi,h1 + pi,h2 + . . . + pi,hk = 1
for j≠j’ ∈ [k]
pi,hj · pi,hj0 = 0
Pigeon i picks one hole in {h1, …, hk}
h1 i h4 h3 h2
pi,h1 + pi,h2 + . . . + pi,hk = 1
for j≠j’ ∈ [k]
pi,hj · pi,hj0 = 0
Pigeon i picks one hole in {h1, …, hk} Vertex i gets one color in {1,…,k} for j≠j’ ∈ [k]
xi,j · xi,j0 = 0 xi,1 + xi,2 + . . . + xi,k = 1
h1 i h4 h3 h2
Special vertex i
i xi,1 xi,1 xi,2 xi,2 xi,3 xi,3 xi,4 xi,4
for {i1,h},{i2,h} ∈ E(Bn)
pi1,h · pi2,h = 0
No two pigeons in same hole i1 i2 h pi1,h pi1,h pi2,h pi2,h
for {i1,h},{i2,h} ∈ E(Bn)
pi1,h · pi2,h = 0
No two pigeons in same hole We add a gadget to encode: i1 i2
i1 i2
i1 i2 h pi1,h pi1,h pi2,h pi2,h
(E.g. k=4)
i1 i2
Forbid red to vertex i1 and green to vertex i2
i1 i2 Pre-colored red Pre-colored green
(E.g. k=4)
i1 i2
Forbid red to vertex i1 and green to vertex i2
i1 i2 Pre-colored red Pre-colored green The special vertices are the only one shared among gadgets
v2 v1 v3 v4 v5 v6 v7 v8 v9 v10
v1+4m v2+4m v3+4m v4+4m
A long enough chain allows to identify at most one pre-colored vertex to a vertex in the chain. (To keep Gn sparse)
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0
proof.
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0 Proof of degree 2d 1 = 0 1 = 0 k−color(Gn)[ fv,j(pi,h)] k−color(Gn)[ fv,j(pi,h)] xv,j ←
− fv,j(pi,h)
xv,j ←
− fv,j(pi,h) polynomial substitution of degree 2
proof.
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0 Proof of degree 2d 1 = 0 1 = 0 k−color(Gn)[ fv,j(pi,h)] k−color(Gn)[ fv,j(pi,h)] xv,j ←
− fv,j(pi,h)
xv,j ←
− fv,j(pi,h) polynomial substitution of degree 2
FPHP(Bn)[pi,h] FPHP(Bn)[pi,h]
proof.
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0 Proof of degree 2d 1 = 0 1 = 0 k−color(Gn)[ fv,j(pi,h)] k−color(Gn)[ fv,j(pi,h)] xv,j ←
− fv,j(pi,h)
xv,j ←
− fv,j(pi,h) polynomial substitution of degree 2
FPHP(Bn)[pi,h] FPHP(Bn)[pi,h]
[MN’15] Degree Ω(n)
proof.
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0 Proof of degree 2d 1 = 0 1 = 0 k−color(Gn)[ fv,j(pi,h)] k−color(Gn)[ fv,j(pi,h)] xv,j ←
− fv,j(pi,h)
xv,j ←
− fv,j(pi,h) polynomial substitution of degree 2
FPHP(Bn)[pi,h] FPHP(Bn)[pi,h]
Degree Ω(n) [MN’15] Degree Ω(n)
proof.
i1 i2 h pi1,h pi1,h pi2,h pi2,h
Substitution
v i1 i1
i2 i2
v v
pi1,h1 = 1 pi1,h3 = 1 pi1,h4 = 1 pi1,h = 1 pi2,h = 1 pi2,h0
2 = 1
pi2,h0
3 = 1
pi2,h0
4 = 1
i2 i2 i2 i2 i1 i1 i1 i1
i1 i2 h pi1,h pi1,h pi2,h pi2,h
v v
pi1,h1 = 1 pi1,h3 = 1 pi1,h4 = 1 pi1,h = 1 pi2,h = 1 pi2,h0
2 = 1
pi2,h0
3 = 1
pi2,h0
4 = 1
i2 i2 i2 i2 i1 i1 i1 i1
xv,1
pi1,h1 pi2,h0
2 + pi1,hpi2,h0 2 + pi1,hpi2,h0 3 + pi1,hpi2,h0 4 + pi1,h3 pi2,h0 4 + pi1,h4 pi2,h0 2
i1 i2 h pi1,h pi1,h pi2,h pi2,h
v v
pi1,h1 = 1 pi1,h3 = 1 pi1,h4 = 1 pi1,h = 1 pi2,h = 1 pi2,h0
2 = 1
pi2,h0
3 = 1
pi2,h0
4 = 1
i2 i2 i2 i2 i1 i1 i1 i1
xv,1
pi1,h1 pi2,h0
2 + pi1,hpi2,h0 2 + pi1,hpi2,h0 3 + pi1,hpi2,h0 4 + pi1,h3 pi2,h0 4 + pi1,h4 pi2,h0 2
xv,2 ←
− 0
i1 i2 h pi1,h pi1,h pi2,h pi2,h
v v
pi1,h1 = 1 pi1,h3 = 1 pi1,h4 = 1 pi1,h = 1 pi2,h = 1 pi2,h0
2 = 1
pi2,h0
3 = 1
pi2,h0
4 = 1
i2 i2 i2 i2 i1 i1 i1 i1
xv,3
pi1,h1 pi2,h + pi1,h1 pi2,h0
3 + pi1,h3 pi2,h0 2 + pi1,h4 pi2,h0 3 + pi1,h4 pi2,h0 4
xv,1
pi1,h1 pi2,h0
2 + pi1,hpi2,h0 2 + pi1,hpi2,h0 3 + pi1,hpi2,h0 4 + pi1,h3 pi2,h0 4 + pi1,h4 pi2,h0 2
xv,2 ←
− 0
i1 i2 h pi1,h pi1,h pi2,h pi2,h
v v
pi1,h1 = 1 pi1,h3 = 1 pi1,h4 = 1 pi1,h = 1 pi2,h = 1 pi2,h0
2 = 1
pi2,h0
3 = 1
pi2,h0
4 = 1
i2 i2 i2 i2 i1 i1 i1 i1
xv,3
pi1,h1 pi2,h + pi1,h1 pi2,h0
3 + pi1,h3 pi2,h0 2 + pi1,h4 pi2,h0 3 + pi1,h4 pi2,h0 4
xv,1
pi1,h1 pi2,h0
2 + pi1,hpi2,h0 2 + pi1,hpi2,h0 3 + pi1,hpi2,h0 4 + pi1,h3 pi2,h0 4 + pi1,h4 pi2,h0 2
xv,2 ←
− 0
xv,4
pi1,h1 pi2,h0
4 + pi1,h3 pi2,h + pi1,h3 pi2,h0 3 + pi1,h4 pi2,h
i1 i2 h pi1,h pi1,h pi2,h pi2,h
v v
Proof of degree d k−color(Gn)[xv,j] k−color(Gn)[xv,j] 1 = 0 1 = 0 Proof of degree 2d 1 = 0 1 = 0 k−color(Gn)[ fv,j(pi,h)] k−color(Gn)[ fv,j(pi,h)] FPHP(Bn)[pi,h] FPHP(Bn)[pi,h]
Open 1 — Average case complexity
Random G~(n,2∆/(n − 1)) with ∆ > k ln(k) + O(k ln ln(k)) (known for Resolution [Beame et al.’05])
Open 2 — stronger proof systems
find graphs hard for stronger proof systems (e.g. cutting planes)
Open 3 — pseudo boolean solvers
improve Pseudo Boolean sat solver to search for CP proofs