SlideShare a Scribd company logo
Practical volume estimation by a new annealing
schedule for cooling convex bodies
Vissarion Fisikopoulos
Joint work with A.Chalkis, I.Z.Emiris
Dept. of Informatics & Telecommunications, University of Athens
ULB, 2019
Our problem
Given P a convex polytope in Rd compute the volume of P.
Our problem
Given P a convex polytope in Rd compute the volume of P.
Some elementary polytopes (simplex, cube) have simple
determinantal formulas.
1 2 1
3 6 1
6 1 1
/2! = 11
2 5
4 0
= 20
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
S ⊆ E, χS
e = {1 if e ∈ S, 0 otherwise}
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
S ⊆ E, χS
e = {1 if e ∈ S, 0 otherwise}
Bn = conv{χM | M is a perfect matching of Kn,n}
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
S ⊆ E, χS
e = {1 if e ∈ S, 0 otherwise}
Bn = conv{χM | M is a perfect matching of Kn,n}
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
S ⊆ E, χS
e = {1 if e ∈ S, 0 otherwise}
Bn = conv{χM | M is a perfect matching of Kn,n}
# faces of B3: 6, 15, 18, 9; vol(B3) = 9/8
Birkhoff polytopes
Given the complete bipartite graph Kn,n = (V , E) a perfect
matching is M ⊆ E s.t. every vertex meets exactly one member
of M
S ⊆ E, χS
e = {1 if e ∈ S, 0 otherwise}
Bn = conv{χM | M is a perfect matching of Kn,n}
# faces of B3: 6, 15, 18, 9; vol(B3) = 9/8
there exist formulas for the volume [deLoera et al ’07] but
values only known for n ≤ 10 after 1yr of parallel computing
[Beck et al ’03]
Volumes and counting
Given n elements & partial order; order poly-
tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order
c
a
b a, b, c
partial order: a < b
3 linear extensions: abc, acb, cab
Volumes and counting
Given n elements & partial order; order poly-
tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order
c
a
b a, b, c
partial order: a < b
3 linear extensions: abc, acb, cab
# linear extensions = volume of order polytope · n!
[Stanley’86]
Volumes and counting
Given n elements & partial order; order poly-
tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order
c
a
b a, b, c
partial order: a < b
3 linear extensions: abc, acb, cab
# linear extensions = volume of order polytope · n!
[Stanley’86]
Counting linear extensions is #P-hard [Brightwell’91]
Mixed volume
Let P1, P2, . . . , Pd be polytopes in Rd then the mixed volume is
M(P1, . . . , Pd ) =
I⊆{1,2,...,d}
(−1)(d−|I|)
· Vol(
i∈I
Pi )
where the sum is the Minkowski sum.
Mixed volume
Let P1, P2, . . . , Pd be polytopes in Rd then the mixed volume is
M(P1, . . . , Pd ) =
I⊆{1,2,...,d}
(−1)(d−|I|)
· Vol(
i∈I
Pi )
where the sum is the Minkowski sum.
Example
For d = 2: M(P1, P2) = Vol(P1 + P2) − Vol(P1) − Vol(P2)
P1 P2 P1 + P2
Volumes and algebraic geometry
Toric geometry
If P is an integral d-dimensional polytope, then d! times the volume
of P is the degree of the toric variety associated to P.
BKK bound (Bernshtein, Khovanskii, Kushnirenko)
Let f1, . . . , fn be polynomials in C[x1, . . . , xn]. Let N(fj ) denote the
Newton polytope of fj , i.e. the convex hull of it’s exponent vectors.
If f1, . . . , fn are generic, then the number of solutions of the
polynomial system of equations
f1 = 0, . . . , fn = 0
with no xi = 0 is equal to the normalized mixed volume
n!M(N(f1), . . . , N(fn))
Applications
Volume of zonotopes is used to test methods for order
reduction which is important in several areas: autonomous
driving, human-robot collaboration and smart grids [Althoff et
al.]
Volumes of intersections of polytopes are used in bio-geography
to compute biodiversity and related measures e.g. [Barnagaud,
Kissling, Tsirogiannis, Fisikopoulos, Villeger, Sekercioglu’17]
First thoughts for volume computation
Triangulation (or sign decomposition) methods – exponential
size in d
First thoughts for volume computation
Triangulation (or sign decomposition) methods – exponential
size in d
Sampling/rejections techniques (sample from bounding box)
fail in high dimensions
volume(unit cube) = 1
volume(unit ball) ∼ (c/d)d/2
–drops exponentially with d
Our setting
Given P a convex polytope in Rd compute the volume of P.
H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq}
V-polytope : P is the convex hull of a set of points in Rd
zonotope : Minkowski sum of segments (eq. linear projections of
d-cubes)
Our setting
Given P a convex polytope in Rd compute the volume of P.
H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq}
V-polytope : P is the convex hull of a set of points in Rd
zonotope : Minkowski sum of segments (eq. linear projections of
d-cubes)
Complexity
#P-hard for both representations [DyerFrieze’88]
Our setting
Given P a convex polytope in Rd compute the volume of P.
H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq}
V-polytope : P is the convex hull of a set of points in Rd
zonotope : Minkowski sum of segments (eq. linear projections of
d-cubes)
Complexity
#P-hard for both representations [DyerFrieze’88]
open if both representations available
Our setting
Given P a convex polytope in Rd compute the volume of P.
H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq}
V-polytope : P is the convex hull of a set of points in Rd
zonotope : Minkowski sum of segments (eq. linear projections of
d-cubes)
Complexity
#P-hard for both representations [DyerFrieze’88]
open if both representations available
no deterministic poly-time algorithm can compute the volume
with less than exponential relative error (oracle
model) [Elekes’86]
State-of-the-art
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy
[Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run
[Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded)
[Lee, Vempala’18] O∗(Fd
2
3 ) Hamiltonian walk (** H-polytopes)
State-of-the-art
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy
[Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run
[Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded)
[Lee, Vempala’18] O∗(Fd
2
3 ) Hamiltonian walk (** H-polytopes)
Software:
[Emiris, F’14] Sequence of balls + coordinate hit-and-run
[Cousins, Vempala’16] Gaussian cooling + hit-and-run
State-of-the-art
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy
[Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run
[Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded)
[Lee, Vempala’18] O∗(Fd
2
3 ) Hamiltonian walk (** H-polytopes)
Software:
[Emiris, F’14] Sequence of balls + coordinate hit-and-run
[Cousins, Vempala’16] Gaussian cooling + hit-and-run
Limitation: Efficient only for H-polytopes (scale up-to few hundred
dims in hrs), for V-polytopes or zonotopes:
oracles are expensive (solution of an LP)
[Cousins, Vempala’16] needs a bound on the number of facets
State-of-the-art
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy
[Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run
[Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded)
[Lee, Vempala’18] O∗(Fd
2
3 ) Hamiltonian walk (** H-polytopes)
Software:
[Emiris, F’14] Sequence of balls + coordinate hit-and-run
[Cousins, Vempala’16] Gaussian cooling + hit-and-run
Limitation: Efficient only for H-polytopes (scale up-to few hundred
dims in hrs), for V-polytopes or zonotopes:
oracles are expensive (solution of an LP)
[Cousins, Vempala’16] needs a bound on the number of facets
Goal: Efficient algorithm for V-polytopes and zonotopes
Methodology
Volume algorithms parts
1. Multiphase Monte Carlo: e.g. Sequence of balls, Annealing of
functions
2. Sampling: grid-walk, ball-walk, hit-and-run, Hamiltonian walk
Typically MMC (1) at each phase solves a sampling problem (2)
Methodology
Volume algorithms parts
1. Multiphase Monte Carlo: e.g. Sequence of balls, Annealing of
functions
2. Sampling: grid-walk, ball-walk, hit-and-run, Hamiltonian walk
Typically MMC (1) at each phase solves a sampling problem (2)
Our approach:
MMC using convex bodies (balls or H-polytopes that ”fit well”
and are ”easy” to sample from)
A new annealing method to construct the sequence of bodies
A new convergence criterion
Multiphase Monte Carlo
Construct a sequence of convex bodies C1 ⊇ · · · ⊇ Cm intersecting
the given polytope P, then:
vol(P) =
vol(Pm)
vol(Cm)
vol(Pi )
vol(P0)
vol(Pi+1)
vol(Pi )
· · · vol(Pm)
vol(Pm−1)
vol(Cm)
where P0 = P and Pi = Ci ∩ P for i = 1, . . . , m.
Annealing Schedule
How we compute the sequence of bodies
Inputs: Polytope P, error , cooling parameters r, δ > 0 and a
significance level (s.l.) α > 0 s.t. 0 < r + δ < 1.
Output: A sequence of convex bodies C1 ⊇ · · · ⊇ Cm s.t.
vol(Pi+1)/vol(Pi ) ∈ [r, r + δ] with high probability
where Pi = Ci ∩ P, i = 1, . . . , m and P0 = P.
t-test
one tailed
Let ν observations from a r.v. X ∼ N(µ, σ2) with unknown
variance σ2.
t-test checks the null hypothesis that the population mean
exceeds a specified value µ0 using the statistic
t = ¯x−µ0
s/
√
ν
∼ tν−1, where ¯x: sample’s mean, s: sample’s st.d.,
tν−1: t-student distribution with ν − 1 degrees of freedom
Given a s.l. α > 0 we test the null hypothesis for the mean
value of the population, H0 : µ ≤ µ0 against H1 : µ > µ0
We say that we reject H0 if,
t ≥ tν−1,α ⇒ ¯x ≥ µ0 + tν−1,αs/
√
ν
which implies Pr(H0 true | reject H0) = α (tν−1,α is the critical
value). Otherwise we fail to reject H0
t-test
for the ratio of volumes of convex bodies
Given convex bodies Pi ⊇ Pi+1, s.l. α, and cooling parameters
r, δ > 0, 0 < r + δ < 1, we define two t-tests:
testL(Pi , Pi+1, r, δ, α, ν, N): testR(Pi , Pi+1, r, α, ν, N):
H0 : vol(Pi+1)/vol(Pi ) ≤ r + δ H0 : vol(Pi+1)/vol(Pi ) ≤ r
H1 : vol(Pi+1)/vol(Pi ) ≥ r + δ H1 : vol(Pi+1)/vol(Pi ) ≥ r
Successful if we fail to reject H0 Successful if we reject H0
testL and testR are used by annealing schedule to restrict
each ratio ri = vol(Pi+1)/vol(Pi ) in the interval [r, r + δ].
t-test
Compute testL, testR for Pi ⊇ Pi+1
1. sample νN points from Pi and split the sample into ν sublists
of length N.
2. The ν mean values are experimental values that follow
N(ri , (ri (1 − ri ))/N).
3. Use those values to perform two t-tests with null hypotheses:
testL H0 : ri ≤ r + δ testR H0 : ri ≤ r
Assuminga
the following holds,
r + δ + tν−1,α
s√
ν
≥ ˆµ ≥ r + tν−1,α
s√
ν
then ri is restricted to [r, r + δ] with high probability.
a
for the mean ˆµ of the ν mean values
Initialization of Annealing Schedule
Given: polytope P, convex body C s.t. C ∩ P = ∅, an interval
[qmin, qmax] and parameters r, δ, α, ν, N.
binary search for q ∈ [qmin, qmax] s.t. both testL(qC, qC ∩ P)
and testR(qC, qC ∩ P) are successful.
sample from qC, rejection to P
we call the successful qC, C
1st iteration of the initialization step
[qmin, qmax] = [0.14, 0.38], q = qmin+qmax
2 = 0.26
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ = r (1)+r (2)···+r (10)
ν = 684
1200 = 0.57, s = 0.06
testL→ H0 : volqC∩P
vol(qC)
≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : volqC∩P
vol(qC)
≤ r ⇒ failed (H0 not rejected).
qC of 1st iteration is too big (the ratio is too small).
2nd iteration of the initialization step
[qmin, qmax] = [0.14, 0.26], q = qmin+qmax
2 = 0.20
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ = r (1)+r (2)···+r (10)
ν = 914
1200 = 0.76, s = 0.04
testL→ H0 : volqC∩P
vol(qC)
≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : volqC∩P
vol(qC)
≤ r ⇒ failed (H0 not rejected).
qC of 2nd iteration is too big (the ratio is too small).
3rd iteration of the initialization step
[qmin, qmax] = [0.14, 0.20], q = qmin+qmax
2 = 0.17
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ = r (1)+r (2)···+r (10)
ν = 1076
1200 = 0.90, s = 0.02
testL→ H0 : volqC∩P
vol(qC)
≤ r + δ ⇒ failed (H0 rejected).
testR→ H0 : volqC∩P
vol(qC)
≤ r ⇒ succeed (H0 rejected).
qC of 3rd iteration is too small (the ratio is too big).
4th iteration of the initialization step
[qmin, qmax] = [0.17, 0.20], q = qmin+qmax
2 = 0.185
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ = r (1)+r (2)···+r (10)
ν = 993
1200 = 0.83, s = 0.04
testL→ H0 : volqC∩P
vol(qC)
≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : volqC∩P
vol(qC)
≤ r ⇒ succeed (H0 rejected).
Set C = qC.
Annealing Schedule
Iteration & Stopping criterion
In step i of the annealing schedule sample νN points from Pi
to perform testR(Pi , C ∩ P).
The schedule stops if volume ratio vol(C ∩ P)/vol(Pi ) is large
enough according to testR.
Stop in step i if testR(Pi , C ∩ P) succeeds.
Set m = i + 1 and Pm = C ∩ P, Cm = C .
Otherwise, construct Pi+1: binary search for qC s.t. succeed
testL(Pi , Pi+1), testR(Pi , Pi+1) using the same sample in Pi
Check stopping criterion
i = 0, P0 = P, sample νN points from P0.
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ =
r
(1)
0 +r
(2)
0 ···+r
(10)
0
ν = 535
1200 = 0.45, s = 0.08
testR→ H0 : r0 ≤ r ⇒ failed (H0 not rejected).
Define P1.
Define next convex body in MMC
i = 0, P0 = P, binary search for q ∈ [0.185, 0.38]
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
q = 0.36, ˆµ =
r
(1)
0 +r
(2)
0 ···+r
(10)
0
ν = 998
1200 = 0.83, s = 0.07
testL→ H0 : r0 ≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : r0 ≤ r ⇒ succeed (H0 rejected).
Set C1 = qC.
Check stopping criterion
i = 1, P1 = C1 ∩ P, sample νN points from P1.
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ =
r
(1)
1 +r
(2)
1 ···+r
(10)
1
ν = 535
1200 = 0.57, s = 0.07
testR→ H0 : r1 ≤ r ⇒ failed (H0 not rejected).
Define P2.
Define next convex body in MMC
i = 1, P1 = C1 ∩ P, binary search for q ∈ [0.185, 0.36]
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
q = 0.28, ˆµ =
r
(1)
1 +r
(2)
1 ···+r
(10)
1
ν = 998
1200 = 0.82, s = 0.06
testL→ H0 : r1 ≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : r1 ≤ r ⇒ succeed (H0 rejected).
Set C2 = qC.
Check stopping criterion
i = 2, P2 = C2 ∩ P, sample νN points from P2.
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ =
r
(1)
2 +r
(2)
2 ···+r
(10)
2
ν = 833
1200 = 0.69, s = 0.08
testR→ H0 : r2 ≤ r ⇒ failed (H0 not rejected).
Define P3.
Define next convex body in MMC
i = 2, P2 = C2 ∩ P, binary search for q ∈ [0.185, 0.28]
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
q = 0.21, ˆµ =
r
(1)
2 +r
(2)
2 ···+r
(10)
2
ν = 976
1200 = 0.81, s = 0.05
testL→ H0 : r2 ≤ r + δ ⇒ succeed (H0 not rejected).
testR→ H0 : r2 ≤ r ⇒ succeed (H0 rejected).
Set C3 = qC.
Check stopping criterion
i = 3, P3 = C3 ∩ P, sample νN points from P3.
r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120
ˆµ =
r
(1)
3 +r
(2)
3 ···+r
(10)
3
ν = 1026
1200 = 0.86, s = 0.04
testR→ H0 : r3 ≤ r ⇒ succeed (H0 rejected).
Set m = 4, C4 = C .
Estimate Ratio
Sliding window
For i = 1, . . . , m (m computed by schedule) estimate
ri = vol(Pi+1)/vol(Pi ).
Generate points in Pi . For each new point keep the value of ri .
Store the last n values in a queue called sliding window W .
Update W for each new sample point, by inserting the new
value of ri and by popping out the oldest ratio value.
. . .
rj
i
. . .
rj+n−1
i
Convergence criterion
W is a set of n values following Gaussian distribution
Consider the mean value ˆµ, the st.d. s of W and
Pr = m+1
3/4. For each ri assign a value i (is the maximum
allowed error for ri ), s.t. i
2
i = 2.
Using p = (1 + Pr)/2 and the interval [ˆµ − zps, ˆµ + zps]:
if
(ˆµ + zps) − (ˆµ − zps)
ˆµ + zps
=
2zps
ˆµ + zps
≤ i /2, then declare convergence.
Convergence criterion
W is a set of n values following Gaussian distribution
Consider the mean value ˆµ, the st.d. s of W and
Pr = m+1
3/4. For each ri assign a value i (is the maximum
allowed error for ri ), s.t. i
2
i = 2.
Using p = (1 + Pr)/2 and the interval [ˆµ − zps, ˆµ + zps]:
if
(ˆµ + zps) − (ˆµ − zps)
ˆµ + zps
=
2zps
ˆµ + zps
≤ i /2, then declare convergence.
Remark:
If we assume (perfect) uniform sampling from Pi :
1. There is n = O(1) s.t. ri ∈ [ˆµ − zps, ˆµ + zps] with
Pr = m+1
3/4.
2. method estimates vol(P) with probability 3/4 and error ≤ .
In practice it is open how to bound n
The volume algorithm
Algorithm 1 VolumeAlgorithm (P, , r, δ, α, ν, N, n)
Construct C ⊆ Rd s.t. C ∩ P = ∅ and set [qmin, qmax]
{P0, . . . , Pm, Cm}=AnnealingSchedule(P, C, r, δ, α, ν, N, qmin, qmax)
m = /2
√
m + 1, = 4(m + 1) − 1/2
√
m + 1
Set i = /
√
m, i = 0, . . . , m − 1
for i = 0, . . . m do
if i < m then
ri = EstimateRatio (Pi , Pi+1, i , m, n)
else
rm = EstimateRatio (Cm, Pm, m, m, n)
end if
end for
return vol(Cm)/r0/ · · · /rm−1 · rm
Bounds on #phases
Let the power of a i-th t-test
powi := Pr(H0 false | reject H0) = 1 − βi .
Proposition
Given P ⊂ Rd and cooling parameters r, δ s.t. r + δ < 1/2 and a
s.l. α, let m be the number of balls in MMC. Then m < d lg(d)
with probability p ≥ 1 − max{βi } = min{powi }, i = 0, . . . , m.
Proposition
Given P, the body C that minimizes the expected number of phases
in MMC, for given cooling parameters r, δ and s.l. α is the one that
maximizes vol(C ∩ P) in the annealing schedule initialization
Implementation
VolEsti: sampling and volume estimation
C++, R-interface, python bindings (in review)
open source
since 2014, CGAL (not any more), Eigen, LPSolve
design: mix of obj oriented + templates, C++03
main developers: VF, Tolis Chalkis
https://github.com/GeomScale/volume_approximation
Contributions welcome!
C++ VolEsti example
template <typename NT , class RNGType , class Polytope >
void test_volume (Polytope &HP)
{
// Setup the parameters
int n = HP.dimension ();
int walk_len=10 + n/10;
int nexp=1, n_threads=1;
NT e=1, err=0.0000000001;
int rnum = std::pow(e,-2) * 400 * n * std :: log(n);
unsigned seed = std:: chrono :: system_clock ::now()
. time_since_epoch (). count ();
RNGType rng(seed );
boost :: normal_distribution <> rdist(0,1);
boost :: random :: uniform_real_distribution <>( urdist );
boost :: random :: uniform_real_distribution <> urdist1(-1,1);
vars <NT , RNGType > var(rnum ,n,walk_len ,n_threads ,err ,e,0,0,0,0,
rng ,urdist ,urdist1,-1.0,false ,false ,false ,false ,false ,fals
// Compute chebychev ball and volume //
typedef typename Polytope :: PolytopePoint Point;
std ::pair <Point ,NT > CheBall;
CheBall = HP. ComputeInnerBall ();
std :: cout << volume(HP ,var ,var ,CheBall) << std:: endl;
}
Experiments
Experimentally determine the parameters
Anneling schedule: set r = 0.1 and δ = 0.05 in order to
define vol(Pi+1 to be about 10% of vol(Pi ).
Set νN = 1200 + 2d2 and ν = 10.
Sliding window: set window length n = 2d2 + 250.
Hit-and-Run: step equal to 1.
Zonotopes
Number of phases
Two types of bodies: balls (left) symmetric H-polytopes (right)
For low order (i.e. #generators/d) zonotopes, ≤ 4, the number
of bodies is smaller than the case of using balls
For balls the number of phases reduces as the order increases
for a fixed dimension
Zonotopes
Performance
Experimental results for zonotopes.
z-d-k Body order Vol m steps time(sec)
z-5-500 Ball 100 4.63e+13 1 0.1250e+04 22.26
z-20-2000 Ball 100 2.79e+62 1 0.2000e+04 1428
z-50-65 Hpoly 1.3 1.42e+62 1 1.487e+04 173.9
z-100-130 Hpoly 1.3 1.37e+138 3 17.19e+04 6073
z-50-75 Hpoly 1.5 2.96e+66 2 1.615e+04 253.6
z-100-150 Hpoly 1.5 2.32+149 3 15.43e+04 10060
z-70-140 Hpoly 2 8.71e+111 2 5.059e+04 2695
z-100-200 Hpoly 2 5.27e+167 3 15.25e+04 34110
z-d-k: random zonotope in dimension d with k generators;
Body: the type of body used in MMC; m: number of bodies in
MMC
Used to evaluate zonotope approximation methods in
engineering [Kopetzki’17]
Comparison with state-of-the-art
Zonotopes
The number of steps for random zonotopes of order 2
Our method is asymptotically better
CoolingGaussian and SeqOfBalls takes > 2hr for d > 15.
for higher orders the difference is larger
V-polytopes
P Vol m steps error time ex. Vol ex. time
cross-60 1.27e-64 1 20.6e+03 0.08 60.1 −− −−
cross-100 1.51e-128 2 94.2e+03 0.11 406 −− −−
∆-60 1.08e-82 10 77.4e+04 0.1 1442 1.203-82 0.02
∆-80 1.30e-119 13 187e+04 0.07 6731 1.39e-119 0.07
cube-10 1052.4 1 1851 0.03 54.39 −− −−
cube-13 7538.2 1 2127 0.08 2937 −− −−
rv-10-80 3.74e-03 1 0.185e+04 0.08 3.35 3.46e-03 6.8
rv-10-160 1.59e-02 1 0.140e+04 0.06 5.91 1.50e-03 59
rv-15-30 2.73e-10 1 0.235e+04 0.02 3.46 2.79e-10 2.1
rv-15-60 4.41e-08 1 0.235e+04 −− 6.46 −− −−
rv-20-2000 2.89e-07 1 0.305e+04 −− 457 −− −−
rv-80-160 5.84e-106 3 11.3e+04 −− 3250 −− −−
rv-100-200 1.08e-141 4 24.5e+04 −− 13300 −− −−
time: the average time in seconds; ex. Vol: the exact volume; ex. time:
the time in seconds for the exact volume computation i.e. qhull in R
(package geometry); m is the number of phases. −− implies that the
execution failed due to memory issues or exceeded 1 hr.
H-polytopes
The number of steps for unit cubes in H-representation
for d = 100: > 2 faster than CoolingGaussianand ∼ 100x
than SeqOfBalls
Future directions
Better (practical) sampling methods (candidate: Hamiltonian
walk) + implementation
Future directions
Better (practical) sampling methods (candidate: Hamiltonian
walk) + implementation
Study convex body families for MMC
Future directions
Better (practical) sampling methods (candidate: Hamiltonian
walk) + implementation
Study convex body families for MMC
Applications:
zonotope approximation in engineering
finance [Cales, Chalkis, Emiris, F, SoCG’18]
Future directions
Better (practical) sampling methods (candidate: Hamiltonian
walk) + implementation
Study convex body families for MMC
Applications:
zonotope approximation in engineering
finance [Cales, Chalkis, Emiris, F, SoCG’18]
Google Summer of Code ’19 call for internships! (contact me :)
Future directions
Better (practical) sampling methods (candidate: Hamiltonian
walk) + implementation
Study convex body families for MMC
Applications:
zonotope approximation in engineering
finance [Cales, Chalkis, Emiris, F, SoCG’18]
Google Summer of Code ’19 call for internships! (contact me :)
GSOC19: Project 1. Sampling scalability
empirical study of random walks for convex polytopes (mainly
given by a set of linear inequalities).
Currently variations of hit-and-run random walks are used but
there are methods with better mixing time; e.g. hamiltonian
walk https://arxiv.org/pdf/1710.06261.pdf.
expectation: dramatic effect in the scaling of the underlying
algorithms
ultimate goal: “scale from a few hundred dimensions to a few
thousand”
We can divide the coding project in the following steps:
Understand the code structure and design of VolEsti.
Create prototypes for new sampling algorithms (the main focus
will be in Hamiltonian walk but we may investigate others too).
Implement the best representatives from the previous step in
VolEsti and create R interfaces.
Write tests and documentation.
GSOC19: Project 2. Sampling and volume of spectahedra
non-linear extension for VolEsti
Spectahedra are feasible regions of semidefinite programs and
are known to be convex.
important role in optimization: the “next more understandable”
convex objects after polytopes
algorithms for sampling and volume computation will shed
more light towards their study.
We can divide the coding project in the following steps:
Understand the code structure and design of VolEsti.
Understand the basics for spectahedra from bibliography.
Implement a new convex body type and boundary oracle for
spectahedra.
Work on extensions of the problem such as replacing
spectahedra by a spectahedral shadow.
Write tests and documentation.
GSOC19: Project 3. Convex optimization with randomized
algorithms
Design and implementation of optimization algorithms (available in
relevant bibliography) in VolEsti that utilize sampling (already
available in the library) as a main subroutine.
We can divide the coding project in the following steps:
Understand the code structure and design of VolEsti.
Implement optimization algorithms. A good place to start is
Dabbene ”A Randomized Cutting Plane Method with
Probabilistic Geometric Convergence” Siam JOPT 2010
Test implementations with various random walks available in
VolEsti
Write tests and documentation

More Related Content

What's hot

Clustering in Hilbert simplex geometry
Clustering in Hilbert simplex geometryClustering in Hilbert simplex geometry
Clustering in Hilbert simplex geometry
Frank Nielsen
 
A Generalization of QN-Maps
A Generalization of QN-MapsA Generalization of QN-Maps
A Generalization of QN-Maps
IOSR Journals
 
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable FunctionsA Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
Matt Parker
 
20320140501020
2032014050102020320140501020
20320140501020
IAEME Publication
 
Bregman divergences from comparative convexity
Bregman divergences from comparative convexityBregman divergences from comparative convexity
Bregman divergences from comparative convexity
Frank Nielsen
 
A series of maximum entropy upper bounds of the differential entropy
A series of maximum entropy upper bounds of the differential entropyA series of maximum entropy upper bounds of the differential entropy
A series of maximum entropy upper bounds of the differential entropy
Frank Nielsen
 
Incremental Topological Ordering (and Cycle Detection)
Incremental Topological Ordering (and Cycle Detection)Incremental Topological Ordering (and Cycle Detection)
Incremental Topological Ordering (and Cycle Detection)
⌨️ Andrey Goder
 
Clustering in Hilbert geometry for machine learning
Clustering in Hilbert geometry for machine learningClustering in Hilbert geometry for machine learning
Clustering in Hilbert geometry for machine learning
Frank Nielsen
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
Vissarion Fisikopoulos
 
Sop and pos
Sop and posSop and pos
Sop and pos
shubhamprajapat23
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
IJERD Editor
 
Lecture13
Lecture13Lecture13
Lecture13
Dharmesh Goyal
 
確率伝播その2
確率伝播その2確率伝播その2
確率伝播その2
Yoshihide Nishio
 
16 fft
16 fft16 fft
16 fft
abhi5556
 
Module 5 Sets
Module 5 SetsModule 5 Sets
Module 5 Sets
guestcc333c
 
Wireless Localization: Ranging (second part)
Wireless Localization: Ranging (second part)Wireless Localization: Ranging (second part)
Wireless Localization: Ranging (second part)
Stefano Severi
 
Temporal graph
Temporal graphTemporal graph
Temporal graph
Vinay Sarda
 
Semi-automatic ABC: a discussion
Semi-automatic ABC: a discussionSemi-automatic ABC: a discussion
Semi-automatic ABC: a discussion
Christian Robert
 
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
Jurgen Riedel
 
Csr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatovCsr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatov
CSR2011
 

What's hot (20)

Clustering in Hilbert simplex geometry
Clustering in Hilbert simplex geometryClustering in Hilbert simplex geometry
Clustering in Hilbert simplex geometry
 
A Generalization of QN-Maps
A Generalization of QN-MapsA Generalization of QN-Maps
A Generalization of QN-Maps
 
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable FunctionsA Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
 
20320140501020
2032014050102020320140501020
20320140501020
 
Bregman divergences from comparative convexity
Bregman divergences from comparative convexityBregman divergences from comparative convexity
Bregman divergences from comparative convexity
 
A series of maximum entropy upper bounds of the differential entropy
A series of maximum entropy upper bounds of the differential entropyA series of maximum entropy upper bounds of the differential entropy
A series of maximum entropy upper bounds of the differential entropy
 
Incremental Topological Ordering (and Cycle Detection)
Incremental Topological Ordering (and Cycle Detection)Incremental Topological Ordering (and Cycle Detection)
Incremental Topological Ordering (and Cycle Detection)
 
Clustering in Hilbert geometry for machine learning
Clustering in Hilbert geometry for machine learningClustering in Hilbert geometry for machine learning
Clustering in Hilbert geometry for machine learning
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
 
Sop and pos
Sop and posSop and pos
Sop and pos
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
Lecture13
Lecture13Lecture13
Lecture13
 
確率伝播その2
確率伝播その2確率伝播その2
確率伝播その2
 
16 fft
16 fft16 fft
16 fft
 
Module 5 Sets
Module 5 SetsModule 5 Sets
Module 5 Sets
 
Wireless Localization: Ranging (second part)
Wireless Localization: Ranging (second part)Wireless Localization: Ranging (second part)
Wireless Localization: Ranging (second part)
 
Temporal graph
Temporal graphTemporal graph
Temporal graph
 
Semi-automatic ABC: a discussion
Semi-automatic ABC: a discussionSemi-automatic ABC: a discussion
Semi-automatic ABC: a discussion
 
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
SUSY Q-Balls and Boson Stars in Anti-de Sitter space-time - Cancun talk 2012
 
Csr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatovCsr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatov
 

Similar to A new practical algorithm for volume estimation using annealing of convex bodies

Practical volume estimation of polytopes by billiard trajectories and a new a...
Practical volume estimation of polytopes by billiard trajectories and a new a...Practical volume estimation of polytopes by billiard trajectories and a new a...
Practical volume estimation of polytopes by billiard trajectories and a new a...
Apostolos Chalkis
 
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
14th Athens Colloquium on Algorithms and Complexity (ACAC19)14th Athens Colloquium on Algorithms and Complexity (ACAC19)
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
Apostolos Chalkis
 
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Apostolos Chalkis
 
Volume computation and applications
Volume computation and applications Volume computation and applications
Volume computation and applications
Vissarion Fisikopoulos
 
The slides of my Ph.D. defense
The slides of my Ph.D. defenseThe slides of my Ph.D. defense
The slides of my Ph.D. defense
Apostolos Chalkis
 
Imc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutionsImc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutions
Christos Loizos
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Vissarion Fisikopoulos
 
Efficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope VolumeEfficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope Volume
Vissarion Fisikopoulos
 
High-dimensional sampling and volume computation
High-dimensional sampling and volume computationHigh-dimensional sampling and volume computation
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
 
Colloquium5816_2016_05_11
Colloquium5816_2016_05_11Colloquium5816_2016_05_11
Colloquium5816_2016_05_11
Chelsey Erway
 
Analytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curvesAnalytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curves
mmasdeu
 
The Newton polytope of the sparse resultant
The Newton polytope of the sparse resultantThe Newton polytope of the sparse resultant
The Newton polytope of the sparse resultant
Vissarion Fisikopoulos
 
Practical computation of Hecke operators
Practical computation of Hecke operatorsPractical computation of Hecke operators
Practical computation of Hecke operators
Mathieu Dutour Sikiric
 
Imo2011 sl
Imo2011 slImo2011 sl
Imo2011 sl
Christos Loizos
 
Imo 2011
Imo 2011 Imo 2011
Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020
Apostolos Chalkis
 
Thesis 6
Thesis 6Thesis 6
Thesis 6
Dorian Ehrlich
 
Mcs 013 solve assignment
Mcs 013 solve assignmentMcs 013 solve assignment
On Polyhedrons
On PolyhedronsOn Polyhedrons
On Polyhedrons
iosrjce
 
Nbhm m. a. and m.sc. scholarship test 2005
Nbhm m. a. and m.sc. scholarship test 2005Nbhm m. a. and m.sc. scholarship test 2005
Nbhm m. a. and m.sc. scholarship test 2005
MD Kutubuddin Sardar
 

Similar to A new practical algorithm for volume estimation using annealing of convex bodies (20)

Practical volume estimation of polytopes by billiard trajectories and a new a...
Practical volume estimation of polytopes by billiard trajectories and a new a...Practical volume estimation of polytopes by billiard trajectories and a new a...
Practical volume estimation of polytopes by billiard trajectories and a new a...
 
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
14th Athens Colloquium on Algorithms and Complexity (ACAC19)14th Athens Colloquium on Algorithms and Complexity (ACAC19)
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
 
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
 
Volume computation and applications
Volume computation and applications Volume computation and applications
Volume computation and applications
 
The slides of my Ph.D. defense
The slides of my Ph.D. defenseThe slides of my Ph.D. defense
The slides of my Ph.D. defense
 
Imc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutionsImc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutions
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
 
Efficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope VolumeEfficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope Volume
 
High-dimensional sampling and volume computation
High-dimensional sampling and volume computationHigh-dimensional sampling and volume computation
High-dimensional sampling and volume computation
 
Colloquium5816_2016_05_11
Colloquium5816_2016_05_11Colloquium5816_2016_05_11
Colloquium5816_2016_05_11
 
Analytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curvesAnalytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curves
 
The Newton polytope of the sparse resultant
The Newton polytope of the sparse resultantThe Newton polytope of the sparse resultant
The Newton polytope of the sparse resultant
 
Practical computation of Hecke operators
Practical computation of Hecke operatorsPractical computation of Hecke operators
Practical computation of Hecke operators
 
Imo2011 sl
Imo2011 slImo2011 sl
Imo2011 sl
 
Imo 2011
Imo 2011 Imo 2011
Imo 2011
 
Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020
 
Thesis 6
Thesis 6Thesis 6
Thesis 6
 
Mcs 013 solve assignment
Mcs 013 solve assignmentMcs 013 solve assignment
Mcs 013 solve assignment
 
On Polyhedrons
On PolyhedronsOn Polyhedrons
On Polyhedrons
 
Nbhm m. a. and m.sc. scholarship test 2005
Nbhm m. a. and m.sc. scholarship test 2005Nbhm m. a. and m.sc. scholarship test 2005
Nbhm m. a. and m.sc. scholarship test 2005
 

More from Vissarion Fisikopoulos

"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."
Vissarion Fisikopoulos
 
"Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes." "Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes."
Vissarion Fisikopoulos
 
"Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes." "Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes."
Vissarion Fisikopoulos
 
"An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop..."An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop...
Vissarion Fisikopoulos
 
"Faster Geometric Algorithms via Dynamic Determinant Computation."
"Faster Geometric Algorithms via Dynamic Determinant Computation." "Faster Geometric Algorithms via Dynamic Determinant Computation."
"Faster Geometric Algorithms via Dynamic Determinant Computation."
Vissarion Fisikopoulos
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Vissarion Fisikopoulos
 
"Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes""Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes"
Vissarion Fisikopoulos
 
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by OraclesEfficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Vissarion Fisikopoulos
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Vissarion Fisikopoulos
 
Working with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost GeometryWorking with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost Geometry
Vissarion Fisikopoulos
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex Oracle
Vissarion Fisikopoulos
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
Vissarion Fisikopoulos
 
Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental study
Vissarion Fisikopoulos
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
Vissarion Fisikopoulos
 
Faster Geometric Algorithms via Dynamic Determinant Computation
Faster Geometric Algorithms via Dynamic Determinant ComputationFaster Geometric Algorithms via Dynamic Determinant Computation
Faster Geometric Algorithms via Dynamic Determinant Computation
Vissarion Fisikopoulos
 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopes
Vissarion Fisikopoulos
 
Combinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant PolytopesCombinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant Polytopes
Vissarion Fisikopoulos
 

More from Vissarion Fisikopoulos (18)

"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."
 
"Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes." "Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes."
 
"Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes." "Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes."
 
"An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop..."An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop...
 
"Faster Geometric Algorithms via Dynamic Determinant Computation."
"Faster Geometric Algorithms via Dynamic Determinant Computation." "Faster Geometric Algorithms via Dynamic Determinant Computation."
"Faster Geometric Algorithms via Dynamic Determinant Computation."
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
 
"Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes""Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes"
 
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by OraclesEfficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
 
Working with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost GeometryWorking with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost Geometry
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex Oracle
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental study
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
 
Faster Geometric Algorithms via Dynamic Determinant Computation
Faster Geometric Algorithms via Dynamic Determinant ComputationFaster Geometric Algorithms via Dynamic Determinant Computation
Faster Geometric Algorithms via Dynamic Determinant Computation
 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopes
 
Combinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant PolytopesCombinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant Polytopes
 

Recently uploaded

Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
European Sustainable Phosphorus Platform
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
Aditi Bajpai
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
Sérgio Sacani
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
SAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdfSAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdf
KrushnaDarade1
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
Abdul Wali Khan University Mardan,kP,Pakistan
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptxBREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
RASHMI M G
 
8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf
by6843629
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills MN
 
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốtmô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
HongcNguyn6
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
Daniel Tubbenhauer
 
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
University of Maribor
 
Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
Hitesh Sikarwar
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
Texas Alliance of Groundwater Districts
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
Gokturk Mehmet Dilci
 

Recently uploaded (20)

Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
SAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdfSAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdf
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptxBREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
 
8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
 
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốtmô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
 
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
Remote Sensing and Computational, Evolutionary, Supercomputing, and Intellige...
 
Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
 

A new practical algorithm for volume estimation using annealing of convex bodies

  • 1. Practical volume estimation by a new annealing schedule for cooling convex bodies Vissarion Fisikopoulos Joint work with A.Chalkis, I.Z.Emiris Dept. of Informatics & Telecommunications, University of Athens ULB, 2019
  • 2. Our problem Given P a convex polytope in Rd compute the volume of P.
  • 3. Our problem Given P a convex polytope in Rd compute the volume of P. Some elementary polytopes (simplex, cube) have simple determinantal formulas. 1 2 1 3 6 1 6 1 1 /2! = 11 2 5 4 0 = 20
  • 4. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M
  • 5. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M S ⊆ E, χS e = {1 if e ∈ S, 0 otherwise}
  • 6. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M S ⊆ E, χS e = {1 if e ∈ S, 0 otherwise} Bn = conv{χM | M is a perfect matching of Kn,n}
  • 7. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M S ⊆ E, χS e = {1 if e ∈ S, 0 otherwise} Bn = conv{χM | M is a perfect matching of Kn,n}
  • 8. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M S ⊆ E, χS e = {1 if e ∈ S, 0 otherwise} Bn = conv{χM | M is a perfect matching of Kn,n} # faces of B3: 6, 15, 18, 9; vol(B3) = 9/8
  • 9. Birkhoff polytopes Given the complete bipartite graph Kn,n = (V , E) a perfect matching is M ⊆ E s.t. every vertex meets exactly one member of M S ⊆ E, χS e = {1 if e ∈ S, 0 otherwise} Bn = conv{χM | M is a perfect matching of Kn,n} # faces of B3: 6, 15, 18, 9; vol(B3) = 9/8 there exist formulas for the volume [deLoera et al ’07] but values only known for n ≤ 10 after 1yr of parallel computing [Beck et al ’03]
  • 10. Volumes and counting Given n elements & partial order; order poly- tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order c a b a, b, c partial order: a < b 3 linear extensions: abc, acb, cab
  • 11. Volumes and counting Given n elements & partial order; order poly- tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order c a b a, b, c partial order: a < b 3 linear extensions: abc, acb, cab # linear extensions = volume of order polytope · n! [Stanley’86]
  • 12. Volumes and counting Given n elements & partial order; order poly- tope PO ⊆ [0, 1]n coordinates of points satisfies the partial order c a b a, b, c partial order: a < b 3 linear extensions: abc, acb, cab # linear extensions = volume of order polytope · n! [Stanley’86] Counting linear extensions is #P-hard [Brightwell’91]
  • 13. Mixed volume Let P1, P2, . . . , Pd be polytopes in Rd then the mixed volume is M(P1, . . . , Pd ) = I⊆{1,2,...,d} (−1)(d−|I|) · Vol( i∈I Pi ) where the sum is the Minkowski sum.
  • 14. Mixed volume Let P1, P2, . . . , Pd be polytopes in Rd then the mixed volume is M(P1, . . . , Pd ) = I⊆{1,2,...,d} (−1)(d−|I|) · Vol( i∈I Pi ) where the sum is the Minkowski sum. Example For d = 2: M(P1, P2) = Vol(P1 + P2) − Vol(P1) − Vol(P2) P1 P2 P1 + P2
  • 15. Volumes and algebraic geometry Toric geometry If P is an integral d-dimensional polytope, then d! times the volume of P is the degree of the toric variety associated to P. BKK bound (Bernshtein, Khovanskii, Kushnirenko) Let f1, . . . , fn be polynomials in C[x1, . . . , xn]. Let N(fj ) denote the Newton polytope of fj , i.e. the convex hull of it’s exponent vectors. If f1, . . . , fn are generic, then the number of solutions of the polynomial system of equations f1 = 0, . . . , fn = 0 with no xi = 0 is equal to the normalized mixed volume n!M(N(f1), . . . , N(fn))
  • 16. Applications Volume of zonotopes is used to test methods for order reduction which is important in several areas: autonomous driving, human-robot collaboration and smart grids [Althoff et al.] Volumes of intersections of polytopes are used in bio-geography to compute biodiversity and related measures e.g. [Barnagaud, Kissling, Tsirogiannis, Fisikopoulos, Villeger, Sekercioglu’17]
  • 17. First thoughts for volume computation Triangulation (or sign decomposition) methods – exponential size in d
  • 18. First thoughts for volume computation Triangulation (or sign decomposition) methods – exponential size in d Sampling/rejections techniques (sample from bounding box) fail in high dimensions volume(unit cube) = 1 volume(unit ball) ∼ (c/d)d/2 –drops exponentially with d
  • 19. Our setting Given P a convex polytope in Rd compute the volume of P. H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq} V-polytope : P is the convex hull of a set of points in Rd zonotope : Minkowski sum of segments (eq. linear projections of d-cubes)
  • 20. Our setting Given P a convex polytope in Rd compute the volume of P. H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq} V-polytope : P is the convex hull of a set of points in Rd zonotope : Minkowski sum of segments (eq. linear projections of d-cubes) Complexity #P-hard for both representations [DyerFrieze’88]
  • 21. Our setting Given P a convex polytope in Rd compute the volume of P. H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq} V-polytope : P is the convex hull of a set of points in Rd zonotope : Minkowski sum of segments (eq. linear projections of d-cubes) Complexity #P-hard for both representations [DyerFrieze’88] open if both representations available
  • 22. Our setting Given P a convex polytope in Rd compute the volume of P. H-polytope : P = {x | Ax ≤ b, A ∈ Rq×d , b ∈ Rq} V-polytope : P is the convex hull of a set of points in Rd zonotope : Minkowski sum of segments (eq. linear projections of d-cubes) Complexity #P-hard for both representations [DyerFrieze’88] open if both representations available no deterministic poly-time algorithm can compute the volume with less than exponential relative error (oracle model) [Elekes’86]
  • 23. State-of-the-art Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy [Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run [Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded) [Lee, Vempala’18] O∗(Fd 2 3 ) Hamiltonian walk (** H-polytopes)
  • 24. State-of-the-art Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy [Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run [Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded) [Lee, Vempala’18] O∗(Fd 2 3 ) Hamiltonian walk (** H-polytopes) Software: [Emiris, F’14] Sequence of balls + coordinate hit-and-run [Cousins, Vempala’16] Gaussian cooling + hit-and-run
  • 25. State-of-the-art Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy [Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run [Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded) [Lee, Vempala’18] O∗(Fd 2 3 ) Hamiltonian walk (** H-polytopes) Software: [Emiris, F’14] Sequence of balls + coordinate hit-and-run [Cousins, Vempala’16] Gaussian cooling + hit-and-run Limitation: Efficient only for H-polytopes (scale up-to few hundred dims in hrs), for V-polytopes or zonotopes: oracles are expensive (solution of an LP) [Cousins, Vempala’16] needs a bound on the number of facets
  • 26. State-of-the-art Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Sequence of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Sequence of balls + ball walk + isotropy [Lovasz, Vempala’03] O∗(d4) Annealing + hit-and-run [Cousins, Vempala’15] O∗(d3) Gaussian cooling (* well-rounded) [Lee, Vempala’18] O∗(Fd 2 3 ) Hamiltonian walk (** H-polytopes) Software: [Emiris, F’14] Sequence of balls + coordinate hit-and-run [Cousins, Vempala’16] Gaussian cooling + hit-and-run Limitation: Efficient only for H-polytopes (scale up-to few hundred dims in hrs), for V-polytopes or zonotopes: oracles are expensive (solution of an LP) [Cousins, Vempala’16] needs a bound on the number of facets Goal: Efficient algorithm for V-polytopes and zonotopes
  • 27. Methodology Volume algorithms parts 1. Multiphase Monte Carlo: e.g. Sequence of balls, Annealing of functions 2. Sampling: grid-walk, ball-walk, hit-and-run, Hamiltonian walk Typically MMC (1) at each phase solves a sampling problem (2)
  • 28. Methodology Volume algorithms parts 1. Multiphase Monte Carlo: e.g. Sequence of balls, Annealing of functions 2. Sampling: grid-walk, ball-walk, hit-and-run, Hamiltonian walk Typically MMC (1) at each phase solves a sampling problem (2) Our approach: MMC using convex bodies (balls or H-polytopes that ”fit well” and are ”easy” to sample from) A new annealing method to construct the sequence of bodies A new convergence criterion
  • 29. Multiphase Monte Carlo Construct a sequence of convex bodies C1 ⊇ · · · ⊇ Cm intersecting the given polytope P, then: vol(P) = vol(Pm) vol(Cm) vol(Pi ) vol(P0) vol(Pi+1) vol(Pi ) · · · vol(Pm) vol(Pm−1) vol(Cm) where P0 = P and Pi = Ci ∩ P for i = 1, . . . , m.
  • 30. Annealing Schedule How we compute the sequence of bodies Inputs: Polytope P, error , cooling parameters r, δ > 0 and a significance level (s.l.) α > 0 s.t. 0 < r + δ < 1. Output: A sequence of convex bodies C1 ⊇ · · · ⊇ Cm s.t. vol(Pi+1)/vol(Pi ) ∈ [r, r + δ] with high probability where Pi = Ci ∩ P, i = 1, . . . , m and P0 = P.
  • 31. t-test one tailed Let ν observations from a r.v. X ∼ N(µ, σ2) with unknown variance σ2. t-test checks the null hypothesis that the population mean exceeds a specified value µ0 using the statistic t = ¯x−µ0 s/ √ ν ∼ tν−1, where ¯x: sample’s mean, s: sample’s st.d., tν−1: t-student distribution with ν − 1 degrees of freedom Given a s.l. α > 0 we test the null hypothesis for the mean value of the population, H0 : µ ≤ µ0 against H1 : µ > µ0 We say that we reject H0 if, t ≥ tν−1,α ⇒ ¯x ≥ µ0 + tν−1,αs/ √ ν which implies Pr(H0 true | reject H0) = α (tν−1,α is the critical value). Otherwise we fail to reject H0
  • 32. t-test for the ratio of volumes of convex bodies Given convex bodies Pi ⊇ Pi+1, s.l. α, and cooling parameters r, δ > 0, 0 < r + δ < 1, we define two t-tests: testL(Pi , Pi+1, r, δ, α, ν, N): testR(Pi , Pi+1, r, α, ν, N): H0 : vol(Pi+1)/vol(Pi ) ≤ r + δ H0 : vol(Pi+1)/vol(Pi ) ≤ r H1 : vol(Pi+1)/vol(Pi ) ≥ r + δ H1 : vol(Pi+1)/vol(Pi ) ≥ r Successful if we fail to reject H0 Successful if we reject H0 testL and testR are used by annealing schedule to restrict each ratio ri = vol(Pi+1)/vol(Pi ) in the interval [r, r + δ].
  • 33. t-test Compute testL, testR for Pi ⊇ Pi+1 1. sample νN points from Pi and split the sample into ν sublists of length N. 2. The ν mean values are experimental values that follow N(ri , (ri (1 − ri ))/N). 3. Use those values to perform two t-tests with null hypotheses: testL H0 : ri ≤ r + δ testR H0 : ri ≤ r Assuminga the following holds, r + δ + tν−1,α s√ ν ≥ ˆµ ≥ r + tν−1,α s√ ν then ri is restricted to [r, r + δ] with high probability. a for the mean ˆµ of the ν mean values
  • 34. Initialization of Annealing Schedule Given: polytope P, convex body C s.t. C ∩ P = ∅, an interval [qmin, qmax] and parameters r, δ, α, ν, N. binary search for q ∈ [qmin, qmax] s.t. both testL(qC, qC ∩ P) and testR(qC, qC ∩ P) are successful. sample from qC, rejection to P we call the successful qC, C
  • 35. 1st iteration of the initialization step [qmin, qmax] = [0.14, 0.38], q = qmin+qmax 2 = 0.26 r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1)+r (2)···+r (10) ν = 684 1200 = 0.57, s = 0.06 testL→ H0 : volqC∩P vol(qC) ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : volqC∩P vol(qC) ≤ r ⇒ failed (H0 not rejected). qC of 1st iteration is too big (the ratio is too small).
  • 36. 2nd iteration of the initialization step [qmin, qmax] = [0.14, 0.26], q = qmin+qmax 2 = 0.20 r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1)+r (2)···+r (10) ν = 914 1200 = 0.76, s = 0.04 testL→ H0 : volqC∩P vol(qC) ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : volqC∩P vol(qC) ≤ r ⇒ failed (H0 not rejected). qC of 2nd iteration is too big (the ratio is too small).
  • 37. 3rd iteration of the initialization step [qmin, qmax] = [0.14, 0.20], q = qmin+qmax 2 = 0.17 r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1)+r (2)···+r (10) ν = 1076 1200 = 0.90, s = 0.02 testL→ H0 : volqC∩P vol(qC) ≤ r + δ ⇒ failed (H0 rejected). testR→ H0 : volqC∩P vol(qC) ≤ r ⇒ succeed (H0 rejected). qC of 3rd iteration is too small (the ratio is too big).
  • 38. 4th iteration of the initialization step [qmin, qmax] = [0.17, 0.20], q = qmin+qmax 2 = 0.185 r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1)+r (2)···+r (10) ν = 993 1200 = 0.83, s = 0.04 testL→ H0 : volqC∩P vol(qC) ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : volqC∩P vol(qC) ≤ r ⇒ succeed (H0 rejected). Set C = qC.
  • 39. Annealing Schedule Iteration & Stopping criterion In step i of the annealing schedule sample νN points from Pi to perform testR(Pi , C ∩ P). The schedule stops if volume ratio vol(C ∩ P)/vol(Pi ) is large enough according to testR. Stop in step i if testR(Pi , C ∩ P) succeeds. Set m = i + 1 and Pm = C ∩ P, Cm = C . Otherwise, construct Pi+1: binary search for qC s.t. succeed testL(Pi , Pi+1), testR(Pi , Pi+1) using the same sample in Pi
  • 40. Check stopping criterion i = 0, P0 = P, sample νN points from P0. r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1) 0 +r (2) 0 ···+r (10) 0 ν = 535 1200 = 0.45, s = 0.08 testR→ H0 : r0 ≤ r ⇒ failed (H0 not rejected). Define P1.
  • 41. Define next convex body in MMC i = 0, P0 = P, binary search for q ∈ [0.185, 0.38] r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 q = 0.36, ˆµ = r (1) 0 +r (2) 0 ···+r (10) 0 ν = 998 1200 = 0.83, s = 0.07 testL→ H0 : r0 ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : r0 ≤ r ⇒ succeed (H0 rejected). Set C1 = qC.
  • 42. Check stopping criterion i = 1, P1 = C1 ∩ P, sample νN points from P1. r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1) 1 +r (2) 1 ···+r (10) 1 ν = 535 1200 = 0.57, s = 0.07 testR→ H0 : r1 ≤ r ⇒ failed (H0 not rejected). Define P2.
  • 43. Define next convex body in MMC i = 1, P1 = C1 ∩ P, binary search for q ∈ [0.185, 0.36] r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 q = 0.28, ˆµ = r (1) 1 +r (2) 1 ···+r (10) 1 ν = 998 1200 = 0.82, s = 0.06 testL→ H0 : r1 ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : r1 ≤ r ⇒ succeed (H0 rejected). Set C2 = qC.
  • 44. Check stopping criterion i = 2, P2 = C2 ∩ P, sample νN points from P2. r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1) 2 +r (2) 2 ···+r (10) 2 ν = 833 1200 = 0.69, s = 0.08 testR→ H0 : r2 ≤ r ⇒ failed (H0 not rejected). Define P3.
  • 45. Define next convex body in MMC i = 2, P2 = C2 ∩ P, binary search for q ∈ [0.185, 0.28] r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 q = 0.21, ˆµ = r (1) 2 +r (2) 2 ···+r (10) 2 ν = 976 1200 = 0.81, s = 0.05 testL→ H0 : r2 ≤ r + δ ⇒ succeed (H0 not rejected). testR→ H0 : r2 ≤ r ⇒ succeed (H0 rejected). Set C3 = qC.
  • 46. Check stopping criterion i = 3, P3 = C3 ∩ P, sample νN points from P3. r = 0.8, δ = 0.05, α = 0.1, ν = 10, νN = 1200 ⇒ N = 120 ˆµ = r (1) 3 +r (2) 3 ···+r (10) 3 ν = 1026 1200 = 0.86, s = 0.04 testR→ H0 : r3 ≤ r ⇒ succeed (H0 rejected). Set m = 4, C4 = C .
  • 47. Estimate Ratio Sliding window For i = 1, . . . , m (m computed by schedule) estimate ri = vol(Pi+1)/vol(Pi ). Generate points in Pi . For each new point keep the value of ri . Store the last n values in a queue called sliding window W . Update W for each new sample point, by inserting the new value of ri and by popping out the oldest ratio value. . . . rj i . . . rj+n−1 i
  • 48. Convergence criterion W is a set of n values following Gaussian distribution Consider the mean value ˆµ, the st.d. s of W and Pr = m+1 3/4. For each ri assign a value i (is the maximum allowed error for ri ), s.t. i 2 i = 2. Using p = (1 + Pr)/2 and the interval [ˆµ − zps, ˆµ + zps]: if (ˆµ + zps) − (ˆµ − zps) ˆµ + zps = 2zps ˆµ + zps ≤ i /2, then declare convergence.
  • 49. Convergence criterion W is a set of n values following Gaussian distribution Consider the mean value ˆµ, the st.d. s of W and Pr = m+1 3/4. For each ri assign a value i (is the maximum allowed error for ri ), s.t. i 2 i = 2. Using p = (1 + Pr)/2 and the interval [ˆµ − zps, ˆµ + zps]: if (ˆµ + zps) − (ˆµ − zps) ˆµ + zps = 2zps ˆµ + zps ≤ i /2, then declare convergence. Remark: If we assume (perfect) uniform sampling from Pi : 1. There is n = O(1) s.t. ri ∈ [ˆµ − zps, ˆµ + zps] with Pr = m+1 3/4. 2. method estimates vol(P) with probability 3/4 and error ≤ . In practice it is open how to bound n
  • 50. The volume algorithm Algorithm 1 VolumeAlgorithm (P, , r, δ, α, ν, N, n) Construct C ⊆ Rd s.t. C ∩ P = ∅ and set [qmin, qmax] {P0, . . . , Pm, Cm}=AnnealingSchedule(P, C, r, δ, α, ν, N, qmin, qmax) m = /2 √ m + 1, = 4(m + 1) − 1/2 √ m + 1 Set i = / √ m, i = 0, . . . , m − 1 for i = 0, . . . m do if i < m then ri = EstimateRatio (Pi , Pi+1, i , m, n) else rm = EstimateRatio (Cm, Pm, m, m, n) end if end for return vol(Cm)/r0/ · · · /rm−1 · rm
  • 51. Bounds on #phases Let the power of a i-th t-test powi := Pr(H0 false | reject H0) = 1 − βi . Proposition Given P ⊂ Rd and cooling parameters r, δ s.t. r + δ < 1/2 and a s.l. α, let m be the number of balls in MMC. Then m < d lg(d) with probability p ≥ 1 − max{βi } = min{powi }, i = 0, . . . , m. Proposition Given P, the body C that minimizes the expected number of phases in MMC, for given cooling parameters r, δ and s.l. α is the one that maximizes vol(C ∩ P) in the annealing schedule initialization
  • 52. Implementation VolEsti: sampling and volume estimation C++, R-interface, python bindings (in review) open source since 2014, CGAL (not any more), Eigen, LPSolve design: mix of obj oriented + templates, C++03 main developers: VF, Tolis Chalkis https://github.com/GeomScale/volume_approximation Contributions welcome!
  • 53. C++ VolEsti example template <typename NT , class RNGType , class Polytope > void test_volume (Polytope &HP) { // Setup the parameters int n = HP.dimension (); int walk_len=10 + n/10; int nexp=1, n_threads=1; NT e=1, err=0.0000000001; int rnum = std::pow(e,-2) * 400 * n * std :: log(n); unsigned seed = std:: chrono :: system_clock ::now() . time_since_epoch (). count (); RNGType rng(seed ); boost :: normal_distribution <> rdist(0,1); boost :: random :: uniform_real_distribution <>( urdist ); boost :: random :: uniform_real_distribution <> urdist1(-1,1); vars <NT , RNGType > var(rnum ,n,walk_len ,n_threads ,err ,e,0,0,0,0, rng ,urdist ,urdist1,-1.0,false ,false ,false ,false ,false ,fals // Compute chebychev ball and volume // typedef typename Polytope :: PolytopePoint Point; std ::pair <Point ,NT > CheBall; CheBall = HP. ComputeInnerBall (); std :: cout << volume(HP ,var ,var ,CheBall) << std:: endl; }
  • 54. Experiments Experimentally determine the parameters Anneling schedule: set r = 0.1 and δ = 0.05 in order to define vol(Pi+1 to be about 10% of vol(Pi ). Set νN = 1200 + 2d2 and ν = 10. Sliding window: set window length n = 2d2 + 250. Hit-and-Run: step equal to 1.
  • 55. Zonotopes Number of phases Two types of bodies: balls (left) symmetric H-polytopes (right) For low order (i.e. #generators/d) zonotopes, ≤ 4, the number of bodies is smaller than the case of using balls For balls the number of phases reduces as the order increases for a fixed dimension
  • 56. Zonotopes Performance Experimental results for zonotopes. z-d-k Body order Vol m steps time(sec) z-5-500 Ball 100 4.63e+13 1 0.1250e+04 22.26 z-20-2000 Ball 100 2.79e+62 1 0.2000e+04 1428 z-50-65 Hpoly 1.3 1.42e+62 1 1.487e+04 173.9 z-100-130 Hpoly 1.3 1.37e+138 3 17.19e+04 6073 z-50-75 Hpoly 1.5 2.96e+66 2 1.615e+04 253.6 z-100-150 Hpoly 1.5 2.32+149 3 15.43e+04 10060 z-70-140 Hpoly 2 8.71e+111 2 5.059e+04 2695 z-100-200 Hpoly 2 5.27e+167 3 15.25e+04 34110 z-d-k: random zonotope in dimension d with k generators; Body: the type of body used in MMC; m: number of bodies in MMC Used to evaluate zonotope approximation methods in engineering [Kopetzki’17]
  • 57. Comparison with state-of-the-art Zonotopes The number of steps for random zonotopes of order 2 Our method is asymptotically better CoolingGaussian and SeqOfBalls takes > 2hr for d > 15. for higher orders the difference is larger
  • 58. V-polytopes P Vol m steps error time ex. Vol ex. time cross-60 1.27e-64 1 20.6e+03 0.08 60.1 −− −− cross-100 1.51e-128 2 94.2e+03 0.11 406 −− −− ∆-60 1.08e-82 10 77.4e+04 0.1 1442 1.203-82 0.02 ∆-80 1.30e-119 13 187e+04 0.07 6731 1.39e-119 0.07 cube-10 1052.4 1 1851 0.03 54.39 −− −− cube-13 7538.2 1 2127 0.08 2937 −− −− rv-10-80 3.74e-03 1 0.185e+04 0.08 3.35 3.46e-03 6.8 rv-10-160 1.59e-02 1 0.140e+04 0.06 5.91 1.50e-03 59 rv-15-30 2.73e-10 1 0.235e+04 0.02 3.46 2.79e-10 2.1 rv-15-60 4.41e-08 1 0.235e+04 −− 6.46 −− −− rv-20-2000 2.89e-07 1 0.305e+04 −− 457 −− −− rv-80-160 5.84e-106 3 11.3e+04 −− 3250 −− −− rv-100-200 1.08e-141 4 24.5e+04 −− 13300 −− −− time: the average time in seconds; ex. Vol: the exact volume; ex. time: the time in seconds for the exact volume computation i.e. qhull in R (package geometry); m is the number of phases. −− implies that the execution failed due to memory issues or exceeded 1 hr.
  • 59. H-polytopes The number of steps for unit cubes in H-representation for d = 100: > 2 faster than CoolingGaussianand ∼ 100x than SeqOfBalls
  • 60. Future directions Better (practical) sampling methods (candidate: Hamiltonian walk) + implementation
  • 61. Future directions Better (practical) sampling methods (candidate: Hamiltonian walk) + implementation Study convex body families for MMC
  • 62. Future directions Better (practical) sampling methods (candidate: Hamiltonian walk) + implementation Study convex body families for MMC Applications: zonotope approximation in engineering finance [Cales, Chalkis, Emiris, F, SoCG’18]
  • 63. Future directions Better (practical) sampling methods (candidate: Hamiltonian walk) + implementation Study convex body families for MMC Applications: zonotope approximation in engineering finance [Cales, Chalkis, Emiris, F, SoCG’18] Google Summer of Code ’19 call for internships! (contact me :)
  • 64. Future directions Better (practical) sampling methods (candidate: Hamiltonian walk) + implementation Study convex body families for MMC Applications: zonotope approximation in engineering finance [Cales, Chalkis, Emiris, F, SoCG’18] Google Summer of Code ’19 call for internships! (contact me :)
  • 65. GSOC19: Project 1. Sampling scalability empirical study of random walks for convex polytopes (mainly given by a set of linear inequalities). Currently variations of hit-and-run random walks are used but there are methods with better mixing time; e.g. hamiltonian walk https://arxiv.org/pdf/1710.06261.pdf. expectation: dramatic effect in the scaling of the underlying algorithms ultimate goal: “scale from a few hundred dimensions to a few thousand” We can divide the coding project in the following steps: Understand the code structure and design of VolEsti. Create prototypes for new sampling algorithms (the main focus will be in Hamiltonian walk but we may investigate others too). Implement the best representatives from the previous step in VolEsti and create R interfaces. Write tests and documentation.
  • 66. GSOC19: Project 2. Sampling and volume of spectahedra non-linear extension for VolEsti Spectahedra are feasible regions of semidefinite programs and are known to be convex. important role in optimization: the “next more understandable” convex objects after polytopes algorithms for sampling and volume computation will shed more light towards their study. We can divide the coding project in the following steps: Understand the code structure and design of VolEsti. Understand the basics for spectahedra from bibliography. Implement a new convex body type and boundary oracle for spectahedra. Work on extensions of the problem such as replacing spectahedra by a spectahedral shadow. Write tests and documentation.
  • 67. GSOC19: Project 3. Convex optimization with randomized algorithms Design and implementation of optimization algorithms (available in relevant bibliography) in VolEsti that utilize sampling (already available in the library) as a main subroutine. We can divide the coding project in the following steps: Understand the code structure and design of VolEsti. Implement optimization algorithms. A good place to start is Dabbene ”A Randomized Cutting Plane Method with Probabilistic Geometric Convergence” Siam JOPT 2010 Test implementations with various random walks available in VolEsti Write tests and documentation