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)

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Chapter 23 Minimum Spanning Tree
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)
Minimum Spanning Tree CSE 331 Section 2 James Daly.
Greedy algorithm 叶德仕
More Graph Algorithms Minimum Spanning Trees, Shortest Path Algorithms.
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.
Greedy Algorithms for Matroids Andreas Klappenecker.
Discussion #36 Spanning Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CSE 780 Algorithms Advanced Algorithms Minimum spanning tree Generic algorithm Kruskal’s algorithm Prim’s algorithm.
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.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
Lecture 18: Minimum Spanning Trees Shang-Hua Teng.
1 Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Lecture 12 Minimum Spanning Tree. Motivating Example: Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Minimum Spanning Trees
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.
Tirgul 13 Today we’ll solve two questions from last year’s exams.
More Chapter 7: Greedy Algorithms Kruskal’s Minimum Spanning Tree Algorithm.
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.
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Greedy methods Prudence Wong
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
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.
1 Greedy algorithm 叶德仕 2 Greedy algorithm’s paradigm Algorithm is greedy if it builds up a solution in small steps it chooses a decision.
1 Minimum Spanning Trees. Minimum- Spanning Trees 1. Concrete example: computer connection 2. Definition of a Minimum- Spanning Tree.
Greedy Algorithms and Matroids Andreas Klappenecker.
Minimum Spanning Trees Prof. Sin-Min Lee Dept. of Computer Science, San Jose State University.
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.
1 Minimum Spanning Trees (some material adapted from slides by Peter Lee, Ananda Guna, Bettina Speckmann)
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Chapter 23: Minimum Spanning Trees: A graph optimization problem Given undirected graph G(V,E) and a weight function w(u,v) defined on all edges (u,v)
1 Section 4.2 Equivalence Relations A binary relation is an equivalence relation if it has the three properties reflexive, symmetric, and transitive (RST).
Greedy Algorithms Analysis of Algorithms.
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.
Greedy Algorithms. p2. Activity-selection problem: Problem : Want to schedule as many compatible activities as possible., n activities. Activity i, start.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Submodularity Reading Group Matroids, Submodular Functions M. Pawan Kumar
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Greedy Algorithms General principle of greedy algorithm
COMP108 Algorithmic Foundations Greedy methods
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
Chapter 8 The Greedy Approach.
Lecture 12 Algorithm Analysis
Accessible Set Systems
Chapter 23 Minimum Spanning Tree
Kruskal’s Minimum Spanning Tree Algorithm
Lecture 11 Overview Self-Reducibility.
Lecture 11 Overview Self-Reducibility.
Lecture 12 Algorithm Analysis
Greedy Algorithms Comp 122, Spring 2004.
Lecture 12 Algorithm Analysis
Chapter 23: Minimum Spanning Trees: A graph optimization problem
Minimum Spanning Trees
Presentation transcript:

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) 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]

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

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;

Matroid Terminology Let (S,F) be a matroid. The elements in F are called independent sets or feasible sets. A maximal feasible set is called a basis. Since we have assume that the weight function is positive, the algorithm Greedy always returns a basis.

Matroid Example Suppose that S={a,b,c,d}. Construct the smallest matroid (S,F) such that {a,b} and {c,d} are contained in F. F = { , {a}, {b}, {c}, {d}, {a,b}, {c,d}, by the hereditary property {a,c}, {b,c}, {a,d}, {b,d} by the exchange property }

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.

Prim’s Algorithm for MST We first pick an arbitrary vertex v 1 to start with. Maintain a set S = {v 1 }. Over all edges from v 1, find a lightest one. Say it’s (v 1,v 2 ). S ← S ∪ { v 2 } Over all edges from {v 1,v 2 } (to V- {v 1,v 2 }), find a lightest one, say (v 2,v 3 ). S ← S ∪ { v 3 } … In general, suppose we already have the subset S = {v 1,…,v i }, then over all edges from S to V-S, find a lightest one (v j, v i+1 ). Update: S ← S ∪ { v i+1 } … Finally we get a tree; this tree is a minimum spanning tree v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 v7v7 v8v8 v9v9 [Slide due to Prof. Shengyu Zhang]

Critique Prim’s algorithm is a greedy algorithm that always produces optimal solutions. S = edges of the graph G F = { A | T=(V,A) is a induced subgraph of G, is a tree, and contains the vertex v } Apparently, Prim’s algorithm is essentially Greedy applied to (S,F). However, the set system (S,F) is not a matroid, since it is not hereditary! Why? Removing an edge from a tree can yield disconnected components, not necessarily a tree.

Goal Generalize the theory from matroids to more general set systems (so that e.g. Prim’s MST algorithm can be explained). Allow weight functions with arbitrary weight.

Accessible Set Systems Let S be a finite set, F a non-empty family of subsets of S. Then (S,F) is called a set system. The elements in F are called feasible sets. A set system (S,F) satisfying the accessibility axiom: If A is a nonempty set in F, then there exists an element x in S such that A\{x} in F. is called an accessible set system. [Greedy algorithms need to be able to construct feasible sets by adding one element at the time, hence the accessibility axiom is needed.]

Weight Functions Let w: S -> R be a weight function (negative weights are now allowed!). For a subset A of S, define w(A) :=  a in A w(a).

Accessible Set Systems A maximal set B in an accessible set system (S,F) is called a basis. Goal: Solve the optimization problem BMAX: maximize w(B) over all bases of M.

Greedy Algorithm 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;

Question Characterize the accessible set systems such that the greedy algorithm yields an optimal solution for any weight function w. This question was answered by Helman, Moret, and Shapiro in 1993, after initial work by Korte and Lovasz (Greedoids) and Edmonds, Gale, and Rado (Matroids).

Extensibility Axiom: Motivation Define ext(A) = { x in S\A | A  {x} in F }. Let A be in F such that ext(A)=  and B a basis properly containing A. [This can happen, see homework.] Define w(x) = 2 if x in A w(x) = 1 if x in B\A w(x) = 0 otherwise. Then the Greedy algorithm incorrectly returns A instead of B.

Extensibility Axiom Extensibility Axiom: For each basis B and every feasible set A properly contained in B, we have ext(A) B  . [This axiom is clearly necessary for the optimality of the greedy algorithm.]

Matroid Embedding Axiom Let M=(S,F) be a set system. Define clos(M) = (S,F’), where F’ = { A | A  B, B in F } We call clos(M) the hereditary closure of M. Matroid embedding axiom clos(M) is a matroid. [This axiom is necessary for the greedy algorithm to return optimal sets. Thus, matroid are always in the background, even though the accessible set system might not be a matroid.]

Congruence Closure Axiom Congruence closure axiom For every feasible set A and all x,y in ext(A) and every subset X in S\(A  ext(A)), A  X  {x} in clos(M) implies A  X  {y} in clos(M). [This axiom restricts the future extensions of the set system. Note that it is a property in the hereditary closure.]

Theorem (Helman, Moret, Shapiro) Let M=(S,F) be an accessible set system. For each weight function w: S->R the optimal solutions to BMAX are the bases of M that are generated by Greedy (assuming a suitable ordering of the elements with the same weight) if and only if the accessible set system M satisfies the extension axiom, the congruence closure axiom, and the matroid embedding axiom.