 Download Download Presentation From Hierarchical Partitions to Hierarchical Covers:

# From Hierarchical Partitions to Hierarchical Covers:

Download Presentation ## From Hierarchical Partitions to Hierarchical Covers:

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