Efficient edge-skeleton computation for polytopes
defined by oracles
Vissarion Fisikopoulos
Joint work with I.Z. Emiris (UoA), B. G¨artner (ETHZ)
Dept. of Informatics & Telecommunications, University of Athens
ACAC, 22.Aug.2013
Outline
Polytopes & Oracles
Algorithms for polytopes given by oracles
Outline
Polytopes & Oracles
Algorithms for polytopes given by oracles
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.
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
Well-described polytopes and oracles
Definition
A rational 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 ϕ.
Why oracles?
Polynomial time algorithms for combinatorial optimization
problems using the ellipsoid method
[Gr¨otschel-Lov´asz-Schrijver’93]
Randomized polynomial-time algorithm for approximating the
volume of convex bodies [Dyer-Frieze-Kannan ’90]
Our Motivation
Resultant, Discriminant, Secondary polytopes
Vertices → triangulations of a
pointset’s convex hull
OPTP is available via a
triangulation computation
[Emiris-F-Konaxis-Pe˜naranda ’12]
Applications in Computational Algebraic Geometry, Geometric
Modelling, Combinatorics
Outline
Polytopes & Oracles
Algorithms for polytopes given by oracles
Main problems
Vertex enumeration in the oracle model
Given OPTP for P ⊆ Rd, compute the vertices of P.
Vertex enumeration (in the oracle model) with edge-directions
Given OPTP and a superset D of the edge directions D(P) of
P ⊆ Rd, compute the vertices of P.
Remark
Edge-skeleton = V-representation + edges
Thus, edge-skeleton computation subsumes vertex enumeration.
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
Q
N(R)
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
w
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
N(R)
Q
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
Complexity
Given P ⊆ Rd, H-, V-repr. & triang. T of P can be computed in
O(d5
ns2
) arithmetic operations + O(n + m) calls to OPTP
s is the number of cells of T.
Vertex enumeration in the oracle model
Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12]
first compute d + 1 aff. independent vertices of P and
compute their convex hull
at each step call OPTP with the outer normal vector of a
halfspace and
→ either validate this halfspace
→ or add a new vertex to the convex hull
Complexity
Given P ⊆ Rd, H-, V-repr. & triang. T of P can be computed in
O(d5
ns2
) arithmetic operations + O(n + m) calls to OPTP
s is the number of cells of T.
BUT: s can be O n d/2
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.
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
Runtime of the edge-skeleton algorithm
Theorem
Given OPTP and a superset of edge directions D of a well-
described polytope P, the edge skeleton of P can be computed in
oracle total polynomial-time
O n |D|O( P + D ) + LP(4d3
|D|( P + D )) ,
D is the binary encoding length of the vector set D,
n the number of vertices of P,
O( P ) : runtime of oracle conversion algorithm for P,
LP( A + b + c ) runtime of max cT x over {x : Ax ≤ b}.
Applications
Corollary
The edge skeleton of resultant, secondary and discriminant
polytopes (under some genericity assumption) can be computed in
oracle total polynomial-time.
Convex combinatorial optimization: generalization of linear
combinatorial optimization. [Rothblum-Onn ’04]
Convex integer programming: maximize a convex function over the
integer hull of a polyhedron. [De Loera et al. ’09]
Conclusions
New & simple algorithm for vertex enumeration of a polytope
given by an oracle and known edge directions
Remove the exponential dependence on the dimension
First total polynomial time algorithms for resultant,
discriminant polytopes (under some genericity assumption)
Future work
Remove the assumption on the knowledge of edge directions
Volume computation for polytopes given by optimization
oracles
Thank you!

More Related Content

PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Volume and edge skeleton computation in high dimensions
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Volume computation and applications
PDF
Practical volume estimation of polytopes by billiard trajectories and a new a...
PDF
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
PPT
Mba admission in india
PDF
p-adic integration and elliptic curves over number fields
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Volume and edge skeleton computation in high dimensions
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Volume computation and applications
Practical volume estimation of polytopes by billiard trajectories and a new a...
14th Athens Colloquium on Algorithms and Complexity (ACAC19)
Mba admission in india
p-adic integration and elliptic curves over number fields

What's hot (20)

PPT
Mathematical analysis of Graph and Huff amn coding
PDF
20320140501020
PDF
Polyhedral computations in computational algebraic geometry and optimization
PDF
Formal Languages and Automata Theory unit 3
PDF
Sampling Spectrahedra: Volume Approximation and Optimization
PDF
RDFS with Attribute Equations via SPARQL Rewriting
PDF
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
PDF
Study of VBF/VBS in the LHC at 13 TeV and available tools
PDF
Oracle-based algorithms for high-dimensional polytopes.
PDF
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
PPTX
Push down automata
PDF
Lecture13
PPTX
Aaex7 group2(中英夾雜)
PDF
LR(0) parser in Compiler Consturction
PDF
Efficient Random-Walk Methods forApproximating Polytope Volume
PDF
Elliptic Curve Cryptography: Arithmetic behind
PPTX
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
PDF
Quiz3 | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
PDF
Cerutti -- TAFA2013
Mathematical analysis of Graph and Huff amn coding
20320140501020
Polyhedral computations in computational algebraic geometry and optimization
Formal Languages and Automata Theory unit 3
Sampling Spectrahedra: Volume Approximation and Optimization
RDFS with Attribute Equations via SPARQL Rewriting
Practical Volume Estimation of Zonotopes by a new Annealing Schedule for Cool...
Study of VBF/VBS in the LHC at 13 TeV and available tools
Oracle-based algorithms for high-dimensional polytopes.
A Commutative Alternative to Fractional Calculus on k-Differentiable Functions
Push down automata
Lecture13
Aaex7 group2(中英夾雜)
LR(0) parser in Compiler Consturction
Efficient Random-Walk Methods forApproximating Polytope Volume
Elliptic Curve Cryptography: Arithmetic behind
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
Quiz3 | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
Cerutti -- TAFA2013
Ad

More from Vissarion Fisikopoulos (20)

PDF
Efficient sampling of constraint spaces in practice
PDF
volesti: sampling efficiently from high dimensional distributions
PDF
High-dimensional sampling and volume computation
PDF
"Mesh of Periodic Minimal Surfaces in CGAL."
PDF
"Regular triangularions and resultant polytopes."
PDF
"Exact and approximate algorithms for resultant polytopes."
PDF
"An output-sensitive algorithm for computing projections of resultant polytop...
PDF
"Faster Geometric Algorithms via Dynamic Determinant Computation."
PDF
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
PDF
"Combinatorics of 4-dimensional resultant polytopes"
PDF
Working with spatial trajectories in Boost Geometry
PDF
High-dimensional sampling and volume computation
PDF
Conctructing Polytopes via a Vertex Oracle
PDF
Enumeration of 2-level polytopes
PDF
The Newton polytope of the sparse resultant
PDF
A new practical algorithm for volume estimation using annealing of convex bodies
PDF
Geodesic algorithms: an experimental study
PDF
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
PDF
Faster Geometric Algorithms via Dynamic Determinant Computation
PDF
An algorithm for computing resultant polytopes
Efficient sampling of constraint spaces in practice
volesti: sampling efficiently from high dimensional distributions
High-dimensional sampling and volume computation
"Mesh of Periodic Minimal Surfaces in CGAL."
"Regular triangularions and resultant polytopes."
"Exact and approximate algorithms for resultant polytopes."
"An output-sensitive algorithm for computing projections of resultant polytop...
"Faster Geometric Algorithms via Dynamic Determinant Computation."
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
"Combinatorics of 4-dimensional resultant polytopes"
Working with spatial trajectories in Boost Geometry
High-dimensional sampling and volume computation
Conctructing Polytopes via a Vertex Oracle
Enumeration of 2-level polytopes
The Newton polytope of the sparse resultant
A new practical algorithm for volume estimation using annealing of convex bodies
Geodesic algorithms: an experimental study
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
Faster Geometric Algorithms via Dynamic Determinant Computation
An algorithm for computing resultant polytopes
Ad

Recently uploaded (20)

PDF
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
PPTX
limit test definition and all limit tests
PDF
No dilute core produced in simulations of giant impacts on to Jupiter
PDF
Cosmology using numerical relativity - what hapenned before big bang?
PPTX
ELISA(Enzyme linked immunosorbent assay)
PDF
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
PPT
ecg for noob ecg interpretation ecg recall
PDF
Sumer, Akkad and the mythology of the Toradja Sa'dan.pdf
PDF
ECG Practice from Passmedicine for MRCP Part 2 2024.pdf
PPTX
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
PPTX
Spectroscopic Techniques for M Tech Civil Engineerin .pptx
PDF
final prehhhejjehehhehehehebesentation.pdf
PDF
Science Form five needed shit SCIENEce so
PPTX
Understanding the Circulatory System……..
PPT
Cell Structure Description and Functions
PPTX
Preformulation.pptx Preformulation studies-Including all parameter
PPTX
Introduction to Immunology (Unit-1).pptx
PPTX
Toxicity Studies in Drug Development Ensuring Safety, Efficacy, and Global Co...
PDF
Traditional Healing Practices: A Model for Integrative Care in Diabetes Mana...
PDF
Sustainable Biology- Scopes, Principles of sustainiability, Sustainable Resou...
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
limit test definition and all limit tests
No dilute core produced in simulations of giant impacts on to Jupiter
Cosmology using numerical relativity - what hapenned before big bang?
ELISA(Enzyme linked immunosorbent assay)
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
ecg for noob ecg interpretation ecg recall
Sumer, Akkad and the mythology of the Toradja Sa'dan.pdf
ECG Practice from Passmedicine for MRCP Part 2 2024.pdf
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
Spectroscopic Techniques for M Tech Civil Engineerin .pptx
final prehhhejjehehhehehehebesentation.pdf
Science Form five needed shit SCIENEce so
Understanding the Circulatory System……..
Cell Structure Description and Functions
Preformulation.pptx Preformulation studies-Including all parameter
Introduction to Immunology (Unit-1).pptx
Toxicity Studies in Drug Development Ensuring Safety, Efficacy, and Global Co...
Traditional Healing Practices: A Model for Integrative Care in Diabetes Mana...
Sustainable Biology- Scopes, Principles of sustainiability, Sustainable Resou...

Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles

  • 1. Efficient edge-skeleton computation for polytopes defined by oracles Vissarion Fisikopoulos Joint work with I.Z. Emiris (UoA), B. G¨artner (ETHZ) Dept. of Informatics & Telecommunications, University of Athens ACAC, 22.Aug.2013
  • 2. Outline Polytopes & Oracles Algorithms for polytopes given by oracles
  • 3. Outline Polytopes & Oracles Algorithms for polytopes given by oracles
  • 4. 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.
  • 5. 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.
  • 6. 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
  • 7. Well-described polytopes and oracles Definition A rational 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 ϕ.
  • 8. Why oracles? Polynomial time algorithms for combinatorial optimization problems using the ellipsoid method [Gr¨otschel-Lov´asz-Schrijver’93] Randomized polynomial-time algorithm for approximating the volume of convex bodies [Dyer-Frieze-Kannan ’90]
  • 9. Our Motivation Resultant, Discriminant, Secondary polytopes Vertices → triangulations of a pointset’s convex hull OPTP is available via a triangulation computation [Emiris-F-Konaxis-Pe˜naranda ’12] Applications in Computational Algebraic Geometry, Geometric Modelling, Combinatorics
  • 10. Outline Polytopes & Oracles Algorithms for polytopes given by oracles
  • 11. Main problems Vertex enumeration in the oracle model Given OPTP for P ⊆ Rd, compute the vertices of P. Vertex enumeration (in the oracle model) with edge-directions Given OPTP and a superset D of the edge directions D(P) of P ⊆ Rd, compute the vertices of P. Remark Edge-skeleton = V-representation + edges Thus, edge-skeleton computation subsumes vertex enumeration.
  • 12. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 13. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull Q N(R)
  • 14. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q w
  • 15. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 16. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 17. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 18. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 19. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 20. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 21. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 22. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 23. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 24. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 25. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 26. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 27. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 28. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 29. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 30. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 31. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 32. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 33. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull N(R) Q
  • 34. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull Complexity Given P ⊆ Rd, H-, V-repr. & triang. T of P can be computed in O(d5 ns2 ) arithmetic operations + O(n + m) calls to OPTP s is the number of cells of T.
  • 35. Vertex enumeration in the oracle model Algorithm sketch [Emiris-F-Konaxis-Pe˜naranda ’12] first compute d + 1 aff. independent vertices of P and compute their convex hull at each step call OPTP with the outer normal vector of a halfspace and → either validate this halfspace → or add a new vertex to the convex hull Complexity Given P ⊆ Rd, H-, V-repr. & triang. T of P can be computed in O(d5 ns2 ) arithmetic operations + O(n + m) calls to OPTP s is the number of cells of T. BUT: s can be O n d/2
  • 36. 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.
  • 37. 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)
  • 38. 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}
  • 39. 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)
  • 40. 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
  • 41. 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
  • 42. Runtime of the edge-skeleton algorithm Theorem Given OPTP and a superset of edge directions D of a well- described polytope P, the edge skeleton of P can be computed in oracle total polynomial-time O n |D|O( P + D ) + LP(4d3 |D|( P + D )) , D is the binary encoding length of the vector set D, n the number of vertices of P, O( P ) : runtime of oracle conversion algorithm for P, LP( A + b + c ) runtime of max cT x over {x : Ax ≤ b}.
  • 43. Applications Corollary The edge skeleton of resultant, secondary and discriminant polytopes (under some genericity assumption) can be computed in oracle total polynomial-time. Convex combinatorial optimization: generalization of linear combinatorial optimization. [Rothblum-Onn ’04] Convex integer programming: maximize a convex function over the integer hull of a polyhedron. [De Loera et al. ’09]
  • 44. Conclusions New & simple algorithm for vertex enumeration of a polytope given by an oracle and known edge directions Remove the exponential dependence on the dimension First total polynomial time algorithms for resultant, discriminant polytopes (under some genericity assumption) Future work Remove the assumption on the knowledge of edge directions Volume computation for polytopes given by optimization oracles