August 20, 2002 - PowerPoint PPT Presentation

About This Presentation
Title:

August 20, 2002

Description:

Jorge L. Vittes. 10/15/09. Convex Hull for Dynamic Data. 2. Motivation. Application data is dynamic ... Makes a standard algorithm dynamic or kinetic. Requires ... – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 50
Provided by: IFC0
Category:
Tags: august | jorge

less

Transcript and Presenter's Notes

Title: August 20, 2002


1
Convex Hull for Dynamic Data
Jorge L. Vittes
  • August 20, 2002
  • (joint work with Umut Acar, and Guy Blelloch)

2
Motivation
  • Application data is dynamic
  • word processors slowly changing text
  • graphics render similar images
  • mobile phone networks continuously moving hosts
  • Important to handle dynamic data efficiently

3
Dynamic Algorithms Changing Data
a
a
b
b
c
c
e
d
d
a
b
c
e
d
4
Kinetic Algorithms Moving Data
a
a
b
b
c
c
d
Time 1
d
Time 0
b
a
c
Time 1e ... 1
d
5
How to invent Dynamic/Kinetic Algorithms
  • Just like any other algorithm. Think, ponder,
    divide, conquer...
  • Or, use adaptivity...

6
Adaptivity
  • Makes a standard algorithm dynamic or kinetic
  • Requires little change to the standard algorithm
  • Can be done semi-automatically
  • Not all algorithms yield efficient adaptive
    algorithms
  • Will talk about this more

7
How does Adaptivity Work?
  • Represent a computation with a dynamic dependency
    graph
  • nodes data, edges dependencies
  • Sources input, sinks output,
  • The user can
  • change the input,
  • update the output
  • Update
  • Take a changed node,
  • Update all its children (the children are now
    changed)
  • Repeat until no more changed nodes

8
Adaptivity Example
1
3
2
b
c
fun f (a,b,c) let u ab in if (u gt
0) then g(u) else g(bc) end
a
ab
1b
u
3

if ugt0 then g(u) else g(bc)
g(u)

r
0.33
9
Adaptivity Example Change
3
2
-2
b
c
a
fun f (a,b,c) let u ab in if (u gt
0) then g(u) else g(bc) end
ab
1b
u
3

if ugt0 then g(u) else g(bc)
g(u)

r
0.33
10
Update
-2
3
2
b
c
a
fun f (a,b,c) let u ab in if (u gt
0) then g(u) else g(bc) end
ab
-2b
u
v
0
5

if ugt0 then g(u) else g(bc)
g(u)
g(v)

r
0.5
11
Update
-2
3
2
b
c
a
fun f (a,b,c) let u ab in if (u gt
0) then g(u) else g(bc) end
ab
-2b
bc
2c
u
v
0
5
g'(v)

if ugt0 then g(u) else g(bc)
g(v)

r
0.5
12
Adaptivity and Stability
  • Adaptivity updates the result by rerunning the
    parts of the computation affected by the input
    change
  • It is efficient when the computation is
    stable,I.e., computations on similar inputs
    are similar
  • We apply the adaptivity technique to convex hulls
  • Result Efficient Dynamic and Kinetic convex
    hulls

13
1-D Convex Hull Max and Min
  • Just consider upper hull Finding the maximum
  • Consider two algorithms
  • The March March through the list
  • The Tournament pair up the elements and take the
    max of each pair

14
Kinetic Maximum
  • Numbers increase/decrease continuously in time
    ni(t) ni ci t

ni
n1(t) 2t
n2(t) 5
n3(t) 6-t
time
tgreen 1
tblue 3
tred 0
15
Sampling
n1(t) 2t
ni
n2(t) 5
n3(t) 6-t
time
tgreen 1
tblue 3
tred 0
16
Internal and External Events
External event Final result changes
Internal event Final result does not change
but a test fails
17
Proof Simulation via Certificates
  • A set of comparisons that prove the current
    maximum
  • Associate a certificate with each comparison
  • certificate comparison result failure time
  • Consider the times that a certificate fails
  • We need an algorithm that updates the result as
    well as the certificates
  • Use adaptivity to obtain to do the update
    efficiently

18
Kinetic March
0.66
0.5
4
Time0
0.66
Time0.5e
Time0.66e
19
Kinetic March Performance
  • O(n) Because an item in the beginning of the
    list could become the maximum and it will be
    compared to the rest of the list
  • Not acceptable because computing from scratch
    takes O(n)

20
The Kinetic Tournament
Time 0
f 2
21
The Kinetic Tournament
Time2e
7
f6
1t
5-t
22
The Kinetic Tournament
f7
8
Time6e
1t
1t
5-t
23
The Kinetic Tournament
f7
1t
Time7e
1t
1t
5-t
24
Performance of Kinetic Tournament
  • Worst case log n time per event
  • This kinetic algorithm is an adaptive version of
    the standard tournament algorithm for finding
    maximum

25
2-D Convex Hull
  • Many algorithms Quick Hull, Graham Scan,
    Incremental, Merge Hull, Ultimate, Improved
    Ultimate...
  • We will focus on the Quick Hull algorithm
  • Input A list of points P
  • Output The boundary points on the hull of P
  • Example Input a,b,c,d Output
    a,b,d

a
b
c
d
26
Quick Hull Example
J
O
K
P
A
L
N
A B C D E F G H I J K L M N O P
27
Quick Hull Example - Filter
J
O
K
P
A
L
N
A B D F G H J K M O P
28
Quick Hull Example - Maximum
J
O
K
P
A
L
N
A B D F G H J K M O P
29
Quick Hull Example - Filter
J
O
K
P
A
L
N
A B F J J O P
30
Quick Hull Example - Maximum
J
O
B
K
P
A
L
N
A B F J J O P
31
Quick Hull Example - Base Case
J
O
B
K
P
A
L
N
A B B J J O P
32
Quick Hull Example - Done
J
O
B
K
P
A
L
N
A B B J J O O P
33
Kinetic Quick Hull
  • Two kinds of tests Line-side and distance
    comparisons
  • Filtering gt Line Side
  • Finding the furthest point gt Distance
    comparisons
  • Have certificates for these two events that is all

34
Line Side Test Fails
J
O
K
P
A
L
I
N
A B D F G H J K M O P
35
I is inserted in the middle of the list
J
O
K
P
I
A
L
N
A B D F G I H J K M O P
36
Recompute Maximum
J
O
K
P
I
A
L
N
A B D F G I H J K M O P
37
Dynamic Tournament - Random Trees
38
Dynamic Tournament - Random Trees
6
9
39
Dynamic Tournament - Random Trees
9
9
9
9
6
9
40
Distance Comparison Fails - Case 1
J
O
K
P
A
L
N
A B D F G H J K M O P
41
Distance Comparison Fails - Case 2
J
O
K
P
A
L
N
A B D F G H J K M O P
42
B is the new maximum
B
J
O
K
P
A
L
N
A B D F G H J K M O P
43
New recursive calls
B
J
O
K
P
A
L
N
A B J M O
44
Experiments
45
Experiments
Events per External Event
25
20
events/external event
5logn
5logn2
15
event/external
10
5
0
0
20
40
60
80
100
120
Points
46
Experiments
47
Summary of my Work
  • Kinetic Algorithms for convex hulls using
    adaptivity
  • Bounce events Can maintain convex hull of
    points in a box - the points bounce off of the
    walls of the box
  • Streamlined library for kinetic convex hulls in
    the SML language
  • A standard algorithm can be made kinetic in a few
    hours of work

48
Work In Progress
  • Timothy Chans O(h log n) algorithm Improved
    Ultimate Convex Hull Have a working version
  • Graham Scan Algorithm Have a working version
  • Merge Hull
  • Incremental Convex Hull
  • Graham Scan, Merge and Incremental Hull
    algorithms require an extension to adaptivity
  • Performance analysis of various convex hull
    algorithms

49
Conclusion and Future Work
  • Used adaptivity to solve the kinetic convex hull
    problem.
  • Encouraging results.
  • Adaptivity makes writing dynamic/kinetic
    algorithms a simple edition on the standard
    algorithm
  • The quickhull algorithm updates based on events
    efficiently in the expected case.
Write a Comment
User Comments (0)
About PowerShow.com