SlideShare a Scribd company logo
High-dimensional polytopes defined by oracles:
algorithms, computations and applications
Vissarion Fisikopoulos
Dept. of Informatics & Telecommunications, University of Athens
PhD defence, Athens, 24.Apr.2014
Classical Polytope Representations
A convex polytope P ⊆ Rd can be represented as the
1. convex hull of a pointset {p1, . . . , pn} (V-representation)
2. intersection of halfspaces {h1, . . . , hm} (H-representation)
convex hull problem
vertex enumeration problem
• These problems are equivalent by polytope duality.
Algorithmic Issues
• For general dimension d there is no polynomial algorithm for
the convex hull (or vertex enumeration) problem since m can
be O n d/2 [McMullen’70].
• It is open whether there exist a total poly-time algorithm for
the convex hull (or vertex enumeration) problem, i.e. runs in
poly-time in n, m, d.
What is an Oracle?
Polytope Oracles
Implicit representation for a polytope P ⊆ Rd.
OPTP: Given direction c ∈ Rd return the vertex v ∈ P that maximizes
cT v.
SEPP: Given point y ∈ Rd, return yes if y ∈ P otherwise a
hyperplane h that separates y from P.
c
v
P P
h
y
Why polytope Oracles?
• Polynomial time algorithms for combinatorial optimization
problems using the ellipsoid method
[Gr¨otschel-Lov´asz-Schrijver’93]
• Randomized polynomial-time algorithms for approximating the
volume of convex bodies
[Dyer-Frieze-Kannan ’90],. . . ,[Lov´asz-Vempala ’04]
Our view of the Oracles
Resultant, Discriminant, Secondary polytopes
• Vertices → subdivisions of a
pointset’s convex hull
• OPTP is available via a subdivision
computation
• Applications in Computational Algebraic Geometry, Geometric
Modelling, Optimization, Combinatorics
Outline
Outline
Main actor: resultant polytope
• Geometry: Minkowski summands of secondary polytopes,
generalize Birkhoff polytopes
• Algebra: resultant expresses the solvability of polynomial
systems
• Applications: resultant computation, implicitization of
parametric hypersurfaces [Emiris, Kalinka, Konaxis, LuuBa ’12]
Enneper’s Minimal Surface
Polytopes and Algebra
• Given n + 1 polynomials on n variables.
f0(x) = ax2
+ b
f1(x) = cx2
+ dx + e
Polytopes and Algebra
• Given n + 1 polynomials on n variables.
• Supports (set of exponents of monomials with non-zero
coefficient) A0, A1, . . . , An ⊂ Zn.
A0
A1
f0(x) = ax2
+ b
f1(x) = cx2
+ dx + e
Polytopes and Algebra
• Given n + 1 polynomials on n variables.
• Supports (set of exponents of monomials with non-zero
coefficient) A0, A1, . . . , An ⊂ Zn.
• The resultant R is the polynomial in the coefficients of a
system of polynomials which vanishes if there exists a
common root in the torus of the given polynomials.
A0
A1
R(a, b, c, d, e) = ad2
b + c2
b2
− 2caeb + a2
e2
f0(x) = ax2
+ b
f1(x) = cx2
+ dx + e
Polytopes and Algebra
• Given n + 1 polynomials on n variables.
• Supports (set of exponents of monomials with non-zero
coefficient) A0, A1, . . . , An ⊂ Zn.
• The resultant R is the polynomial in the coefficients of a
system of polynomials which vanishes if there exists a
common root in the torus of the given polynomials.
• The resultant polytope N(R), is the convex hull of the
support of R, i.e. the Newton polytope of the resultant.
A0
A1
N(R)R(a, b, c, d, e) = ad2
b + c2
b2
− 2caeb + a2
e2
f0(x) = ax2
+ b
f1(x) = cx2
+ dx + e
Mixed subdivisions
A subdivision S of Minkowski sum A0 + A1 + · · · + An is
• mixed: cells are Minkowski sums of subsets of Ai’s,
• fine: for each cell σ = σ0 + · · · + σn, dim(σ) = n
i=0 dim(σi)
Example
A0
A1
A2 fine mixed subdivision S of A0 + A1 + A2
Resultant polytope vertices
Theorem [GKZ’94,
Sturmfels’94]
• many-to-one relation from
regular fine mixed
subdivisions of
A0 + · · · + An to N(R)
vertices
• one-to-one relation between
regular fine mixed
subdivisions and secondary
polytope Σ vertices
The idea of the algorithm
Input: A0, A1, . . . , An ⊂ Zn
Simplistic method:
• compute the vertices of secondary polytope Σ [Rambau ’02]
• many-to-one relation between vertices of Σ and N(R)
The idea of the algorithm
Input: A0, A1, . . . , An ⊂ Zn
New Algorithm:
• Optimization oracle for N(R) by subdivision computation
• Output sensitive: 1 subd. per N(R) vertex + 1 per N(R) facet
• Computes projections of N(R), Σ
The Algorithm
• incremental
• first: compute conv.hull of d + 1 aff. indep. vertices of N(R)
• step: call the oracle with outer normal vector of a halfspace
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
The Algorithm
• incremental
• first: compute conv.hull of d + 1 aff. indep. vertices of N(R)
• step: call the oracle with outer normal vector of a halfspace
→ either validate this halfspace
→ or add a new vertex to the convex hull
Theorem
H-, V-repr. & triang. T of N(R) can be computed in
O(d5
ns2
) arithmetic operations + O(n + m) oracle calls
n, m, s are the number of vertices, facets of N(R), cells of T resp.
The Algorithm
• incremental
• first: compute conv.hull of d + 1 aff. indep. vertices of N(R)
• step: call the oracle with outer normal vector of a halfspace
→ either validate this halfspace
→ or add a new vertex to the convex hull
Theorem
H-, V-repr. & triang. T of N(R) can be computed in
O(d5
ns2
) arithmetic operations + O(n + m) oracle calls
n, m, s are the number of vertices, facets of N(R), cells of T resp.
BUT: s can be O n d/2
ResPol package
• C++
• Towards high-dimensional
• Propose hashing of determinantal predicates scheme:
optimizing sequences of similar determinants (x100 speed-up)
• Computes 5-, 6- and 7-dimensional polytopes with 35K, 23K
and 500 vertices, respectively, within 2hrs
• Computes polytopes of many important surface equations
encountered in geometric modeling in < 1sec, whereas the
corresponding secondary polytopes are intractable
References
• Emiris, F, Konaxis, Pe˜naranda An output-sensitive algorithm
for computing projections of resultant polytopes. Proc. of
28th ACM Annual Symposium on Computational Geometry,
2012, Chapel Hill, NC, USA.
• Emiris, F, Konaxis, Pe˜naranda An oracle-based, output
sensitive algorithm for projections of resultant polytopes.
International Journal of Computational Geometry and
Applications (Special issue) World Scientific.
Outline
Vertex enumeration with edge-directions
Given OPTP and a superset D of the edge directions D(P) of
P ⊆ Rd, compute the vertices P.
Proposition (Rothblum, Onn ’07)
Let P ⊆ Rd given by OPTP, and D ⊇ D(P). All vertices of P can
be computed in
O(|D|d−1
) calls to OPTP + O(|D|d−1
) arithmetic operations.
Well-described polytopes and oracles
Definition
A polytope P ⊆ Rd is well-described (with a parameter ϕ) if there
exists an H-representation for P in which every inequality has
encoding length at most ϕ. The encoding length of P is
P = d + ϕ.
Proposition (Gr¨otschel et al.’93)
For a well-described polytope, we can compute OPTP from SEPP
(and vice versa) in oracle polynomial-time. The runtime
(polynomially) depends on d and ϕ.
The edge-skeleton algorithm
Input:
• OPTP
• Edge vec. P (dir. & len.): D
Output:
• Edge-skeleton of P
P
c
Sketch of Algorithm:
• Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
The edge-skeleton algorithm
Input:
• OPTP
• Edge vec. P (dir. & len.): D
Output:
• Edge-skeleton of P
P
Sketch of Algorithm:
• Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
• Compute segments S = {(x, x + d), for all d ∈ D}
The edge-skeleton algorithm
Input:
• OPTP
• Edge vec. P (dir. & len.): D
Output:
• Edge-skeleton of P
P
Sketch of Algorithm:
• Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
• Compute segments S = {(x, x + d), for all d ∈ D}
• Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP)
The edge-skeleton algorithm
Input:
• OPTP
• Edge vec. P (dir. & len.): D
Output:
• Edge-skeleton of P
P
Sketch of Algorithm:
• Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
• Compute segments S = {(x, x + d), for all d ∈ D}
• Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP)
• Remove from S the segments that are not extreme
The edge-skeleton algorithm
Input:
• OPTP
• Edge vec. P (dir. & len.): D
Output:
• Edge-skeleton of P
P
Sketch of Algorithm:
• Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
• Compute segments S = {(x, x + d), for all d ∈ D}
• Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP)
• Remove from S the segments that are not extreme
Can be altered to work with edge directions only
Complexity
Theorem
Given OPTP and a superset of edge directions D of a well-
described polytope P ⊆ Rd, the edge skeleton of P can be
computed in oracle total polynomial-time
O n|D| T + LP(d3
|D| B ) + d log n ,
• n the number of vertices of P,
• T : runtime of oracle conversion algorithm for P and D,
• B is the binary encoding length of the vector set P and D,
• LP( A + b + c ) runtime of max cT x over {x : Ax ≤ b}.
Applications
Corollary
The edge skeleton of resultant, secondary polytopes can be
computed in oracle total polynomial-time.
Corollary
The edge skeletons of polytopes appearing in convex combinatorial
optimization [Rothblum-Onn ’04] and convex integer
programming [De Loera et al. ’09] problems can be computed in
oracle total polynomial-time.
References
• Emiris, F, G¨artner Efficient Volume and Edge-Skeleton
Computation for Polytopes Given by Oracles. Proc. of 29th
European Workshop on Computational Geometry,
Braunschweig, Germany 2013.
• Emiris, F, G¨artner Efficient edge skeleton computation for
polytopes defined by oracles. Submitted to Computational
Geometry - Theory and Applications.
Outline
The volume computation problem
Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm
Output: Volume of P
• #-P hard for vertex and for halfspace repres. [DyerFrieze’88]
The volume computation problem
Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm
Output: Volume of P
• #-P hard for vertex and for halfspace repres. [DyerFrieze’88]
• randomized poly-time algorithm approximates the volume of a
convex body with high probability and arbitrarily small relative
error [DyerFriezeKannan’91] O∗(d23) → O∗(d4) [LovVemp’04]
The volume computation problem
Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm
Output: Volume of P
• #-P hard for vertex and for halfspace repres. [DyerFrieze’88]
• randomized poly-time algorithm approximates the volume of a
convex body with high probability and arbitrarily small relative
error [DyerFriezeKannan’91] O∗(d23) → O∗(d4) [LovVemp’04]
Implementations
• Exact (VINCI, Qhull, etc.) cannot compute in high
dimensions (e.g. > 20)
• Randomized ([CousinsVempala’14], [EmirisF’14]) compute in
high dimensions (e.g. 100)
How do we compute a random point in a polytope P?
• easy for simple shapes like simplex or cube
How do we compute a random point in a polytope P?
• easy for simple shapes like simplex or cube
• BUT for arbitrary polytopes we need random walks
Random Directions Hit-and-Run (RDHR)
x
P
B
Input: point x ∈ P
Output: new point x ∈ P
1. line through x, uniform on B(x, 1)
2. set x to be a uniform disrtibuted
point on P ∩
Iterate this for W steps.
Random Directions Hit-and-Run (RDHR)
x
P
Input: point x ∈ P
Output: new point x ∈ P
1. line through x, uniform on B(x, 1)
2. set x to be a uniform disrtibuted
point on P ∩
Iterate this for W steps.
Random Directions Hit-and-Run (RDHR)
xP
Input: point x ∈ P
Output: new point x ∈ P
1. line through x, uniform on B(x, 1)
2. set x to be a uniform disrtibuted
point on P ∩
Iterate this for W steps.
• x is unif. random distrib. in P after W = O∗(d3) steps,
where O∗(·) hides log factors [LovaszVempala’06]
• to generate many random points iterate this procedure
Multiphase Monte Carlo (Sequence of balls)
B = B(c, r)
B = B(c, ρ)
P
• B(c, 2i/d), i = α, α + 1, . . . , β,
α = d log r , β = d log ρ
• Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β,
Pα = B(c, 2α/d) ⊆ B(c, r)
Multiphase Monte Carlo (Generate/count random points)
P0 = B(c, r)
B = B(c, ρ)
P
P1
• B(c, 2i/d), i = α, α + 1, . . . , β,
α = d log r , β = d log ρ
• Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β,
Pα = B(c, 2α/d) ⊆ B(c, r)
1. Generate rand. points in Pi
2. Count how many rand. points in Pi fall
in Pi−1
vol(P) = vol(Pα)
β
i=α+1
vol(Pi)
vol(Pi−1)
Multiphase Monte Carlo (Generate/count random points)
P0 = B(c, r)
B = B(c, ρ)
P
P1
• B(c, 2i/d), i = α, α + 1, . . . , β,
α = d log r , β = d log ρ
• Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β,
Pα = B(c, 2α/d) ⊆ B(c, r)
1. Generate rand. points in Pi
2. Count how many rand. points in Pi fall
in Pi−1
vol(P) = vol(Pα)
β
i=α+1
vol(Pi)
vol(Pi−1)
Contributions
Some modifications towards practicality
• W = 10 + d/10 random walk steps (vs. O∗(d3) which hides
constant 1011) achieve < 1% error in up to 100 dim.
• implement boundary oracles with O(m) runtime in coordinate
(vs. random) directions hit-and-run
Contributions
Some modifications towards practicality
• W = 10 + d/10 random walk steps (vs. O∗(d3) which hides
constant 1011) achieve < 1% error in up to 100 dim.
• implement boundary oracles with O(m) runtime in coordinate
(vs. random) directions hit-and-run
Highlights of experimental results
• approximate the volume of a series of polytopes (cubes,
random, cross, Birkhoff) for d < 100 in <2 hrs with mean
approximation error <1%
• Compute the volume of Birkhoff polytopes B11, . . . , B15 in few
hrs whereas exact methods have only computed that of B10 by
specialized software in ∼ 1 year of parallel computation
References
• Emiris, F. Efficient random-walk methods for approximating
polytope volume. Proc. of 30th ACM Annual Symposium on
Computational Geometry, 2014, Kyoto, Japan.
Outline
Existing work
• [GKZ’90] Univariate case / general dimensional N(R)
Existing work
• [GKZ’90] Univariate case / general dimensional N(R)
• [Sturmfels’94] Multivariate case / up to 3 dimensional N(R)
One step beyond... 4-dimensional N(R)
• Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
One step beyond... 4-dimensional N(R)
• Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
• Call vertices, edges, ridges, facets, the 0,1,2,3-d, faces of P.
One step beyond... 4-dimensional N(R)
• Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
• Call vertices, edges, ridges, facets, the 0,1,2,3-d, faces of P.
• f-vectors of 4-dimensional N(R) (computed with ResPol)
(5, 10, 10, 5)
(6, 15, 18, 9)
(8, 20, 21, 9)
(9, 22, 21, 8)
.
.
.
(17, 49, 48, 16)
(17, 49, 49, 17)
(17, 50, 50, 17)
(18, 51, 48, 15)
(18, 51, 49, 16)
(18, 52, 50, 16)
(18, 52, 51, 17)
(18, 53, 51, 16)
(18, 53, 53, 18)
(18, 54, 54, 18)
(19, 54, 52, 17)
(19, 55, 51, 15)
(19, 55, 52, 16)
(19, 55, 54, 18)
(19, 56, 54, 17)
(19, 56, 56, 19)
(19, 57, 57, 19)
(20, 58, 54, 16)
(20, 59, 57, 18)
(20, 60, 60, 20)
(21, 62, 60, 19)
(21, 63, 63, 21)
(22, 66, 66, 22)
Main result
Theorem
Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R)
are degenerations of the polytopes in following cases.
• Degenarations can only decrease the number of faces.
Main result
Theorem
Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R)
are degenerations of the polytopes in following cases.
(i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex
with f-vector (5, 10, 10, 5).
• Degenarations can only decrease the number of faces.
Main result
Theorem
Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R)
are degenerations of the polytopes in following cases.
(i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex
with f-vector (5, 10, 10, 5).
(ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has
f-vector (10, 26, 25, 9).
• Degenarations can only decrease the number of faces.
Main result
Theorem
Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R)
are degenerations of the polytopes in following cases.
(i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex
with f-vector (5, 10, 10, 5).
(ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has
f-vector (10, 26, 25, 9).
(iii) All |Ai| = 2, except for three with cardinality 3, maximal
number of ridges is ˜f2 = 66 and of facets ˜f3 = 22. Moreover,
22 ≤ ˜f0 ≤ 28, and 66 ≤ ˜f1 ≤ 72. The lower bounds are tight.
• Degenarations can only decrease the number of faces.
• Focus on new case (iii), which reduces to n = 2 and each
|Ai| = 3.
Main result
Theorem
Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R)
are degenerations of the polytopes in following cases.
(i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex
with f-vector (5, 10, 10, 5).
(ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has
f-vector (10, 26, 25, 9).
(iii) All |Ai| = 2, except for three with cardinality 3, maximal
number of ridges is ˜f2 = 66 and of facets ˜f3 = 22. Moreover,
22 ≤ ˜f0 ≤ 28, and 66 ≤ ˜f1 ≤ 72. The lower bounds are tight.
• Degenarations can only decrease the number of faces.
• Focus on new case (iii), which reduces to n = 2 and each
|Ai| = 3.
• Generic upper bound for vertices yields 6608 [Sturmfels’94].
Tool (1): N(R) faces and subdivisions
A subdivision S of A0 + A1 + · · · + An is mixed when its cells are
Minkowski sums of Ai’s subsets.
Example
A0
A1
A2 NOT fine mixed subdivision S of A0 + A1 + A2
Tool (1): N(R) faces and subdivisions
A subdivision S of A0 + A1 + · · · + An is mixed when its cells are
Minkowski sums of Ai’s subsets.
Example
A0
A1
A2 NOT fine mixed subdivision S of A0 + A1 + A2
Proposition (Sturmfels’94)
A regular mixed subdivision S of A0 + A1 + · · · + An corresponds
to a face of N(R).
Tool (2): Input genericity
Proposition
Input genericity maximizes the number of resultant polytope faces.
Proof idea
N(R∗
) f-vector: (18, 52, 50, 16)
N(R) f-vector: (14, 38, 36, 12)
p
p∗
A0 A1 A2
A0 A1 A2
Facets of 4-d resultant polytopes
Lemma
A 4-dimensioanl N(R) have at most
• 9 resultant facets: 3-d N(R)
• 9 prism facets: 2-d N(R) (triangle) + 1-d N(R)
• 4 zonotope facets: Mink. sum of 1-d N(R)s
References
• Dickenstein, Emiris, F. Combinatorics of 4-dimensional
Resultant Polytopes. Proc. of the 38th ACM Symposium on
Symbolic and Algebraic Computation, 2013, Boston, MA,
USA.
Outline
Geometric algorithms and predicates
Setting
• geometric algorithms → sequence of geometric predicates
• Hi-dim: as dimension grows predicates become more expensive
Geometric algorithms and predicates
Setting
• geometric algorithms → sequence of geometric predicates
• Hi-dim: as dimension grows predicates become more expensive
Examples
• Orientation: Does
c lie on, left or
right of ab?
ax ay 1
bx by 1
cx cy 1
0
a
b
c
Determinant computation
Given matrix A ⊆ Rd×d
• Theory: State-of-the-art O(dω), ω ∼ 2.3727 [Williams’12]
• Practice: Gaussian elimination, O(d3)
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th
column of A, (A)i, is replaced by u ⊆ Rd.
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th
column of A, (A)i, is replaced by u ⊆ Rd.
Solution: Sherman-Morrison formula (1950)
A −1
= A−1
−
(A−1(u − (A)i)) (eT
i A−1)
1 + eT
i A−1(u − (A)i)
det(A ) = (1 + eT
i A−1
(u − (A)i)det(A)
• Only vector×vector, vector×matrix → Complexity: O(d2)
Incremental convex hull: REVISITED
p2 p5
p2 p4 p5
1 1 1
A =
p1
p3
p4
• Orientation(p2, p4, p5) = sgn(det(A))
Incremental convex hull: REVISITED
p2 p5
p6 p4 p5
1 1 1
A =
p1
p3
p4
p6
• Orientation(p6, p4, p5) = sgn(det(A )) in O(d2)
Incremental convex hull: REVISITED
p2 p5
p6 p4 p5
1 1 1
A =
p1
p3
p4
p6
• Orientation(p6, p4, p5) = sgn(det(A )) in O(d2)
• Store det(A), A−1 in a hash table
Incremental convex hull: REVISITED
p2 p5
p6 p4 p5
1 1 1
A =
p1
p3
p4
p6
• Orientation(p6, p4, p5) = sgn(det(A )) in O(d2)
• Store det(A), A−1 in a hash table
• Update det(A ), A −1 (Sherman-Morrison)
Experiments
Determinants (1-column updates)
• 2 and 7 times faster than state-of-the-art software (Eigen,
Linbox, Maple) in rational and integer arithmetic resp.
Convex hull
• Plug into triangulation/CGAL improving performance
• Outperforms polymake, lrs, cdd in most cases with generic
input in d ≤ 7
Point location
• Improves up to 78 times in triangulation/CGAL, using up
to 50 times more memory, d ≤ 11
References
• F, Pe˜naranda. Faster Geometric Algorithms via Dynamic
Determinant Computation. Proc. of European Symposium on
Algorithms, LNCS, 2012, Ljubljana, Slovenia.
Acknowledgements
Funding
Co-authors
Acknowledgements
Funding
Co-authors
THANK YOU !!!

More Related Content

What's hot (18)

PDF
Stochastic Differentiation
SSA KPI
 
PDF
Optimal Budget Allocation: Theoretical Guarantee and Efficient Algorithm
Tasuku Soma
 
PDF
Multicasting in Linear Deterministic Relay Network by Matrix Completion
Tasuku Soma
 
PDF
ABC: How Bayesian can it be?
Christian Robert
 
PPTX
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
Anax Fotopoulos
 
PDF
Shanghai tutorial
Christian Robert
 
PDF
Conctructing Polytopes via a Vertex Oracle
Vissarion Fisikopoulos
 
PDF
Loss Calibrated Variational Inference
Tomasz Kusmierczyk
 
PDF
A Unifying Review of Gaussian Linear Models (Roweis 1999)
Feynman Liang
 
PDF
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Vissarion Fisikopoulos
 
PDF
An algorithm for computing resultant polytopes
Vissarion Fisikopoulos
 
PPT
1 polar coordinates
math267
 
PPT
Lecture13
Dharmesh Goyal
 
PDF
Jyokyo-kai-20120605
ketanaka
 
PDF
Aho corasick-lecture
PekkaKilpelinen2
 
PDF
20320140501020
IAEME Publication
 
PDF
p-adic integration and elliptic curves over number fields
mmasdeu
 
PDF
Maximizing Submodular Function over the Integer Lattice
Tasuku Soma
 
Stochastic Differentiation
SSA KPI
 
Optimal Budget Allocation: Theoretical Guarantee and Efficient Algorithm
Tasuku Soma
 
Multicasting in Linear Deterministic Relay Network by Matrix Completion
Tasuku Soma
 
ABC: How Bayesian can it be?
Christian Robert
 
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
Anax Fotopoulos
 
Shanghai tutorial
Christian Robert
 
Conctructing Polytopes via a Vertex Oracle
Vissarion Fisikopoulos
 
Loss Calibrated Variational Inference
Tomasz Kusmierczyk
 
A Unifying Review of Gaussian Linear Models (Roweis 1999)
Feynman Liang
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Vissarion Fisikopoulos
 
An algorithm for computing resultant polytopes
Vissarion Fisikopoulos
 
1 polar coordinates
math267
 
Lecture13
Dharmesh Goyal
 
Jyokyo-kai-20120605
ketanaka
 
Aho corasick-lecture
PekkaKilpelinen2
 
20320140501020
IAEME Publication
 
p-adic integration and elliptic curves over number fields
mmasdeu
 
Maximizing Submodular Function over the Integer Lattice
Tasuku Soma
 

Similar to High-dimensional polytopes defined by oracles: algorithms, computations and applications (20)

PDF
Volume computation and applications
Vissarion Fisikopoulos
 
PDF
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
PDF
"An output-sensitive algorithm for computing projections of resultant polytop...
Vissarion Fisikopoulos
 
PDF
A new practical algorithm for volume estimation using annealing of convex bodies
Vissarion Fisikopoulos
 
PDF
Efficient Random-Walk Methods forApproximating Polytope Volume
Vissarion Fisikopoulos
 
PDF
Practical computation of Hecke operators
Mathieu Dutour Sikiric
 
PDF
Enumeration of 2-level polytopes
Vissarion Fisikopoulos
 
PDF
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
Apostolos Chalkis
 
PDF
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Apostolos Chalkis
 
PDF
Combinatorics of 4-dimensional Resultant Polytopes
Vissarion Fisikopoulos
 
PDF
"Faster Geometric Algorithms via Dynamic Determinant Computation."
Vissarion Fisikopoulos
 
PDF
"Combinatorics of 4-dimensional resultant polytopes"
Vissarion Fisikopoulos
 
PDF
Faster Geometric Algorithms via Dynamic Determinant Computation
Vissarion Fisikopoulos
 
PDF
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
 
ODP
Candidacy Exam Talk
Jayant Apte, PhD
 
PDF
Practical volume estimation of polytopes by billiard trajectories and a new a...
Apostolos Chalkis
 
PDF
HonorsProject
Robert Zima
 
PDF
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
 
PDF
The Newton polytope of the sparse resultant
Vissarion Fisikopoulos
 
PPT
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
Shanmuganathan C
 
Volume computation and applications
Vissarion Fisikopoulos
 
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
"An output-sensitive algorithm for computing projections of resultant polytop...
Vissarion Fisikopoulos
 
A new practical algorithm for volume estimation using annealing of convex bodies
Vissarion Fisikopoulos
 
Efficient Random-Walk Methods forApproximating Polytope Volume
Vissarion Fisikopoulos
 
Practical computation of Hecke operators
Mathieu Dutour Sikiric
 
Enumeration of 2-level polytopes
Vissarion Fisikopoulos
 
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
Apostolos Chalkis
 
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Apostolos Chalkis
 
Combinatorics of 4-dimensional Resultant Polytopes
Vissarion Fisikopoulos
 
"Faster Geometric Algorithms via Dynamic Determinant Computation."
Vissarion Fisikopoulos
 
"Combinatorics of 4-dimensional resultant polytopes"
Vissarion Fisikopoulos
 
Faster Geometric Algorithms via Dynamic Determinant Computation
Vissarion Fisikopoulos
 
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
 
Candidacy Exam Talk
Jayant Apte, PhD
 
Practical volume estimation of polytopes by billiard trajectories and a new a...
Apostolos Chalkis
 
HonorsProject
Robert Zima
 
High-dimensional sampling and volume computation
Vissarion Fisikopoulos
 
The Newton polytope of the sparse resultant
Vissarion Fisikopoulos
 
convexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHullsconvexHulls
Shanmuganathan C
 
Ad

More from Vissarion Fisikopoulos (8)

PDF
Efficient sampling of constraint spaces in practice
Vissarion Fisikopoulos
 
PDF
volesti: sampling efficiently from high dimensional distributions
Vissarion Fisikopoulos
 
PDF
"Mesh of Periodic Minimal Surfaces in CGAL."
Vissarion Fisikopoulos
 
PDF
"Regular triangularions and resultant polytopes."
Vissarion Fisikopoulos
 
PDF
"Exact and approximate algorithms for resultant polytopes."
Vissarion Fisikopoulos
 
PDF
Working with spatial trajectories in Boost Geometry
Vissarion Fisikopoulos
 
PDF
Geodesic algorithms: an experimental study
Vissarion Fisikopoulos
 
PDF
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
Vissarion Fisikopoulos
 
Efficient sampling of constraint spaces in practice
Vissarion Fisikopoulos
 
volesti: sampling efficiently from high dimensional distributions
Vissarion Fisikopoulos
 
"Mesh of Periodic Minimal Surfaces in CGAL."
Vissarion Fisikopoulos
 
"Regular triangularions and resultant polytopes."
Vissarion Fisikopoulos
 
"Exact and approximate algorithms for resultant polytopes."
Vissarion Fisikopoulos
 
Working with spatial trajectories in Boost Geometry
Vissarion Fisikopoulos
 
Geodesic algorithms: an experimental study
Vissarion Fisikopoulos
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
Vissarion Fisikopoulos
 
Ad

Recently uploaded (20)

PPTX
Liquid Biopsy Biomarkers for early Diagnosis
KanakChaudhary10
 
PDF
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
PDF
Herbal Excipients: Natural Colorants & Perfumery Agents
Seacom Skills University
 
PPTX
Unit-1-The-Origin-of-the-Universe-and-the-Solar-System-1.pptx
SylvesterMata2
 
PPTX
Earthquake1214435435665467576786587867876867888.pptx
JohnMarkBarrientos1
 
PPTX
MEDICINAL CHEMISTRY PROSPECTIVES IN DESIGN OF EGFR INHIBITORS.pptx
40RevathiP
 
PDF
Impacts on Ocean Worlds Are Sufficiently Frequent and Energetic to Be of Astr...
Sérgio Sacani
 
PPTX
Organisms of oncogenic Potential.pptx
mrkoustavjana2003
 
PPT
states_of_matter.ppt presentation for grade 9
ROLANARIBATO3
 
DOCX
Transportation in plants and animals.docx
bhatbashir421
 
PDF
Evidence for a sub-Jovian planet in the young TWA 7 disk
Sérgio Sacani
 
PPTX
(Normal Mechanism)physiology of labour.pptx
DavidSalman2
 
PPTX
Indian Podophyllum [Autosaved].pptx done
TahirChowdhary1
 
PDF
The MUSEview of the Sculptor galaxy: survey overview and the planetary nebula...
Sérgio Sacani
 
PDF
Driving down costs for fermentation: Recommendations from techno-economic data
The Good Food Institute
 
PDF
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 
PDF
Agentic AI: Autonomy, Accountability, and the Algorithmic Society
vs5qkn48td
 
PPTX
Comparative Testing of 2D Stroke Gesture Recognizers in Multiple Contexts of Use
Jean Vanderdonckt
 
PPTX
FACTORS PREDISPOSING TO MICROBIAL PATHOGENICITY.pptx
Remya M S
 
PDF
Integrating Conversational Agents and Knowledge Graphs within the Scholarly D...
Angelo Salatino
 
Liquid Biopsy Biomarkers for early Diagnosis
KanakChaudhary10
 
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
Herbal Excipients: Natural Colorants & Perfumery Agents
Seacom Skills University
 
Unit-1-The-Origin-of-the-Universe-and-the-Solar-System-1.pptx
SylvesterMata2
 
Earthquake1214435435665467576786587867876867888.pptx
JohnMarkBarrientos1
 
MEDICINAL CHEMISTRY PROSPECTIVES IN DESIGN OF EGFR INHIBITORS.pptx
40RevathiP
 
Impacts on Ocean Worlds Are Sufficiently Frequent and Energetic to Be of Astr...
Sérgio Sacani
 
Organisms of oncogenic Potential.pptx
mrkoustavjana2003
 
states_of_matter.ppt presentation for grade 9
ROLANARIBATO3
 
Transportation in plants and animals.docx
bhatbashir421
 
Evidence for a sub-Jovian planet in the young TWA 7 disk
Sérgio Sacani
 
(Normal Mechanism)physiology of labour.pptx
DavidSalman2
 
Indian Podophyllum [Autosaved].pptx done
TahirChowdhary1
 
The MUSEview of the Sculptor galaxy: survey overview and the planetary nebula...
Sérgio Sacani
 
Driving down costs for fermentation: Recommendations from techno-economic data
The Good Food Institute
 
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 
Agentic AI: Autonomy, Accountability, and the Algorithmic Society
vs5qkn48td
 
Comparative Testing of 2D Stroke Gesture Recognizers in Multiple Contexts of Use
Jean Vanderdonckt
 
FACTORS PREDISPOSING TO MICROBIAL PATHOGENICITY.pptx
Remya M S
 
Integrating Conversational Agents and Knowledge Graphs within the Scholarly D...
Angelo Salatino
 

High-dimensional polytopes defined by oracles: algorithms, computations and applications

  • 1. High-dimensional polytopes defined by oracles: algorithms, computations and applications Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens PhD defence, Athens, 24.Apr.2014
  • 2. Classical Polytope Representations A convex polytope P ⊆ Rd can be represented as the 1. convex hull of a pointset {p1, . . . , pn} (V-representation) 2. intersection of halfspaces {h1, . . . , hm} (H-representation) convex hull problem vertex enumeration problem • These problems are equivalent by polytope duality.
  • 3. Algorithmic Issues • For general dimension d there is no polynomial algorithm for the convex hull (or vertex enumeration) problem since m can be O n d/2 [McMullen’70]. • It is open whether there exist a total poly-time algorithm for the convex hull (or vertex enumeration) problem, i.e. runs in poly-time in n, m, d.
  • 4. What is an Oracle?
  • 5. Polytope Oracles Implicit representation for a polytope P ⊆ Rd. OPTP: Given direction c ∈ Rd return the vertex v ∈ P that maximizes cT v. SEPP: Given point y ∈ Rd, return yes if y ∈ P otherwise a hyperplane h that separates y from P. c v P P h y
  • 6. Why polytope Oracles? • Polynomial time algorithms for combinatorial optimization problems using the ellipsoid method [Gr¨otschel-Lov´asz-Schrijver’93] • Randomized polynomial-time algorithms for approximating the volume of convex bodies [Dyer-Frieze-Kannan ’90],. . . ,[Lov´asz-Vempala ’04]
  • 7. Our view of the Oracles Resultant, Discriminant, Secondary polytopes • Vertices → subdivisions of a pointset’s convex hull • OPTP is available via a subdivision computation • Applications in Computational Algebraic Geometry, Geometric Modelling, Optimization, Combinatorics
  • 10. Main actor: resultant polytope • Geometry: Minkowski summands of secondary polytopes, generalize Birkhoff polytopes • Algebra: resultant expresses the solvability of polynomial systems • Applications: resultant computation, implicitization of parametric hypersurfaces [Emiris, Kalinka, Konaxis, LuuBa ’12] Enneper’s Minimal Surface
  • 11. Polytopes and Algebra • Given n + 1 polynomials on n variables. f0(x) = ax2 + b f1(x) = cx2 + dx + e
  • 12. Polytopes and Algebra • Given n + 1 polynomials on n variables. • Supports (set of exponents of monomials with non-zero coefficient) A0, A1, . . . , An ⊂ Zn. A0 A1 f0(x) = ax2 + b f1(x) = cx2 + dx + e
  • 13. Polytopes and Algebra • Given n + 1 polynomials on n variables. • Supports (set of exponents of monomials with non-zero coefficient) A0, A1, . . . , An ⊂ Zn. • The resultant R is the polynomial in the coefficients of a system of polynomials which vanishes if there exists a common root in the torus of the given polynomials. A0 A1 R(a, b, c, d, e) = ad2 b + c2 b2 − 2caeb + a2 e2 f0(x) = ax2 + b f1(x) = cx2 + dx + e
  • 14. Polytopes and Algebra • Given n + 1 polynomials on n variables. • Supports (set of exponents of monomials with non-zero coefficient) A0, A1, . . . , An ⊂ Zn. • The resultant R is the polynomial in the coefficients of a system of polynomials which vanishes if there exists a common root in the torus of the given polynomials. • The resultant polytope N(R), is the convex hull of the support of R, i.e. the Newton polytope of the resultant. A0 A1 N(R)R(a, b, c, d, e) = ad2 b + c2 b2 − 2caeb + a2 e2 f0(x) = ax2 + b f1(x) = cx2 + dx + e
  • 15. Mixed subdivisions A subdivision S of Minkowski sum A0 + A1 + · · · + An is • mixed: cells are Minkowski sums of subsets of Ai’s, • fine: for each cell σ = σ0 + · · · + σn, dim(σ) = n i=0 dim(σi) Example A0 A1 A2 fine mixed subdivision S of A0 + A1 + A2
  • 16. Resultant polytope vertices Theorem [GKZ’94, Sturmfels’94] • many-to-one relation from regular fine mixed subdivisions of A0 + · · · + An to N(R) vertices • one-to-one relation between regular fine mixed subdivisions and secondary polytope Σ vertices
  • 17. The idea of the algorithm Input: A0, A1, . . . , An ⊂ Zn Simplistic method: • compute the vertices of secondary polytope Σ [Rambau ’02] • many-to-one relation between vertices of Σ and N(R)
  • 18. The idea of the algorithm Input: A0, A1, . . . , An ⊂ Zn New Algorithm: • Optimization oracle for N(R) by subdivision computation • Output sensitive: 1 subd. per N(R) vertex + 1 per N(R) facet • Computes projections of N(R), Σ
  • 19. The Algorithm • incremental • first: compute conv.hull of d + 1 aff. indep. vertices of N(R) • step: call the oracle with outer normal vector of a halfspace → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 20. The Algorithm • incremental • first: compute conv.hull of d + 1 aff. indep. vertices of N(R) • step: call the oracle with outer normal vector of a halfspace → either validate this halfspace → or add a new vertex to the convex hull Theorem H-, V-repr. & triang. T of N(R) can be computed in O(d5 ns2 ) arithmetic operations + O(n + m) oracle calls n, m, s are the number of vertices, facets of N(R), cells of T resp.
  • 21. The Algorithm • incremental • first: compute conv.hull of d + 1 aff. indep. vertices of N(R) • step: call the oracle with outer normal vector of a halfspace → either validate this halfspace → or add a new vertex to the convex hull Theorem H-, V-repr. & triang. T of N(R) can be computed in O(d5 ns2 ) arithmetic operations + O(n + m) oracle calls n, m, s are the number of vertices, facets of N(R), cells of T resp. BUT: s can be O n d/2
  • 22. ResPol package • C++ • Towards high-dimensional • Propose hashing of determinantal predicates scheme: optimizing sequences of similar determinants (x100 speed-up) • Computes 5-, 6- and 7-dimensional polytopes with 35K, 23K and 500 vertices, respectively, within 2hrs • Computes polytopes of many important surface equations encountered in geometric modeling in < 1sec, whereas the corresponding secondary polytopes are intractable
  • 23. References • Emiris, F, Konaxis, Pe˜naranda An output-sensitive algorithm for computing projections of resultant polytopes. Proc. of 28th ACM Annual Symposium on Computational Geometry, 2012, Chapel Hill, NC, USA. • Emiris, F, Konaxis, Pe˜naranda An oracle-based, output sensitive algorithm for projections of resultant polytopes. International Journal of Computational Geometry and Applications (Special issue) World Scientific.
  • 25. Vertex enumeration with edge-directions Given OPTP and a superset D of the edge directions D(P) of P ⊆ Rd, compute the vertices P. Proposition (Rothblum, Onn ’07) Let P ⊆ Rd given by OPTP, and D ⊇ D(P). All vertices of P can be computed in O(|D|d−1 ) calls to OPTP + O(|D|d−1 ) arithmetic operations.
  • 26. Well-described polytopes and oracles Definition A polytope P ⊆ Rd is well-described (with a parameter ϕ) if there exists an H-representation for P in which every inequality has encoding length at most ϕ. The encoding length of P is P = d + ϕ. Proposition (Gr¨otschel et al.’93) For a well-described polytope, we can compute OPTP from SEPP (and vice versa) in oracle polynomial-time. The runtime (polynomially) depends on d and ϕ.
  • 27. The edge-skeleton algorithm Input: • OPTP • Edge vec. P (dir. & len.): D Output: • Edge-skeleton of P P c Sketch of Algorithm: • Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd)
  • 28. The edge-skeleton algorithm Input: • OPTP • Edge vec. P (dir. & len.): D Output: • Edge-skeleton of P P Sketch of Algorithm: • Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd) • Compute segments S = {(x, x + d), for all d ∈ D}
  • 29. The edge-skeleton algorithm Input: • OPTP • Edge vec. P (dir. & len.): D Output: • Edge-skeleton of P P Sketch of Algorithm: • Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd) • Compute segments S = {(x, x + d), for all d ∈ D} • Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP)
  • 30. The edge-skeleton algorithm Input: • OPTP • Edge vec. P (dir. & len.): D Output: • Edge-skeleton of P P Sketch of Algorithm: • Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd) • Compute segments S = {(x, x + d), for all d ∈ D} • Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP) • Remove from S the segments that are not extreme
  • 31. The edge-skeleton algorithm Input: • OPTP • Edge vec. P (dir. & len.): D Output: • Edge-skeleton of P P Sketch of Algorithm: • Compute a vertex of P (x = OPTP(c) for arbitrary cT ∈ Rd) • Compute segments S = {(x, x + d), for all d ∈ D} • Remove from S all segments (x, y) s.t. y /∈ P (OPTP → SEPP) • Remove from S the segments that are not extreme Can be altered to work with edge directions only
  • 32. Complexity Theorem Given OPTP and a superset of edge directions D of a well- described polytope P ⊆ Rd, the edge skeleton of P can be computed in oracle total polynomial-time O n|D| T + LP(d3 |D| B ) + d log n , • n the number of vertices of P, • T : runtime of oracle conversion algorithm for P and D, • B is the binary encoding length of the vector set P and D, • LP( A + b + c ) runtime of max cT x over {x : Ax ≤ b}.
  • 33. Applications Corollary The edge skeleton of resultant, secondary polytopes can be computed in oracle total polynomial-time. Corollary The edge skeletons of polytopes appearing in convex combinatorial optimization [Rothblum-Onn ’04] and convex integer programming [De Loera et al. ’09] problems can be computed in oracle total polynomial-time.
  • 34. References • Emiris, F, G¨artner Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles. Proc. of 29th European Workshop on Computational Geometry, Braunschweig, Germany 2013. • Emiris, F, G¨artner Efficient edge skeleton computation for polytopes defined by oracles. Submitted to Computational Geometry - Theory and Applications.
  • 36. The volume computation problem Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm Output: Volume of P • #-P hard for vertex and for halfspace repres. [DyerFrieze’88]
  • 37. The volume computation problem Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm Output: Volume of P • #-P hard for vertex and for halfspace repres. [DyerFrieze’88] • randomized poly-time algorithm approximates the volume of a convex body with high probability and arbitrarily small relative error [DyerFriezeKannan’91] O∗(d23) → O∗(d4) [LovVemp’04]
  • 38. The volume computation problem Input: Polytope P := {x ∈ Rd | Ax ≤ b} A ∈ Rm×d, b ∈ Rm Output: Volume of P • #-P hard for vertex and for halfspace repres. [DyerFrieze’88] • randomized poly-time algorithm approximates the volume of a convex body with high probability and arbitrarily small relative error [DyerFriezeKannan’91] O∗(d23) → O∗(d4) [LovVemp’04] Implementations • Exact (VINCI, Qhull, etc.) cannot compute in high dimensions (e.g. > 20) • Randomized ([CousinsVempala’14], [EmirisF’14]) compute in high dimensions (e.g. 100)
  • 39. How do we compute a random point in a polytope P? • easy for simple shapes like simplex or cube
  • 40. How do we compute a random point in a polytope P? • easy for simple shapes like simplex or cube • BUT for arbitrary polytopes we need random walks
  • 41. Random Directions Hit-and-Run (RDHR) x P B Input: point x ∈ P Output: new point x ∈ P 1. line through x, uniform on B(x, 1) 2. set x to be a uniform disrtibuted point on P ∩ Iterate this for W steps.
  • 42. Random Directions Hit-and-Run (RDHR) x P Input: point x ∈ P Output: new point x ∈ P 1. line through x, uniform on B(x, 1) 2. set x to be a uniform disrtibuted point on P ∩ Iterate this for W steps.
  • 43. Random Directions Hit-and-Run (RDHR) xP Input: point x ∈ P Output: new point x ∈ P 1. line through x, uniform on B(x, 1) 2. set x to be a uniform disrtibuted point on P ∩ Iterate this for W steps. • x is unif. random distrib. in P after W = O∗(d3) steps, where O∗(·) hides log factors [LovaszVempala’06] • to generate many random points iterate this procedure
  • 44. Multiphase Monte Carlo (Sequence of balls) B = B(c, r) B = B(c, ρ) P • B(c, 2i/d), i = α, α + 1, . . . , β, α = d log r , β = d log ρ • Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β, Pα = B(c, 2α/d) ⊆ B(c, r)
  • 45. Multiphase Monte Carlo (Generate/count random points) P0 = B(c, r) B = B(c, ρ) P P1 • B(c, 2i/d), i = α, α + 1, . . . , β, α = d log r , β = d log ρ • Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β, Pα = B(c, 2α/d) ⊆ B(c, r) 1. Generate rand. points in Pi 2. Count how many rand. points in Pi fall in Pi−1 vol(P) = vol(Pα) β i=α+1 vol(Pi) vol(Pi−1)
  • 46. Multiphase Monte Carlo (Generate/count random points) P0 = B(c, r) B = B(c, ρ) P P1 • B(c, 2i/d), i = α, α + 1, . . . , β, α = d log r , β = d log ρ • Pi := P ∩ B(c, 2i/d), i = α, α + 1, . . . , β, Pα = B(c, 2α/d) ⊆ B(c, r) 1. Generate rand. points in Pi 2. Count how many rand. points in Pi fall in Pi−1 vol(P) = vol(Pα) β i=α+1 vol(Pi) vol(Pi−1)
  • 47. Contributions Some modifications towards practicality • W = 10 + d/10 random walk steps (vs. O∗(d3) which hides constant 1011) achieve < 1% error in up to 100 dim. • implement boundary oracles with O(m) runtime in coordinate (vs. random) directions hit-and-run
  • 48. Contributions Some modifications towards practicality • W = 10 + d/10 random walk steps (vs. O∗(d3) which hides constant 1011) achieve < 1% error in up to 100 dim. • implement boundary oracles with O(m) runtime in coordinate (vs. random) directions hit-and-run Highlights of experimental results • approximate the volume of a series of polytopes (cubes, random, cross, Birkhoff) for d < 100 in <2 hrs with mean approximation error <1% • Compute the volume of Birkhoff polytopes B11, . . . , B15 in few hrs whereas exact methods have only computed that of B10 by specialized software in ∼ 1 year of parallel computation
  • 49. References • Emiris, F. Efficient random-walk methods for approximating polytope volume. Proc. of 30th ACM Annual Symposium on Computational Geometry, 2014, Kyoto, Japan.
  • 51. Existing work • [GKZ’90] Univariate case / general dimensional N(R)
  • 52. Existing work • [GKZ’90] Univariate case / general dimensional N(R) • [Sturmfels’94] Multivariate case / up to 3 dimensional N(R)
  • 53. One step beyond... 4-dimensional N(R) • Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
  • 54. One step beyond... 4-dimensional N(R) • Polytope P ⊆ R4; f-vector is the vector of its face cardinalities. • Call vertices, edges, ridges, facets, the 0,1,2,3-d, faces of P.
  • 55. One step beyond... 4-dimensional N(R) • Polytope P ⊆ R4; f-vector is the vector of its face cardinalities. • Call vertices, edges, ridges, facets, the 0,1,2,3-d, faces of P. • f-vectors of 4-dimensional N(R) (computed with ResPol) (5, 10, 10, 5) (6, 15, 18, 9) (8, 20, 21, 9) (9, 22, 21, 8) . . . (17, 49, 48, 16) (17, 49, 49, 17) (17, 50, 50, 17) (18, 51, 48, 15) (18, 51, 49, 16) (18, 52, 50, 16) (18, 52, 51, 17) (18, 53, 51, 16) (18, 53, 53, 18) (18, 54, 54, 18) (19, 54, 52, 17) (19, 55, 51, 15) (19, 55, 52, 16) (19, 55, 54, 18) (19, 56, 54, 17) (19, 56, 56, 19) (19, 57, 57, 19) (20, 58, 54, 16) (20, 59, 57, 18) (20, 60, 60, 20) (21, 62, 60, 19) (21, 63, 63, 21) (22, 66, 66, 22)
  • 56. Main result Theorem Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R) are degenerations of the polytopes in following cases. • Degenarations can only decrease the number of faces.
  • 57. Main result Theorem Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R) are degenerations of the polytopes in following cases. (i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex with f-vector (5, 10, 10, 5). • Degenarations can only decrease the number of faces.
  • 58. Main result Theorem Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R) are degenerations of the polytopes in following cases. (i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex with f-vector (5, 10, 10, 5). (ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has f-vector (10, 26, 25, 9). • Degenarations can only decrease the number of faces.
  • 59. Main result Theorem Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R) are degenerations of the polytopes in following cases. (i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex with f-vector (5, 10, 10, 5). (ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has f-vector (10, 26, 25, 9). (iii) All |Ai| = 2, except for three with cardinality 3, maximal number of ridges is ˜f2 = 66 and of facets ˜f3 = 22. Moreover, 22 ≤ ˜f0 ≤ 28, and 66 ≤ ˜f1 ≤ 72. The lower bounds are tight. • Degenarations can only decrease the number of faces. • Focus on new case (iii), which reduces to n = 2 and each |Ai| = 3.
  • 60. Main result Theorem Given A0, A1, . . . , An ⊂ Zn with N(R) of dimension 4. Then N(R) are degenerations of the polytopes in following cases. (i) All |Ai| = 2, except for one with cardinality 5, is a 4-simplex with f-vector (5, 10, 10, 5). (ii) All |Ai| = 2, except for two with cardinalities 3 and 4, has f-vector (10, 26, 25, 9). (iii) All |Ai| = 2, except for three with cardinality 3, maximal number of ridges is ˜f2 = 66 and of facets ˜f3 = 22. Moreover, 22 ≤ ˜f0 ≤ 28, and 66 ≤ ˜f1 ≤ 72. The lower bounds are tight. • Degenarations can only decrease the number of faces. • Focus on new case (iii), which reduces to n = 2 and each |Ai| = 3. • Generic upper bound for vertices yields 6608 [Sturmfels’94].
  • 61. Tool (1): N(R) faces and subdivisions A subdivision S of A0 + A1 + · · · + An is mixed when its cells are Minkowski sums of Ai’s subsets. Example A0 A1 A2 NOT fine mixed subdivision S of A0 + A1 + A2
  • 62. Tool (1): N(R) faces and subdivisions A subdivision S of A0 + A1 + · · · + An is mixed when its cells are Minkowski sums of Ai’s subsets. Example A0 A1 A2 NOT fine mixed subdivision S of A0 + A1 + A2 Proposition (Sturmfels’94) A regular mixed subdivision S of A0 + A1 + · · · + An corresponds to a face of N(R).
  • 63. Tool (2): Input genericity Proposition Input genericity maximizes the number of resultant polytope faces. Proof idea N(R∗ ) f-vector: (18, 52, 50, 16) N(R) f-vector: (14, 38, 36, 12) p p∗ A0 A1 A2 A0 A1 A2
  • 64. Facets of 4-d resultant polytopes Lemma A 4-dimensioanl N(R) have at most • 9 resultant facets: 3-d N(R) • 9 prism facets: 2-d N(R) (triangle) + 1-d N(R) • 4 zonotope facets: Mink. sum of 1-d N(R)s
  • 65. References • Dickenstein, Emiris, F. Combinatorics of 4-dimensional Resultant Polytopes. Proc. of the 38th ACM Symposium on Symbolic and Algebraic Computation, 2013, Boston, MA, USA.
  • 67. Geometric algorithms and predicates Setting • geometric algorithms → sequence of geometric predicates • Hi-dim: as dimension grows predicates become more expensive
  • 68. Geometric algorithms and predicates Setting • geometric algorithms → sequence of geometric predicates • Hi-dim: as dimension grows predicates become more expensive Examples • Orientation: Does c lie on, left or right of ab? ax ay 1 bx by 1 cx cy 1 0 a b c
  • 69. Determinant computation Given matrix A ⊆ Rd×d • Theory: State-of-the-art O(dω), ω ∼ 2.3727 [Williams’12] • Practice: Gaussian elimination, O(d3)
  • 70. Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd.
  • 71. Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. Solution: Sherman-Morrison formula (1950) A −1 = A−1 − (A−1(u − (A)i)) (eT i A−1) 1 + eT i A−1(u − (A)i) det(A ) = (1 + eT i A−1 (u − (A)i)det(A) • Only vector×vector, vector×matrix → Complexity: O(d2)
  • 72. Incremental convex hull: REVISITED p2 p5 p2 p4 p5 1 1 1 A = p1 p3 p4 • Orientation(p2, p4, p5) = sgn(det(A))
  • 73. Incremental convex hull: REVISITED p2 p5 p6 p4 p5 1 1 1 A = p1 p3 p4 p6 • Orientation(p6, p4, p5) = sgn(det(A )) in O(d2)
  • 74. Incremental convex hull: REVISITED p2 p5 p6 p4 p5 1 1 1 A = p1 p3 p4 p6 • Orientation(p6, p4, p5) = sgn(det(A )) in O(d2) • Store det(A), A−1 in a hash table
  • 75. Incremental convex hull: REVISITED p2 p5 p6 p4 p5 1 1 1 A = p1 p3 p4 p6 • Orientation(p6, p4, p5) = sgn(det(A )) in O(d2) • Store det(A), A−1 in a hash table • Update det(A ), A −1 (Sherman-Morrison)
  • 76. Experiments Determinants (1-column updates) • 2 and 7 times faster than state-of-the-art software (Eigen, Linbox, Maple) in rational and integer arithmetic resp. Convex hull • Plug into triangulation/CGAL improving performance • Outperforms polymake, lrs, cdd in most cases with generic input in d ≤ 7 Point location • Improves up to 78 times in triangulation/CGAL, using up to 50 times more memory, d ≤ 11
  • 77. References • F, Pe˜naranda. Faster Geometric Algorithms via Dynamic Determinant Computation. Proc. of European Symposium on Algorithms, LNCS, 2012, Ljubljana, Slovenia.