Accessible Set Systems

Slides:



Advertisements
Similar presentations
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Advertisements

Minimum Spanning Tree Sarah Brubaker Tuesday 4/22/8.
Greedy Algorithms Greed is good. (Some of the time)
Minimum Spanning Tree CSE 331 Section 2 James Daly.
Greedy algorithm 叶德仕
Greedy Algorithms, Part 2 Accessible Set Systems
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Greedy Algorithms for Matroids Andreas Klappenecker.
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.
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.
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
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
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.
1 Minimum Spanning Trees (some material adapted from slides by Peter Lee, Ananda Guna, Bettina Speckmann)
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)
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.
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
Greedy Algorithms – Chapter 5
Chapter 8 The Greedy Approach.
Spanning Trees.
Minimal Spanning Trees
Design & Analysis of Algorithm Greedy Algorithm
Lecture 22 Minimum Spanning Tree
Minimum Spanning Trees
Lecture 12 Algorithm Analysis
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
CSCE350 Algorithms and Data Structure
Spanning Trees.
Visualizing Prim’s MST Algorithm Used to Trace the Algorithm in Class
Minimum Spanning Trees
Data Structures – LECTURE 13 Minumum spanning trees
Graphs.
Chapter 23 Minimum Spanning Tree
CS 583 Analysis of Algorithms
Kruskal’s Minimum Spanning Tree Algorithm
Autumn 2015 Lecture 10 Minimum Spanning Trees
Lecture 11 Overview Self-Reducibility.
Lecture 11 Overview Self-Reducibility.
Lecture 12 Algorithm Analysis
Minimum Spanning Tree Algorithms
Minimum Spanning Trees
Minimum Spanning Trees
Lecture 19: Minimum Spanning Trees
Greedy Algorithms Comp 122, Spring 2004.
Autumn 2016 Lecture 10 Minimum Spanning Trees
Lecture 12 Algorithm Analysis
Advanced Algorithms Analysis and Design
CSE 373: Data Structures and Algorithms
Lecture 23: Minimum Spanning Trees
Chapter 23: Minimum Spanning Trees: A graph optimization problem
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
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 v9 v1 We first pick an arbitrary vertex v1 to start with. Maintain a set S = {v1}. Over all edges from v1, find a lightest one. Say it’s (v1,v2). S ← S ∪ {v2} Over all edges from {v1,v2} (to V-{v1,v2}), find a lightest one, say (v2,v3). S ← S ∪ {v3} … In general, suppose we already have the subset S = {v1,…,vi}, then over all edges from S to V-S, find a lightest one (vj, vi+1). Update: S ← S ∪ {vi+1} Finally we get a tree; this tree is a minimum spanning tree. 6 1 v2 5 3 6 4 2 v8 v3 5 v6 6 4 4 4 v5 v4 2 v7 [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 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.