Greedy Algorithms for Matroids Andreas Klappenecker.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Greedy Algorithms Greed is good. (Some of the time)
Great Theoretical Ideas in Computer Science for Some.
Greed is good. (Some of the time)
Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
Greedy algorithm 叶德仕
Greedy Algorithms, Part 2 Accessible Set Systems
Chapter 3 The Greedy Method 3.
Great Theoretical Ideas in Computer Science.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 13 Minumum spanning trees Motivation Properties of minimum spanning trees Kruskal’s.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Lecture 18: Minimum Spanning Trees Shang-Hua Teng.
Great Theoretical Ideas in Computer Science.
DAST 2005 Tirgul 14 (and more) sample questions. DAST 2005 (reminder?) Kruskal’s MST Algorithm.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Lecture 10 Matroid. Independent System Consider a finite set S and a collection C of subsets of S. (S,C) is called an independent system if i.e., it is.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Greedy Algorithms Intuition: At each step, make the choice that is locally optimal. Does the sequence of locally optimal choices lead to a globally optimal.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Design and Analysis of Computer Algorithm September 10, Design and Analysis of Computer Algorithm Lecture 5-2 Pradondet Nilagupta Department of Computer.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Algorithms: Design and Analysis Summer School 2013 at VIASM: Random Structures and Algorithms Lecture 3: Greedy algorithms Phan Th ị Hà D ươ ng 1.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Accessible Set Systems Andreas Klappenecker. Matroid Let S be a finite set, and F a nonempty family of subsets of S, that is, F  P(S). We call (S,F)
1 Greedy algorithm 叶德仕 2 Greedy algorithm’s paradigm Algorithm is greedy if it builds up a solution in small steps it chooses a decision.
Greedy Algorithms and Matroids Andreas Klappenecker.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
1 22c:31 Algorithms Minimum-cost Spanning Tree (MST)
What is a matroid? A matroid M is a finite set E, with a set I of subsets of E satisfying: 1.The empty set is in I 2.If X is in I, then every subset of.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Algorithm Design and Analysis June 11, Algorithm Design and Analysis Pradondet Nilagupta Department of Computer Engineering This lecture note.
Greedy Algorithms. p2. Activity-selection problem: Problem : Want to schedule as many compatible activities as possible., n activities. Activity i, start.
November 22, Algorithms and Data Structures Lecture XII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Greedy Algorithms General principle of greedy algorithm
May 12th – Minimum Spanning Trees
Minimal Spanning Trees
Lecture 12 Algorithm Analysis
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
CSCE350 Algorithms and Data Structure
CS200: Algorithm Analysis
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Accessible Set Systems
Algorithms and Data Structures Lecture XII
Data Structures – LECTURE 13 Minumum spanning trees
Chapter 23 Minimum Spanning Tree
CS 583 Analysis of Algorithms
Kruskal’s Minimum Spanning Tree Algorithm
Lecture 11 Overview Self-Reducibility.
Lecture 12 Algorithm Analysis
Minimum Spanning Tree Algorithms
Minimum Spanning Trees
Richard Anderson Lecture 10 Minimum Spanning Trees
Minimum Spanning Trees
Greedy Algorithms Comp 122, Spring 2004.
Minimum Spanning Trees (MSTs)
Lecture 12 Algorithm Analysis
Locality In Distributed Graph Algorithms
Minimum Spanning Trees
Presentation transcript:

Greedy Algorithms for Matroids Andreas Klappenecker

Matroid Let S be a finite set, and F a nonempty family of subsets of S, that is, F  P(S). We call (S,F) a matroid if and only if M1) If B  F and A  B, then A  F. [The family F is called hereditary] M2) If A,B  F and |A|<|B|, then there exists x in B\A such that A  {x} in F [This is called the exchange property]

Example 1 (Matric Matroids) Let M be a matrix. Let S be the set of rows of M and F = { A | A  S, A is linearly independent } Claim: (S,F) is a matroid. Clearly, F is not empty (it contains every row of M). M1) If B is a set of linearly independent rows of M, then any subset A of M is linearly independent. Thus, F is hereditary. M2) If A, B are sets of linearly independent rows of M, and |A|<|B|, then dim span A < dim span B. Choose a row x in B that is not contained in span A. Then A  {x} is a linearly independent subset of rows of M.Therefore, F satisfied the exchange property.

Undirected Graphs Let V be a finite set, E a subset of { e | e  V, |e|=2 } Then (V,E) is called an undirected graph. We call V the set of vertices and E the set of edges of the graph. a b c d V = {a,b,c,d} E = { {a,b}, {a,c}, {a,d}, {b,d}, {c,d} }

Induced Subgraphs Let G=(V,E) be a graph. We call a graph (V,E’) an induced subgraph of G if and only if its edge set E’ is a subset of E.

Spanning Trees Given a connected graph G, a spanning tree of G is an induced subgraph of G that happens to be a tree and connects all vertices of G. If the edges are weighted, then a spanning tree of G with minimum weight is called a minimum spanning tree. a b c d

Example 2 (Graphic Matroids) Let G=(V,E) be an undirected graph. Choose S = E and F = { A | H = (S,A) is an induced subgraph of G such that H is a forest }. Claim: (S,F) is a matroid. M1) F is a nonempty hereditary set system. M2) Let A and B in F with |A| < |B|. Then (V,B) has fewer trees than (V,A). Therefore, (V,B) must contain a tree T whose vertices are in different trees in the forest (V,A). One can add the edge x connecting the two different trees to A and obtain another forest (V,A  {x}).

Weight Functions A matroid (S,F) is called weighted if it equipped with a weight function w: S->R +, i.e., all weights are positive real numbers. If A is a subset of S, then w(A) :=  a in A w(a). Weight functions of this form are sometimes called “linear” weight functions.

Greedy Algorithm for Matroids Greedy(M=(S,F),w) A :=  ; Sort S into monotonically decreasing order by weight w. for each x in S taken in monotonically decreasing order do if A  {x} in F then A := A  {x}; fi; od; return A;

Correctness Theorem: Let M= (S,F) be a weighted matroid with weight function w. Then Greedy(M,w) returns a set in F of maximal weight. [Thus, even though Greedy algorithms in general do not produce optimal results, the greedy algorithm for matroids does! This algorithm is applicable for a wide class of problems. Yet, the correctness proof for Greedy is not more difficult than the correctness for Huffman. This is economy of thought!]

Complexity Let n = |S| = # elements in the set S. Sorting of S: O(n log n) The for-loop iterates n times. In the body of the loop one needs to check whether A  {x} is in F. If each check takes f(n) time, then the loop takes O(n f(n)) time. Thus, Greedy takes O(n log n + n f(n)) time.

Minimizing or Maximizing? Let M=(S,F) be a matroid. The algorithm Greedy(M,w) returns a set A in F maximizing the weight w(A). If we would like to find a set A in F with minimal weight, then we can use Greedy with weight function w’(a) = m-w(a) for a in A, where m is a real number such that m > max s in S w(s).

Matric Matroids Let M be a matrix. Let S be the set of rows of the matrix M and F = { A | A  S, A is linearly independent }. Weight function w(A)=|A|. What does Greedy((S,F),w) compute? The algorithm yields a basis of the vector space spanned by the rows of the matrix M.

Graphic Matroids Let G=(V,E) be an undirected connected graph. Let S = E and F = { A | H = (S,A) is an induced subgraph of G such that H is a forest }. Let w be a weight function on E. Define w’(a)=m-w(a), where m>w(a), for all a in A. Greedy((S,F), w’) returns a minimum spanning tree of G. This algorithm in known as Kruskal’s algorithm.

Kruskal's MST algorithm Consider the edges in increasing order of weight, add an edge iff it does not cause a cycle [Animation taken from Prof. Welch’s lecture notes]

Conclusion Matroids characterize a group of problems for which the greedy algorithm yields an optimal solution. Kruskals minimum spanning tree algorithm fits nicely into this framework.