Approximating the Minimum Spanning Tree Weight in Sublinear Time - PowerPoint PPT Presentation

approximating the minimum spanning tree weight in sublinear time n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Approximating the Minimum Spanning Tree Weight in Sublinear Time PowerPoint Presentation
Download Presentation
Approximating the Minimum Spanning Tree Weight in Sublinear Time

play fullscreen
1 / 85
Approximating the Minimum Spanning Tree Weight in Sublinear Time
165 Views
Download Presentation
brenna-english
Download Presentation

Approximating the Minimum Spanning Tree Weight in Sublinear Time

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Approximating the Minimum Spanning Tree Weight in Sublinear Time Bernard Chazelle, Ronitt Rubinfeld and Luca Trevisan SIAM Journal on Computing, Vol. 34, No. 6, July, 2005, pp. 1370-1379. Speaker: Chuang-Chieh Lin Advisor: Professor Maw-Shang Chang Computation Theory Laboratory National Chung Cheng University

  2. Bernard Chazelle, Department of Computer Science, Princeton University Department of Electrical Engineering and Computer Science, MIT Computer Science Division, University of California-Berkeley Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  3. Outline • Introduction • Related works • An overview of the algorithm in this paper • Approximating the average degree • Estimating the number of connected components • Approximating the weight of an MST • Conclusions Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  4. Introduction • Traditionally, a linear time algorithm has been held as the gold standard of efficiency. • In a wide variety of settings, large data sets have become increasingly common. • It is often desirable and sometimes necessary to find very fast algorithms which can assert nontrivial properties of the data in sublinear time. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  5. Introduction (contd.) • One direction of research that has been suggested is that of property testing. [RS96, GG98] • Property testing algorithms distinguish between inputs that have a certain property and those are far from having the property. • Property testing can be viewed as a natural type of approximation problem. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  6. Introduction (contd.) • Many of the property testers have led to very fast, even constant time, approximation schemes for associated problem. [GG98, FK99, FKV04, ADPR03] • For example, one can approximate the value of a maximum cut in a dense graph in time , with relative error at most , by looking at only O(–7log1/) locations in the adjacency matrix. [GG98] Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  7. Outline • Introduction • Related works • An overview of the algorithm in this paper • Approximating the average degree • Estimating the number of connected components • Approximating the weight of an MST • Conclusions Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  8. Related works • Finding the minimum spanning tree (MST) of a graph has a long, distinguished history [C00b, GH85, N97]. • Currently the best known deterministic algorithm was proposed by Chazelle [C00a]. • Chazelle’s algorithm runs in O(mα(m, n)) time, where n (resp., m) is the number of vertices (resp., edges) and αis inverse-Ackermann. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  9. Related works (contd.) • Karger, Klein and Tarjan [KKT95] gave a randomized algorithm which runs in linear expected time. • In this paper, we consider the problem of finding the weight of the minimum spanning tree (MST) of a graph. • There are conditions under which it is possible to approximate the weight of the MST of a connected graph in sublinear time in the number of edges. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  10. Outline • Introduction • Related works • An overview of the algorithm in this paper • Approximating the average degree • Estimating the number of connected components • Approximating the weight of an MST • Conclusions Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  11. An overview of the algorithm in this paper • Let G(i) denote the subgraph of G that contains only edges of weight at most i. • First, we estimate the number of connected components in each G(i). • Sample uniformly at random O(1/2) vertices in each G(i). • Estimate the size of the component that contains each sampled vertex by constructing “local trees” of some appropriate size defined by a random process. (Note that 0 <  < ½ ) Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  12. An overview of the algorithm in this paper (contd.) • Second, we can in turn produce a good approximation for the weight of the MST of G. • Estimating the number of connected components in a graph runs in time within an additive error of n of the true count. • d is the average degree of the graph. • We can ensure that d can be approximated in O(d/) expected time and that at most n/4 vertices having degree greater than the estimate of d. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  13. An overview of the algorithm in this paper (contd.) • The method for estimating the number of connected components in a graph is based on a similar principle as the property tester for graph connectivity given by Goldreich and Ron [GR02]. • The total running time is O(dw–2 log dw/). It does NOT depend on the number of vertices in G. Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  14. Outline • Introduction • Related works • An overview of the algorithm in this paper • Approximating the average degree • Estimating the number of connected components • Approximating the weight of an MST • Conclusions Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  15. Approximating the average degree • Pick C/ vertices of G at random, for some large constant C and set d* to be the maximum degree among them. • To find the degree of any one of them takes O(d) time on average, so the expected running time is O(Cd/) = O(d/). • (Imagine the vertex degrees sorted in nonincreasing order…☺) Let ρ be the rank of d*. • With high probability, ρ=Θ(n) • Why? Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  16. Approximating the average degree (contd.) In my opinion, we can assume that C ≥ 1. • Pr({ρ> n}) = (1–)C/≤ e–C • Since (1 + )1/e, when  0. • Pr({ρ> n/C2}) = (1– /C2)C/ ≥ e–2/C (…☺…)>1–2/C. • Try to prove that f(x) = x + e–x > 1 0 /C2 ρ  1 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  17. Approximating the average degree (contd.) • Lemma 1: In O(d/) expected time, we can compute a vertex degree d* that, with high probability, is the kth largest vertex degree for some k =Θ(n). • Note: k = Ω(n) alone implies that d* = O(d/). • Why? Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  18. 0 k My weekly report… 1 Approximating the average degree (contd.) • By C. M. Lee: • Since k = Ω(n), we can assume that k ≥ qn for some positive constant q. • Consider the fact that kd*≤ ΣvV deg(v). • Why? • Thus d* = O(d/). Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  19. 0 k 1 Approximating the average degree (contd.) • If we scale  by the proper constant, we can ensure that at most n/4 vertices have degree higher thand*. Lemma 1: In O(d/) expected time, we can compute a vertex degree d* that, with high probability, is the kth largest vertex degree for some k = (n). Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  20. Outline • Introduction • Related works • An overview of the algorithm in this paper • Approximating the average degree • Estimating the number of connected components • Approximating the weight of an MST • Conclusions Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  21. Other preliminaries and notations • Letd denote the average degree of the graph. • Edge weights are in the set {1, …, w}. • Let c denote the number of connected components of the graph. • The algorithm requires no prior information about the graph besides w and n. (n is the number of vertices) Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  22. Estimating the number of connected components • Let du be the number of edges incident upon it (including self-loops). • Let mu be the number of edges in u’s component in G. • Consider the following fact. FACT: Given a graph with vertex set V, for every component I V, This is concerned with a problem in the algorithm course ... Besides, we let du/mu = 2 for an isolated vertex u. (mu= 0 here) Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  23. The algorithm is as follows: Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  24. Visit the single vertexui and all its dui incident edges log(mui/dui) approx-number-connected-components(G,,W,d*) Uniformly choose r = O(1/2) vertices u1,…,ur For each vertex ui, Set βi = 0 Take the first step of a BFS from ui (*) Flip a coin!! If (heads) & (# vertices visited in BFS < W) & (no visited vertex has degree > d*) then{ Resume BFS to double number of visited edges If this allows BFS to complete then{Ifmui = 0 set βi = 2; else set βi = dui2#coin flips/#edges visited in BFS } else go to (*) } Output At least 1? Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  25. Illustration 1 for BFS with coin flips A B C D A G E F dA = 0 mA = 0 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  26. First step of a BFS from A A Resume BFS to double number of visited edges B C D D C B H G E F dA = 3 mA = 3 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  27. A F B C D E D C G E F dA = 3 mA = 5 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  28. A G B C D F E D G E F dA = 3 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  29. A B C D G F E G E F dA = 3 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  30. A B C D G F G E F dA = 3 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  31. A B C D G G E F dA = 3 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  32. A B C D G E F dA = 3 βA = dA21 / mA = 1 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  33. Illustration 2 for BFS with coin flips A B C D A E dA = 0 mA = 0 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  34. First step of a BFS from A A Resume BFS to double number of visited edges B C D D C B H E dA = 3 mA = 3 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  35. A B C D E D C E dA = 3 mA = 4 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  36. A B C D E D E dA = 3 mA = 4 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  37. A B C D E E dA = 3 mA = 4 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  38. A B C D E dA = 3 βA = dA21 / mA = 1.5 mA = 4 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  39. Illustration 3 for BFS with coin flips A B F C D E A G dA = 0 mA = 0 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  40. First step of a BFS from A A F Resume BFS to double number of visited edges E B D F C D E C B H G dA = 5 mA = 5 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  41. A G F E B F C D E D C G dA = 5 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  42. A G F B F C D E E D G dA = 5 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  43. A G B F C D E F E G dA = 5 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  44. A B F C D E G F G dA = 5 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  45. A B F C D E G G dA = 5 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  46. A B F C D E G dA = 5 βA = dA21 / mA = 5/3 mA = 6 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  47. Illustration 4 for BFS with coin flips A B C D A dA = 0 mA = 0 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  48. First step of a BFS from A A Resume BFS to double number of visited edges B C D D C B H dA = 3 mA = 3 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  49. A B C D D C dA = 3 mA = 3 Computation Theory Lab., Dept. CSIE, CCU, Taiwan

  50. A B C D D dA = 3 mA = 3 Computation Theory Lab., Dept. CSIE, CCU, Taiwan