SLIDE 1 Bad News
Combinatorial Lower Bounds
for the
Extension Complexity
Spanning Tree Polytope
Kaveh Khoshkhah Dirk Oliver Theis
Aussois Combinatorial Optimization Workshop Jan 9-13, 2017
SLIDE 2
Outline
Extended Formulations for Spanning Tree: Status Quo Lower Bounds for Extension Complexity 101 What We Did Glimpse At the Details
SLIDE 3 Extended Formulations
LP formulations for Minimum Spanning Tree (complete graph) “Classical” formulation: min
x
subject to
xe ≤ |S| − 1 ∀S [n], |S| > 1 xe ≥ 0 ∀e ∈ [n]
2
Size: # ieqs = Θ(2n) Martin’s “extended” formulation: min
x,z
subject to . . . Size: # ieqs = Θ(n3) [n] := {1, . . . , n}
SLIDE 4
Extension Complexity
Definition
✑
SLIDE 5 Extension Complexity
Definition
◮ Let P be a polytope.
✑
SLIDE 6 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑
SLIDE 7 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
SLIDE 8 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
◮ “Size” of extension: number of facets
SLIDE 9 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
◮ “Size” of extension: number of facets ◮ “Extension Complexity” of P: Smallest size of an extension of P
SLIDE 10 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
◮ “Size” of extension: number of facets ◮ “Extension Complexity” of P: Smallest size of an extension of P
Theorem (Martin ’91)
Extension complexity of Spanning Tree polytope on complete graph w/ n nodes O(n3)
SLIDE 11 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
◮ “Size” of extension: number of facets ◮ “Extension Complexity” of P: Smallest size of an extension of P
Theorem (Martin ’91)
Extension complexity of Spanning Tree polytope on complete graph w/ n nodes O(n3)
Theorem (Trivial Lower Bound)
Extension complexity of P is at least dimension of P.
SLIDE 12 Extension Complexity
Definition
◮ Let P be a polytope. ◮ “Extension” of P: Polytope Q w/ proj. mapping π: Q ։ P (onto)
✑ Linear Programming over P reduces to Linear Programming over Q
◮ “Size” of extension: number of facets ◮ “Extension Complexity” of P: Smallest size of an extension of P
Theorem (Martin ’91)
Extension complexity of Spanning Tree polytope on complete graph w/ n nodes O(n3)
Theorem (Trivial Lower Bound)
Extension complexity of P is at least dimension of P.
Corollary
Extension complexity of Spanning Tree polytope on complete graph w/ n nodes Ω(n2)
SLIDE 13
Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
SLIDE 14 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017
SLIDE 15 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
SLIDE 16 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
SLIDE 17 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 18 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 19 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 20 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 21 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 22 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 23 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 24 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 25 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 26 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 27 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 28 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 29 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 30 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 31 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 32 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 33 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 34 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 35 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 36 Extension Complexity of Spanning Tree Polytope
Ω(n2) = extension complexity(spanning treen) = O(n3)
Progress on Upper Bounds
Only for special graphs (not complete!), e.g.,
◮ Fiorini-Huynh-Pashkovich-Joret 2017 ◮ Kolman-Kouteck´
y-Tiwary 2016
◮ Williams 2002
Progress on Lower Bounds
SLIDE 37
Long-Term Goals:
SLIDE 38 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
SLIDE 39 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
SLIDE 40 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
SLIDE 41 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
SLIDE 42 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
SLIDE 43 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
◮ Negative results for the lower bounds
SLIDE 44 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
◮ Negative results for the lower bounds ◮ The convenient “combinatorial” lower bounds give:
SLIDE 45 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
◮ Negative results for the lower bounds ◮ The convenient “combinatorial” lower bounds give:
◮ “Fooling set” bound: O(n2)
SLIDE 46 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
◮ Negative results for the lower bounds ◮ The convenient “combinatorial” lower bounds give:
◮ “Fooling set” bound: O(n2) ◮ “Nondeterministic communication complexity” bound: O(n2 log n)
SLIDE 47 Long-Term Goals:
◮ Improving upper bound to anything ≪ n3 would be a breakthrough,
◮ e.g., extended formulation of size n3/ log log(n);
◮ Improving lower bound to anything ≫ n2 would be a breakthrough,
◮ e.g., n2 · log log(n).
This Talk’s Results:
◮ Negative results for the lower bounds ◮ The convenient “combinatorial” lower bounds give:
◮ “Fooling set” bound: O(n2) ◮ “Nondeterministic communication complexity” bound: O(n2 log n)
◮ “Double negative” results: upper bounds on lower bounds.
SLIDE 48
Outline
Extended Formulations for Spanning Tree: Status Quo Lower Bounds for Extension Complexity 101 What We Did Glimpse At the Details
SLIDE 49
Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity Successful for
SLIDE 50 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
Successful for
SLIDE 51 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
Successful for
SLIDE 52 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound. Successful for
SLIDE 53 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound.
◮ “Nondet. Comm. Complexity bound” = 2nondet. comm. complexity
Successful for
SLIDE 54 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound.
◮ “Nondet. Comm. Complexity bound” = 2nondet. comm. complexity
Successful for
◮ TSP
SLIDE 55 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound.
◮ “Nondet. Comm. Complexity bound” = 2nondet. comm. complexity
Successful for
◮ TSP ◮ Max-Cut
SLIDE 56 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound.
◮ “Nondet. Comm. Complexity bound” = 2nondet. comm. complexity
Successful for
◮ TSP ◮ Max-Cut ◮ Bipartite Matching
SLIDE 57 Combinatorial Lower Bounds
Some Combinatorial Bounds
fooling set bound ≤ fractional rectangle covering bound ≤ 2nondeterministic communication complexity ≤ extension complexity
◮ “Combinatorial” means: consider vertex-facet incidences only.
◮ As opposed to: consider distance of vertex from facet hyperplane
(non-combinatorial).
◮ Nondeterministic communication complexity bound is the strongest
combinatorial bound.
◮ “Nondet. Comm. Complexity bound” = 2nondet. comm. complexity
Successful for
◮ TSP ◮ Max-Cut ◮ Bipartite Matching ◮ . . .
SLIDE 58
Nondeterministic Communication Protocols
“Nondeterministic”: No false positive outputs; If f (S, T) = true, ∃ certificate s.t. output is true
SLIDE 59 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
SLIDE 60 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
SLIDE 61 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S
SLIDE 62 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T
SLIDE 63 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T ◮ f (S, T) =
if vertex is off facet; false, if vertex on facet.
SLIDE 64 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T ◮ f (S, T) =
if vertex is off facet; false, if vertex on facet.
◮ 2ndCC(f ) ≤ extension complexity of P
SLIDE 65 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T ◮ f (S, T) =
if vertex is off facet; false, if vertex on facet.
◮ 2ndCC(f ) ≤ extension complexity of P
Careful!
SLIDE 66 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T ◮ f (S, T) =
if vertex is off facet; false, if vertex on facet.
◮ 2ndCC(f ) ≤ extension complexity of P
Careful!
◮ “Nondeterministic Communication Complexity”: # bits (in best
protocol)
SLIDE 67 ◮ “Nondeterministic Communication Complexity” of f : Cost of best
protocol
Link to Extensions of Polytopes
Fix polytope P
◮ Alice gets a facet S ◮ Bob gets a vertex T ◮ f (S, T) =
if vertex is off facet; false, if vertex on facet.
◮ 2ndCC(f ) ≤ extension complexity of P
Careful!
◮ “Nondeterministic Communication Complexity”: # bits (in best
protocol)
◮ “Nondeterministic Communication Complexity bound” =
- 2nondet. comm. complexity
SLIDE 68
Back to Spanning Tree:
SLIDE 69
Back to Spanning Tree:
Polytope:
SLIDE 70 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope
SLIDE 71 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
SLIDE 72 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
SLIDE 73 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
◮ Ignore x ≥ 0 inequalities.
SLIDE 74 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
◮ Ignore x ≥ 0 inequalities.
Communication complexity part
SLIDE 75 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
◮ Ignore x ≥ 0 inequalities.
Communication complexity part
◮ Alice gets set S (facet)
SLIDE 76 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
◮ Ignore x ≥ 0 inequalities.
Communication complexity part
◮ Alice gets set S (facet) ◮ Bob gets a tree T (vertex)
SLIDE 77 Back to Spanning Tree:
Polytope:
◮ P := spanning tree polytope ◮ Vertices ˆ
= trees
◮ Facets:
xe ≤ |S| − 1 ∀S [n], |S| > 1
◮ Ignore x ≥ 0 inequalities.
Communication complexity part
◮ Alice gets set S (facet) ◮ Bob gets a tree T (vertex) ◮ f (S, T) =
if S disconnected in T; false, if S connected in T.
SLIDE 78
Outline
Extended Formulations for Spanning Tree: Status Quo Lower Bounds for Extension Complexity 101 What We Did Glimpse At the Details
SLIDE 79
Our Results
Theorem
Fooling set bound = O(n2) ✑
SLIDE 80
Our Results
Theorem
Fooling set bound = O(n2) ✑ arXiv:1701.00350
SLIDE 81 Our Results
Theorem
Fooling set bound = O(n2) ✑ arXiv:1701.00350
Theorem
- Nondet. communication complexity bound = O(n2 log n)
SLIDE 82 Our Results
Theorem
Fooling set bound = O(n2) ✑ arXiv:1701.00350
Theorem
- Nondet. communication complexity bound = O(n2 log n)
Previously best bounds:
SLIDE 83 Our Results
Theorem
Fooling set bound = O(n2) ✑ arXiv:1701.00350
Theorem
- Nondet. communication complexity bound = O(n2 log n)
Previously best bounds:
◮ O(n8/3 log n) for fractional rectangle covering bound (Weltge ’15)
SLIDE 84 Our Results
Theorem
Fooling set bound = O(n2) ✑ arXiv:1701.00350
Theorem
- Nondet. communication complexity bound = O(n2 log n)
Previously best bounds:
◮ O(n8/3 log n) for fractional rectangle covering bound (Weltge ’15) ◮ O(n3) for nondet. communication complexity bound (trivial)
SLIDE 85
How to prove an upper bound for Nondet. CC
SLIDE 86 How to prove an upper bound for Nondet. CC
◮ Alice has set S
SLIDE 87 How to prove an upper bound for Nondet. CC
◮ Alice has set S ◮ Bob has tree T
SLIDE 88 How to prove an upper bound for Nondet. CC
◮ Alice has set S ◮ Bob has tree T ◮ f (S, T) = whether S is disconnected in T
SLIDE 89 How to prove an upper bound for Nondet. CC
◮ Alice has set S ◮ Bob has tree T ◮ f (S, T) = whether S is disconnected in T ◮ Need: Protocol with short certificates
SLIDE 90 ◮ Alice has a set S,
SLIDE 91 ◮ Alice has a set S, ◮ Bob has a tree T,
SLIDE 92 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
SLIDE 93 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
SLIDE 94 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3
SLIDE 95 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
SLIDE 96 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
SLIDE 97 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
SLIDE 98 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
◮ Bob:
SLIDE 99 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
◮ Bob:
◮ Check “a ⌢ x ⌢ b in T?”
(i.e., x on path in T between a and b)
SLIDE 100 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
◮ Bob:
◮ Check “a ⌢ x ⌢ b in T?”
(i.e., x on path in T between a and b)
◮ Output answer
SLIDE 101 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
◮ Bob:
◮ Check “a ⌢ x ⌢ b in T?”
(i.e., x on path in T between a and b)
◮ Output answer
◮ That works!
SLIDE 102 ◮ Alice has a set S, ◮ Bob has a tree T, ◮ They want to decide if S is disconnected in T.
The “obvious” certificate
Protocol:
◮ Prover sends ( a, b , x ) ∈ [n]3 ◮ Alice:
◮ Check “a, b ∈ S, x /
∈ S”?
◮ Output answer
◮ Bob:
◮ Check “a ⌢ x ⌢ b in T?”
(i.e., x on path in T between a and b)
◮ Output answer
◮ That works! ◮ Communictation: log2(n3) bits O(n3) upper bound
SLIDE 103
Our Approach
Protocol/Proof Ingredients
SLIDE 104 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
SLIDE 105 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x)
SLIDE 106 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . .
SLIDE 107 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . . ◮ What works is this: Prover sends
SLIDE 108 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . . ◮ What works is this: Prover sends
◮ a
SLIDE 109 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . . ◮ What works is this: Prover sends
◮ a ◮ b
SLIDE 110 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . . ◮ What works is this: Prover sends
◮ a ◮ b ◮ h(a, b, x)
SLIDE 111 Our Approach
Protocol/Proof Ingredients
◮ Basic idea: “compress” (a, b, x). Maybe send some kind of a hash
key?
◮ There are many possible choices for (a, b, x) ◮ Maybe, if chosen smartly, . . . ◮ What works is this: Prover sends
◮ a ◮ b ◮ h(a, b, x)
◮ h: [n]3 → [ℓ] with ℓ = log n + O(1).
SLIDE 112
Outline
Extended Formulations for Spanning Tree: Status Quo Lower Bounds for Extension Complexity 101 What We Did Glimpse At the Details
SLIDE 113 A Glimpse at the Details (1)
◮ Let’s say (a, b, x) w/ a, b ∈ S, x /
∈ S, a ⌢ x ⌢ b in T is a “witness” for “f (S, T) = true”.
SLIDE 114 A Glimpse at the Details (1)
◮ Let’s say (a, b, x) w/ a, b ∈ S, x /
∈ S, a ⌢ x ⌢ b in T is a “witness” for “f (S, T) = true”.
Triangle Lemma (arXiv:1701.00350)
Let c ∈ S. If (a, b, x) is a witness, then so is at least one of (a, c, x), (c, b, x).
SLIDE 115
A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
SLIDE 116 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b)
SLIDE 117 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b) ◮ distance of x from {a, b}
SLIDE 118 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b) ◮ distance of x from {a, b} ◮ 1 bit: clockwise or counter-clockwise?
SLIDE 119 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b) ◮ distance of x from {a, b} ◮ 1 bit: clockwise or counter-clockwise? ◮ 1 bit: distance from a or b (which one is closer)?
SLIDE 120 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b) ◮ distance of x from {a, b} ◮ 1 bit: clockwise or counter-clockwise? ◮ 1 bit: distance from a or b (which one is closer)? ◮ (couple of bits for special cases)
SLIDE 121 A Glimpse at the Details (2)
Protocol:
If f (S, T) = true, prover sends
◮ (a, b) ◮ ⌊log2( distance of x from {a, b} )⌋ ◮ 1 bit: clockwise or counter-clockwise? ◮ 1 bit: distance from a or b (which one is closer)? ◮ (couple of bits for special cases)
SLIDE 122
A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
SLIDE 123 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle
SLIDE 124 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x
SLIDE 125 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∀x ∈ R: x /
∈ S
SLIDE 126 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∀x ∈ R: x /
∈ S
Bob
SLIDE 127 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∀x ∈ R: x /
∈ S
Bob
◮ Can identify region R = {2j, . . . , 2j+1 − 1} on circle
SLIDE 128 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∀x ∈ R: x /
∈ S
Bob
◮ Can identify region R = {2j, . . . , 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x
SLIDE 129 A Glimpse at the Details (3)
Prover sends (a, b, j = log(dist), . . . ).
Alice
◮ Can identify region R := {a − 2j, . . . , a − 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∀x ∈ R: x /
∈ S
Bob
◮ Can identify region R = {2j, . . . , 2j+1 − 1} on circle ◮ Knows that x ∈ R — but doesn’t know x ◮ Accepts if ∃x ∈ R: a ⌢ x ⌢ b in T
SLIDE 130
A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
SLIDE 131
A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
SLIDE 132 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √
SLIDE 133 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √ ◮ Alice: remember: accepts if ∀x ∈ R: x /
∈ S
SLIDE 134 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √ ◮ Alice: remember: accepts if ∀x ∈ R: x /
∈ S
◮ Why ∀? Why not ∃?
SLIDE 135 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √ ◮ Alice: remember: accepts if ∀x ∈ R: x /
∈ S
◮ Why ∀? Why not ∃? ◮ Triangle Lemma: If c ∈ R ∩ S, then one of (a, c, x), (c, b, x) is
witness for f (S, T) = true.
SLIDE 136 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √ ◮ Alice: remember: accepts if ∀x ∈ R: x /
∈ S
◮ Why ∀? Why not ∃? ◮ Triangle Lemma: If c ∈ R ∩ S, then one of (a, c, x), (c, b, x) is
witness for f (S, T) = true.
◮ Smart choice of witness that prover sends:
Prover sends (a, b, x) w/ d(a, x) + d(x, b) minimal.
SLIDE 137 A Glimpse at the Details (4)
Lemma 1
If f (S, T) = true, Alice and Bob accept.
Proof.
◮ Bob: √ ◮ Alice: remember: accepts if ∀x ∈ R: x /
∈ S
◮ Why ∀? Why not ∃? ◮ Triangle Lemma: If c ∈ R ∩ S, then one of (a, c, x), (c, b, x) is
witness for f (S, T) = true.
◮ Smart choice of witness that prover sends:
Prover sends (a, b, x) w/ d(a, x) + d(x, b) minimal.
◮ Such a c would contradict minimality.
SLIDE 138
A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
SLIDE 139
A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
SLIDE 140 A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
◮ Suppose both Alice and Bob accept.
SLIDE 141 A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
◮ Suppose both Alice and Bob accept. ◮ Alice: ∀x ∈ R: x /
∈ S.
SLIDE 142 A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
◮ Suppose both Alice and Bob accept. ◮ Alice: ∀x ∈ R: x /
∈ S.
◮ Bob: ∃x ∈ R: a ⌢ x ⌢ b in T.
SLIDE 143 A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
◮ Suppose both Alice and Bob accept. ◮ Alice: ∀x ∈ R: x /
∈ S.
◮ Bob: ∃x ∈ R: a ⌢ x ⌢ b in T. ◮ S disconnected in T.
SLIDE 144 A Glimpse at the Details (5)
Lemma 2
If f (S, T) = false, Alice rejects or Bob rejects.
Proof.
Counterpositive:
◮ Suppose both Alice and Bob accept. ◮ Alice: ∀x ∈ R: x /
∈ S.
◮ Bob: ∃x ∈ R: a ⌢ x ⌢ b in T. ◮ S disconnected in T. ◮ f (S, T) = true.
SLIDE 145 Conclusion
◮ Nondet. CC lower bound for Spanning Tree extension complexity is
(almost) useless
SLIDE 146 Conclusion
◮ Nondet. CC lower bound for Spanning Tree extension complexity is
(almost) useless
◮ Ω(n2) Ω(n2 log n) improvement is still a possibility
SLIDE 147 Conclusion
◮ Nondet. CC lower bound for Spanning Tree extension complexity is
(almost) useless
◮ Ω(n2) Ω(n2 log n) improvement is still a possibility
◮ Other than that, “non-combinatorial” techniques are needed.
SLIDE 148 Conclusion
◮ Nondet. CC lower bound for Spanning Tree extension complexity is
(almost) useless
◮ Ω(n2) Ω(n2 log n) improvement is still a possibility
◮ Other than that, “non-combinatorial” techniques are needed. ◮ . . . or a o(n3) extended formulation.
SLIDE 149
Need More Brainpower
SLIDE 150
Need More Brainpower