SlideServe
Menu
Préférences
© SlideServe · v2026

Efficient Min-Cut Algorithms for Graphs Using Monte Carlo Techniques

arnav avatar
30 diapositives · 491 Views · Jul 18, 2014

This lecture dives into the design and analysis of randomized algorithms for computing the minimum cut in graphs. It begins with a recap of Monte Carlo algorithms and examines the properties of multi-graphs and min-cuts. Key concepts discussed include contraction algorithms, success probability during iterations, and recursive strategies to improve efficiency. The revised Fast-Min-Cut algorithm is analyzed for its performance and error bounds, revealing how to enhance the probability of preserving the minimum cut while maintaining reasonable running times.

Efficient Min-Cut Algorithms for Graphs Using Monte Carlo Techniques - slide 1
01 / 30Efficient Min-Cut Algorithms for Graphs Using Monte Carlo Techniques
1 / 17

Télécharger la présentation

Efficient Min-Cut Algorithms for Graphs Using Monte Carlo Techniques
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Randomized AlgorithmsCS648 Lecture 19 algorithm for Min-cut in a graph

  2. Overview 1. Recap of the previous lecture time Monte Carlo algorithm for min-cut 2. Knowledge of recurrence 3.time Monte Carlo algorithm for min-cut 4. An important bi-product: To design efficient algorithm A new tool to design an efficient algorithm

  3. Recap of the previous lecture

  4. Graph and Multi-graph A multi-graph may have: • More than one edge between a pair of vertices • No self loop

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

  6. some basic facts

  7. 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: How about cuts in multi-graph ?

  8. Contract() Contract(

  9. 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(): Relation between and ?

  10. Relation betweenand? Contract(

  11. Observations about Contract() Let be the size of min-cut of . Let be any min-cut of . Let be the graph after Contract(). Observation 1: may be a multi-graph. Observation 2: Every cut of is also a cut of . Observation 3: remains a cut of if . Question: If is selected randomly uniformly, what is the probability that is preserved in ? Answer: Recall that

  12. 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:

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

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

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

  16. In the following slides, we shall revisit common recurrences. Try to solve these recurrences in a simple manner instead of using Master’s theorem. This will help you develop a useful insight into recurrences. This insight will help you fine-tune the previous inefficient algorithm and eventually lead to design (and analysis) of a more efficient algorithm for min-cut. Revisiting Recurrences

  17. Common recurrences

  18. Common recurrences Question:What is the largest value of for which the solution of the following recurrence ?

  19. Faster Min-cut algorithm

  20. Revisiting algorithm for min-cut Min-cut(): { Repeat ?? times { Let ; Contract(). } return the edges of multi-graph ; } Running time: We shall modify this algorithm to improve its success probability. But we shall not allow any significant blow up in the running time.

  21. Algorithm for min-cut Probability that min-cut is preserved during the algorithm : = Question: What is probability that min-cut is preserved in first iteration ? Answer: Try to make careful observations based on the above answer to improve the success probability of the min-cut algorithm.

  22. Key observations about Min-Cut algorithm Algorithm performs contractions : After contractions: • Min-cut is preserved with probability ¼ . • There are only vertices left. (the graph size is significantly reduced). IDEA: Invoke two calls of Min-cut algorithmafter contractions and return the smaller of the two cuts computed. Since the graph size is reduced significantly, we can afford to do it. recursively

  23. Revised algorithm for min-cut Fast-Min-cut(): If has at most 10 vertices  compute exact min-cut else { ; Repeat times { Let ; Contract(). }  Fast-Min-cut();  Fast-Min-cut(); Let be smaller of the cuts ,; } return; • for Question: Prob. min-cut is preserved at the end of the Repeat loop = ? Question: How to increase this prob.? Answer:reduce. Question: What is the smallest value of to ensure ? 1/4

  24. Faster algorithm for min-cut Fast-Min-cut(): If has at most 10 vertices  compute exact min-cut else {  ; Repeattimes { Let ; Contract(). }  Fast-Min-cut();  Fast-Min-cut(); Let be smaller of the cuts ,; } return; Running time of the algorithm : Question: Prob. min-cut is preserved at the end of the Repeat loop = ? : the probability that algorithm returns the min-cut. For , For ,?? 1/2

  25. Success probability ofFast-Min-cut() For , For , = We shall now show that recurrence has a solution:  If we repeat Fast-Min-cut total times and report the smallest of all the output, probability of error= ?? <

  26. Solving the recurrence For , For , = Substituting , we get the recurrence For , For ,

  27. Solving the recurrence For , For , = It suffices to consider the above recurrence only for those which are powers of . For the sake of neatness, let us use to denote . Thus the above recurrence can be expressed as

  28. Solving the recurrence It suffices to solve the following recurrence. , For , • The recurrence still looks difficult since it does not belong to the pool of recurrences you are familiar with. • However, it has a very short and elementary solution. In fact the solution is very inspiring. • First try on your own before proceeding to the following slides.

  29. Solving the recurrence , For , Observation 1: Observation 2: Hence, • // by unfolding and using the fact that • // and we are done. proof //since

  30. This lecture introduced many concepts which can be used for design and analysis of efficient randomized algorithms. Try to reflect upon these concept…