SlideShare a Scribd company logo
1 of 45
Download to read offline
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
Dept. of Informatics & Telecommunications, University of Athens
KULeuven, 30/01/2020
Our problem
Given P a convex body 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
Convex bodies
H-polytope : P = {x | Ax ≤ b, A ∈ Rm×d , b ∈ Rm}
V-polytope : P is the convex hull of a set of points in Rd
Z-polytope : Minkowski sum of segments (projections of k-cubes)
LMI : P = A0 + x1A1 + x2A2 + · · · + xd Ad 0,
where Ai : symmetric matrices, B 0: B is positive
semidefinite
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
Volume computation is hard!
#P-hard for V-, H-, Z-polytopes [DyerFrieze’88]
no deterministic poly-time algorithm can compute the volume
with less than exponential relative error (oracle
model) [Elekes’86]
open problem if V-polytope and H-polytope representations
available
Randomized algorithms
Volume algorithms parts
1. Multiphase Monte Carlo (MMC)
e.g. Sequence of balls, Annealing of functions
2. Sampling via geometric random walks
e.g. grid-walk, ball-walk, hit-and-run, billiard walk
Notes:
MMC (1) at each phase computes a ratio of integrals or
volumes via sampling (2)
geometric random walks are Markov chains where each ”event”
is a d-dimensional point
Algorithmic complexity is polynomial in d [Dyer, Frieze,
Kannan’91]
Multiphase Monte Carlo
Sequence of convex bodies C1 ⊇ · · · ⊇ Cm intersecting P, then:
vol(P) = vol(Pm)
vol(Pm−1)
vol(Pm)
. . .
vol(P1)
vol(P2)
vol(P)
vol(P1)
where Pi = Ci ∩ P for i = 1, . . . , m.
Estimate ratios by sampling.
Four random walks
Ball walk
Random directions hit and run (rdhr)
Cooridnate directions hit and run (cdhr)
Billiard walk
B
p
q
p
q
p q
p
q
Ball walk
P
x
B
Ball walk
P
B
x
Ball walk
P
B
x
x
Ball walk
P
B
x
x
Ball walk
P
B
x
x
Random directions hit and run
P
x
B
Random directions hit and run
P
x
Random directions hit and run
P
x
Coordinate directions hit and run
P
x
B
Coordinate directions hit and run
P
B
x
Coordinate directions hit and run
P
B
x
Coordinate directions hit and run
P
B
x
Billiard walk
p
Billiard walk
p
Billiard walk
p
Billiard walk
p
Billiard walk
p
q
Complexity of random walks
Year & Authors Random walk Mixing time cost per step
[Berbee et al.’87] Coordinate Hit-and-Run ?? O(m)
[Lovasz et al.’06] Hit-and-Run O∗(d3) O(md)
[Kannan et al.’09] Dikin walk O(md) O(md2)
[Polyak et al.’14] Billiard walk ?? O(mR + md)
[Lee et al.’16] Geodesic walk O(md3/4) O(md2)
[Lee et al.’17] Ball walk O∗(d2.5) O(md)
[Chen et al.’17] Vaidya walk O(m1/2d3/2) O(md2)
[Lee et al.’17] Riemmanian HMC O(md2/3) O(md2)
[Chevallier et al.’18] HMC with reflections ?? O(md)
[Mangoubi et al.’19] sublinear Ball walk O(d4.5) ∼ O(m)
Mixing times are unrealistically high for practical purposes
Billiard walk, CDHR and HMC with reflections seems the most
efficient in practice but there is not guarantee on the mixing
time
State-of-the-art
Theory:
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md
2
3 ) Hamiltonian walk (** H-polytopes)
State-of-the-art
Theory:
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md
2
3 ) Hamiltonian walk (** H-polytopes)
Software:
1. [Emiris, F’14] Sequence of balls + coordinate hit-and-run
2. [Cousins, Vempala’16] Gaussian cooling + hit-and-run
3. [Chalikis, Emiris, F’20] Convex body annealing + billiard walk
State-of-the-art
Theory:
Authors-Year Complexity Algorithm
(oracle steps)
[Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk
[Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md
2
3 ) Hamiltonian walk (** H-polytopes)
Software:
1. [Emiris, F’14] Sequence of balls + coordinate hit-and-run
2. [Cousins, Vempala’16] Gaussian cooling + hit-and-run
3. [Chalikis, Emiris, F’20] Convex body annealing + billiard walk
Notes:
(2) is (theory + practice) faster than (1)
(1),(2) efficient only for H-polytopes
(3) efficient also for V-,Z-polytope, non-linear convex bodies
C++ implementation of (2) ×10 faster than original (MATLAB)
Convex body annealing
New features
MMC using convex bodies (balls or H-polytopes that ”fit well”
and are ”easy” to sample from)
New annealing method. Bound each ratio vol(Pi+1)/vol(Pi ) to
a given interval with high probability thus reduces the sequence
of bodies
Billiard walk (constant number of steps in practice)
Figure. Sequence of balls vs. ball annealing
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
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
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
z-50-75 Hpoly 1.5 2.96e+66 2 1.615e+04 253
z-100-150 Hpoly 1.5 2.32+149 3 15.43e+04 2992
z-60-180 Hpoly 3 8.71e+111 2 5.059e+04 417
z-100-200 Hpoly 3 5.27e+167 3 15.25e+04 2515
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]
V-polytopes
P Vol m steps error time(sec) exact Vol exact time
cross-60 1.27e-64 1 20.6e+03 0.08 60 −− −−
cross-100 1.51e-128 2 94.2e+03 0.11 406 −− −−
∆-60 1.08e-82 10 77.4e+04 0.1 899 1.203-82 0.02
∆-80 1.30e-119 13 187e+04 0.07 4140 1.39e-119 0.07
cube-10 1052.4 1 1851 0.03 54 −− −−
cube-13 7538.2 1 2127 0.08 2937 −− −−
rv-10-80 3.74e-03 1 0.185e+04 0.08 3 3.46e-03 7
rv-10-160 1.59e-02 1 0.140e+04 0.06 6 1.50e-03 59
rv-15-30 2.73e-10 1 0.235e+04 0.02 3 2.79e-10 2
rv-15-60 4.41e-08 1 0.235e+04 −− 6 −− −−
rv-20-2000 2.89e-07 1 0.305e+04 −− 457 −− −−
rv-80-160 5.84e-106 3 11.3e+04 −− 891 −− −−
rv-100-200 1.08e-141 4 24.5e+04 −− 2312 −− −−
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.
Performance
H-polytopes
Sequence Of Balls (SOB), Cooling Gaussians (CG), Cooling Balls (CB)
Applications
Biogeography & engineering
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, F, Villeger, Sekercioglu’17]
Applications
Combinatorics & Machine Learning
Volume can be used for counting linear extensions of a partially
ordered set. This arises in sorting [Peczarski 2004], sequence
analysis [Mannila et al.2000], convex rank tests [Morton et
al.2009], preference reasoning [Lukasiewicz et al.2014], partial
order plans [Muise et al.2016], learning graphical models
[Niinim¨aki et al. 2016] See also [Talvitie et al.AAAI’2018]
e.g. elements a, b, c
partial order a < c
3 linear extensions: abc, acb, bac
Applications
Computing integrals for AI
In Weighted Model Integration (WMI), given is a SMT formula
and a weight function, then we want to compute the weight of
the SMT formula.
e.g. SMT formula:
(A & (X > 20) | (X > 30)) & (X < 40)
Boolean formula + comparison operations. Let X has a weight
function of w(X) = X2 and w(A) = 0.3.
WMI answers the question of the weight of this formula i.e.
integration of a weight function over convex sets.
[P.Z.D. Martires et al.2019]
Applications in finance
When is the next financial crisis?
Cales, Chalkis, Emiris, Fisikopoulos - Practical volume computation of structured
convex bodies, and an application to modeling portfolio dependencies and
financial crises, SoCG 2018
VolEsti package: sampling and volume estimation
https://github.com/GeomScale/volume_approximation
C++, R-interface, python bindings (limited)
open source, LGPL3
since 2014, CGAL (not any more), Eigen, LPSolve, Boost
3 volume algorithms, 4 sampling algorithms
design: mix of obj oriented + templates
C++11 dependence (mostly C++03)
main developers: Vissarion Fisikopoulos, Apostolos Chalkis
VolEsti package
R package on CRAN
https://cran.r-project.org/package=volesti
Documentation
https://github.com/GeomScale/volume_
approximation/blob/develop/README.md
How to contribute (github account is needed):
first star and fork the repo :D
then follow the contribution tutorial
VolEsti on Google Summer of Code 2020
Applying this year as an organization for GSoC 2020.
See this wiki for more details.
Tentative plan:
MCMC integration
sampling for structural biology
randomized algorithms for convex optimization
sampling in higher dimensions (reach the thousands)
Communication channels: gitter,
geomscale-gsoc@googlegroups.com
VolEsti tutorial
https://vissarion.github.io/tutorials/volesti_tutorial_pydata.html
CRAN mode (recommended!)
in Rtudio install CRAN package ”volesti”
follow this https:
//github.com/GeomScale/volume_approximation/blob/
tutorial/tutorials/volesti_tutorial.Rmd
develop mode
git clone git@github.com:GeomScale/volume approximation.git
git checkout tutorial
in Rtudio open R-proj/volesti.Rproj and then click build
source Package and then Install and Restart in Build
tab at the menu bar.
follow this https:
//github.com/GeomScale/volume_approximation/blob/
tutorial/tutorials/volesti_tutorial_1_1_0.Rmd
Thank you!

More Related Content

What's hot (18)

Eligheor
EligheorEligheor
Eligheor
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Powerpoint math
Powerpoint mathPowerpoint math
Powerpoint math
 
Presentation socg
Presentation socgPresentation socg
Presentation socg
 
Volume 2-issue-6-2091-2094
Volume 2-issue-6-2091-2094Volume 2-issue-6-2091-2094
Volume 2-issue-6-2091-2094
 
Calculus II - 7
Calculus II - 7Calculus II - 7
Calculus II - 7
 
2013 cbse sa-2 answers
2013 cbse sa-2 answers2013 cbse sa-2 answers
2013 cbse sa-2 answers
 
CutFEM on hierarchical B-Spline Cartesian grids with applications to fluid-st...
CutFEM on hierarchical B-Spline Cartesian grids with applications to fluid-st...CutFEM on hierarchical B-Spline Cartesian grids with applications to fluid-st...
CutFEM on hierarchical B-Spline Cartesian grids with applications to fluid-st...
 
Ch17 14
Ch17 14Ch17 14
Ch17 14
 
5 3 factoring trinomial ii
5 3 factoring trinomial ii5 3 factoring trinomial ii
5 3 factoring trinomial ii
 
Forces
ForcesForces
Forces
 
Practice For 4th Period Exam
Practice For 4th Period ExamPractice For 4th Period Exam
Practice For 4th Period Exam
 
Answer Key Practice For 4th Period Exam
Answer Key   Practice For 4th Period ExamAnswer Key   Practice For 4th Period Exam
Answer Key Practice For 4th Period Exam
 
Trigonometric graphs
Trigonometric graphsTrigonometric graphs
Trigonometric graphs
 
Eligheor
EligheorEligheor
Eligheor
 
IS 151 lecture 4
IS 151   lecture 4IS 151   lecture 4
IS 151 lecture 4
 
Matematika - Graph Of Cosinus Function
Matematika - Graph Of Cosinus FunctionMatematika - Graph Of Cosinus Function
Matematika - Graph Of Cosinus Function
 
Chapter 1 ex-1.3
Chapter 1 ex-1.3Chapter 1 ex-1.3
Chapter 1 ex-1.3
 

Similar to High-dimensional sampling and volume computation

A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodies
Vissarion Fisikopoulos
 
Exam of second semster g9
Exam of second semster g9Exam of second semster g9
Exam of second semster g9
zeinabze
 
Site survey Fieldwork 2 traversing
Site survey Fieldwork 2 traversingSite survey Fieldwork 2 traversing
Site survey Fieldwork 2 traversing
Sheng Zhe
 
Year 10 end of year exam revision 1
Year 10 end of year exam revision 1Year 10 end of year exam revision 1
Year 10 end of year exam revision 1
harpermaths
 
Teknik menjawab-percubaan-pmr-melaka-2010
Teknik menjawab-percubaan-pmr-melaka-2010Teknik menjawab-percubaan-pmr-melaka-2010
Teknik menjawab-percubaan-pmr-melaka-2010
Ieda Adam
 

Similar to High-dimensional sampling and volume computation (20)

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...
 
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...
 
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
 
A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodies
 
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.
 
MATHEMATICS (041) S.A.-II (2012-13)
MATHEMATICS (041)  S.A.-II (2012-13) MATHEMATICS (041)  S.A.-II (2012-13)
MATHEMATICS (041) S.A.-II (2012-13)
 
Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020 Presentation of volesti in eRum 2020
Presentation of volesti in eRum 2020
 
Exam of second semster g9
Exam of second semster g9Exam of second semster g9
Exam of second semster g9
 
[Question Paper] Computer Graphics (Revised Course) [June / 2016]
[Question Paper] Computer Graphics (Revised Course) [June / 2016][Question Paper] Computer Graphics (Revised Course) [June / 2016]
[Question Paper] Computer Graphics (Revised Course) [June / 2016]
 
Đề Thi HK2 Toán 9 - THCS Bình Hưng Hoà
Đề Thi HK2 Toán 9 - THCS  Bình Hưng HoàĐề Thi HK2 Toán 9 - THCS  Bình Hưng Hoà
Đề Thi HK2 Toán 9 - THCS Bình Hưng Hoà
 
Digital Signals and Systems (October – 2016) [Question Paper | IDOL: Revised ...
Digital Signals and Systems (October – 2016) [Question Paper | IDOL: Revised ...Digital Signals and Systems (October – 2016) [Question Paper | IDOL: Revised ...
Digital Signals and Systems (October – 2016) [Question Paper | IDOL: Revised ...
 
Volume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensionsVolume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensions
 
Site survey Fieldwork 2 traversing
Site survey Fieldwork 2 traversingSite survey Fieldwork 2 traversing
Site survey Fieldwork 2 traversing
 
[Question Paper] Computer Graphics (Old Course) [June / 2014]
[Question Paper] Computer Graphics (Old Course) [June / 2014][Question Paper] Computer Graphics (Old Course) [June / 2014]
[Question Paper] Computer Graphics (Old Course) [June / 2014]
 
A study on number theory and its applications
A study on number theory and its applicationsA study on number theory and its applications
A study on number theory and its applications
 
Year 10 end of year exam revision 1
Year 10 end of year exam revision 1Year 10 end of year exam revision 1
Year 10 end of year exam revision 1
 
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
 
Revision sheet 1 g9
Revision sheet 1 g9Revision sheet 1 g9
Revision sheet 1 g9
 
Teknik menjawab-percubaan-pmr-melaka-2010
Teknik menjawab-percubaan-pmr-melaka-2010Teknik menjawab-percubaan-pmr-melaka-2010
Teknik menjawab-percubaan-pmr-melaka-2010
 
math m1
math m1math m1
math m1
 

More from Vissarion Fisikopoulos

Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental study
Vissarion Fisikopoulos
 

More from Vissarion Fisikopoulos (20)

"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."
 
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
 
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...
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
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
 
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
 
Volume computation and applications
Volume computation and applications Volume computation and applications
Volume computation and applications
 
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
 

Recently uploaded

LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.
Silpa
 
Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.
Silpa
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptx
MohamedFarag457087
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
Silpa
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
Silpa
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Silpa
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 

Recently uploaded (20)

Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptx
 
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical Science
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
 
300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx
 
Genome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxGenome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptx
 
Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptx
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Atp synthase , Atp synthase complex 1 to 4.
Atp synthase , Atp synthase complex 1 to 4.Atp synthase , Atp synthase complex 1 to 4.
Atp synthase , Atp synthase complex 1 to 4.
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
 
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
 
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 

High-dimensional sampling and volume computation

  • 1. High-dimensional sampling and volume computation Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens KULeuven, 30/01/2020
  • 2. Our problem Given P a convex body 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
  • 3. Convex bodies H-polytope : P = {x | Ax ≤ b, A ∈ Rm×d , b ∈ Rm} V-polytope : P is the convex hull of a set of points in Rd Z-polytope : Minkowski sum of segments (projections of k-cubes) LMI : P = A0 + x1A1 + x2A2 + · · · + xd Ad 0, where Ai : symmetric matrices, B 0: B is positive semidefinite
  • 4. First thoughts for volume computation Triangulation (or sign decomposition) methods – exponential size in d
  • 5. 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
  • 6. Volume computation is hard! #P-hard for V-, H-, Z-polytopes [DyerFrieze’88] no deterministic poly-time algorithm can compute the volume with less than exponential relative error (oracle model) [Elekes’86] open problem if V-polytope and H-polytope representations available
  • 7. Randomized algorithms Volume algorithms parts 1. Multiphase Monte Carlo (MMC) e.g. Sequence of balls, Annealing of functions 2. Sampling via geometric random walks e.g. grid-walk, ball-walk, hit-and-run, billiard walk Notes: MMC (1) at each phase computes a ratio of integrals or volumes via sampling (2) geometric random walks are Markov chains where each ”event” is a d-dimensional point Algorithmic complexity is polynomial in d [Dyer, Frieze, Kannan’91]
  • 8. Multiphase Monte Carlo Sequence of convex bodies C1 ⊇ · · · ⊇ Cm intersecting P, then: vol(P) = vol(Pm) vol(Pm−1) vol(Pm) . . . vol(P1) vol(P2) vol(P) vol(P1) where Pi = Ci ∩ P for i = 1, . . . , m. Estimate ratios by sampling.
  • 9. Four random walks Ball walk Random directions hit and run (rdhr) Cooridnate directions hit and run (cdhr) Billiard walk B p q p q p q p q
  • 15. Random directions hit and run P x B
  • 16. Random directions hit and run P x
  • 17. Random directions hit and run P x
  • 18. Coordinate directions hit and run P x B
  • 19. Coordinate directions hit and run P B x
  • 20. Coordinate directions hit and run P B x
  • 21. Coordinate directions hit and run P B x
  • 27. Complexity of random walks Year & Authors Random walk Mixing time cost per step [Berbee et al.’87] Coordinate Hit-and-Run ?? O(m) [Lovasz et al.’06] Hit-and-Run O∗(d3) O(md) [Kannan et al.’09] Dikin walk O(md) O(md2) [Polyak et al.’14] Billiard walk ?? O(mR + md) [Lee et al.’16] Geodesic walk O(md3/4) O(md2) [Lee et al.’17] Ball walk O∗(d2.5) O(md) [Chen et al.’17] Vaidya walk O(m1/2d3/2) O(md2) [Lee et al.’17] Riemmanian HMC O(md2/3) O(md2) [Chevallier et al.’18] HMC with reflections ?? O(md) [Mangoubi et al.’19] sublinear Ball walk O(d4.5) ∼ O(m) Mixing times are unrealistically high for practical purposes Billiard walk, CDHR and HMC with reflections seems the most efficient in practice but there is not guarantee on the mixing time
  • 28. State-of-the-art Theory: Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md 2 3 ) Hamiltonian walk (** H-polytopes)
  • 29. State-of-the-art Theory: Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md 2 3 ) Hamiltonian walk (** H-polytopes) Software: 1. [Emiris, F’14] Sequence of balls + coordinate hit-and-run 2. [Cousins, Vempala’16] Gaussian cooling + hit-and-run 3. [Chalikis, Emiris, F’20] Convex body annealing + billiard walk
  • 30. State-of-the-art Theory: Authors-Year Complexity Algorithm (oracle steps) [Dyer, Frieze, Kannan’91] O∗(d23) Seq. of balls + grid walk [Kannan, Lovasz, Simonovits’97] O∗(d5) Seq. 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∗(md 2 3 ) Hamiltonian walk (** H-polytopes) Software: 1. [Emiris, F’14] Sequence of balls + coordinate hit-and-run 2. [Cousins, Vempala’16] Gaussian cooling + hit-and-run 3. [Chalikis, Emiris, F’20] Convex body annealing + billiard walk Notes: (2) is (theory + practice) faster than (1) (1),(2) efficient only for H-polytopes (3) efficient also for V-,Z-polytope, non-linear convex bodies C++ implementation of (2) ×10 faster than original (MATLAB)
  • 31. Convex body annealing New features MMC using convex bodies (balls or H-polytopes that ”fit well” and are ”easy” to sample from) New annealing method. Bound each ratio vol(Pi+1)/vol(Pi ) to a given interval with high probability thus reduces the sequence of bodies Billiard walk (constant number of steps in practice) Figure. Sequence of balls vs. ball annealing
  • 32. 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
  • 33. 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
  • 34. 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 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 z-50-75 Hpoly 1.5 2.96e+66 2 1.615e+04 253 z-100-150 Hpoly 1.5 2.32+149 3 15.43e+04 2992 z-60-180 Hpoly 3 8.71e+111 2 5.059e+04 417 z-100-200 Hpoly 3 5.27e+167 3 15.25e+04 2515 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]
  • 35. V-polytopes P Vol m steps error time(sec) exact Vol exact time cross-60 1.27e-64 1 20.6e+03 0.08 60 −− −− cross-100 1.51e-128 2 94.2e+03 0.11 406 −− −− ∆-60 1.08e-82 10 77.4e+04 0.1 899 1.203-82 0.02 ∆-80 1.30e-119 13 187e+04 0.07 4140 1.39e-119 0.07 cube-10 1052.4 1 1851 0.03 54 −− −− cube-13 7538.2 1 2127 0.08 2937 −− −− rv-10-80 3.74e-03 1 0.185e+04 0.08 3 3.46e-03 7 rv-10-160 1.59e-02 1 0.140e+04 0.06 6 1.50e-03 59 rv-15-30 2.73e-10 1 0.235e+04 0.02 3 2.79e-10 2 rv-15-60 4.41e-08 1 0.235e+04 −− 6 −− −− rv-20-2000 2.89e-07 1 0.305e+04 −− 457 −− −− rv-80-160 5.84e-106 3 11.3e+04 −− 891 −− −− rv-100-200 1.08e-141 4 24.5e+04 −− 2312 −− −− 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.
  • 36. Performance H-polytopes Sequence Of Balls (SOB), Cooling Gaussians (CG), Cooling Balls (CB)
  • 37. Applications Biogeography & engineering 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, F, Villeger, Sekercioglu’17]
  • 38. Applications Combinatorics & Machine Learning Volume can be used for counting linear extensions of a partially ordered set. This arises in sorting [Peczarski 2004], sequence analysis [Mannila et al.2000], convex rank tests [Morton et al.2009], preference reasoning [Lukasiewicz et al.2014], partial order plans [Muise et al.2016], learning graphical models [Niinim¨aki et al. 2016] See also [Talvitie et al.AAAI’2018] e.g. elements a, b, c partial order a < c 3 linear extensions: abc, acb, bac
  • 39. Applications Computing integrals for AI In Weighted Model Integration (WMI), given is a SMT formula and a weight function, then we want to compute the weight of the SMT formula. e.g. SMT formula: (A & (X > 20) | (X > 30)) & (X < 40) Boolean formula + comparison operations. Let X has a weight function of w(X) = X2 and w(A) = 0.3. WMI answers the question of the weight of this formula i.e. integration of a weight function over convex sets. [P.Z.D. Martires et al.2019]
  • 40. Applications in finance When is the next financial crisis? Cales, Chalkis, Emiris, Fisikopoulos - Practical volume computation of structured convex bodies, and an application to modeling portfolio dependencies and financial crises, SoCG 2018
  • 41. VolEsti package: sampling and volume estimation https://github.com/GeomScale/volume_approximation C++, R-interface, python bindings (limited) open source, LGPL3 since 2014, CGAL (not any more), Eigen, LPSolve, Boost 3 volume algorithms, 4 sampling algorithms design: mix of obj oriented + templates C++11 dependence (mostly C++03) main developers: Vissarion Fisikopoulos, Apostolos Chalkis
  • 42. VolEsti package R package on CRAN https://cran.r-project.org/package=volesti Documentation https://github.com/GeomScale/volume_ approximation/blob/develop/README.md How to contribute (github account is needed): first star and fork the repo :D then follow the contribution tutorial
  • 43. VolEsti on Google Summer of Code 2020 Applying this year as an organization for GSoC 2020. See this wiki for more details. Tentative plan: MCMC integration sampling for structural biology randomized algorithms for convex optimization sampling in higher dimensions (reach the thousands) Communication channels: gitter, geomscale-gsoc@googlegroups.com
  • 44. VolEsti tutorial https://vissarion.github.io/tutorials/volesti_tutorial_pydata.html CRAN mode (recommended!) in Rtudio install CRAN package ”volesti” follow this https: //github.com/GeomScale/volume_approximation/blob/ tutorial/tutorials/volesti_tutorial.Rmd develop mode git clone git@github.com:GeomScale/volume approximation.git git checkout tutorial in Rtudio open R-proj/volesti.Rproj and then click build source Package and then Install and Restart in Build tab at the menu bar. follow this https: //github.com/GeomScale/volume_approximation/blob/ tutorial/tutorials/volesti_tutorial_1_1_0.Rmd