A graph problem: Maximal Independent Set 1 8 7 6 5 4 3 2 Graph with vertices V = {1,2,…,n} A set S of vertices is independent if no two vertices in S are.

Slides:



Advertisements
Similar presentations
1. Find the cost of each of the following using the Nearest Neighbor Algorithm. a)Start at Vertex M.
Advertisements

Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar
Approximation Algorithms
A Model of Computation for MapReduce
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Lecture 22: April 18 Probabilistic Method. Why Randomness? Probabilistic method: Proving the existence of an object satisfying certain properties without.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Johannes Schneider –1 A Log-Star Distributed Maximal Independent Set Algorithm for Growth-Bounded Graphs Johannes Schneider Roger Wattenhofer TexPoint.
LOCALITY IN DISTRIBUTED GRAPH ALGORITHMS Nathan Linial Presented by: Ron Ryvchin.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
ETH Zurich – Distributed Computing Group Roger Wattenhofer 1ETH Zurich – Distributed Computing – Christoph Lenzen Roger Wattenhofer Exponential.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Distributed Coloring in Õ(  log n) Bit Rounds COST 293 GRAAL and.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
An Approximation Algorithm for Requirement cut on graphs Viswanath Nagarajan Joint work with R. Ravi.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
ETH Zurich – Distributed Computing Group Roger Wattenhofer 1ETH Zurich – Distributed Computing – Christoph Lenzen Roger Wattenhofer Minimum.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Algorithms Andrej Bogdanov The Chinese University of Hong Kong and randomness ITCSC Winter School 2010.
New Algorithm DOM for Graph Coloring by Domination Covering
CS240A: Computation on Graphs. Graphs and Sparse Matrices Sparse matrix is a representation.
Maximal Independent Set Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
1 Introduction to Approximation Algorithms Lecture 15: Mar 5.
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
What is the next line of the proof? a). Assume the theorem holds for all graphs with k edges. b). Let G be a graph with k edges. c). Assume the theorem.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Distributed Coloring Discrete Mathematics and Algorithms Seminar Melih Onus November
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Solve problems by using linear programming.
Distributed Algorithms Rajmohan Rajaraman Northeastern University, Boston May 2012 Chennai Network Optimization WorkshopDistributed Algorithms1.
Experimental analysis of simple, distributed vertex coloring algorithms Irene Finocchi Alessandro Panconesi Riccardo Silvestri DSI, University of Rome.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
CS774. Markov Random Field : Theory and Application Lecture 02
CS240A: Computation on Graphs. Graphs and Sparse Matrices Sparse matrix is a representation.
Data Structures and Algorithms in Parallel Computing Lecture 2.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY
Computing Approximate Weighted Matchings in Parallel Fredrik Manne, University of Bergen with Rob Bisseling, Utrecht University Alicia Permell, Michigan.
Prims Algorithm for finding a minimum spanning tree
Portland, Oregon, 13 August, 2007 A Randomized Distributed Algorithm for the Maximal Independent Set Problem in Growth-Bounded Graphs Beat Gfeller, Elias.
Page :Algorithms in the Real World Parallelism: Lecture 3 Parallel techniques and algorithms - Contraction
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
Computation on Graphs. Graphs and Sparse Matrices Sparse matrix is a representation of.
Graphs 1 Neil Ghani University of Strathclyde. Where are we …. We studied lists: * Searching and sorting a list Then we studied trees: * Efficient search.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
A simple parallel algorithm for the MIS problem
Minimum Spanning Tree 8/7/2018 4:26 AM
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
What is the next line of the proof?
Minimum-Cost Spanning Tree
Maximal Independent Set
Minimum-Cost Spanning Tree
Chapter 23 Minimum Spanning Tree
Minimum-Cost Spanning Tree
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
A path that uses every vertex of the graph exactly once.
Problem Solving 4.
Richard Anderson Autumn 2016 Lecture 7
Lecture 14 Minimum Spanning Tree (cont’d)
Locality In Distributed Graph Algorithms
Minimum-Cost Spanning Tree
Presentation transcript:

A graph problem: Maximal Independent Set Graph with vertices V = {1,2,…,n} A set S of vertices is independent if no two vertices in S are neighbors. An independent set S is maximal if it is impossible to add another vertex and stay independent An independent set S is maximum if no other independent set has more vertices Finding a maximum independent set is intractably difficult (NP-hard) Finding a maximal independent set is easy, at least on one processor. The set of red vertices S = {4, 5} is independent and is maximal but not maximum

Sequential Maximal Independent Set Algorithm S = empty set; 2.for vertex v = 1 to n { 3. if (v has no neighbor in S) { 4. add v to S 5. } 6.} S = { }

Sequential Maximal Independent Set Algorithm S = empty set; 2.for vertex v = 1 to n { 3. if (v has no neighbor in S) { 4. add v to S 5. } 6.} S = { 1 }

Sequential Maximal Independent Set Algorithm S = empty set; 2.for vertex v = 1 to n { 3. if (v has no neighbor in S) { 4. add v to S 5. } 6.} S = { 1, 5 }

Sequential Maximal Independent Set Algorithm S = empty set; 2.for vertex v = 1 to n { 3. if (v has no neighbor in S) { 4. add v to S 5. } 6.} S = { 1, 5, 6 } work ~ O(n), but span ~O(n)

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { } C = { 1, 2, 3, 4, 5, 6, 7, 8 }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { } C = { 1, 2, 3, 4, 5, 6, 7, 8 }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { } C = { 1, 2, 3, 4, 5, 6, 7, 8 }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { 1, 5 } C = { 6, 8 }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { 1, 5 } C = { 6, 8 }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} S = { 1, 5, 8 } C = { }

Parallel, Randomized MIS Algorithm [Luby] S = empty set; C = V; 2.while C is not empty { 3. label each v in C with a random r(v); 4. for all v in C in parallel { 5. if r(v) < min( r(neighbors of v) ) { 6. move v from C to S; 7. remove neighbors of v from C; 8. } 9. } 10.} Theorem: This algorithm “very probably” finishes within O(log n) rounds. work ~ O(n log n), but span ~O(log n)