Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan
- Slides: 14
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) Input: S n Extensively studied: n n Graham Scan, Gift-Wrapping, Incremental Hull, Overmars, Quick-Hull, Ultimate Hull. Matched Lower-bound already!
Convex Hull++: Dynamic Case n Maintain the Hull under insertion and deletion. insert delete
Convex Hull#: Kinetic Case n n each point has velocity (v) maintain the hull (efficiently)
Known Solutions and Issues n Dynamic Convex Hull Overmars, Brodal, Mulmuley, Schwarzkopf, Preparata, Hershberger and Suri, Chan n complicated!! n hard to compose algorithms together n n Kinetic Convex Hull n n Guibas, de Berg, … None existed for 3 or higher dimensions
Self-Adjusting Computation Idea: Record who reads what and when main g f h k g f h m k m Memory Some parts of the input change
SAC vs. Dynamic Convex Hull n n n Automatic “dynamization” Allow composition of programs Down-side: not always efficient! n n Stability (=input-sensitivity) [Acar et al. SODA’ 04] Our Job: n n Design a stable static convex hull algorithm Focus: 3 -D case.
Our Approach Self-Adjusting Tree Suitable Convex Hull in 3 D + Dynamic Convex Hull in 3 D j Face k i Give orientation to edges Store (i, j) as key and k as data
Self-Adjusting Binary Tree Initial Run: Re-execution: Time
Kinetic Convex Hull 1 -D Case n n n S(t) = {x 1(t), x 2(t), …, xn(t)}, where xi(t) = xi(0) + vit Maintain min and max Observation: x 1 Value n x 2 x 3 Time
Idea: Certificates n Each comparison is associated with a certificate, where certificate = comparsion result + expiration time n Self-Adjusting Computation n n account for changes in order of expiration times
Summary n n Focus: 3 D {dynamic, kinetic} convex hull Dynamic Convex Hull n n n Amortized expected O(log n) in certain models. Worst-case bound: O(n log n) More performance analysis to come n n n Real-time bound: can it be better than O(n)? Practical performance: implemented, being evaluated. Kinetic Convex Hull n in progress!
Questions?
Thank you!!
- Kanat tangwongsan
- Convex hull is the smallest convex set
- Concave vs convex polygon
- Convex hull collision detection
- Convex hull
- Convex hull
- Convex polygon examples
- Hayvanlarda görülen bacak yüzgeç kanat gibi yapılar
- Vatan borcu namus borcu
- Static data structure and dynamic data structure
- Dynamic dynamic - bloom
- Ajit diwan
- Cos423
- Data structures and algorithms tutorial
- Information retrieval data structures and algorithms