SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
What is an Oracle?
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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]
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Polytopes and Algebra
• Given n + 1 polynomials on n variables.
f0(x) = ax2
+ b
f1(x) = cx2
+ dx + e
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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), Σ
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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 ϕ.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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}
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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}.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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]
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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]
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
How do we compute a random point in a polytope P?
• easy for simple shapes like simplex or cube
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
References
• Emiris, F. Efficient random-walk methods for approximating
polytope volume. Proc. of 30th ACM Annual Symposium on
Computational Geometry, 2014, Kyoto, Japan.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Existing work
• [GKZ’90] Univariate case / general dimensional N(R)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Existing work
• [GKZ’90] Univariate case / general dimensional N(R)
• [Sturmfels’94] Multivariate case / up to 3 dimensional N(R)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
One step beyond... 4-dimensional N(R)
• Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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].
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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).
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Outline
Introduction
An algorithm for computing projections of resultant polytopes
Edge-skeleton computation for polytopes defined by oracles
A practical volume algorithm for high dimensional polytopes
Combinatorics of 4-d resultant polytopes
High-dimensional predicates: algorithms and software
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Geometric algorithms and predicates
Setting
• geometric algorithms → sequence of geometric predicates
• Hi-dim: as dimension grows predicates become more expensive
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Determinant computation
Given matrix A ⊆ Rd×d
• Theory: State-of-the-art O(dω), ω ∼ 2.3727 [Williams’12]
• Practice: Gaussian elimination, O(d3)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Incremental convex hull: REVISITED
p2 p5
p2 p4 p5
1 1 1
A =
p1
p3
p4
• Orientation(p2, p4, p5) = sgn(det(A))
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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)
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
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
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
References
• F, Pe˜naranda. Faster Geometric Algorithms via Dynamic
Determinant Computation. Proc. of European Symposium on
Algorithms, LNCS, 2012, Ljubljana, Slovenia.
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Acknowledgements
Funding
Co-authors
Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates
Acknowledgements
Funding
Co-authors
THANK YOU !!!

Contenu connexe

Tendances

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
 
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable FunctionsA Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
Matt Parker
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1
Naughty Dog
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
Naughty Dog
 

Tendances (20)

A Star Search
A Star SearchA Star Search
A Star Search
 
Astar algorithm
Astar algorithmAstar algorithm
Astar algorithm
 
Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithms
 
TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free
 
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
 
Sep logic slide
Sep logic slideSep logic slide
Sep logic slide
 
AI Lesson 05
AI Lesson 05AI Lesson 05
AI Lesson 05
 
AbdoSummerANS_mod3
AbdoSummerANS_mod3AbdoSummerANS_mod3
AbdoSummerANS_mod3
 
Heuristic search
Heuristic searchHeuristic search
Heuristic search
 
Cerutti -- TAFA2013
Cerutti -- TAFA2013Cerutti -- TAFA2013
Cerutti -- TAFA2013
 
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...
 
Modern C++ for Beginners
Modern C++ for BeginnersModern C++ for Beginners
Modern C++ for Beginners
 
Lecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmLecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithm
 
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable FunctionsA Commutative Alternative to Fractional Calculus on k-Differentiable Functions
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
 
LR(0) parser in Compiler Consturction
LR(0) parser in Compiler ConsturctionLR(0) parser in Compiler Consturction
LR(0) parser in Compiler Consturction
 
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
 
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
 

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

NIPS2007: learning using many examples
NIPS2007: learning using many examplesNIPS2007: learning using many examples
NIPS2007: learning using many examples
zukun
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02
Computer Science Club
 
On clusteredsteinertree slide-ver 1.1
On clusteredsteinertree slide-ver 1.1On clusteredsteinertree slide-ver 1.1
On clusteredsteinertree slide-ver 1.1
VitAnhNguyn94
 

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

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)
 
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
 
Chap12 slides
Chap12 slidesChap12 slides
Chap12 slides
 
Linear Size Meshes
Linear Size MeshesLinear Size Meshes
Linear Size Meshes
 
Maapr3
Maapr3Maapr3
Maapr3
 
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
 
My PhD defence
My PhD defenceMy PhD defence
My PhD defence
 
PS
PSPS
PS
 
NIPS2007: learning using many examples
NIPS2007: learning using many examplesNIPS2007: learning using many examples
NIPS2007: learning using many examples
 
Pwl rewal-slideshare
Pwl rewal-slidesharePwl rewal-slideshare
Pwl rewal-slideshare
 
Fp12_Efficient_SCM
Fp12_Efficient_SCMFp12_Efficient_SCM
Fp12_Efficient_SCM
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02
 
Lecture5.pptx
Lecture5.pptxLecture5.pptx
Lecture5.pptx
 
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdfDeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
 
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
 
LSH
LSHLSH
LSH
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
 
04 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x204 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x2
 
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.
 
On clusteredsteinertree slide-ver 1.1
On clusteredsteinertree slide-ver 1.1On clusteredsteinertree slide-ver 1.1
On clusteredsteinertree slide-ver 1.1
 

Plus 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
 

Plus de Vissarion Fisikopoulos (17)

"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
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex Oracle
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
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
 
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
 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopes
 
Combinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant PolytopesCombinatorics of 4-dimensional Resultant Polytopes
Combinatorics of 4-dimensional Resultant Polytopes
 

Dernier

Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Lokesh Kothari
 
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
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
Lokesh Kothari
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
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
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 

Dernier (20)

9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
 
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
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
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)
 
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
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
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...
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
American Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptxAmerican Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptx
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
❤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 💦✅.
 

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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates What is an Oracle?
  • 5. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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
  • 8. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 9. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 10. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Polytopes and Algebra • Given n + 1 polynomials on n variables. f0(x) = ax2 + b f1(x) = cx2 + dx + e
  • 12. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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.
  • 24. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 25. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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.
  • 35. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 36. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates How do we compute a random point in a polytope P? • easy for simple shapes like simplex or cube
  • 40. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates References • Emiris, F. Efficient random-walk methods for approximating polytope volume. Proc. of 30th ACM Annual Symposium on Computational Geometry, 2014, Kyoto, Japan.
  • 50. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 51. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Existing work • [GKZ’90] Univariate case / general dimensional N(R)
  • 52. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Existing work • [GKZ’90] Univariate case / general dimensional N(R) • [Sturmfels’94] Multivariate case / up to 3 dimensional N(R)
  • 53. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates One step beyond... 4-dimensional N(R) • Polytope P ⊆ R4; f-vector is the vector of its face cardinalities.
  • 54. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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.
  • 66. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Outline Introduction An algorithm for computing projections of resultant polytopes Edge-skeleton computation for polytopes defined by oracles A practical volume algorithm for high dimensional polytopes Combinatorics of 4-d resultant polytopes High-dimensional predicates: algorithms and software
  • 67. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Geometric algorithms and predicates Setting • geometric algorithms → sequence of geometric predicates • Hi-dim: as dimension grows predicates become more expensive
  • 68. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Determinant computation Given matrix A ⊆ Rd×d • Theory: State-of-the-art O(dω), ω ∼ 2.3727 [Williams’12] • Practice: Gaussian elimination, O(d3)
  • 70. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Incremental convex hull: REVISITED p2 p5 p2 p4 p5 1 1 1 A = p1 p3 p4 • Orientation(p2, p4, p5) = sgn(det(A))
  • 73. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates 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. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates References • F, Pe˜naranda. Faster Geometric Algorithms via Dynamic Determinant Computation. Proc. of European Symposium on Algorithms, LNCS, 2012, Ljubljana, Slovenia.
  • 78. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Acknowledgements Funding Co-authors
  • 79. Introduction Algorithm for resultant polytopes Edge-skeleton Volume 4-d resultant polytopes Predicates Acknowledgements Funding Co-authors THANK YOU !!!