CS675: Convex and Combinatorial Optimization Fall 2019 Introduction to Matroid Theory
Total Page:16
File Type:pdf, Size:1020Kb
CS675: Convex and Combinatorial Optimization Fall 2019 Introduction to Matroid Theory Instructor: Shaddin Dughmi Set system: Pair (X ; I) where X is a finite ground set and I ⊆ 2X are the feasible sets Objective: often “linear”, referred to as modular Analogues of concave and convex: submodular and supermodular (in no particular order!) Today, we will look only at optimizing modular objectives over an extremely prolific family of set systems Related, directly or indirectly, to a large fraction of optimization problems in P Also pops up in submodular/supermodular optimization problems Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of allowable sets Shortest paths Max-weight matching Independent set ... 1/30 Objective: often “linear”, referred to as modular Analogues of concave and convex: submodular and supermodular (in no particular order!) Today, we will look only at optimizing modular objectives over an extremely prolific family of set systems Related, directly or indirectly, to a large fraction of optimization problems in P Also pops up in submodular/supermodular optimization problems Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of allowable sets Shortest paths Max-weight matching Independent set ... Set system: Pair (X ; I) where X is a finite ground set and I ⊆ 2X are the feasible sets 1/30 Analogues of concave and convex: submodular and supermodular (in no particular order!) Today, we will look only at optimizing modular objectives over an extremely prolific family of set systems Related, directly or indirectly, to a large fraction of optimization problems in P Also pops up in submodular/supermodular optimization problems Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of allowable sets Shortest paths Max-weight matching Independent set ... Set system: Pair (X ; I) where X is a finite ground set and I ⊆ 2X are the feasible sets Objective: often “linear”, referred to as modular 1/30 Today, we will look only at optimizing modular objectives over an extremely prolific family of set systems Related, directly or indirectly, to a large fraction of optimization problems in P Also pops up in submodular/supermodular optimization problems Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of allowable sets Shortest paths Max-weight matching Independent set ... Set system: Pair (X ; I) where X is a finite ground set and I ⊆ 2X are the feasible sets Objective: often “linear”, referred to as modular Analogues of concave and convex: submodular and supermodular (in no particular order!) 1/30 Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of allowable sets Shortest paths Max-weight matching Independent set ... Set system: Pair (X ; I) where X is a finite ground set and I ⊆ 2X are the feasible sets Objective: often “linear”, referred to as modular Analogues of concave and convex: submodular and supermodular (in no particular order!) Today, we will look only at optimizing modular objectives over an extremely prolific family of set systems Related, directly or indirectly, to a large fraction of optimization problems in P Also pops up in submodular/supermodular optimization problems 1/30 Outline 1 Matroids and The Greedy Algorithm 2 Basic Terminology and Properties 3 The Matroid Polytope 4 Matroid Intersection Maximum Weight Forest Problem Given an undirected graph G = (V; E), and weights we 2 R on edges e, find a maximum weight acyclic subgraph (aka forest) of G. Slight generalization of minimum weight spanning tree We use n and m to denote jV j and jEj, respectively. Matroids and The Greedy Algorithm 2/30 Theorem The greedy algorithm outputs a maximum-weight forest. The Greedy Algorithm 1 B ; 2 Sort non-negative weight edges in decreasing order of weight e1; : : : ; em, with w1 ≥ w2 ≥ ::: ≥ wm ≥ 0 3 For i = 1 to m: S if B feig is acyclic, add ei to B. Matroids and The Greedy Algorithm 3/30 The Greedy Algorithm 1 B ; 2 Sort non-negative weight edges in decreasing order of weight e1; : : : ; em, with w1 ≥ w2 ≥ ::: ≥ wm ≥ 0 3 For i = 1 to m: S if B feig is acyclic, add ei to B. Theorem The greedy algorithm outputs a maximum-weight forest. Matroids and The Greedy Algorithm 3/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Matroids and The Greedy Algorithm 4/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic (1) and (2) are trivial, so let’s prove (3) Matroids and The Greedy Algorithm 4/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A When jBj > jAj, this means #components(B) < #components(A) Can’t be that all e 2 B are “inside” connected components of A Some e 2 B must “go between” connected components of A. Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Sub-lemma: if C is acyclic, then jCj = n − #components(C). Induction Matroids and The Greedy Algorithm 4/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A Can’t be that all e 2 B are “inside” connected components of A Some e 2 B must “go between” connected components of A. Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Sub-lemma: if C is acyclic, then jCj = n − #components(C). Induction When jBj > jAj, this means #components(B) < #components(A) Matroids and The Greedy Algorithm 4/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A Some e 2 B must “go between” connected components of A. Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Sub-lemma: if C is acyclic, then jCj = n − #components(C). Induction When jBj > jAj, this means #components(B) < #components(A) Can’t be that all e 2 B are “inside” connected components of A Matroids and The Greedy Algorithm 4/30 Contrapositive: if B cyclic then so is A Inductively: can extend A by adding jBj − jAj elements from B n A Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Sub-lemma: if C is acyclic, then jCj = n − #components(C). Induction When jBj > jAj, this means #components(B) < #components(A) Can’t be that all e 2 B are “inside” connected components of A Some e 2 B must “go between” connected components of A. Matroids and The Greedy Algorithm 4/30 Lemma 1 The empty set is acyclic 2 If A is an acyclic set of edges, and B ⊆ A, then B is also acyclic. Contrapositive: if B cyclic then so is A 3 If A; B are acyclic, and jBj > jAj, then there is e 2 B n A such that A S feg is acyclic Inductively: can extend A by adding jBj − jAj elements from B n A Sub-lemma: if C is acyclic, then jCj = n − #components(C). Induction When jBj > jAj, this means #components(B) < #components(A) Can’t be that all e 2 B are “inside” connected components of A Some e 2 B must “go between” connected components of A. Matroids and The Greedy Algorithm 4/30 Assume true for step i − 1, and consider step i S ∗ If ei 62 Bi, then Bi−1 feig is cyclic. Since Bi−1 ⊆ Bi−1, then ∗ ∗ ∗ ei 62 Bi−1 (Property 2). So take Bi = Bi−1. ∗ ∗ If ei 2 Bi and ei 62 Bi−1, build Bi by repeatedly extending Bi using ∗ Bi−1 (property 3) S ∗ Recall that Bi = Bi−1 feig agrees with Bi−1 on e1; : : : ; ei−1. ∗ ∗ S Bi = Bi−1 feig n fekg for some k > i ∗ ∗ Bi has weight no less than Bi−1, so optimal. Proof Going back to proving the algorithm correct.