1 / 112

From Hierarchical Partitions to Hierarchical Covers:

From Hierarchical Partitions to Hierarchical Covers: Optimal Fault-Tolerant Spanners for Doubling Metrics. Shay Solomon Weizmann Institute of Science. Doubling Metrics . Ball B( p,r ) = all points within distance r from p. Definition (doubling dimension) .

carl
Download Presentation

From Hierarchical Partitions to Hierarchical Covers:

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. From Hierarchical Partitions to Hierarchical Covers: Optimal Fault-Tolerant Spanners for Doubling Metrics Shay Solomon Weizmann Institute of Science

  2. Doubling Metrics • Ball B(p,r) = all points within distance r from p Definition (doubling dimension) • Metric (X,δ) has doubling dimension d if every ball • can be covered by 2dballs of half the radius complete graph non-negative wt function with triangle inequality • A metric is doubling if its doubling dimension is constant d ≤ 3

  3. Doubling Metrics • Ball B(p,r) = all points within distance r from p Definition (doubling dimension) • Metric (X,δ) has doubling dimension d if every ball • can be covered by 2dballs of half the radius • Euclidean space ℝd has • doubling dimension Ѳ(d) 23 boxes to cover larger 3-dim’ box

  4. Doubling Metrics • Ball B(p,r) = all points within distance r from p Definition (doubling dimension) • Metric (X,δ) has doubling dimension d if every ball • can be covered by 2dballs of half the radius • A metric is doubling if its doubling dimension is constant

  5. Doubling Metrics • Ball B(p,r) = all points within distance r from p Definition (doubling dimension) • Metric (X,δ) has doubling dimension d if every ball • can be covered by 2dballs of half the radius • A metric is doubling if its doubling dimension is constant Packing lemma R r • Point set with max pairwise distance R and min • pairwise distance r contains ≤ (R/r)O(d) points.

  6. Doubling Metrics • First used by [Assouad, ‘83], • algorithmically by [Clarkson, STOC‘97] • and [Gupta-Krauthgamer-Lee, FOCS‘03] • Extensively studied since • [Krauthgamer-Lee, SODA’04], [Talwar, STOC’04], • [Gao-Guibas-Nguyen, SoCG’04], … • A metric is doubling if its doubling dimension is constant

  7. Spanners • doubling metric (complete graph) • spanning subgraph of the metric H is a (1+ε)-spanner if: it preserves all pairwise distances up to a factor of 1+ε there is a path in H between p and q with weight 1+ε = stretch of H v1 v2 v1 v2 v1 v2 2 1-spanner 3-spanner 2 (X,δ) 1 1 1 1 1 v3 v3 v3

  8. Spanners • doubling metric (complete graph) • spanning subgraph of the metric H is a (1+ε)-spanner if: it preserves all pairwise distances up to a factor of 1+ε there is a path in H between p and q with weight 1+ε = stretch of H -spanner path v1 v2 v1 v2 v1 v2 2 1-spanner 3-spanner 2 (X,δ) 1 1 1 1 1 v3 v3 v3

  9. Doubling Metrics Why doubling metrics? bounded “volume” growth For the uniform metric (doubling dimension Ω(log n)): (1+ε)-spanner (ε < 1)  complete graph • Spanners for doubling metrics • [Gao-Guibas-Nguyen,SoCG’04], [Chan-Gupta-Maggs- • Zhou, SODA’05],[HarPeled-Mendel, SoCG’05], … • Euclidean spanners • [Chew, SoCG’86], [Clarkson, STOC’87], … 1 1 1 • A metric is doubling if its doubling dimension is constant

  10. Applications of spanners • Approximation algorithms • Distance oracles and labels • Network design • Compact routing • Metric TSP problem • Machine learning • Robotics • …

  11. Useful Properties of Spanners stretch 1+ε • Small number of edges, ideally

  12. Useful Properties of Spanners stretch 1+ε • Small number of edges, ideally • Small degree, ideally • (maximum degree of a vertex) • FOCUS OF TALK

  13. Useful Properties of Spanners stretch 1+ε • Small number of edges, ideally • Small degree, ideally • (maximum degree of a vertex) • FOCUS OF TALK • Fast implementation

  14. Useful Properties of Spanners stretch 1+ε • Small number of edges, ideally • Small degree, ideally • (maximum degree of a vertex) • FOCUS OF TALK • Fast implementation Additional properties: small weight and diameter

  15. Fault-Tolerant Spanners • Fault-Tolerance (FT) – • resilient to vertex & edge faults in the network • Essential for practical applications H is k-fault-tolerant (FT) (1+ε)-spanner = remains (1+ε)-spanner after k vertex faults (removals) Incident edges become faulty

  16. Fault-Tolerant Spanners • Fault-Tolerance (FT) – • resilient to vertex & edge faults in the network • Essential for practical applications H is k-fault-tolerant (FT) (1+ε)-spanner = remains(1+ε)-spanner after k vertex faults (removals) Incident edges become faulty H \ F = (1+ε)-spanner for X \ F, for all |F| ≤ k

  17. Fault-Tolerant Spanners v1 v2 v1 2 v2 (X,δ) H = 1-spanner 1 1 1 1 v3 v3 v1 v2 v1 2 v2 H \ F = empty 1 1 F = {v3} v3 faulty metric_dist(v1,v2) = 2, spanner_dist(v1,v2) =

  18. Fault-Tolerant Spanners v1 v2 v1 2 v2 (X,δ) H = 1-spanner 1 1 1 1 v3 v3 v1 v2 v1 2 v2 H \ F = empty 1 1 F = {v3} v3 faulty metric_dist(v1,v2) = 2, spanner_dist(v1,v2) = k-FT  degree of each point ≥ k+1  Ω(kn) edges

  19. FT Spanners – Open Questions Open Questions from [Narasimhan-Smid, 2007] (for low-dimensional Euclidean metrics): • Open Problem I: “Is there an alg. that constructs a k-FT • (1+ε)-spanner with O(kn) edges in O(n log n + kn) time?” • Open Problem II: “Is there an alg. that constructs a k-FT • (1+ε)-spanner with degree O(k) in O(n log n + kn) time?”

  20. FT Spanners – Open Questions Open Questions from [Narasimhan-Smid, 2007] (for low-dimensional Euclidean metrics): • Open Problem I: “Is there an alg. that constructs a k-FT • (1+ε)-spanner with O(kn) edges in O(n log n + kn)time?” • Open Problem II: “Is there an alg. that constructs a k-FT • (1+ε)-spanner with degree O(k) in O(n log n + kn) time?” optimal time (in algebraic comp. tree model)

  21. Solve open questions from [NS07] for doubling metrics

  22. Preliminaries (net-tree, net-tree spanner)

  23. Net-Tree • net-tree - based on hierarchical partition • net-tree is for doubling metrics • Euclidean metrics analogs: • quadtree (compressed quadtree) • split tree (fair split tree) • dumbbell tree • …

  24. Quadtree Example • 4-ary tree • 1-1 correspondence between leaves and points • Hierarchical partition of the point set

  25. Quadtree Example • 4-ary tree • 1-1 correspondence between leaves and points • Hierarchical partition of the point set • Each node is represented by an arbitrary descendant leaf • (edge weights increase geometrically with the level) • Net-tree is similar

  26. Net-Tree Internal node picks arbitrary descendant leaf point Assume min pairwise distance = 1 level 3 v3 T level 2 v3 v8 v12 v12 v8 level 1 v3 v5 v7 v10 ≥ 1 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6

  27. Net-Tree Internal node picks arbitrary descendant leaf point Assume min pairwise distance = 1 level 3 v3 T ≤ 8 8 ≥ 4 level 2 v3 v8 v12 ≥ 2 ≤ 4 4 v12 v8 level 1 v3 v5 v7 v10 ≥ 1 ≤ 2 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6

  28. Net-Tree Internal node picks arbitrary descendant leaf point Assume min pairwise distance = 1 level 3 v3 T ≤ 8 8 ≥ 4 level 2 v3 v8 v12 ≥ 2 ≤ 4 4 v12 v8 level 1 v3 v5 v7 v10 ≥ 1 ≤ 2 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6 dist(i-level node, descendant) ≤ 2i + … + 21 ≤ 2i+1

  29. Net-Tree level 3 v3 T 8 level 2 v3 v8 v12 4 v12 v8 level 1 v3 v5 v7 v10 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6 • More properties: • T may have many levels • degree < O(1)O(d) (packing lemma) for tree nodes

  30. Net-Tree level 3 v3 T 8 level 2 v3 v8 v12 4 v12 v8 level 1 v3 v5 v7 v10 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6 • More properties: • Tmay have many levels • degree < O(1)O(d) (packing lemma) for tree nodes • degree < #levels· O(1)O(d) for points

  31. Small Degree Net-Tree level 3 T 8 level 2 4 level 1 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6 Internal node picks arbitrary descendant leaf point  pick descendant carefully:leftmost leaf in rightmost subtree

  32. Small Degree Net-Tree level 3 v10 T 8 level 2 v4 v8 v12 4 v13 v9 level 1 v3 v5 v7 v11 2 X level 0 v1 v3 v7 v8 v9 v10 v11 v12 v13 v2 v4 v5 v6 Internal node picks arbitrary descendant leaf point  pick descendant carefully:leftmost leaf in rightmost subtree  each leaf point is in one internal node (if #children ≥ 2)  degree O(1)O(d)

  33. Net-Tree Spanner Addcross edge between i-level nodes x,yif δ(x,y) ≤ γ·2i γ = O(1/ε) dist between tree nodes = dist between repr’s

  34. Net-Tree Spanner • Addcross edge between i-level nodes x,yif δ(x,y) ≤ γ·2i • γ = O(1/ε) dist between tree nodes = dist between repr’s Net-tree spanner = tree edges & cross edges

  35. Net-Tree Spanner Addcross edge between i-level nodes x,yif δ(x,y) ≤ γ·2i γ = O(1/ε); edge between nodes  edge between repr’s Net-tree spanner = tree edges & cross edges

  36. Net-Tree Spanner Addcross edge between i-level nodes x,yif δ(x,y) ≤ γ·2i γ = O(1/ε); edge between nodes  edge between repr’s degree of nodes - ε-O(d) degree of points - ε-O(d) #edges - ε-O(d)· n stretch ?? Net-tree spanner = tree edges & cross edges

  37. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  38. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  39. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  40. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  41. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  42. Net-Tree Spanner spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  43. Net-Tree Spanner wt(up-path) ≤ 2j+1 wt(down-path) ≤ 2j+1 spanner path up, cross, down q' p' level j q p Net-tree spanner = tree edges & cross edges

  44. Net-Tree Spanner wt(up-path) ≤ 2j+1 wt(down-path) ≤ 2j+1 spanner path up, cross, down wt(cross-edge)> γ·2j-1 - 2·2j q' p' level j 2j 2j q N0 p Net-tree spanner = tree edges & cross edges

  45. Net-Tree Spanner wt(up-path) ≤ 2j+1 wt(down-path) ≤ 2j+1 spanner path up, cross, down wt(cross-edge)> γ·2j-1 - 2·2j q' p' q p Net-tree spanner = tree edges & cross edges

  46. Net-Tree Spanner wt(up-path) ≤ 2j+1 wt(down-path) ≤ 2j+1 spanner path up, cross, down wt(cross-edge)> γ·2j-1 - 2·2j q' p' wt(up-path), wt(down-path) = O(ε)-slack q p Net-tree spanner = tree edges & cross edges

  47. Net-Tree Spanner wt(up-path) ≤ 2j+1 wt(down-path) ≤ 2j+1 spanner path up, cross, down wt(cross-edge)> γ·2j-1 - 2·2j q' p' wt(up-path), wt(down-path) = O(ε)-slack δ(p,q) = wt(cross-edge) + ε-slack q p Net-tree spanner = tree edges & cross edges

  48. Net-Tree Spanner • Constant degree net-tree spanner: • Use net-tree • Choose unique representatives for internal nodes • Add cross edges to get constant degree net-tree spanner • This approach was used in [CGMZ05,GR08] • Similar approach was used in [ADMSS95]

  49. FT spanners

More Related