14th Athens Colloquium on Algorithms and Complexity (ACAC19)
1. Practical volume estimation by a new annealing
schedule for cooling convex bodies
A.Chalkis, I.Z.Emiris, V. Fisikopoulos
Dept. of Informatics & Telecommunications, University of Athens
3. Volume computation
Given P a convex polytope in Rd compute the volume of P.
H-polytope: P = {x | Ax †b, A â RqĂd , b â Rq}.
4. Volume computation
Given P a convex polytope in Rd compute the volume of P.
H-polytope: P = {x | Ax †b, A â RqĂd , b â Rq}.
P is given as a set of linear inequalities.
5. Our setting
Given P a convex polytope in Rd compute the volume of P.
V-polytope: P is the convex hull of a set of points in Rd .
6. Our setting
Given P a convex polytope in Rd compute the volume of P.
Zonotope: P is the Minkowski sum of k d-dimensional
segments.
A zonotope is a centrally symmetric convex body.
9. Complexity
Computing the exact volume of P,
is #P-hard for all the representations [DyerFriezeâ88]
is open if both H- and V- representations available
10. Complexity
Computing the exact volume of P,
is #P-hard for all the representations [DyerFriezeâ88]
is open if both H- and V- representations available
is APX-hard (oracle model) [Elekesâ86]
11. Our goal
A new practical volume estimation for V-polytopes and
zonotopes.
12. Our goal
A new practical volume estimation for V-polytopes and
zonotopes.
Why:
Volume computation of such polytopes appear in engineering
and data science.
Current state-of-the-art software can not scale beyond, say
d â„ 15.
13. Randomized algorithms
Theorem
For any convex body K and any 0 †, Ύ †1, there is a
randomized algorithm which computes an estimate V s.t. with
probability 1 â ÎŽ we have (1 â )vol(K) †V †(1 + )vol(K), and
the number of oracle calls is poly(d, 1/ , log(1/ÎŽ)).
Using randomness, we can go from an exponential
approximation to an arbitrarily small one.
14. Multiphase Monte Carlo
Let Cm â · · · â C1 a sequence of concentric balls intersecting
P, s.t. Cm â P â C1.
23. Sampling
To sample uniformly distributed points from Pi we use
geometric random walks (Markov chain).
A geometric r.w. starts at p0 â P and at each step i, moves to
a âneighboringâ point pi+1 that depends only on pi .
Problem (set the walk length):
Starting from a uniform point pi , how many steps do we have
to perform until we get a new uniform point? (Mixing time).
24. Sampling
To sample uniformly distributed points from Pi we use
geometric random walks (Markov chain).
A geometric r.w. starts at p0 â P and at each step i, moves to
a âneighboringâ point pi+1 that depends only on pi .
Problem (set the walk length):
Starting from a uniform point pi , how many steps do we have
to perform until we get a new uniform point? (Mixing time).
Random walk Mixing time cost per step cost per step
(walk length) H-rep V- & Z-rep
Hit-and-Run Oâ(d3) O(md) 2 LPs
Coordinate Hit-and-Run ?? O(m) 2 LPs
Ball walk Oâ(d3) O(md) 1 LP
Vaidya walk Oâ(m1/2d3/2) O(md2) â
Riemannian HMC Oâ(md2/3) O(md2) â
Billiard walk ?? O(Ïmd) Ï LPs
25. Sampling
Random walk Mixing time cost per step cost per step
(number of steps) H-rep V- & Z-rep
Coordinate Hit-and-Run ?? O(m) 2 LPs
Billiard walk ?? O(Ïmd) Ï LPs
Coordinate Hit-and-Run:
Is the main paradigm in applications and software.
In practice converges to uniform distribution in O(d2) steps
[Cousins, Vempalaâ17].
26. Sampling
Random walk Mixing time cost per step cost per step
(number of steps) H-rep V- & Z-rep
Coordinate Hit-and-Run ?? O(m) 2 LPs
Billiard walk ?? O(Ïmd) Ï LPs
Coordinate Hit-and-Run:
Is the main paradigm in applications and software.
In practice converges to uniform distribution in O(d2) steps
[Cousins, Vempalaâ17].
Billiard walk:
Converges faster to uniform distribution than Hit-and-Run in
practice [Polyakâ14].
For V-polytopes and zonotopes has comparable cost per step
with Coordinate Hit-and-Run.
27. Billiard walk
Set the walk length equal to 1.
Sample 1000 points from the 1000-dimensional unit-cube and
project the points to the plane.
Left: Billiard walk. Right: Hit-and-Run
28. State-of-the-art
Authors-Year Complexity Algorithm
(oracle calls)
[Dyer, Frieze, Kannanâ91] Oâ(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovitsâ97] Oâ(d5) Sequence of balls + ball walk
[Lovasz, Vempalaâ03] Oâ(d4) Exponential dist. + hit-and-run
[Cousins, Vempalaâ15] Oâ(d3) Spherical Gaussians + ball walk
29. State-of-the-art
Authors-Year Complexity Algorithm
(oracle calls)
[Dyer, Frieze, Kannanâ91] Oâ(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovitsâ97] Oâ(d5) Sequence of balls + ball walk
[Lovasz, Vempalaâ03] Oâ(d4) Exponential dist. + hit-and-run
[Cousins, Vempalaâ15] Oâ(d3) Spherical Gaussians + ball walk
Practical methods:
Follow theory but make practical adjustments (experimental).
30. State-of-the-art
Authors-Year Complexity Algorithm
(oracle calls)
[Dyer, Frieze, Kannanâ91] Oâ(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovitsâ97] Oâ(d5) Sequence of balls + ball walk
[Lovasz, Vempalaâ03] Oâ(d4) Exponential dist. + hit-and-run
[Cousins, Vempalaâ15] Oâ(d3) Spherical Gaussians + ball walk
Practical methods:
Follow theory but make practical adjustments (experimental).
[Emiris, Fâ14] Sequence of balls + coordinate hit-and-run.
31. State-of-the-art
Authors-Year Complexity Algorithm
(oracle calls)
[Dyer, Frieze, Kannanâ91] Oâ(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovitsâ97] Oâ(d5) Sequence of balls + ball walk
[Lovasz, Vempalaâ03] Oâ(d4) Exponential dist. + hit-and-run
[Cousins, Vempalaâ15] Oâ(d3) Spherical Gaussians + ball walk
Practical methods:
Follow theory but make practical adjustments (experimental).
[Emiris, Fâ14] Sequence of balls + coordinate hit-and-run.
[Cousins, Vempalaâ16] Spherical Gaussians + coordinate
hit-and-run
33. Limitations
Limitations of existing practical methods:
EïŹcient only for H-polytopes (scale up-to few hundred dims in
hrs)
For V-polytopes or zonotopes:
Both of them request an inscribed ball (ideally the maximum)
C â P.
The number of total steps is strongly determined by the radius
of C.
[Cousins, Vempalaâ16] needs a bound on the number of facets.
34. Our contributions
Multiphase Monte Carlo: We allow any convex body C (that
âïŹts wellâ to P and is âeasyâ to sample from) besides ball to
construct the sequence.
35. Our contributions
Multiphase Monte Carlo: We allow any convex body C (that
âïŹts wellâ to P and is âeasyâ to sample from) besides ball to
construct the sequence.
Sampling: Billiard walk to V-polytopes and zonotopes.
36. Our contributions
Multiphase Monte Carlo: We allow any convex body C (that
âïŹts wellâ to P and is âeasyâ to sample from) besides ball to
construct the sequence.
Sampling: Billiard walk to V-polytopes and zonotopes.
A new simulated annealing method to construct a sparser
sequence of bodies.
Sequence by [L.S.â97] (left) and by annealing schedule (right).
37. Our contributions
Multiphase Monte Carlo: We allow any convex body C (that
âïŹts wellâ to P and is âeasyâ to sample from) besides ball to
construct the sequence.
Sampling: Billiard walk to V-polytopes and zonotopes.
A new simulated annealing method to construct a sparser
sequence of bodies.
Sequence by [L.S.â97] (left) and by annealing schedule (right).
Our method can be easily extended for any polytope P that is
given as a projection of a polytope Q.
39. Statistical tests
for the ratio of volumes of convex bodies
Given convex bodies Pi â Pi+1, we deïŹne two statistical tests:
testL(Pi , Pi+1, r, ÎŽ): testR(Pi , Pi+1, r, ÎŽ):
H0 : vol(Pi+1)/vol(Pi ) ℠r + Ύ H0 : vol(Pi+1)/vol(Pi ) †r
Successful if we reject H0 Successful if we reject H0
If both testL and testR are successful then
ri = vol(Pi+1)/vol(Pi ) â [r, r + ÎŽ], with high probability.
40. Annealing Schedule
How we compute the sequence of bodies
1. Compute the body with smallest
volume in the sequence, C
(C = Cm at termination).
41. Annealing Schedule
How we compute the sequence of bodies
1. Compute the body with smallest
volume in the sequence, C
(C = Cm at termination).
2. P0 = P, i = 0
47. Zonotopes
Number of phases
Two types of bodies: balls (left) symmetric H-polytopes (right)
For low order (i.e. #generators/d) zonotopes, the number of
bodies is †3 for d †100, smaller than the case of using balls.
48. Zonotopes
Number of phases
Two types of bodies: balls (left) symmetric H-polytopes (right)
For low order (i.e. #generators/d) zonotopes, the number of
bodies is †3 for d †100, smaller than the case of using balls.
The number of bodies right grows as a piecewise constant
function of d.
49. Complexity for zonotopes
We test the method for 3 diïŹerent random
zonotope-generators.
Order k/d = 2.
for d = 100 takes †1hr.
50. Complexity for V-polytopes
We test the method for 2 diïŹerent random
V-polytope-generators.
The method performs Oâ(d) oracle calls for random
V-polytopes while the best theoretical complexity is Oâ(d3)
oracle calls.
for d = 100 takes †1hr.
51. Supported by Google Summer of Code 2018 and 2019.
The implementations in C++ are included to the R package
volesti1 in CRAN.
More development branches in Github2.
1
https://cran.r-project.org/web/packages/volesti/index.html
2
https://github.com/GeomScale/volume_approximation