Kinetic AlgorithmsPlanMotivationIntroductionIntroduction KDS?Introduction The Big PictureIntroduction Flight planIntroduction How does it work?Introduction CertificatesIntroduction TimelineRecapitulationDefinitionsSlide 13Slide 14Slide 15Illustrative exampleSolution 1 Trivial CaseSolution 2 Schedule-DescheduleSolution 3 HeapSlide 20Solution 4 Kinetic TournamentSlide 22Slide 23Slide 242D Convex HullSlide 26Slide 272D Convex Hull Kinetisation2D Convex Hull Operators2D Convex Hull Certificates2-D Convex Hull Certificates2D Convex Hull Example2-D Convex Hull2D Convex Hull ProofSlide 35Slide 362D Convex Hull Analysis2D Convex Hull DemoClosest Pair in 2D Problem definitionClosest Pair in 2D Static AlgorithmClosest Pair in 2D DefinitionsSlide 42Closest Pair in 2D ContradictionsClosest Pair in 2D AlgorithmSlide 45Slide 46Closest Pair in 2D KinetisationClosest Pair in 2D EventsClosest Pair in 2D UpdatesSlide 50Closest Pair in 2D AnalysisSlide 52Closest Pair in 2D DemoSummaryFurther IssuesReferencesKinetic AlgorithmsData Structure for Mobile DataPlanMotivationIntroductionIllustrative exampleApplications2-D Convex HullClosest pair in 2-DOthers IssuesMotivationMaintain 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.IntroductionProblems such as convex hull and closest pair maintenance have been extensively studied:Static objectsInsertion and deletion operationsWasteful of computationCompute form scratchIntroductionKDS?KDS: Kinetic Data StructureProcess of discrete events associated with continuously changing data.KinetisationProcess of transforming an algorithm on static data into a data structure which is valid for continuously changing data.IntroductionThe Big PictureResemble to a sweep-line/plane algorithmUse of a global event queue as interface between KDS and object in motion.TimeSweep lineIntroductionFlight planUse of flight plansThe motion of the objects is known in advanceBUT:•Can be imprecise (use of intervals)•Can be updatedIntroductionHow 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. ABCA B CABCTo CollinearInverseIntroductionCertificatesA certificates will guarantee the correctness of any configurationsIntroductionTimelineEvent queue contains KDS events corresponding to times (precise / interval) when certificates might change sign.IF ( flight plan of O updated )THENAll the certificates involving O must be recalculated and updated.RecapitulationAttribute certificates for any configurationsKeep track of the change in the certificates and update when necessaryTimeCertificatesUpdateDefinitionsCertificatesGuarantee the correctnessComplexity Number of points moving in a system. Small cost If it running time of the order or nO n for small O Poly log(n) DefinitionsInternal events (IE)Events process by the structure for its internal needsExternal events (EE)Events affecting the configuration we are maintaining. Lower bound for IEDefinitionsEfficiencyIf the ratio IE / EE is small.Range: 1 to InfinityResponsivenessWorst-case cost of processing a certificateSizeMaximum number of events it needs to schedule in the event queueDefinitionsCompactIf size linear to the number of moving objectsLocalIf the maximum number of events in the event queue that depend on a single object is smallIllustrative example Consider the following1D situationGiven 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 configurationYSolution 1Trivial CaseDraw the lines in the ty-planeCompute the upper envelope of the set of lines. Efficient algorithm but does not support update of the flight plan.O nlog(n) Solution 2Schedule-DescheduleMaintain, on-line, the sorted order along the y-axisSchedule event that is the first time when two consecutive points cross.Destroy and create 2 adjacenciesSchedule and deschedule up to 2 new eventsNot efficient: process up to events.Solution 3HeapFor 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 3HeapFor an event we may interchange parent and childSolution 4Kinetic TournamentConsider a divide-and-conquer algorithm, like a tournament from bottom to up for computing a global leader. comparisonsAs long as each of the comparison remain valid the identity of the maximum remains valid.O n Solution 4Kinetic TournamentImagine 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.O nlog(n) O log(n) Solution 4Kinetic TournamentFor 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 ofO nlog(n) O log(n) nSolution 4Kinetic TournamentKDS efficient compact localWinner2D Convex HullProblemMaintain the convex hull of a set of moving points in 2D.Dual formPoint (p,q) to the line y=px+q2D Convex HullGoal: Maintain the upper envelope of the set of lines2D Convex HullPerform a kinetic tournament. From a red and a blue chain maintain the purple upper envelope of the 2 chainsO nlog(n) 2D Convex HullKinetisationWe keep a record of the entire computation in a balanced binary treeEach node is in charge of maintaining the upper envelope of two upper envelopes computed by its childrenIf a event creates a change, the event is process through the tree.2D Convex HullOperators<x X value comparison<y Y value comparison<s Slope comparisonCe(ab) Contender edge Color of the vertex... 2D Convex HullCertificates2-D Convex HullCertificates2D Convex HullExample2-D Convex HullLemma 2.1Consider a configuration C of two convex piecewise linear functions and the certificate list L for their upper envelope as
View Full Document