1 / 56

Kinetic Algorithms

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.

bernad
Télécharger la présentation

Kinetic Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. IntroductionKDS? • 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. Sweep line Time IntroductionThe Big Picture • Resemble to a sweep-line/plane algorithm • Use of a global event queue as interface between KDS and object in motion.

  7. IntroductionFlight 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. B A B C A C A C B IntroductionHow 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. IntroductionTimeline • 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. Certificates Time Update 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. Y 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 y=px+q

  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 HullKinetisation • 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 HullOperators • <x X value comparison • <y Y value comparison • <s Slope comparison • Ce(ab) Contender edge • Color of the vertex

  30. 2D Convex HullCertificates

  31. 2-D Convex HullCertificates

  32. 2D Convex HullExample

  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 HullProof • 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 HullProof • We can show that the vertices without y-certificates can not be placed differently in C and C’

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

  37. 2D Convex HullAnalysis • 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 2DProblem 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 2DStatic 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 2DDefinitions • 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 2DProblem 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 2DAlgorithm • The plane sweep algorithm performs a set of operation three times, for S rotated by 0 and ±60º.

  45. Closest Pair in 2DAlgorithm • 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 2DAlgorithm • Analysis • Sorting: • Compute Cands(p): • Finding lcand(p): in the worst case • Splitting and inserting: • Total:

  47. Closest Pair in 2DKinetisation • 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 2DEvents • Three types of event: • Change of order in x • Change of order in ±60º

  49. Closest Pair in 2DUpdates

  50. Closest Pair in 2DUpdates

More Related