1.45k likes | 1.46k Views
Learn about matroids, their properties, and connections to linear algebra and graph theory in discrete optimization, with examples and applications discussed. Understand how matroids can help in solving optimization problems.
E N D
Discrete OptimizationLecture 4 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online http://mpawankumar.info
€1000 Steal at most 2 items €400 €1000 €700 Greedy Algorithm
Steal at most 1 item €400 €1000 €1700 €700 Greedy Algorithm
Steal at most 0 items €400 €1700 Greedy Algorithm Success
€1000 Steal at most 2.5 kg 2 kg €400 €1000 1 kg 2 kg €700 Greedy Algorithm (Most Expensive) 1.5 kg
Steal at most 0.5 kg €400 €1000 1 kg 2 kg €700 Greedy Algorithm (Most Expensive) 1.5 kg Failure
€1000 Steal at most 2.5 kg 2 kg €400 €1000 1 kg 2 kg €700 Greedy Algorithm (Best Ratio) 1.5 kg
Steal at most 0.5 kg €400 Why? €1000 1 kg 2 kg €700 Greedy Algorithm (Best Ratio) 1.5 kg Failure
Outline • Matroids • Examples of Matroids • Dual Matroid
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
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
Example Set S = {1,2,…,m} I = Set of all X ⊆ S such that |X| ≤ k Is (S, I) a subset system? Yes
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
Matroid Subset system (S, I) Property: If X, Y I and |X| < |Y| then there exists a s Y\X such that X∪{s} I M = (S, I) is a matroid
Augmentation/Exchange Property Subset system (S,I) Property: If X, Y I and |X| < |Y| then there exists a s Y\X such that X∪{s} I M = (S, I) is a matroid
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
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
Matroids (S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm
Matroids (S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm Why? We will find out by the end of the lecture
Outline • Matroids • Connection to Linear Algebra • Connection to Graph Theory • Examples of Matroids • Dual Matroid
1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 Matrix A Subset of columns {a1,a2,…,ak} ✗ Linearly independent (LI)? There exists no α ≠ 0 such that Σi αiai = 0
1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 Matrix A Subset of columns {a1,a2,…,ak} ✓ Linearly independent (LI)? There exists no α ≠ 0 such that Σi αiai = 0
1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 Matrix A Subset of columns {a1,a2,…,ak} ✓ Linearly independent (LI)? There exists no α ≠ 0 such that Σi αiai = 0
1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 Matrix A Subset of columns {a1,a2,…,ak} ✓ Linearly independent (LI)? There exists no α ≠ 0 such that Σi αiai = 0
1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 Matrix A Subset of columns {a1,a2,…,ak} Subset of LI columns are LI Define a subset system
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?
Answer Yes Linear Matroid Matroids connected to Linear Algebra Inspires some naming conventions
Independent Set Matroid M = (S, I) X ⊆ S is independent if X I X ⊆ S is dependent if X ∉ I
Independent Sets of 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 ⊆ S is independent if column vectors A(X) are linearly independent
Independent Sets of Uniform Matroid S = {1,2,…,m} X ⊆ S X ⊆ S is independent if |X| ≤ k
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 Inclusionwise maximal independent subset of U
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✗ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✗ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✓ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✗ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✓ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U ✓ Is X a base of U?
Base of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U Base of U?
Base of a Subset (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 X ⊆ S is base of U if A(X) is a base of A(U)
Base of a Subset (Uniform Matroid) S = {1,2,…,m} X ⊆ S I = Set of all X ⊆ S such that |X| ≤ k X ⊆ S is base of U if X ⊆ U and |X| = min{|U|,k}
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?
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?
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
Rank of a Subset Matroid M = (S, I) U ⊆S rM(U) = Size of a base of U
Rank of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U 2 rM(U)?
Rank of a Subset (Linear Matroid) 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 U 1 rM(U)?
Rank of a Subset (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 rM(U) is equal to rank of the matrix with columns A(U)
Rank of a Subset (Uniform Matroid) S = {1,2,…,m} X ⊆ S I = Set of all X ⊆ S such that |X| ≤ k rM(U) is equal to min{|U|,k}
Base of a Matroid Matroid M = (S, I) X is a base S
Base of a Linear Matroid 1 2 1 2 2 2 2 2 1 2 1 2 2 4 2 4 1 2 3 4 2 4 6 8 3 3 3 3 2 4 2 4 1 1 1 1 ✗ Is X a base?