1 / 22

A Simple and Efficient Kinetic Spanner

A Simple and Efficient Kinetic Spanner. M.A. Abam MADALGO. J. Gudmundsson NICTA. M. de Berg TU Eindhoven. dilation. Geometric spanners. geometric network:. vertices: set of points in R d edge length: Euclidean length. (13,7). (3,7). 10. q. p. length ≤ t ∙ | pq |.

elgin
Télécharger la présentation

A Simple and Efficient Kinetic Spanner

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. A Simple and Efficient Kinetic Spanner M.A. Abam MADALGO J. Gudmundsson NICTA M. de Berg TU Eindhoven

  2. dilation Geometric spanners geometric network: • vertices: set of points in Rd • edge length: Euclidean length (13,7) (3,7) 10 q p length ≤ t ∙ |pq| for every p,q: length of shortest path ≤ t ∙ |pq| t-spanner: Goal:t-spanner for small t with few edges

  3. Geometric spanners (cont’d) t-spanners in the plane: constant t and O(n) edges: • Delaunay triangulation: 2.42-spanner • Delaunay triangulation in L1-metric: √10 – spanner Would like: (1+ є)-spanner, for arbitrary є>0 • greedy spanner • well-separated pair decomposition • Θ- graph } (1+є)-spanners with O(n/є) or O(n/є2) edges ( Other properties: bounded degree, total edge length, … )

  4. Kinetic spanners What if the points move? Need to update spanner to ensure dilation remains ≤ t Goal: • Stable spanner: not too many events (changes) • Fast updates at each event

  5. flip edge when in-circle test becomes invalid Kinetic spanners (cont’d) Kinetic t-spanners: constant t: • Delaunay triangulation is easy to kinetize: • O(1) update time (plus O ( log n ) for event queue) • L1: O ( n λs(n)) events • L2: O ( n2λs(n) ) events (1+ є)-spanners: • greedy spanner • well-separated pair decomposition • Θ- graph } all seem hard to kinetize

  6. Kinetic spanners: previous and new results Gao, Guibas, Nguyen (2004): Kinetic (1+є)-spanner, but bounds depend on α = diameter / min. distance • update time: O( (1/ є2) ∙ log α ) • number of changes: O(n2 log α) (Dynamic spanner by Gottlieb, Roddity (2008): updates O(log n) amortized, number of changes ?, complicated) • Our result: very simple, kinetic (1+є)- spanner • update time: O( 1 ) • number of changes: O((1/ є2) ∙ n λs(n) ) • (but only works in 2D)

  7. Θ-graphs • Θ-graph: for each point p: • put cones of angle Θ ≈ є • є centered at p • connect p to closest point inside each cone (If cone is empty, do nothing) • number of edges: • n x O(1 / є) = O(n / є) • proof of dilation: • by induction on distance: • dG(p,q) ≤ |pr| + dG(r,q) • ≤ |pr| + (1+є) |rq| • ≤ (1+є) |pq| q r p

  8. Θ-graph (cont’d) Θ-graph: hard to maintain closest point in cone when points move p

  9. p s dist(p,q) = s angleΘ diamond-DT spanner • Idea: combination of Θ-graph and Delaunay triangulation (DT) • diamond-DT spanner: • ∆ = diamond, smaller angle Θ • ∆ induces convex distance function • compute DT for distance function induced by ∆ and repeat ≈ 1/є2 times, with rotated copies of the diamond

  10. diamond-DT spanner (cont’d) • diamond-DT spanner: • ∆i = diamond, smaller angle Θ, rotated over angle ≈ i ∙ (2π ∙ є2 ) i = 0 , 1 , … , 1/ є2 • compute DTi for distance function induced by ∆i • take union of DTi’s ∆i i ∙ (2π ∙ є2 ) Number of edges: O( 1 / є2 ) ∙ O(n) = O( n / є2 ) Proof of dilation: …

  11. diamond-DT spanner (cont’d) Proof of dilation: Induction on |pq| q p diamond with orientation closest to orientation of pq

  12. diamond-DT spanner (cont’d) Kinetic maintenance: Like normal (Euclidean) DT: just edge flips, O(1) time

  13. Conclusion • Diamond-DT spanner: • very simple, kinetic (1+є)- spanner • update time: O( 1 ) • number of changes: O((1/ є2) ∙ n λs(n) ) • Main open problem: • What about d>2 ?

  14. Kinetic Spanners in Rd NEW now also available in higher dimensions ! M.A. Abam MADALGO M. de Berg TU Eindhoven

  15. Back to Θ-graphs Main lemma: If (cos 2Θ – sin 2Θ) > 1 / (1+ є) then |pr | + (1+ є) |rq | < (1+ є) |pq | q r p q r’ r p We don’t always need to connect p to r ; can connect q to r’ instead

  16. cone (p ) Cone-separated pairs decomposition cone (p ) • P : n points in R d • fix one of the 1/ єd-1 cone orientations • cone-separated pairs decomposition (CSPD): • collection { ( A1 ,B1 ) , … , ( Am ,Bm ) } of pairs of subsets such that • for each p,q in P such that q in cone(p ) there is a pair ( Ai , Bi ) with p in Ai , q in Bi • for each ( Ai , Bi ) and all p in Ai , q in Bi we have q in cone(p ) p

  17. Computing a CSPD Lemma: There is a CSPD where every point occurs in O( logdn) pairs Proof: “standard” v • B(v) : canonical subset of v • A(v) : points p such that B(v) is reported for cone(p ) • CSPD: the pairs ( A(v), B(v) )

  18. q r’ r p From CSPD’s to spanners • Recall: we either need • edge from p to point in cone(p) closer than q, or • edge from q to point in cone(q) closer than p how to connect cone-separated pair:

  19. From CSPD’s to spanners • Computing a CSPD spanner: • For each cone orientation: • Compute CSPD of size O(n logdn) using range trees • Connect each pair ( Ai , Bi ): • Prune graph to get spanner of size O( n / єd-1 )

  20. v ? Kinetic CSPD spanners (cont’d) • Maintaining CSPD spanners under motion: • Idea: • structure of range tree depends on ranks only  CSPD pairs only changewhen points swap • delete points, and re-insert with new ranks  need to insert / delete in cone-separated pair

  21. p q Group j Group i-1 Group i Size of group i: The number of groups: O(log n) Connect Group i to Group i-1 in the other side … … p Kinetic CSPD spanners (cont’d) Stable connections:

  22. Conclusions • Kinetic CSPD spanner: • simple, kinetic (1+є)- spanner with degree O(logd n) • update time:O(logd+1 n) • number of changes: O((1/ єd-1) ∙ n2 ) • locality: O(1/ єd-1) • size: O(n ∙ logd n)

More Related