discrete optimization lecture 4 – part 1 m. pawan kumar [email protected] slides available online

145
Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar [email protected] Slides available online http://mpawankumar.info

Upload: andrew-quinn

Post on 04-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Discrete OptimizationLecture 4 – Part 1

M. Pawan Kumar

[email protected]

Slides available online http://mpawankumar.info

Page 2: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€1000

€400

€700

Steal at most 2 items

Greedy Algorithm

€1000

Page 3: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€400

€700

Steal at most 1 item

Greedy Algorithm

€1000€1700

Page 4: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€400

Steal at most 0 items

Greedy Algorithm

€1700

Success

Page 5: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€1000

€400

€700

2 kg

1 kg

1.5 kg

Steal at most 2.5 kg

Greedy Algorithm (Most Expensive)

€1000

2 kg

Page 6: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€400

€700

1 kg

1.5 kg

Steal at most 0.5 kg

Greedy Algorithm (Most Expensive)

€1000

2 kg

Failure

Page 7: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€1000

€400

€700

2 kg

1 kg

1.5 kg

Steal at most 2.5 kg

Greedy Algorithm (Best Ratio)

€1000

2 kg

Page 8: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

€400

€700

1 kg

1.5 kg

Steal at most 0.5 kg

Greedy Algorithm (Best Ratio)

€1000

2 kg

Failure

Why?

Page 9: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids

• Dual Matroid

Outline

Page 10: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

Set S

Non-empty collection of subsets I

Property: If X I and Y X, then Y ⊆ I

(S, I) is a subset system

Page 11: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Hereditary Property

Set S

Non-empty collection of subsets I

Property: If X I and Y X, then Y ⊆ I

(S, I) is a subset system

Page 12: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Example

Set S = {1,2,…,m}

I = Set of all X S such that |X| ≤ k ⊆

Is (S, I) a subset system?

Yes

Page 13: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Example

Set S = {1,2,…,m}, w ≥ 0

I = Set of all X S such that Σ⊆ sX w(s) ≤ W

Is (S, I) a subset system

Yes Not true if w can be negative

Page 14: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matroid

Subset system (S, I)

Property: If X, Y I and |X| < |Y| then

there exists a s Y\X

M = (S, I) is a matroid

such that X {s} ∪ I

Page 15: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Augmentation/Exchange Property

Subset system (S, I)

Property: If X, Y I and |X| < |Y| then

there exists a s Y\X

M = (S, I) is a matroid

such that X {s} ∪ I

Page 16: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Example

Set S = {1,2,…,m}

I = Set of all X S such that |X| ≤ k ⊆

Is M = (S, I) a matroid? Yes

Uniform matroid

Page 17: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Example

Set S = {1,2,…,m}, w ≥ 0

I = Set of all X S such that Σ⊆ sX w(s) ≤ W

Is M = (S, I) a matroid? No

Coincidence? No

Page 18: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matroids

(S, I) is a matroid

⟹(S, I) admits an optimal greedy algorithm

Page 19: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matroids

(S, I) is a matroid

⟹(S, I) admits an optimal greedy algorithm

Why?

We will find out by the end of the lecture

Page 20: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids– Connection to Linear Algebra– Connection to Graph Theory

• Examples of Matroids

• Dual Matroid

Outline

Page 21: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Matrix A Subset of columns {a1,a2,…,ak}

Linearly independent (LI)?

There exists no α ≠ 0 such that Σi αi ai = 0

Page 22: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Matrix A Subset of columns {a1,a2,…,ak}

Linearly independent (LI)?

There exists no α ≠ 0 such that Σi αi ai = 0

Page 23: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Matrix A Subset of columns {a1,a2,…,ak}

Linearly independent (LI)?

There exists no α ≠ 0 such that Σi αi ai = 0

Page 24: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Matrix A Subset of columns {a1,a2,…,ak}

Linearly independent (LI)?

There exists no α ≠ 0 such that Σi αi ai = 0

Page 25: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Matrix A Subset of columns {a1,a2,…,ak}

Subset of LI columns are LI

Define a subset system

Page 26: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Is M = (S, I) a matroid?

Page 27: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Answer

Yes

Matroids connected to Linear Algebra

Inspires some naming conventions

Linear Matroid

Page 28: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Independent Set

Matroid M = (S, I)

X S is independent if X ⊆ I

X S is dependent if X ⊆ ∉ I

Page 29: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Independent Sets of Linear Matroid

X S is independent if⊆

column vectors A(X) are linearly independent

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

Page 30: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Independent Sets of Uniform Matroid

X S is independent if⊆

|X| ≤ k

S = {1,2,…,m}

X S⊆

Page 31: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset

Matroid M = (S, I)

X is a base of U S if it satisfies three properties⊆

(i) X U⊆ (ii) X ∈ I

(iii) There exists no U’∈I, such that X U’ U⊂ ⊆

subset of Uindependent

Inclusionwise maximal

Page 32: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

Is X a base of U? ✗

Page 33: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

✗Is X a base of U?

Page 34: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

✓Is X a base of U?

Page 35: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

✗Is X a base of U?

Page 36: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

✓Is X a base of U?

Page 37: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

Is X a base of U? ✓

Page 38: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

Base of U?

Page 39: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Linear Matroid)

X S is base of U if⊆

A(X) is a base of A(U)

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 40: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Subset (Uniform Matroid)

X S is base of U if⊆

X U and |X| = min{|U|,k}⊆

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 41: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

An Interesting Property

M = (S, I) is a subset system

M is a matroid

For all U S, all bases of U have same size⊆⟹

Proof?

Page 42: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

An Interesting Property

M = (S, I) is a subset system

M is a matroid

For all U S, all bases of U have same size⊆⟹

Proof?

Page 43: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

An Interesting Property

M = (S, I) is a subset system

M is a matroid

For all U S, all bases of U have same size⊆

An alternate definition for matroids

Page 44: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Subset

Matroid M = (S, I)

U S⊆

rM(U) = Size of a base of U

Page 45: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

rM(U)? 2

Page 46: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Subset (Linear Matroid)

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

U

rM(U)? 1

Page 47: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Subset (Linear Matroid)

rM(U) is equal to

rank of the matrix with columns A(U)

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 48: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Subset (Uniform Matroid)

rM(U) is equal to

min{|U|,k}

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 49: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Matroid

Matroid M = (S, I)

X is a base S

Page 50: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Is X a base? ✗

Page 51: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Is X a base? ✓

Page 52: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Linear Matroid

X S is base of the matroid if⊆

A(X) is a base of A

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 53: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Uniform Matroid

X S is a base of the matroid if⊆

|X| = min{|S|,k} Assume k ≤ |S|

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 54: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Base of a Uniform Matroid

X S is a base of the matroid if⊆

|X| = k

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Assume k ≤ |S|

Page 55: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Matroid

Matroid M = (S, I)

rM = Rank of S

Page 56: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

rM? 3

Page 57: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Linear Matroid

rM is equal to

rank of the matrix A

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 58: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Rank of a Uniform Matroid

rM is equal to

k

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 59: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subset

Matroid M = (S, I)

U S⊆

U is spanning if it contains a base of the matroid

Page 60: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

True or False

A base is an inclusionwise minimal spanning subset

TRUE

Page 61: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subsets of Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Is X a spanning subset? ✗

Page 62: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subsets of Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Is X a spanning subset? ✓

Page 63: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subsets of Linear Matroid

1

2

3

4

2

4

6

8

1

1

1

1

2

2

2

2

3

3

3

3

1

2

1

2

2

4

2

4

1

2

1

2

2

4

2

4

Is X a spanning subset? ✓

Page 64: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subsets of Linear Matroid

U S is spanning subset of the matroid if⊆

A(U) spans A

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 65: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Spanning Subsets of Uniform Matroid

U S is a spanning subset of the matroid if⊆

|X| ≥ k

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 66: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Recap

What is a subset system?

Bases of a subset of a matroid?

Rank rM(U) of a subset U?

What is a matroid?

Spanning subset?

Page 67: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids– Connection to Linear Algebra– Connection to Graph Theory

• Examples of Matroids

• Dual Matroid

Outline

Page 68: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Undirected Graph

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Parallel edges Loop

Page 69: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Walk

G = (V, E)

Sequence P = (v0,e1,v1,…,ek,vk), ei = (vi-1,vi)

v1

v0

v2

v6

v4

v5

v3

v0, (v0,v4), v4, (v4,v2), v2, (v2,v5), v5, (v5,v4), v4

V = {v1,…,vn}

E = {e1,…,em}

Page 70: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Path

G = (V, E)

Sequence P = (v0,e1,v1,…,ek,vk), ei = (vi-1,vi)

v1

v0

v2

v6

v4

v5

v3

Vertices v0,v1,…,vk are distinct

V = {v1,…,vn}

E = {e1,…,em}

Page 71: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Connected Graph

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

There exists a walk from one vertex to another

Connected?

Page 72: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

k-Vertex-Connected Graph

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Remove any i < k vertices. Graph is connected.

2-Vertex-Connected? 3-Vertex-Connected?

Page 73: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

v1

v0

v2

v6

v4

v5

v3

Circuit = (v0,e1,v1,…,ek,vk), ei = (vi-1,vi)

v0 = vk Vertices v0,v1,…,vk-1 are distinct

1-circuit? 2-circuit?

Page 74: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Forest

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Subset of edges that contain no circuit

Page 75: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Forest

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Subset of edges that contain no circuit

Forest?

Page 76: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Forest

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Subset of edges that contain no circuit

Forest?

Page 77: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Forest

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Subset of edges that contain no circuit

Forest?

Page 78: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Forest

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

Define a subset system on forests

Subset of a forest is a forest

Page 79: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

V = {v1,…,vn}

E = {e1,…,em}

S = E X S⊆

X∈I if X is a forest

Is M = (S, I) a matroid?

Page 80: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Answer

Yes

Matroids connected to Graph Theory

Inspires some naming conventions

Cycle Matroid

Graphic matroids (isomorphic to cycle matroid)

Page 81: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit

Matroid M = (S, I)

X is a circuit if it satisfies three properties

(i) X S⊆ (ii) X ∉ I

(iii) There exists no Y ∉ I, such that Y X⊂

subset of Sdependent

Inclusionwise minimal

Page 82: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Graphic Matroid

v1

v0

v2

v6

v4

v5

v3

Is this a circuit?

Page 83: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Graphic Matroid

v1

v0

v2

v6

v4

v5

v3

Is this a circuit?

Page 84: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Graphic Matroid

v1

v0

v2

v6

v4

v5

v3

Is this a circuit?

Page 85: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

X S is a circuit if⊆

X is a circuit of G

Page 86: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Uniform Matroid

X S is a circuit if⊆

|X| = k+1

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 87: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Linear Matroid

X S is a circuit if⊆

A(X) = {a base of A } {any other column of A}∪

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 88: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Circuit of a Linear Matroid

X S is a circuit if⊆

A(X) = two linearly dependent columns

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 89: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Loop

Matroid M = (S, I)

Element s S∈

{s} is a circuit

Page 90: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Loop of a Graphic Matroid

v1

v0

v2

v6

v4

v5

v3

Any loops in the matroid?

Page 91: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Loop of a Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

s S is a loop if∈

{s} is a loop of G

Page 92: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Loop of a Uniform Matroid

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

s S is a loop if∈

k = 0

Page 93: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Loop of a Linear Matroid

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

s S is a loop if∈

A(s) = 0

Page 94: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Parallel Elements

Matroid M = (S, I)

Elements s,t S∈

{s,t} is a circuit

Page 95: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

v1

v0

v2

v6

v4

v5

v3

Any parallel elements?

Parallel Elements of a Graphic Matroid

Page 96: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Parallel Elements of a Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

s,t S are parallel if∈

{s,t} are parallel edges of G

Page 97: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Parallel Elements of a Uniform Matroid

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

s,t S are parallel elements if∈

k = 1

Page 98: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Parallel Elements of a Linear Matroid

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

s,t S are parallel elements if∈

A(s) and A(t) are linearly dependent

Page 99: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Recap

What is a subset system?

Bases of a subset of a matroid?

Rank rM(U) of a subset U?

What is a matroid?

Spanning subset?

Page 100: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Recap

Circuit?

Parallel elements?

Loop?

Page 101: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids

• Dual Matroid

Outline

Page 102: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Uniform Matroid

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Page 103: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Linear Matroid

Matrix A of size n x m, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Page 104: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

Page 105: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids– Partition Matroid– Transversal Matroid– Matching Matroid

• Dual Matroid

Outline

Page 106: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partition

Set S

Non-empty subsets {Si}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

Mutually exclusive Si ∩ Sj = ϕ, for all i ≠ j

Collectively exhaustive ∪i Si = S

{{1, 2, 3}, {4, 5, 6}, {7, 8}}?

Partition

{Si}

Page 107: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partition

Set S

Non-empty subsets {Si}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

Mutually exclusive Si ∩ Sj = ϕ, for all i ≠ j

Collectively exhaustive ∪i Si = S

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}?

Partition

{Si}

Page 108: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partition

Set S

Non-empty subsets {Si}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

Mutually exclusive Si ∩ Sj = ϕ, for all i ≠ j

Collectively exhaustive ∪i Si = S

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}?

Partition

{Si}

Page 109: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partition

Set S {1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}Partition {Si}

Page 110: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Limited Subset of Partition

Set S {1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}Partition {Si}

Limits {li} 3 2 1

Limited Subset (LS) X S⊆

|X ∩ Si| ≤ li, for all i

{1, 2, 4, 5, 6, 8}?

Page 111: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Limited Subset of Partition

Set S {1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}Partition {Si}

Limits {li} 3 2 1

Limited Subset (LS) X S⊆

|X ∩ Si| ≤ li, for all i

{1, 2, 4, 5, 8}?

Page 112: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Limited Subset of Partition

Set S {1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}Partition {Si}

Limits {li} 3 2 1

Limited Subset (LS) X S⊆

{1, 2, 4, 5}?

|X ∩ Si| ≤ li, for all i

Page 113: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Limited Subset of Partition

Set S {1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {8, 9}}Partition {Si}

Limits {li} 3 2 1

Limited Subset (LS) X S⊆

Subset of an LS is an LS Subset system

|X ∩ Si| ≤ li, for all i

Page 114: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

Set S

{Si, i = 1, 2, …, n} is a partition

{l1,l2,…,ln} are non-negative integers

X S⊆ ∈I if X is a limited subset of partition

Page 115: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

{l1,l2,…,ln} are non-negative integers

X S⊆ ∈I if |X ∩ Si| ≤ li for all i {1,2,…,n}∈

(S, I) is a matroid? Partition Matroid

Set S

{Si, i = 1, 2, …, n} is a partition

Page 116: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids– Partition Matroid– Transversal Matroid– Matching Matroid

• Dual Matroid

Outline

Page 117: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partial Transversal

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S is a partial transversal (PT) of {S⊆ i}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

X = {x1,…,xk}, each xj chosen from a distinct Si

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}{Si}

{1, 4, 7, 8}?

Page 118: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partial Transversal

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S is a partial transversal (PT) of {S⊆ i}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}{Si}

{1, 7, 8}?

X = {x1,…,xk}, each xj chosen from a distinct Si

Page 119: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partial Transversal

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S is a partial transversal (PT) of {S⊆ i}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}{Si}

{1, 7}?

X = {x1,…,xk}, each xj chosen from a distinct Si

Page 120: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partial Transversal

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S is a partial transversal (PT) of {S⊆ i}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}{Si}

{7}?

X = {x1,…,xk}, each xj chosen from a distinct Si

Page 121: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Partial Transversal

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S is a partial transversal (PT) of {S⊆ i}

{1, 2, 3, 4, 5, 6, 7, 8, 9}

{{1, 2, 3}, {4, 5, 6, 7}, {7, 8, 9}}{Si}

Subset of a PT is a PT Subset system

X = {x1,…,xk}, each xj chosen from a distinct Si

Page 122: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Subset System

Set S

S1, S2, …, Sn S (not necessarily disjoint) ⊆

X S⊆ ∈I if X is a partial transversal of {Si}

(S, I) is a matroid? Transversal Matroid

Page 123: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids– Partition Matroid– Transversal Matroid– Matching Matroid

• Dual Matroid

Outline

Page 124: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matching

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

Matching is a set of disjoint edges.

No two edges in a matching share an endpoint.

Page 125: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matching

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

Matching is a set of disjoint edges.

No two edges in a matching share an endpoint.

Page 126: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matching

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

Matching is a set of disjoint edges.

No two edges in a matching share an endpoint.

Page 127: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Matching Matroid

v1

v0

v2

v6

v4

v5

v3

G = (V, E)

X S ⊆ ∈I if a matching covers X

S = V

(S, I) is a matroid? Matching Matroid

Page 128: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

• Matroids

• Examples of Matroids

• Dual Matroid

Outline

Page 129: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid

M = (S, I) M* = (S, I*)

X ∈I* if two conditions are satisfied

(i) X S⊆

(ii) S\X is a spanning set of M

Bases of M, M* are complements of each other

If M* is also a matroid then

Page 130: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual of Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

Y ∈ I* if

E\Y contains a maximal forest of G

Page 131: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual of Graphic Matroid

G = (V, E), S = E

X S⊆

X ∈ I if X is a forest

Y ∈ I* if, after removing Y,

number of connected components don’t change

Cographic Matroid

Page 132: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual of Uniform Matroid

S = {1,2,…,m}

X S⊆

I = Set of all X S such that |X| ≤ k ⊆

Y ∈ I* if

|Y| ≤ m-k

Page 133: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual of Linear Matroid

Matrix A of size m x n, S = {1,2,…,m}

X S, A(X) = set of columns of A indexed by X⊆

X I if and only if A(X) are linearly independent

Y ∈ I* if

A(S\Y) spans A

Page 134: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Subset System

Proof?

Page 135: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

Proof?

Page 136: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

M = (S, I) M* = (S, I*)

Let X ∈ I* and Y ∈ I*, such that |X| < |Y|

There should exist s Y\X, X {s} ∈ ∪ ∈ I*

S\Y contains a base of M Why?

S\X contains a base of M

Page 137: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

S\Y contains a base of M B

S\X contains a base of M

B\X S\X⊆ B’ ⊆ Base B’

There exists s Y\X, s B’∈ ∉

Proof? By contradiction

Page 138: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

B\X S\X⊆ B’ ⊆ Base B’

There exists s Y\X, s B’∈ ∉

|B| = |B ∩ X| + |B \ X|

≤ |X \ Y| + |B \ X| Why?

Because B is disjoint from Y

Page 139: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

B\X S\X⊆ B’ ⊆ Base B’

|B| = |B ∩ X| + |B \ X|

≤ |X \ Y| + |B \ X|

< |Y \ X| + |B \ X| Why?

Because |X| < |Y|

There exists s Y\X, s B’∈ ∉

Page 140: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

B\X S\X⊆ B’ ⊆ Base B’

|B| = |B ∩ X| + |B \ X|

≤ |X \ Y| + |B \ X|

< |Y \ X| + |B \ X|

Why?

Because Y\X B’⊆

≤ |B’|

B\X B’⊆

B ∩ Y = ϕ

There exists s Y\X, s B’∈ ∉

Page 141: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

B\X S\X⊆ B’ ⊆ Base B’

|B| = |B ∩ X| + |B \ X|

≤ |X \ Y| + |B \ X|

< |Y \ X| + |B \ X|

Contradiction≤ |B’|

There exists s Y\X, s B’∈ ∉

Page 142: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

B\X S\X⊆ B’ ⊆ Base B’

There exists s Y\X, X {s} ∈ ∪ ∈ I*

Hence proved.

There exists s Y\X, s B’∈ ∉

Page 143: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual Matroid is a Matroid

Circuits of M* are called cocircuits of M

Loops of M* are called coloops of M

Parallel elements in M* are coparallel in M

Page 144: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Dual of Dual Matroid is the Matroid

Proof?

Page 145: Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online

Ranking Functions of M and M*

M = (S, I) M* = (S, I*)

rM*(U) = |U| + rM(S\U) - rM(S)

Proof?