Download Lecture 15 (Kinetic Algorithms)

Document related concepts
no text concepts found
Transcript
Kinetic Algorithms
Data Structure for
Mobile Data
Plan
Motivation
 Introduction
 Illustrative example
 Applications

2-D Convex Hull
 Closest pair in 2-D


Others Issues
Motivation
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.

Introduction

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
Introduction
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.
Introduction
The Big Picture
Resemble to a sweep-line/plane
algorithm
 Use of a global event queue as
interface between KDS and object in
motion.

Sweep line
Time
Introduction
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
Introduction
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.
B
A
To Collinear
A
B
C
Inverse
C
A
B
C
Introduction
Certificates

A certificates will guarantee the
correctness of any configurations
Introduction
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.
Recapitulation
Attribute certificates for any
configurations
 Keep track of the change in the
certificates and update when
necessary

Certificates
Update
Time
Definitions

Certificates


Complexity


Guarantee the correctness
Number n  of points moving in a
system.
Small cost
If it running time of the order
O Poly log( n) or O n   for small 

Definitions

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

Definitions

Efficiency



Responsiveness


If the ratio IE / EE is small.
Range: 1 to Infinity
Worst-case cost of processing a certificate
Size

Maximum number of events it needs to
schedule in the event queue
Definitions

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
Illustrative example

Y
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
Solution 1
Trivial Case
Draw the lines in the ty-plane
 Compute the upper envelope of the
set of lines. Onlog( n)
 Efficient algorithm but does not
support update of the flight plan.

Solution 2
Schedule-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.
Solution 3
Heap
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.

Solution 3
Heap

For an event we may interchange
parent and child
Solution 4
Kinetic Tournament
Consider a divide-and-conquer
algorithm, like a tournament from
bottom to up for computing a global
leader. On comparisons
 As long as each of the comparison
remain valid the identity of the
maximum remains valid.

Solution 4
Kinetic Tournament
Imagine that a particular
comparison involved flip and
precolated up the tree.
 For a balanced tree the computation
is made in Onlog( n) time and can
affect at most O log( n) certificates.

Solution 4
Kinetic Tournament

For points with constant speed, similar to
the computation of the upper-envelope in
the ty-plane.

In the worst case we have n new leaders,
each computed in O log( n) time, for a
total worst case running time of Onlog( n)
Solution 4
Kinetic Tournament

KDS



efficient
compact
local
Winner
2D Convex Hull

Problem


Maintain the convex hull of a set of
moving points in 2D.
Dual form

Point (p,q) to the line y=px+q
2D Convex Hull

Goal: Maintain the upper envelope
of the set of lines
2D Convex Hull


Perform a kinetic tournament. Onlog( n)
From a red and a blue chain maintain the
purple upper envelope of the 2 chains
2D 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.

2D Convex Hull
Operators
<x
 <y
 <s

X value comparison
Y value comparison
Slope comparison
Ce(ab) Contender edge
 ... Color of the vertex

2D Convex Hull
Certificates
2-D Convex Hull
Certificates
2D Convex Hull
Example
2-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.
2D 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.

2D Convex Hull
Proof

We can show that the vertices
without y-certificates can not be
placed differently in C and C’
2D Convex Hull

Certificate updates

Lemma 2.2

The following
procedure correctly
updates the
certificate list when
the configuration
events happen
2D Convex Hull
Analysis

Theorem 2.3
• The KDS for maintaining the convex hull is
efficient, responsive, compact and local

Proof
• Responsive: O log( n)
• Compact :
• Local:
• Efficient: O n2 
in the worst case
 
2D Convex Hull
Demo

Demo
Closest Pair in 2D
Problem definition

Given a set S of n moving points
find the two closest points in S.

Traditional static algorithms are illadapted for the kinematisation.
Closest 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

Closest 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)

Closest 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.
Closest Pair in 2D
Contradictions
Lemma 3.1
Lemma 3.2
Closest Pair in 2D
Algorithm

The plane sweep algorithm performs
a set of operation three times, for S
rotated by 0 and ±60º.
Closest 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
Closest Pair in 2D
Algorithm

Analysis
Sorting: Onlog( n)
 Compute Cands(p): O log( n)
 Finding lcand(p): O n in the worst case
 Splitting and inserting: O log( n)


Total: Onlog( n)
Closest 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.

Closest Pair in 2D
Events

Three types of event:
Change of order in x
 Change of order in ±60º

Closest Pair in 2D
Updates
Closest Pair in 2D
Updates
Closest 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.
Closest Pair in 2D
Analysis

Compact:

Local:
• There is O n  events in the queue at any
time, 3n  3 for the certificates and O (n ) for
the kinetic tournament.
• Each point belongs to ar most six
certificates and to at most three pair
 p, lcand ( p) and in pair participate to at
most Olog( n)  events in the kinetic
tournament
Closest Pair in 2D
Demo

Demo
Summary

The way it works
Further 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

References
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
