CS675: Convex and Combinatorial Optimization Fall 2019 Introduction - - PowerPoint PPT Presentation

cs675 convex and combinatorial optimization fall 2019
SMART_READER_LITE
LIVE PREVIEW

CS675: Convex and Combinatorial Optimization Fall 2019 Introduction - - PowerPoint PPT Presentation

CS675: Convex and Combinatorial Optimization Fall 2019 Introduction to Matroid Theory Instructor: Shaddin Dughmi Optimization over Sets Most combinatorial optimization problems can be thought of as choosing the best set from a family of


slide-1
SLIDE 1

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

Instructor: Shaddin Dughmi

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Outline

1

Matroids and The Greedy Algorithm

2

Basic Terminology and Properties

3

The Matroid Polytope

4

Matroid Intersection

slide-8
SLIDE 8

Maximum Weight Forest Problem

Given an undirected graph G = (V, E), and weights we ∈ 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 |V | and |E|, respectively.

Matroids and The Greedy Algorithm 2/30

slide-9
SLIDE 9

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:

if B {ei} is acyclic, add ei to B.

Matroids and The Greedy Algorithm 3/30

slide-10
SLIDE 10

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:

if B {ei} is acyclic, add ei to B.

Theorem

The greedy algorithm outputs a maximum-weight forest.

Matroids and The Greedy Algorithm 3/30

slide-11
SLIDE 11

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic

Matroids and The Greedy Algorithm 4/30

slide-12
SLIDE 12

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic (1) and (2) are trivial, so let’s prove (3)

Matroids and The Greedy Algorithm 4/30

slide-13
SLIDE 13

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic Sub-lemma: if C is acyclic, then |C| = n − #components(C).

Induction

Matroids and The Greedy Algorithm 4/30

slide-14
SLIDE 14

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic Sub-lemma: if C is acyclic, then |C| = n − #components(C).

Induction

When |B| > |A|, this means #components(B) < #components(A)

Matroids and The Greedy Algorithm 4/30

slide-15
SLIDE 15

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic Sub-lemma: if C is acyclic, then |C| = n − #components(C).

Induction

When |B| > |A|, this means #components(B) < #components(A) Can’t be that all e ∈ B are “inside” connected components of A

Matroids and The Greedy Algorithm 4/30

slide-16
SLIDE 16

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic Sub-lemma: if C is acyclic, then |C| = n − #components(C).

Induction

When |B| > |A|, this means #components(B) < #components(A) Can’t be that all e ∈ B are “inside” connected components of A Some e ∈ B must “go between” connected components of A.

Matroids and The Greedy Algorithm 4/30

slide-17
SLIDE 17

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 |B| > |A|, then there is e ∈ B \ A such that A {e} is acyclic

Inductively: can extend A by adding |B| − |A| elements from B \ A

Sub-lemma: if C is acyclic, then |C| = n − #components(C).

Induction

When |B| > |A|, this means #components(B) < #components(A) Can’t be that all e ∈ B are “inside” connected components of A Some e ∈ B must “go between” connected components of A.

Matroids and The Greedy Algorithm 4/30

slide-18
SLIDE 18

Proof

Going back to proving the algorithm correct.

Inductive Hypothesis (i)

There is a maximum-weight acyclic forest B∗

i which “agrees” with the

algorithm’s choices on edges e1, . . . , ei. i.e. if Bi denotes the algorithm’s choice up to iteration i, then Bi = B∗

i

{e1, . . . , ei}

Matroids and The Greedy Algorithm 5/30

slide-19
SLIDE 19

Proof

Going back to proving the algorithm correct.

Inductive Hypothesis (i)

There is a maximum-weight acyclic forest B∗

i which “agrees” with the

algorithm’s choices on edges e1, . . . , ei. i.e. if Bi denotes the algorithm’s choice up to iteration i, then Bi = B∗

i

{e1, . . . , ei} Assume true for step i − 1, and consider step i

Matroids and The Greedy Algorithm 5/30

slide-20
SLIDE 20

Proof

Going back to proving the algorithm correct.

Inductive Hypothesis (i)

There is a maximum-weight acyclic forest B∗

i which “agrees” with the

algorithm’s choices on edges e1, . . . , ei. i.e. if Bi denotes the algorithm’s choice up to iteration i, then Bi = B∗

i

{e1, . . . , ei} Assume true for step i − 1, and consider step i If ei ∈ Bi, then Bi−1 {ei} is cyclic. Since Bi−1 ⊆ B∗

i−1, then

ei ∈ B∗

i−1 (Property 2). So take B∗ i = B∗ i−1.

Matroids and The Greedy Algorithm 5/30

slide-21
SLIDE 21

Proof

Going back to proving the algorithm correct.

Inductive Hypothesis (i)

There is a maximum-weight acyclic forest B∗

i which “agrees” with the

algorithm’s choices on edges e1, . . . , ei. i.e. if Bi denotes the algorithm’s choice up to iteration i, then Bi = B∗

i

{e1, . . . , ei} Assume true for step i − 1, and consider step i If ei ∈ Bi, then Bi−1 {ei} is cyclic. Since Bi−1 ⊆ B∗

i−1, then

ei ∈ B∗

i−1 (Property 2). So take B∗ i = B∗ i−1.

If ei ∈ Bi and ei ∈ B∗

i−1, build B∗ i by repeatedly extending Bi using

B∗

i−1 (property 3)

Recall that Bi = Bi−1 {ei} agrees with B∗

i−1 on e1, . . . , ei−1.

B∗

i = B∗ i−1

{ei} \ {ek} for some k > i B∗

i has weight no less than B∗ i−1, so optimal.

Matroids and The Greedy Algorithm 5/30

slide-22
SLIDE 22

To prove optimality of the greedy algorithm, all we needed was the following.

Matroids

A set system M = (X, I) is a matroid if

1

∅ ∈ I

2

If A ∈ I and B ⊆ A, then B ∈ I (Downward Closure)

3

If A, B ∈ I and |B| > |A|, then ∃ x ∈ B \ A such that A {x} ∈ I (Exchange Property)

Matroids and The Greedy Algorithm 6/30

slide-23
SLIDE 23

To prove optimality of the greedy algorithm, all we needed was the following.

Matroids

A set system M = (X, I) is a matroid if

1

∅ ∈ I

2

If A ∈ I and B ⊆ A, then B ∈ I (Downward Closure)

3

If A, B ∈ I and |B| > |A|, then ∃ x ∈ B \ A such that A {x} ∈ I (Exchange Property) Three conditions above are called the matroid axioms A ∈ I is called an independent set of the matroid.

Matroids and The Greedy Algorithm 6/30

slide-24
SLIDE 24

To prove optimality of the greedy algorithm, all we needed was the following.

Matroids

A set system M = (X, I) is a matroid if

1

∅ ∈ I

2

If A ∈ I and B ⊆ A, then B ∈ I (Downward Closure)

3

If A, B ∈ I and |B| > |A|, then ∃ x ∈ B \ A such that A {x} ∈ I (Exchange Property) Three conditions above are called the matroid axioms A ∈ I is called an independent set of the matroid. The matroid whose independent sets are acyclic subgraphs is called a graphic matroid Other examples abound!

Matroids and The Greedy Algorithm 6/30

slide-25
SLIDE 25

Example: Linear Matroid

X is a finite set of vectors {v1, . . . , vm} ⊆ Rn S ∈ I iff the vectors in S are linearly independent Downward closure: If a set of vectors is linearly independent, then every subset of it is also Exchange property: Can always extend a low-dimension independent set S by adding vectors from a higher dimension independent set T

Matroids and The Greedy Algorithm 7/30

slide-26
SLIDE 26

Example: Uniform Matroid

X is an arbitrary finite set {1, . . . , n}. S ∈ I iff |S| ≤ k. Downward closure: If a set S has |S| ≤ k then the same holds for T ⊆ S. Exchange property: If |S| < |T| ≤ k, then there is an element in T \ S, and we can add it to S while preserving independence.

Matroids and The Greedy Algorithm 8/30

slide-27
SLIDE 27

Example: Partition Matroid

X is the disjoint union of classes X1, . . . , Xm Each class Xj has an upperbound kj. S ∈ I iff |S Xj| ≤ kj for all j This is the “disjoint union” of a number of uniform matroids

Matroids and The Greedy Algorithm 9/30

slide-28
SLIDE 28

Example: Transversal Matroid

Described by a bipartite graph E ⊆ L × R X = L S ∈ I iff there is a bipartite matching which matches S Downward closure: If we can match S, then we can match T ⊆ S. Exchange property: If |T| > |S| is matchable, then an augmenting path/alternating path extends the matching of S to some x ∈ T \ S.

Matroids and The Greedy Algorithm 10/30

slide-29
SLIDE 29

The Greedy Algorithm on Matroids

The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

Theorem

The greedy algorithm returns the maximum weight feasible set for every choice of weights if and only if the set system (X, I) is a matroid. We already saw the “if” direction. We will skip “only if”.

Matroids and The Greedy Algorithm 11/30

slide-30
SLIDE 30

The Greedy Algorithm on Matroids

The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

Matroids and The Greedy Algorithm 12/30

slide-31
SLIDE 31

The Greedy Algorithm on Matroids

The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

To implement this, we need an independence oracle for step 3

A subroutine which checks whether S ∈ I or not.

Runs in time O(n log n) + nT, where T is runtime of the independence oracle.

Matroids and The Greedy Algorithm 12/30

slide-32
SLIDE 32

The Greedy Algorithm on Matroids

The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

To implement this, we need an independence oracle for step 3

A subroutine which checks whether S ∈ I or not.

Runs in time O(n log n) + nT, where T is runtime of the independence oracle. For most “natural” matroids, independence oracle is easy to implement efficiently

Graphic matroid Linear matroid Uniform/partition matroid Transversal matroid

Matroids and The Greedy Algorithm 12/30

slide-33
SLIDE 33

Outline

1

Matroids and The Greedy Algorithm

2

Basic Terminology and Properties

3

The Matroid Polytope

4

Matroid Intersection

slide-34
SLIDE 34

Independent Sets, Bases, and Circuits

Consider a matroid M = (X, I). An independent set is a set A ∈ I.

Basic Terminology and Properties 13/30

slide-35
SLIDE 35

Independent Sets, Bases, and Circuits

Consider a matroid M = (X, I). An independent set is a set A ∈ I. A base of M is a maximal independent set

Basic Terminology and Properties 13/30

slide-36
SLIDE 36

Independent Sets, Bases, and Circuits

Consider a matroid M = (X, I). An independent set is a set A ∈ I. A base of M is a maximal independent set A base of S ⊆ X in M is maximal independent subset of S

I.e. a base of the matroid after deleting S.

Basic Terminology and Properties 13/30

slide-37
SLIDE 37

Independent Sets, Bases, and Circuits

Consider a matroid M = (X, I). An independent set is a set A ∈ I. A base of M is a maximal independent set A base of S ⊆ X in M is maximal independent subset of S

I.e. a base of the matroid after deleting S.

A circuit S ⊆ X is a minimal dependent subset of X

Basic Terminology and Properties 13/30

slide-38
SLIDE 38

Independent Sets, Bases, and Circuits

Consider a matroid M = (X, I). An independent set is a set A ∈ I. A base of M is a maximal independent set A base of S ⊆ X in M is maximal independent subset of S

I.e. a base of the matroid after deleting S.

A circuit S ⊆ X is a minimal dependent subset of X What are these for: Graphic matroid Linear matroid Uniform matroid Partition matroid Transversal matroid

Basic Terminology and Properties 13/30

slide-39
SLIDE 39

Rank

Lemma

For every S ⊆ X, all bases of S in M have the same cardinality. Special case of S = X: all bases of M have the same cardinality. Should remind you of vector space dimension

Basic Terminology and Properties 14/30

slide-40
SLIDE 40

Rank

Lemma

For every S ⊆ X, all bases of S in M have the same cardinality. Special case of S = X: all bases of M have the same cardinality. Should remind you of vector space dimension Follows directly from the exchange property.

Basic Terminology and Properties 14/30

slide-41
SLIDE 41

Rank

Lemma

For every S ⊆ X, all bases of S in M have the same cardinality. Special case of S = X: all bases of M have the same cardinality. Should remind you of vector space dimension Follows directly from the exchange property. The following analogue of vector space dimension is well-defined.

Rank

The Rank of S ⊆ X in M is the size of the maximal independent subsets (i.e. bases) of S. The rank of M is the size of the bases of M. The function rankM(S) : 2X → N is called the rank function of M.

Basic Terminology and Properties 14/30

slide-42
SLIDE 42

Rank

Lemma

For every S ⊆ X, all bases of S in M have the same cardinality. Special case of S = X: all bases of M have the same cardinality. Should remind you of vector space dimension Follows directly from the exchange property. The following analogue of vector space dimension is well-defined.

Rank

The Rank of S ⊆ X in M is the size of the maximal independent subsets (i.e. bases) of S. The rank of M is the size of the bases of M. The function rankM(S) : 2X → N is called the rank function of M. E.g.: Graphic matroid, linear matroid, transversal matroid

Basic Terminology and Properties 14/30

slide-43
SLIDE 43

Span

Span

Given S ⊆ X, span(S) = {i ∈ X : rank(S) = rank(S {i})} i.e. S itself, plus the elements which would form a circuit if added to a base of S e.g.: Linear matroid, graphic matroid, uniform matroid.

Basic Terminology and Properties 15/30

slide-44
SLIDE 44

Span

Span

Given S ⊆ X, span(S) = {i ∈ X : rank(S) = rank(S {i})} i.e. S itself, plus the elements which would form a circuit if added to a base of S e.g.: Linear matroid, graphic matroid, uniform matroid.

Observation

i ∈ {1, . . . , n} is selected by the greedy algorithm iff i ∈ span({1, . . . , i − 1})

Basic Terminology and Properties 15/30

slide-45
SLIDE 45

Operations preserving Matroidness

Given M = (X, I), consider the following operations: Deletion: For B ⊆ X, we define M \ B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X ′ : S ∈ I
  • Graphic: deleting edges from the graph

Basic Terminology and Properties 16/30

slide-46
SLIDE 46

Operations preserving Matroidness

Given M = (X, I), consider the following operations: Deletion: For B ⊆ X, we define M \ B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X ′ : S ∈ I
  • Graphic: deleting edges from the graph

Restriction: M|B = M \ B, where B is shorthand for X \ B.

Basic Terminology and Properties 16/30

slide-47
SLIDE 47

Operations preserving Matroidness

Given M = (X, I), consider the following operations: Deletion: For B ⊆ X, we define M \ B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X ′ : S ∈ I
  • Graphic: deleting edges from the graph

Restriction: M|B = M \ B, where B is shorthand for X \ B. Disjoint union: Given M1 = (X1, I2) and M2 = (X2, I2) with X1 X2 = ∅, we define M1 ⊕ M2 = (X1

  • X2,
  • A1
  • A2 : A1 ∈ I1, A2 ∈ I2
  • )

Graphic: combining two node-disjoint graphs

Basic Terminology and Properties 16/30

slide-48
SLIDE 48

Operations preserving Matroidness

Given M = (X, I), consider the following operations: Deletion: For B ⊆ X, we define M \ B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X ′ : S ∈ I
  • Graphic: deleting edges from the graph

Restriction: M|B = M \ B, where B is shorthand for X \ B. Disjoint union: Given M1 = (X1, I2) and M2 = (X2, I2) with X1 X2 = ∅, we define M1 ⊕ M2 = (X1

  • X2,
  • A1
  • A2 : A1 ∈ I1, A2 ∈ I2
  • )

Graphic: combining two node-disjoint graphs

Contraction: Given B ⊆ X, let M/B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X′ : B
  • S ∈ I
  • i.e. Think of B as always being included

Graphic: contract the connected components of B

Basic Terminology and Properties 16/30

slide-49
SLIDE 49

Operations preserving Matroidness

Given M = (X, I), consider the following operations: Deletion: For B ⊆ X, we define M \ B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X ′ : S ∈ I
  • Graphic: deleting edges from the graph

Restriction: M|B = M \ B, where B is shorthand for X \ B. Disjoint union: Given M1 = (X1, I2) and M2 = (X2, I2) with X1 X2 = ∅, we define M1 ⊕ M2 = (X1

  • X2,
  • A1
  • A2 : A1 ∈ I1, A2 ∈ I2
  • )

Graphic: combining two node-disjoint graphs

Contraction: Given B ⊆ X, let M/B = (X ′, I′) with X ′ = X \ B, I′ =

  • S ⊆ X′ : B
  • S ∈ I
  • i.e. Think of B as always being included

Graphic: contract the connected components of B

Others: truncation, dual, union...

Basic Terminology and Properties 16/30

slide-50
SLIDE 50

Matroids as an Algebra of Tractable Discrete Problems

Optimization over matroids is “easy”, in the same way that

  • ptimization over convex sets is “easy”

Basic Terminology and Properties 17/30

slide-51
SLIDE 51

Matroids as an Algebra of Tractable Discrete Problems

Optimization over matroids is “easy”, in the same way that

  • ptimization over convex sets is “easy”

Operations preserving set convexity are analogous to operations preserving matroid structure

Basic Terminology and Properties 17/30

slide-52
SLIDE 52

Matroids as an Algebra of Tractable Discrete Problems

Optimization over matroids is “easy”, in the same way that

  • ptimization over convex sets is “easy”

Operations preserving set convexity are analogous to operations preserving matroid structure Arguably, matroids and submodular functions are discrete analogues of convex sets and convex functions, respectively.

Less exhaustive

Basic Terminology and Properties 17/30

slide-53
SLIDE 53

Outline

1

Matroids and The Greedy Algorithm

2

Basic Terminology and Properties

3

The Matroid Polytope

4

Matroid Intersection

slide-54
SLIDE 54

Viewing Matroids Polyhedrally

As is often the case with tractable discrete problems, we can view their feasible set as a polyhedron

The Matroid Polytope 18/30

slide-55
SLIDE 55

Viewing Matroids Polyhedrally

As is often the case with tractable discrete problems, we can view their feasible set as a polyhedron For M = (X, I), the convex hull of independent sets can be written as a polytope in a natural way

The polytope is “solvable”, and admits a polytime separation oracle

The Matroid Polytope 18/30

slide-56
SLIDE 56

Viewing Matroids Polyhedrally

As is often the case with tractable discrete problems, we can view their feasible set as a polyhedron For M = (X, I), the convex hull of independent sets can be written as a polytope in a natural way

The polytope is “solvable”, and admits a polytime separation oracle

This perspective will be crucial for more advanced applications of matroids

Optimization of linear functions over matroid intersections Optimization of submodular functions over matroids . . .

The Matroid Polytope 18/30

slide-57
SLIDE 57

The Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. Assigns a variable xi to every element i of the ground set Each feasible x is a fractional subset of X

0 ≤ xi ≤ 1 since the rank of a singleton is at most 1.

The Matroid Polytope 19/30

slide-58
SLIDE 58

The Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. Assigns a variable xi to every element i of the ground set Each feasible x is a fractional subset of X

0 ≤ xi ≤ 1 since the rank of a singleton is at most 1.

The 0-1 indicator vector xI for independent set I ∈ I is in the above polytope

The Matroid Polytope 19/30

slide-59
SLIDE 59

The Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. Assigns a variable xi to every element i of the ground set Each feasible x is a fractional subset of X

0 ≤ xi ≤ 1 since the rank of a singleton is at most 1.

The 0-1 indicator vector xI for independent set I ∈ I is in the above polytope In fact, we will show that P(M) is precisely the convex hull of independent sets I

The Matroid Polytope 19/30

slide-60
SLIDE 60

The Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. Assigns a variable xi to every element i of the ground set Each feasible x is a fractional subset of X

0 ≤ xi ≤ 1 since the rank of a singleton is at most 1.

The 0-1 indicator vector xI for independent set I ∈ I is in the above polytope In fact, we will show that P(M) is precisely the convex hull of independent sets I Note: polytope has 2|X| constraints.

The Matroid Polytope 19/30

slide-61
SLIDE 61

Integrality of the Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

P(M) = convexhull {xI : I ∈ I}

The Matroid Polytope 20/30

slide-62
SLIDE 62

Integrality of the Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

P(M) = convexhull {xI : I ∈ I} It is clear that P(M) ⊇ convexhull {xI : I ∈ I}

The Matroid Polytope 20/30

slide-63
SLIDE 63

Integrality of the Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

P(M) = convexhull {xI : I ∈ I} It is clear that P(M) ⊇ convexhull {xI : I ∈ I} To show that P(M) ⊆ convexhull {xI : I ∈ I}, we will show that every vertex of P(M) equals xI for some I ∈ I.

The Matroid Polytope 20/30

slide-64
SLIDE 64

Integrality of the Matroid Polytope

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

P(M) = convexhull {xI : I ∈ I} It is clear that P(M) ⊇ convexhull {xI : I ∈ I} To show that P(M) ⊆ convexhull {xI : I ∈ I}, we will show that every vertex of P(M) equals xI for some I ∈ I. Recall: suffices to show that every linear function wT x is maximized over P(M) at some xI for I ∈ I.

The Matroid Polytope 20/30

slide-65
SLIDE 65

Recall:The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

Theorem

The greedy algorithm returns the maximum weight set for every choice

  • f weights if and only if the set system (X, I) is a matroid.

The Matroid Polytope 21/30

slide-66
SLIDE 66

Recall:The Greedy Algorithm

1

B ← ∅

2

Sort nonnegative elements of X in decreasing order of weight

{1, . . . , n} with w1 ≥ w2, ≥ . . . ≥ wn ≥ 0.

3

For i = 1 to n:

if B {i} ∈ I, add i to B.

Theorem

The greedy algorithm returns the maximum weight set for every choice

  • f weights if and only if the set system (X, I) is a matroid.

We can think of the greedy algorithm as computing the indicator vector x∗ = xB ∈ P(M) We will show that x∗ maximizes w⊺x over x ∈ P(M).

The Matroid Polytope 21/30

slide-67
SLIDE 67

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1.

The Matroid Polytope 22/30

slide-68
SLIDE 68

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1. Therefore, x∗

i = rank[1 : i] − rank[1 : i − 1] for nonneg-weight i,

and x∗

i = 0 for negative-weight i.

  • i∈X

wix∗

i = n

  • i=1

wix∗

i = n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1])

The Matroid Polytope 22/30

slide-69
SLIDE 69

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1. Therefore, x∗

i = rank[1 : i] − rank[1 : i − 1] for nonneg-weight i,

and x∗

i = 0 for negative-weight i.

  • i∈X

wix∗

i = n

  • i=1

wix∗

i = n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1]) Consider an arbitrary x ∈ P(M)

  • i∈X

wixi ≤

n

  • i=1

wixi =

The Matroid Polytope 22/30

slide-70
SLIDE 70

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1. Therefore, x∗

i = rank[1 : i] − rank[1 : i − 1] for nonneg-weight i,

and x∗

i = 0 for negative-weight i.

  • i∈X

wix∗

i = n

  • i=1

wix∗

i = n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1]) Consider an arbitrary x ∈ P(M)

  • i∈X

wixi ≤

n

  • i=1

wixi =

n

  • i=1

(wi − wi+1)x(1 : i)

The Matroid Polytope 22/30

slide-71
SLIDE 71

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1. Therefore, x∗

i = rank[1 : i] − rank[1 : i − 1] for nonneg-weight i,

and x∗

i = 0 for negative-weight i.

  • i∈X

wix∗

i = n

  • i=1

wix∗

i = n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1]) Consider an arbitrary x ∈ P(M)

  • i∈X

wixi ≤

n

  • i=1

wixi =

n

  • i=1

(wi − wi+1)x(1 : i) ≤

n

  • i=1

(wi − wi+1)rank(1 : i)

The Matroid Polytope 22/30

slide-72
SLIDE 72

Recall: Observation

i ∈ {1, . . . , n} selected by greedy algorithm iff i ∈ span({1, . . . , i − 1}) i.e. if rank[1 : i] − rank[1 : i − 1] = 1. Therefore, x∗

i = rank[1 : i] − rank[1 : i − 1] for nonneg-weight i,

and x∗

i = 0 for negative-weight i.

  • i∈X

wix∗

i = n

  • i=1

wix∗

i = n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1]) Consider an arbitrary x ∈ P(M)

  • i∈X

wixi ≤

n

  • i=1

wixi =

n

  • i=1

(wi − wi+1)x(1 : i) ≤

n

  • i=1

(wi − wi+1)rank(1 : i) =

n

  • i=1

wi(rank[1 : i] − rank[1 : i − 1])

The Matroid Polytope 22/30

slide-73
SLIDE 73

The Matroid Base Polytope

The matroid polytope is the convex hull of independent sets

Graphic: convex hull of forests

What if we wish to consider only “full-rank” sets?

Graphic: spanning trees

The Matroid Polytope 23/30

slide-74
SLIDE 74

The Matroid Base Polytope

The matroid polytope is the convex hull of independent sets

Graphic: convex hull of forests

What if we wish to consider only “full-rank” sets?

Graphic: spanning trees

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X. The 0-1 indicator vector xB for a base B of M is in above polytope

The Matroid Polytope 23/30

slide-75
SLIDE 75

The Matroid Base Polytope

The matroid polytope is the convex hull of independent sets

Graphic: convex hull of forests

What if we wish to consider only “full-rank” sets?

Graphic: spanning trees

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X. The 0-1 indicator vector xB for a base B of M is in above polytope In fact, we will show that Pbase(M) is precisely the convex hull of bases of M

The Matroid Polytope 23/30

slide-76
SLIDE 76

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X.

Theorem

Pbase(M) = convexhull {xB : B is a base of M}

The Matroid Polytope 24/30

slide-77
SLIDE 77

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X.

Theorem

Pbase(M) = convexhull {xB : B is a base of M} As before, one direction is obvious: Pbase(M) ⊇ convexhull {xB : B is a base of M}

The Matroid Polytope 24/30

slide-78
SLIDE 78

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X.

Theorem

Pbase(M) = convexhull {xB : B is a base of M} As before, one direction is obvious: Pbase(M) ⊇ convexhull {xB : B is a base of M} For the other direction, take x ∈ Pbase(M)

The Matroid Polytope 24/30

slide-79
SLIDE 79

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X.

Theorem

Pbase(M) = convexhull {xB : B is a base of M} As before, one direction is obvious: Pbase(M) ⊇ convexhull {xB : B is a base of M} For the other direction, take x ∈ Pbase(M) Since x ∈ P(M), x is a convex combination of independent sets I1, . . . , Ik of M.

The Matroid Polytope 24/30

slide-80
SLIDE 80

Polytope Pbase(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X.

  • i∈X

xi = rank(M) xi ≥ 0, for i ∈ X.

Theorem

Pbase(M) = convexhull {xB : B is a base of M} As before, one direction is obvious: Pbase(M) ⊇ convexhull {xB : B is a base of M} For the other direction, take x ∈ Pbase(M) Since x ∈ P(M), x is a convex combination of independent sets I1, . . . , Ik of M. Since ||x||1 = rank(M), and ||xIℓ||1 ≤ rank(M) for all ℓ, it must be that ||xI1||1 = ||xI2||1 = . . . = ||xIk||1 = rank(M)

The Matroid Polytope 24/30

slide-81
SLIDE 81

Solvability of Matroid Polytopes

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. When given an independence oracle for M, we can maximize linear functions over P(M) in O(n log n + nT) time, where T is runtime of independence oracle

By integrality, same as finding max-weight independent set of M.

The Matroid Polytope 25/30

slide-82
SLIDE 82

Solvability of Matroid Polytopes

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. When given an independence oracle for M, we can maximize linear functions over P(M) in O(n log n + nT) time, where T is runtime of independence oracle

By integrality, same as finding max-weight independent set of M.

Therefore, by equivalence of separation and optimization, can also implement a separation oracle for P(M) in poly(n, T) time.

The Matroid Polytope 25/30

slide-83
SLIDE 83

Solvability of Matroid Polytopes

Polytope P(M) for M = (X, I)

  • i∈S

xi ≤ rankM(S), for S ⊆ X. xi ≥ 0, for i ∈ X. When given an independence oracle for M, we can maximize linear functions over P(M) in O(n log n + nT) time, where T is runtime of independence oracle

By integrality, same as finding max-weight independent set of M.

Therefore, by equivalence of separation and optimization, can also implement a separation oracle for P(M) in poly(n, T) time. A more direct proof: reduces to submodular function minimization

rankM is a submodular set function.

The Matroid Polytope 25/30

slide-84
SLIDE 84

Outline

1

Matroids and The Greedy Algorithm

2

Basic Terminology and Properties

3

The Matroid Polytope

4

Matroid Intersection

slide-85
SLIDE 85

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection 26/30

slide-86
SLIDE 86

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2).

Matroid Intersection 26/30

slide-87
SLIDE 87

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). i.e. a set is feasible if it is independent in both matroids

Matroid Intersection 26/30

slide-88
SLIDE 88

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). i.e. a set is feasible if it is independent in both matroids In general, does not produce a matroid

Matroid Intersection 26/30

slide-89
SLIDE 89

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). i.e. a set is feasible if it is independent in both matroids In general, does not produce a matroid Nevertheless, it will turn out that maximizing linear functions over a matroid intersection is tractable

Matroid Intersection 26/30

slide-90
SLIDE 90

Matroid Intersection

Optimization of linear functions over matroids is tractable Matroid operations provide an algebra for constructing new matroids from old We will look at one operation on matroids which does not produce a matroid, but nevertheless produces a solvable problem.

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). i.e. a set is feasible if it is independent in both matroids In general, does not produce a matroid Nevertheless, it will turn out that maximizing linear functions over a matroid intersection is tractable However, maximizing linear functions over the intersection of 3 or more matroids is NP-hard

Matroid Intersection 26/30

slide-91
SLIDE 91

Examples

Bipartite Matching

Given a bipartite graph G, a set of edges F is a bipartite matching if and only if each node is incident on at most one edge in F.

Matroid Intersection 27/30

slide-92
SLIDE 92

Examples

Bipartite Matching

Given a bipartite graph G, a set of edges F is a bipartite matching if and only if each node is incident on at most one edge in F.

Arborescence

Given a directed graph G, a set of edges is an r-arborescence if it is a tree directed away from the root r.

Matroid Intersection 27/30

slide-93
SLIDE 93

Examples

Bipartite Matching

Given a bipartite graph G, a set of edges F is a bipartite matching if and only if each node is incident on at most one edge in F.

Arborescence

Given a directed graph G, a set of edges is an r-arborescence if it is a tree directed away from the root r. Others: colorful spanning trees, orientations, . . .

Matroid Intersection 27/30

slide-94
SLIDE 94

The Matroid Intersection Polytope

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). Optimizing a modular function over M1 M2 is equivalent to

  • ptimizing a linear function over convexhull {xI : I ∈ I1

I2}. As it turns out, this is a solvable polytope.

Theorem

P(M1) P(M2) = convexhull {xI : I ∈ I1 I2}

Matroid Intersection 28/30

slide-95
SLIDE 95

The Matroid Intersection Polytope

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). Optimizing a modular function over M1 M2 is equivalent to

  • ptimizing a linear function over convexhull {xI : I ∈ I1

I2}. As it turns out, this is a solvable polytope.

Theorem

P(M1) P(M2) = convexhull {xI : I ∈ I1 I2} One direction is obvious: P(M1) P(M2) ⊇ convexhull {xI : I ∈ I1 I2}

Matroid Intersection 28/30

slide-96
SLIDE 96

The Matroid Intersection Polytope

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). Optimizing a modular function over M1 M2 is equivalent to

  • ptimizing a linear function over convexhull {xI : I ∈ I1

I2}. As it turns out, this is a solvable polytope.

Theorem

P(M1) P(M2) = convexhull {xI : I ∈ I1 I2} One direction is obvious: P(M1) P(M2) ⊇ convexhull {xI : I ∈ I1 I2} The other direction is not so obvious

Matroid Intersection 28/30

slide-97
SLIDE 97

The Matroid Intersection Polytope

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). Optimizing a modular function over M1 M2 is equivalent to

  • ptimizing a linear function over convexhull {xI : I ∈ I1

I2}. As it turns out, this is a solvable polytope.

Theorem

P(M1) P(M2) = convexhull {xI : I ∈ I1 I2} One direction is obvious: P(M1) P(M2) ⊇ convexhull {xI : I ∈ I1 I2} The other direction is not so obvious

It is conceivable that P(M1) P(M2) has fractional vertices

Matroid Intersection 28/30

slide-98
SLIDE 98

The Matroid Intersection Polytope

Matroid Intersection

Given matroids M1 = (X, I1) and M2 = (X, I2) on the same ground set, we define the set system M1 M2 = (X, I1 I2). Optimizing a modular function over M1 M2 is equivalent to

  • ptimizing a linear function over convexhull {xI : I ∈ I1

I2}. As it turns out, this is a solvable polytope.

Theorem

P(M1) P(M2) = convexhull {xI : I ∈ I1 I2} One direction is obvious: P(M1) P(M2) ⊇ convexhull {xI : I ∈ I1 I2} The other direction is not so obvious

It is conceivable that P(M1) P(M2) has fractional vertices

Nevertheless, it is true but hard to prove . . .

Matroid Intersection 28/30

slide-99
SLIDE 99

Optimization over Matroid Intersections

Optimization over Matroid Intersection M1 M2

maximize

  • i∈X wixi

subject to

  • i∈S

xi ≤ rankM1(S), for S ⊆ X.

  • i∈S

xi ≤ rankM2(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Matroid Intersection 29/30

slide-100
SLIDE 100

Optimization over Matroid Intersections

Optimization over Matroid Intersection M1 M2

maximize

  • i∈X wixi

subject to

  • i∈S

xi ≤ rankM1(S), for S ⊆ X.

  • i∈S

xi ≤ rankM2(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

Given independence oracles to both matroids M1 and M2, there is an algorithm for finding the maximum weight set in M1 M2 which runs in poly(n) time.

Matroid Intersection 29/30

slide-101
SLIDE 101

Optimization over Matroid Intersections

Optimization over Matroid Intersection M1 M2

maximize

  • i∈X wixi

subject to

  • i∈S

xi ≤ rankM1(S), for S ⊆ X.

  • i∈S

xi ≤ rankM2(S), for S ⊆ X. xi ≥ 0, for i ∈ X.

Theorem

Given independence oracles to both matroids M1 and M2, there is an algorithm for finding the maximum weight set in M1 M2 which runs in poly(n) time. Proof: Using equivalence of separation and optimization, and the fact that all coefficients in the LP have poly(n) bits.

Matroid Intersection 29/30

slide-102
SLIDE 102

NP-hardness of 3-way Matroid Intersection

By a reduction from Hamiltonian Path in directed graphs

Matroid Intersection 30/30