1 / 36

Randomized Algorithms CS648

Randomized Algorithms CS648. Lecture 18 A pproximate Distance Oracles Algorithm for Min-cut : part 1. Approximate Distance oracles. All-Pairs Shortest Paths. Notations and Terminologies : A graph on vertices edges A path from to : a sequence , ,…, where ( , )

kalkin
Télécharger la présentation

Randomized Algorithms CS648

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. Randomized AlgorithmsCS648 Lecture 18 Approximate Distance Oracles Algorithm for Min-cut : part 1

  2. Approximate Distance oracles

  3. All-Pairs Shortest Paths Notations and Terminologies : A graph on • vertices • edges A pathfrom to : a sequence , ,…,where (,) Length of a path : sum of the weights on the edges of path . Shortest path from to : the path of smallest length from to . Distancefrom to : the length of the shortest path from to . : Distance from to

  4. All-Pairs Shortest Paths Problem Definition: Given a graph , build a compact data structure so that for any , • can be reported in time • Shortest path from to can be reported in optimal time. Results known: • size data structure (Distance matrix and Witness matrix) • preprocessing time (Dijkstra’s algorithm from each vertex) Current-state-of-the-art RAM size: 8 GBs Can’t handle graphs with even vertices (with RAM size) 

  5. All-Pairs Approximate Shortest Paths Problem Definition: Given a graph , build a compact data structure so that for any , it reports in time satisfying : stretch. Aim: To achieve • Sub-quadratic space. • Sub-cubic preprocessing time. With query time. Many elegant results have been invented for undirected graphs 

  6. A truly magical result Approximate Distance Oracles MikkelThorupand Uri Zwick: Approximate Distance Oracles for graphs, Journal of ACM (4), 2005

  7. Inspiration from our daily life

  8. Air/Road Network

  9. The Idea Given a graph , • Compute a small set of Landmark vertices. • From each vertex , store distance to vertices present in its locality. • From each vertex , store distance to all vertices in the graph. Questions: • What is the formal notion of locality? • How to retrieve distance from to a far away vertex ? • What is the guarantee of stretch ? • How to compute the desired set efficiently ?

  10. Formal notion of locality

  11. Formal notion of locality = {}

  12. Reporting distance from Report

  13. stretch What is the stretch ? ??

  14. 3-approximate distance oracle Preprocessing-algorithm() { Compute set suitably; For each store distance to all vertices; For each compute ; Build a hash table storing distances from to ; } Query(,) { If return ; else return ; } Global distance info. Local distance info.

  15. The real challenge left How to compute set such that • is small. • is small for each . Fact1: It is difficult, if not impossible, to compute such a set deterministically. Fact2: The structure of graph (the edges and weights) can be arbitrary and more complex than planar road/air networkk.

  16. The real challenge left

  17. Conquering the challenge Let be a fraction to be fixed later on. Computing: { ∅; For each Add to independently with probability ; return ; } Expected size of : • : random variable for ||

  18. Expected size of  = … … Increasing order of distance from None of is present in

  19. Expected space of 3-approximate distance oracle Space for Global distance information: = = = Spacefor Local distance information: = = To minimize the total space: (Balance the two terms) Expected space: Each vertex in keeps a Ball)

  20. Theorem: An undirected weighted graph can be processed to build a data structure of expected size that can report 3-approximate distance between any pair of vertices in time. Homework: • Convert to a Las Vegas algorithm with high probability bound on space. • Show that expected preprocessing time is

  21. Meant for only those (hopefully nonzero no. of) students whose aim is more than just a good grade in this course. 5-approximate distance oracle

  22. 3-approximate distance oracle

  23. 5-approximate distance oracle

  24. 5-approximate distance oracle

  25. problem 2Min-cut

  26. Min-Cut : undirected connected graph Definition (cut): A subset whose removal disconnects the graph. Definition (min-cut): A cut of smallest size. Problem Definition:Design algorithm to compute min-cut of a given graph.

  27. Min-Cut Deterministic Algorithms: • time - Designed in 1997, - Quite complex to analyze and implement Randomized Algorithms: • time Monte Carlo [1993] • time Monte Carlo [1996] - Both are much simpler and easier to implement.

  28. some basic facts

  29. Min-Cut Question: How many cuts ? Answer: Question : what is relation between degree() and size of min-cut ? Answer: size of min-cut degree() Question : If size of min-cutis , what can be minimum value of ? Answer:

  30. Contract() Contract(

  31. Contract() Contract() { Let ; Merge the two vertices and into one vertex; Preserve multi-edges; Remove the edge ; Let be the modified graph; return ; } Time complexity of Contract():

  32. Contract() Let be the size of min-cut of . Let be any min-cut of . Let be the graph after Contract(). Observation: Every cut of is also a cut of . Question: Under what circumstance is a cut of ? Answer: if . Question: If is selected randomly uniformly, what is the probability that is preserved in ? Answer:

  33. Contract() Let be the size of min-cut of . Let be any min-cut of . Lemma: If edge to be contracted is selected randomly uniformly, is preserved with probability at least . Let ; Contract(). Let ; Contract(). Question: What is probability that is preserved in ? Answer:

  34. Algorithm for min-cut Min-cut(): { Repeat ?? times { Let ; Contract(). } return the edges of multi-graph ; } Running time:

  35. Algorithm for min-cut Question: What is probability that is preserved during the algorithm ? Answer: = = >

  36. Algorithm for min-cut Min-cut-high-probability(): { Repeat Min-cut() algorithm log times and report the smallest cut computed; } Running time: Error Probability : <

More Related