Kinetic Algorithms - PowerPoint PPT Presentation

About This Presentation
Title:

Kinetic Algorithms

Description:

Title: Kinetic Algorithms Author: dumont Last modified by: dumont Created Date: 10/14/2001 7:38:03 PM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 57
Provided by: Dum73
Category:

less

Transcript and Presenter's Notes

Title: Kinetic Algorithms


1
Kinetic Algorithms
  • Data Structure for Mobile Data

2
Plan
  • Motivation
  • Introduction
  • Illustrative example
  • Applications
  • 2-D Convex Hull
  • Closest pair in 2-D
  • Others Issues

3
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.

4
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

5
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.

6
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.

7
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

8
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.

To Collinear
Inverse
9
Introduction Certificates
  • A certificates will guarantee the correctness of
    any configurations

10
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.

11
Recapitulation
  • Attribute certificates for any configurations
  • Keep track of the change in the certificates and
    update when necessary

12
Definitions
  • Certificates
  • Guarantee the correctness
  • Complexity
  • Number of points moving in a system.
  • Small cost
  • If it running time of the order
    or

13
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

14
Definitions
  • 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

15
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

16
Illustrative 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

17
Solution 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.

18
Solution 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.

19
Solution 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.

20
Solution 3Heap
  • For an event we may interchange parent and child

21
Solution 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.

22
Solution 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.

23
Solution 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

24
Solution 4Kinetic Tournament
  • KDS
  • efficient
  • compact
  • local

Winner
25
2D Convex Hull
  • Problem
  • Maintain the convex hull of a set of moving
    points in 2D.
  • Dual form
  • Point (p,q) to the line ypxq

26
2D Convex Hull
  • Goal Maintain the upper envelope of the set of
    lines

27
2D Convex Hull
  • Perform a kinetic tournament.
  • From a red and a blue chain maintain the purple
    upper envelope of the 2 chains

28
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.

29
2D Convex Hull Operators
  • ltx X value comparison
  • lty Y value comparison
  • lts Slope comparison
  • Ce(ab) Contender edge
  • Color of the vertex

30
2D Convex Hull Certificates
31
2-D Convex Hull Certificates
32
2D Convex Hull Example
33
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.

34
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.

35
2D Convex Hull Proof
  • We can show that the vertices without
    y-certificates can not be placed differently in C
    and C

36
2D Convex Hull
  • Certificate updates
  • Lemma 2.2
  • The following procedure correctly updates the
    certificate list when the configuration events
    happen

37
2D 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

38
2D Convex Hull Demo
  • Demo

39
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 ill-adapted for
    the kinematisation.

40
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

41
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)

42
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.

43
Closest Pair in 2D Contradictions
Lemma 3.1
Lemma 3.2
44
Closest Pair in 2D Algorithm
  • The plane sweep algorithm performs a set of
    operation three times, for S rotated by 0 and
    60º.

45
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

46
Closest Pair in 2D Algorithm
  • Analysis
  • Sorting
  • Compute Cands(p)
  • Finding lcand(p) in the worst case
  • Splitting and inserting
  • Total

47
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.

48
Closest Pair in 2D Events
  • Three types of event
  • Change of order in x
  • Change of order in 60º

49
Closest Pair in 2D Updates
50
Closest Pair in 2D Updates
51
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.

52
Closest 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

53
Closest Pair in 2D Demo
  • Demo

54
Summary
  • The way it works

55
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

56
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
Write a Comment
User Comments (0)
About PowerShow.com