Randomized Algorithm (Lecture 2: Randomized Min_Cut)

Slides:



Advertisements
Similar presentations
CSCI 3160 Design and Analysis of Algorithms Tutorial 4
Advertisements

Order Statistics Sorted
“Devo verificare un’equivalenza polinomiale…Che fò? Fò dù conti” (Prof. G. Di Battista)
EMIS 8374 Vertex Connectivity Updated 20 March 2008.
Randomized Algorithms Randomized Algorithms CS648 Lecture 1 1.
Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC
Lectures on Network Flows
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
CSL758 Instructors: Naveen Garg Kavitha Telikepalli Scribe: Manish Singh Vaibhav Rastogi February 7 & 11, 2008.
1 Network Coding: Theory and Practice Apirath Limmanee Jacobs University.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Lecture 21: Spectral Clustering
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 8 May 4, 2005
Karger’s Min-Cut Algorithm Amihood Amir Bar-Ilan University, 2009.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Study Group Randomized Algorithms Jun 7, 2003 Jun 14, 2003.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Randomized Algorithms Morteza ZadiMoghaddam Amin Sayedi.
1 Introduction to Randomized Algorithms Srikrishnan Divakaran DA-IICT.
Approximating the MST Weight in Sublinear Time Bernard Chazelle (Princeton) Ronitt Rubinfeld (NEC) Luca Trevisan (U.C. Berkeley)
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 25 There.
1 Introduction to Randomized Algorithms Srikrishnan Divakaran DA-IICT.
CS38 Introduction to Algorithms Lecture 18 May 29, CS38 Lecture 18.
1 Min-cut for Undirected Graphs Given an undirected graph, a global min-cut is a cut (S,V-S) minimizing the number of crossing edges, where a crossing.
Computation Model and Complexity Class. 2 An algorithmic process that uses the result of a random draw to make an approximated decision has the ability.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
1 WEEK 11 Graphs III Network Flow Problems A Simple Maximum-Flow Algorithm Izmir University of Economics.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
ENGM 631 Maximum Flow Solutions. Maximum Flow Models (Flow, Capacity) (0,3) (2,2) (5,7) (0,8) (3,6) (6,8) (3,3) (4,4) (4,10)
Indian Institute of Technology, Delhi Randomized Algorithms (2-SAT & MAX-3-SAT) (14/02/2008) Sandhya S. Pillai(2007MCS3120) Sunita Sharma(2007MCS2927)
Theory of Computational Complexity Probability and Computing Ryosuke Sasanuma Iwama and Ito lab M1.
A simple parallel algorithm for the MIS problem
Randomized Min-Cut Algorithm
The Steepest Ascent Hill Climbing Algorithm
Randomness and Computation: Some Prime Examples
Approximating the MST Weight in Sublinear Time
Finding a Path With Largest Smallest Edge
Minimum Spanning Tree 8/7/2018 4:26 AM
Randomized Algorithms
Lectures on Network Flows
Richard Anderson Lecture 23 Network Flow
Algorithms and Networks
Lecture 22 Network Flow, Part 2
Lecture 8 Randomized Algorithms
Lecture 18: Uniformity Testing Monotonicity Testing
Random Testing.
Topological Sort (topological order)
CS216: Program and Data Representation
Maximum Flow Solutions
Maximum Flow Problem flow capacity Actual flow  capacity
Bin Fu Department of Computer Science
Randomized Algorithms CS648
Instructor: Shengyu Zhang
Min Cut and Karger’s Algorithm
Vertex Covers, Matchings, and Independent Sets
Richard Anderson Lecture 21 Network Flow
EE5900 Advanced Embedded System For Smart Infrastructure
Algorithms and Networks
Lecture 21 Network Flow, Part 1
Lecture 21 Network Flow, Part 1
Lecture 22 Network Flow, Part 2
Richard Anderson Lecture 22 Network Flow
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Maximum Flow Problems in 2005.
Presentation transcript:

Randomized Algorithm (Lecture 2: Randomized Min_Cut) Instructor: Dr. Guatam Das Lecture note by Xin Jin

Min_Cut Porblem Definition: Traditional Solution: Min_cut Problem is to find the minimum edge set C such that removing C disconnects the graph Traditional Solution: Max-flow: The maximum amount of flow is equal to the capacity of a minimum cut

Example of Min_Cut a b e.g. Min_Cut = 2

Intuition Let a graph G has n nodes and size of min_cut = k, that is |C| = k then : degree for each node >= k total number of edges in G >= nk/2

Randomized Min_Cut *Running time is O(n-2) Input: a graph G(V, E), |V| = n Output: min_cut C Repeat: Pick any edge uniformly at random, collapse it and remove self-loops Until: |V| down to 2 *Running time is O(n-2)

Example of Randomized Min_Cut Or maybe… min_cut = 4

Las Vegas VS Monte Carlo Las Vegas Algorithm: It always produces the correct answer and the expected running time is finite (e.s.p. randomized quick sort) Monte Carlo Algorithm: It may produce incorrect answer but with bounded error probability (e.s.p. randomized min_cut)

Analysis Probability of the first edge C Prob = (kn/2 – k ) / (kn/2) = (n-2) / n Probability of the second edge C Prob = (k(n-1)/2 – k ) / (k(n-1)/2) = (n-3) / (n-1) min_cut

Analysis Prob. Of outputting C: Pr >= = Iteration Probability of avoiding C 1 (n – 2) / n 2 (n – 3) / (n – 1) 3 (n – 4) / (n – 2) 4 (n – 5) / (n – 3) … n - 2 1 / 3 Prob. Of outputting C: Pr >= =

Analysis Probability of getting a min_cut is at least 2/n(n-1) Might look like small, but gets bigger after repeating the algorithm e.s.p. If algorithm is running twice, probability of outputting C would be: Pr = 1 – ( 1 – ) ^ 2

Analysis Let r be the number of running times of algorithm Total running time = O(n*r) Probability of getting C: Pr ≈ 1 – ( 1 – ) ^ r

Analysis If r = then T(n) = O(n*n^2 / 2) = O(n^3) Pr = 1 – ( 1 - ) ^