SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
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 !!!

Más contenido relacionado

La actualidad más candente

A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
Anax Fotopoulos
 
1 polar coordinates
1 polar coordinates1 polar coordinates
1 polar coordinates
math267
 
Jyokyo-kai-20120605
Jyokyo-kai-20120605Jyokyo-kai-20120605
Jyokyo-kai-20120605
ketanaka
 

La actualidad más candente (18)

Stochastic Differentiation
Stochastic DifferentiationStochastic Differentiation
Stochastic Differentiation
 
Optimal Budget Allocation: Theoretical Guarantee and Efficient Algorithm
Optimal Budget Allocation: Theoretical Guarantee and Efficient AlgorithmOptimal Budget Allocation: Theoretical Guarantee and Efficient Algorithm
Optimal Budget Allocation: Theoretical Guarantee and Efficient Algorithm
 
Multicasting in Linear Deterministic Relay Network by Matrix Completion
Multicasting in Linear Deterministic Relay Network by Matrix CompletionMulticasting in Linear Deterministic Relay Network by Matrix Completion
Multicasting in Linear Deterministic Relay Network by Matrix Completion
 
ABC: How Bayesian can it be?
ABC: How Bayesian can it be?ABC: How Bayesian can it be?
ABC: How Bayesian can it be?
 
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
 
Shanghai tutorial
Shanghai tutorialShanghai tutorial
Shanghai tutorial
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex Oracle
 
Loss Calibrated Variational Inference
Loss Calibrated Variational InferenceLoss Calibrated Variational Inference
Loss Calibrated Variational Inference
 
A Unifying Review of Gaussian Linear Models (Roweis 1999)
A Unifying Review of Gaussian Linear Models (Roweis 1999)A Unifying Review of Gaussian Linear Models (Roweis 1999)
A Unifying Review of Gaussian Linear Models (Roweis 1999)
 
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
 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopes
 
1 polar coordinates
1 polar coordinates1 polar coordinates
1 polar coordinates
 
Lecture13
Lecture13Lecture13
Lecture13
 
Jyokyo-kai-20120605
Jyokyo-kai-20120605Jyokyo-kai-20120605
Jyokyo-kai-20120605
 
Aho corasick-lecture
Aho corasick-lectureAho corasick-lecture
Aho corasick-lecture
 
20320140501020
2032014050102020320140501020
20320140501020
 
p-adic integration and elliptic curves over number fields
p-adic integration and elliptic curves over number fieldsp-adic integration and elliptic curves over number fields
p-adic integration and elliptic curves over number fields
 
Maximizing Submodular Function over the Integer Lattice
Maximizing Submodular Function over the Integer LatticeMaximizing Submodular Function over the Integer Lattice
Maximizing Submodular Function over the Integer Lattice
 

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

DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..
KarthikeyaLanka1
 

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

Volume computation and applications
Volume computation and applications Volume computation and applications
Volume computation and applications
 
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)
 
Design and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture NotesDesign and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture Notes
 
Maapr3
Maapr3Maapr3
Maapr3
 
Algorithm Assignment Help
Algorithm Assignment HelpAlgorithm Assignment Help
Algorithm Assignment Help
 
Chap12 slides
Chap12 slidesChap12 slides
Chap12 slides
 
Algorithm Exam Help
Algorithm Exam HelpAlgorithm Exam Help
Algorithm Exam Help
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 
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.
 
DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..
 
bv_cvxslides (1).pdf
bv_cvxslides (1).pdfbv_cvxslides (1).pdf
bv_cvxslides (1).pdf
 
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...
 
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of MaterialsBayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
 
Combinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant PolytopesCombinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant Polytopes
 
Q
QQ
Q
 
Design and Analysis of Algorithms Exam Help
Design and Analysis of Algorithms Exam HelpDesign and Analysis of Algorithms Exam Help
Design and Analysis of Algorithms Exam Help
 
Algorithm Homework Help
Algorithm Homework HelpAlgorithm Homework Help
Algorithm Homework Help
 
cswiercz-general-presentation
cswiercz-general-presentationcswiercz-general-presentation
cswiercz-general-presentation
 
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...
 

Más de Vissarion Fisikopoulos

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
 
Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental study
Vissarion Fisikopoulos
 

Más de Vissarion Fisikopoulos (15)

"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."
 
"Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes""Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes"
 
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
 
High-dimensional sampling and volume computation
High-dimensional sampling and volume computationHigh-dimensional sampling and volume computation
High-dimensional sampling and volume computation
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
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
 
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
 
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
 

Último

Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
levieagacer
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
Sérgio Sacani
 

Último (20)

GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts ServiceJustdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 

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.