CS675: Convex and Combinatorial Optimization Fall 2019 Introduction to Matroid Theory

CS675: Convex and Combinatorial Optimization Fall 2019 Introduction to Matroid Theory

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    102 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us