Incremental convex hulls BEN LEVY| DISCRETE ALGORITHMIC GEOMETRY
Lecture contents Convex-hulls Basic definitions Data-structure representation Lower bounds Geometric preliminaries Offline algorithm Semi-dynamic algorithm Fully-dynamic algorithm
Basic definitions - affine-hull
Basic definitions – convex-hull
Basic definitions – Polytope
Representation of polytopes A polytope is generally represented by incidence graph of its faces. A node is stored for each face. An arc for each pair of incident faces. Faces are incident if their dimensions differ by one and if one is contained in the other. In Figure 8.1 we see four points that generates an affine space of dimension three.
Representation of polytopes A j-skeleton of a polytope is the subgraph of the incidence of dimension at most j. Examples: The 1-skeleton of a polytope is simply made up of the vertices and edges of that polytope. The 0-skeleton of a polytope is simply made up of the vertices of that polytope. Two (d-1)-faces of a polytope are said to be adjacent if they are incident to a common (d-2)-face. Thus, incidence graph encodes the adjacency graph.
Lower bounds
Geometric preliminaries
Observation : red faces are those who are visible from P (dashed). blue faces are those who are not visible from P (shaded). purple faces are tangent to P (bolded).
Geometric preliminaries Observation : red faces are those who are visible from P. blue faces are those who are not visible from P purple faces are tangent to P.
Geometric preliminaries
C H2 H1 P G
Geometric preliminaries C H2 H1 P G
Geometric preliminaries
Lemma Let C be a polytope and P a point in general position. If C has n vertices and does not contain P, then the set of the proper faces of C that are purple with respect to P is isomorphic, for the incidence relationship, to the set of faces of a (d-1)-polytope whose number of vertices is at most n. For example, for a 3-polytope, the number of new faces created are isomorphic to the set of purple faces.
Deterministic algorithm
Deterministic algorithm – incremental step
Deterministic algorithm – Cost Phase 1- proportional in time to the number of facets created at the previous step. Total cost of phase 1 over all the steps is thus dominated by the total number of facets created. Cost of phase 2,3,4 is proportional to the: number of red or purple faces + number of faces incident to red face + number of faces incident to purple faces. Total cost of phases 2,3,4 is proportional to number of changes undergone by the incidence graph.
Deterministic algorithm – Cost
Online convex-hull A similar problem, but the points inserted are randomized. To find a red facet, we use the influence graph and not lexicographic order of the inserted points.
Online convex-hull
Online convex-hull - The Influence Graph Leafs of the influence graph are regions without conflicts. All incident nodes with a node B are contained in node B. BAD is region free from conflicts, while BAC is region with conflict with vertex D. CBA is region free from conflicts.
Online convex-hull - The Influence Graph The algorithm- Initial step: We build incidence graph of d-simplex formed by the first d+1 points. We build influence graph with a node for each of the regions that in bijection to the d-2 faces of this simplex (vertices in our example) See below figure.
Online convex-hull - The Influence Graph The algorithm- Location step: Detects all “red” regions. Visit recursively all nodes in conflict with P, starting from the root.
Online convex-hull - The Influence Graph The algorithm- Update step: If there is a conflicting leaf which is free of conflict on S, it is in bijection with some d-2 purple face of conv(S), vertices in 2D case, and this face is contained in a red facet. For example, in the last figure, P is in bijection with vertex A and D and both of them contained in a d-1 polytope (AD edge), facet in our case.
Online convex-hull - The Influence Graph
Dynamic convex-hull Similar to the on-line algorithm, but now we want to allow deletion of points, much more complex task. A fully dynamic algorithm must keep some information for all the points in the current set, be they vertices of the current convex-hull or not. For points information we use augmented influence graph as discussed in chapter 6.
Dynamic convex-hull Augmented influence graph: The algorithm maintains a graph whose nodes correspond to regions defined over the current set of points. After each deletion, we rebuild the graph into the state it would have been in, had the deleted point never been inserted. The graph depends only on the insertion order of the points in the current set.
Dynamic convex-hull
Dynamic convex-hull – Insertion step Insertion the n-th point into the convex hull is carried out exactly as in the on-line algorithm in section 8.5 with a single difference. While we are locating the object in the influence graph, each detected conflict is added to the conflict lists.
Dynamic convex-hull
Dynamic convex-hull – Deletion step - Example After deleting point D:
Dynamic convex-hull