180 likes | 418 Views
Convex Hull Algorithms for Dynamic Data. Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C). The Convex Hull Problem. Output: CH ( S). Extensively studied: Graham Scan, Gift-Wrapping, Incremental Hull, Overmars, Quick-Hull, Ultimate Hull. Matched Lower-bound already!.
E N D
Convex Hull Algorithmsfor Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)
The Convex Hull Problem Output: CH(S) • Extensively studied: • Graham Scan, Gift-Wrapping, Incremental Hull, Overmars, Quick-Hull, Ultimate Hull. • Matched Lower-bound already! Input: S
Convex Hull++: Dynamic Case • Maintain the Hull under insertionand deletion. insert delete
Convex Hull#: Kinetic Case • each point has velocity (v) • maintain the hull (efficiently)
Known Solutions and Issues • Dynamic Convex Hull • Overmars, Brodal, Mulmuley, Schwarzkopf, Preparata, Hershberger and Suri, Chan • complicated!! • hard to compose algorithms together • Kinetic Convex Hull • Guibas, de Berg, … • None existed for 3 or higher dimensions
Self-Adjusting Computation Idea: Record who reads what and when main main g f g f h h m k m k Memory Some parts of the input change
SAC vs. Dynamic Convex Hull • Automatic “dynamization” • Allow composition of programs • Down-side: not always efficient! • Stability (=input-sensitivity) [Acar et al. SODA’04] • Our Job: • Design a stable static convex hull algorithm • Focus: 3-D case.
Our Approach Self-Adjusting Tree Suitable Convex Hull in 3D Dynamic Convex Hull in 3D + j Give orientation to edges Face i Store (i,j) as key and k as data k
Self-Adjusting Binary Tree Initial Run: Time Re-execution:
Kinetic Convex Hull • 1-D Case • S(t)={x1(t), x2(t), …, xn(t)}, where xi(t) = xi(0) + vit • Maintain min and max • Observation: x1 Value x2 x3 Time
Idea: Certificates • Each comparison is associated with a certificate, where • Self-Adjusting Computation • account for changes • in order of expiration times certificate = comparsion result + expiration time
Summary • Focus: 3D {dynamic, kinetic} convex hull • Dynamic Convex Hull • Amortized expected O(log n)in certain models. • Worst-case bound: O(n log n) • More performance analysis to come • Real-time bound: can it be better than O(n)? • Practical performance: implemented, being evaluated. • Kinetic Convex Hull • in progress!