Title: Convex Hull Algorithms for Dynamic Data
1Convex Hull Algorithmsfor Dynamic Data
- Kanat Tangwongsan
- Joint work with
- Guy Blelloch and Umut Acar (TTI-C)
2The Convex Hull Problem
Output CH(S)
Input S
- Extensively studied
- Graham Scan, Gift-Wrapping, Incremental Hull,
Overmars, Quick-Hull, Ultimate Hull. - Matched Lower-bound already!
3Convex Hull Dynamic Case
- Maintain the Hull under insertion and deletion.
insert
delete
4 Convex Hull Kinetic Case
- each point has velocity (v)
- maintain the hull (efficiently)
5Known 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
6Self-Adjusting Computation
Idea Record who reads what and when
main
main
g
f
g
f
h
h
k
m
k
m
Memory
Some parts of the input change
7SAC vs. Dynamic Convex Hull
- Automatic dynamization
- Allow composition of programs
- Down-side not always efficient!
- Stability (input-sensitivity) Acar et al.
SODA04 - Our Job
- Design a stable static convex hull algorithm
- Focus 3-D case.
8Our Approach
Self-Adjusting Tree
Suitable Convex Hull in 3D
Dynamic Convex Hull in 3D
j
Face
Give orientation to edges
i
Store (i,j) as key and k as data
k
9Self-Adjusting Binary Tree
Initial Run
Time
Re-execution
10Kinetic 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
11Idea 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
12Summary
- 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!
13Questions?
14Thank you!!