Title: Kinetic Algorithms
1 Kinetic Algorithms
- Data Structure for Mobile Data
2Plan
- Motivation
- Introduction
- Illustrative example
- Applications
- 2-D Convex Hull
- Closest pair in 2-D
- Others Issues
3Motivation
- Maintain an attribute of interest in a system of
geometric objects undergoing continuous motion. - Take advantage of the coherence present in
continuous motion to process a minimal number of
combinatorial event.
4Introduction
- Problems such as convex hull and closest pair
maintenance have been extensively studied - Static objects
- Insertion and deletion operations
- Wasteful of computation
- Compute form scratch
5Introduction KDS?
- KDS Kinetic Data Structure
- Process of discrete events associated with
continuously changing data. - Kinetisation
- Process of transforming an algorithm on static
data into a data structure which is valid for
continuously changing data.
6Introduction The Big Picture
- Resemble to a sweep-line/plane algorithm
- Use of a global event queue as interface between
KDS and object in motion.
7Introduction Flight plan
- Use of flight plans
- The motion of the objects is known in advance
- BUT
- Can be imprecise (use of intervals)
- Can be updated
8Introduction How does it work?
- The correctness of whatever configuration can be
guaranteed with a conjunction of low-degree
algebraic conditions involving a bounded number
of objects each.
To Collinear
Inverse
9Introduction Certificates
- A certificates will guarantee the correctness of
any configurations
10Introduction Timeline
- Event queue contains KDS events corresponding to
times (precise / interval) when certificates
might change sign. - IF ( flight plan of O updated )
- THEN
- All the certificates involving O must be
recalculated and updated.
11Recapitulation
- Attribute certificates for any configurations
- Keep track of the change in the certificates and
update when necessary
12Definitions
- Certificates
- Guarantee the correctness
- Complexity
- Number of points moving in a system.
- Small cost
- If it running time of the order
or
13Definitions
- Internal events (IE)
- Events process by the structure for its internal
needs - External events (EE)
- Events affecting the configuration we are
maintaining. - Lower bound for IE
14Definitions
- Efficiency
- If the ratio IE / EE is small.
- Range 1 to Infinity
- Responsiveness
- Worst-case cost of processing a certificate
- Size
- Maximum number of events it needs to schedule in
the event queue
15Definitions
- Compact
- If size linear to the number of moving objects
- Local
- If the maximum number of events in the event
queue that depend on a single object is small
16Illustrative example
- Consider the following1D situation
- Given a set of n points moving continuously along
the y-axis, we are interested to know which is
the topmost point. - Constant speed
- Arbitrary initial configuration
17Solution 1Trivial Case
- Draw the lines in the ty-plane
- Compute the upper envelope of the set of lines.
- Efficient algorithm but does not support update
of the flight plan.
18Solution 2Schedule-Deschedule
- Maintain, on-line, the sorted order along the
y-axis - Schedule event that is the first time when two
consecutive points cross. - Destroy and create 2 adjacencies
- Schedule and deschedule up to 2 new events
- Not efficient process up to events.
19Solution 3Heap
- For each link in the heap, a certificate
guarantees that the child point is below the
parent point. - We associate an event at the time these points
meet.
20Solution 3Heap
- For an event we may interchange parent and child
21Solution 4Kinetic Tournament
- Consider a divide-and-conquer algorithm, like a
tournament from bottom to up for computing a
global leader. comparisons - As long as each of the comparison remain valid
the identity of the maximum remains valid.
22Solution 4Kinetic Tournament
- Imagine that a particular comparison involved
flip and precolated up the tree. - For a balanced tree the computation is made in
time and can affect at most
certificates.
23Solution 4Kinetic Tournament
- For points with constant speed, similar to the
computation of the upper-envelope in the
ty-plane. - In the worst case we have new leaders, each
computed in time, for a total worst
case running time of
24Solution 4Kinetic Tournament
- KDS
- efficient
- compact
- local
Winner
252D Convex Hull
- Problem
- Maintain the convex hull of a set of moving
points in 2D. - Dual form
- Point (p,q) to the line ypxq
262D Convex Hull
- Goal Maintain the upper envelope of the set of
lines
272D Convex Hull
- Perform a kinetic tournament.
- From a red and a blue chain maintain the purple
upper envelope of the 2 chains
282D Convex Hull Kinetisation
- We keep a record of the entire computation in a
balanced binary tree - Each node is in charge of maintaining the upper
envelope of two upper envelopes computed by its
children - If a event creates a change, the event is process
through the tree.
292D Convex Hull Operators
- ltx X value comparison
- lty Y value comparison
- lts Slope comparison
- Ce(ab) Contender edge
- Color of the vertex
302D Convex Hull Certificates
312-D Convex Hull Certificates
322D Convex Hull Example
332-D Convex Hull
- Lemma 2.1
- Consider a configuration C of two convex
piecewise linear functions and the certificate
list L for their upper envelope as defined
earlier. Let C be a configuration for which all
the certificates of L hold. Then the upper
envelope of C has the same combinatorial
description as that of C.
342D Convex Hull Proof
- The x-certificates prove the correctness of the
contender edge pointer. - Any vertex that has a y-certificate in L is also
guaranteed to be placed in C and in C.
352D Convex Hull Proof
- We can show that the vertices without
y-certificates can not be placed differently in C
and C
362D Convex Hull
- Certificate updates
- Lemma 2.2
- The following procedure correctly updates the
certificate list when the configuration events
happen
372D Convex Hull Analysis
- Theorem 2.3
- The KDS for maintaining the convex hull is
efficient, responsive, compact and local - Proof
- Responsive
- Compact
- Local
- Efficient in the worst case
382D Convex Hull Demo
39Closest Pair in 2D Problem definition
- Given a set S of n moving points find the two
closest points in S. - Traditional static algorithms are ill-adapted for
the kinematisation.
40Closest Pair in 2D Static Algorithm
- We divide the space around each vertex into six
60º wedges, the nearest neighbor of each point is
the closest of the nearest neighbor in the six
wedges. - ADD PICTURE
41Closest Pair in 2D Definitions
- Dom(p) The right extending wedge that make 30º
angles with the x axis. - Circ(p, r) The circle of radius r centered at p.
- We denote the closest pair in S, (a,b)
42Closest Pair in 2D Problem definition
- Lemma 3.1
- Point b is not contained in Dom(p) for any third
point p with a to the left of b. - Lemma 3.2
- The leftmost point in Dom(a) is b.
43Closest Pair in 2D Contradictions
Lemma 3.1
Lemma 3.2
44Closest Pair in 2D Algorithm
- The plane sweep algorithm performs a set of
operation three times, for S rotated by 0 and
60º.
45Closest Pair in 2D Algorithm
- For each point p in S from right to left
- Set Cands(p) Maxima Dom(p)
- Set lcand(p) to be the leftmost element of
cands(p) - Delete points of Cands(p) from Maxima
- Insert p into Maxima at its proper place in
y-order - Repeat for the three directions
46Closest Pair in 2D Algorithm
- Analysis
- Sorting
- Compute Cands(p)
- Finding lcand(p) in the worst case
- Splitting and inserting
- Total
47Closest Pair in 2D Kinetisation
- Certificates
- The projection of the point on x for S rotated by
0 and 60º. - Each point belong to a maximum of six
certificates, involving is two neighbors in each
of the three sorted order.
48Closest Pair in 2D Events
- Three types of event
- Change of order in x
- Change of order in 60º
49Closest Pair in 2D Updates
50Closest Pair in 2D Updates
51Closest Pair in 2D Analysis
- The KDS for the closest pair problem is
efficient, responsive, compact and local. - Efficient The number of events process by the
KDS is a logarithmic factor more then the maximum
number of external events.
52Closest Pair in 2D Analysis
- Compact
- There is events in the queue at any time,
for the certificates and for the kinetic
tournament. - Local
- Each point belongs to ar most six certificates
and to at most three pair - and in pair participate to at most
events in the kinetic tournament
53Closest Pair in 2D Demo
54Summary
55Further Issues
- Avoid the problem related to the finite precision
arithmetic. (sequencing of the events) - Change the definition of efficiency to make it
proportional to the number if external events - Adapt the algorithm to real time computation
56References
- J. Basch and J.Guilbas. Data Structures for
Mobile Data. J. of Algorithms 31, 1-28 (1999). - J. Basch and al. Data Structures for Mobile Data.
SODA 1997, 756-767. - http//graphics.stanford.edu