An Introduction to Matroids & Greedy in Approximation Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
An Introduction to Matroids & Greedy in Approximation Algorithms (Juli`an Mestre, ESA 2006) CoReLab Monday seminar { presentation: Evangelos Bampas 1/21 Let E be a finite set. Let L be a non-empty family of subsets of E (independent sets). Def. (E; L) is called a subset system if: 8A 2 L; 8A0 ⊆ A; A0 2 L [hereditary property] A (positive) weight function w defined on E induces a weight function defined on L: w (X) = X w (e) e2X Subset systems CoReLab Monday seminar { presentation: Evangelos Bampas 2/21 Def. (E; L) is called a subset system if: 8A 2 L; 8A0 ⊆ A; A0 2 L [hereditary property] A (positive) weight function w defined on E induces a weight function defined on L: w (X) = X w (e) e2X Subset systems Let E be a finite set. Let L be a non-empty family of subsets of E (independent sets). CoReLab Monday seminar { presentation: Evangelos Bampas 2/21 A (positive) weight function w defined on E induces a weight function defined on L: w (X) = X w (e) e2X Subset systems Let E be a finite set. Let L be a non-empty family of subsets of E (independent sets). Def. (E; L) is called a subset system if: 8A 2 L; 8A0 ⊆ A; A0 2 L [hereditary property] CoReLab Monday seminar { presentation: Evangelos Bampas 2/21 Subset systems Let E be a finite set. Let L be a non-empty family of subsets of E (independent sets). Def. (E; L) is called a subset system if: 8A 2 L; 8A0 ⊆ A; A0 2 L [hereditary property] A (positive) weight function w defined on E induces a weight function defined on L: w (X) = X w (e) e2X CoReLab Monday seminar { presentation: Evangelos Bampas 2/21 Alg. Greedy: SOL ; for each e 2 E in non-increasing order of w (e) if SOL + e 2 L then SOL SOL + e return SOL Thm. Greedy is optimal for any weight function on (E; L) iff (E; L) is a matroid. (Rado-Edmonds) Picking a heaviest independent set Prob. Given a subset system (E; L) and a weight function w : E −! R+, pick a maximum-weight element of L. CoReLab Monday seminar { presentation: Evangelos Bampas 3/21 Thm. Greedy is optimal for any weight function on (E; L) iff (E; L) is a matroid. (Rado-Edmonds) Picking a heaviest independent set Prob. Given a subset system (E; L) and a weight function w : E −! R+, pick a maximum-weight element of L. Alg. Greedy: SOL ; for each e 2 E in non-increasing order of w (e) if SOL + e 2 L then SOL SOL + e return SOL CoReLab Monday seminar { presentation: Evangelos Bampas 3/21 Picking a heaviest independent set Prob. Given a subset system (E; L) and a weight function w : E −! R+, pick a maximum-weight element of L. Alg. Greedy: SOL ; for each e 2 E in non-increasing order of w (e) if SOL + e 2 L then SOL SOL + e return SOL Thm. Greedy is optimal for any weight function on (E; L) iff (E; L) is a matroid. (Rado-Edmonds) CoReLab Monday seminar { presentation: Evangelos Bampas 3/21 What on earth is a matroid? Def. A subset system (E; L) is a matroid if: 8A 2 L; 8B 2 L with jAj < jBj ; 9z 2 B n A such that A + z 2 L [augmentation property] CoReLab Monday seminar { presentation: Evangelos Bampas 4/21 What on earth is a matroid? Def. A subset system (E; L) is a matroid if: 8A 2 L; 8B 2 L with jAj < jBj ; 9z 2 B n A such that A + z 2 L [augmentation property] A$ CoReLab Monday seminar { presentation: Evangelos Bampas 4/21 What on earth is a matroid? Def. A subset system (E; L) is a matroid if: 8A 2 L; 8B 2 L with jAj < jBj ; 9z 2 B n A such that A + z 2 L [augmentation property] A$ B$: |A|<|B| CoReLab Monday seminar { presentation: Evangelos Bampas 4/21 What on earth is a matroid? Def. A subset system (E; L) is a matroid if: 8A 2 L; 8B 2 L with jAj < jBj ; 9z 2 B n A such that A + z 2 L [augmentation property] A$ z: A+z$ B$: |A|<|B| CoReLab Monday seminar { presentation: Evangelos Bampas 4/21 Matroid examples Ex. 1 Subsets of at most k elements. k 2 N. E: finite set. L = fX ⊆ E : jXj ≤ kg. CoReLab Monday seminar { presentation: Evangelos Bampas 5/21 Matroid examples Ex. 1 Subsets of at most k elements. k 2 N. E: finite set. L = fX ⊆ E : jXj ≤ kg. non-empty: j;j ≤ k ) ; 2 L CoReLab Monday seminar { presentation: Evangelos Bampas 5/21 Matroid examples Ex. 1 Subsets of at most k elements. k 2 N. E: finite set. L = fX ⊆ E : jXj ≤ kg. hereditary: if A 2 L and A0 ⊆ A, then: jA0j ≤ jAj ≤ k ) A0 2 L CoReLab Monday seminar { presentation: Evangelos Bampas 5/21 Matroid examples Ex. 1 Subsets of at most k elements. k 2 N. E: finite set. L = fX ⊆ E : jXj ≤ kg. augmentation: if jAj < jBj, then for arbitrary z 2 B n A: jA + zj = jAj + 1 ≤ jBj − 1 + 1 ≤ k thus, jA + zj 2 L CoReLab Monday seminar { presentation: Evangelos Bampas 5/21 Matroid examples Ex. 1 Subsets of at most k elements. k 2 N. E: finite set. L = fX ⊆ E : jXj ≤ kg. Cor. We can find a heaviest subset of k elements using the Greedy algorithm. CoReLab Monday seminar { presentation: Evangelos Bampas 5/21 Matroid examples (cont'd) Ex. 2 Column matroids. A: matrix with elements from a field. E = f~x : ~x is a column of Ag. L = fX ⊆ E : X is linearly independentg. CoReLab Monday seminar { presentation: Evangelos Bampas 6/21 Matroid examples (cont'd) Ex. 2 Column matroids. A: matrix with elements from a field. E = f~x : ~x is a column of Ag. L = fX ⊆ E : X is linearly independentg. non-empty: the empty set is vacuously linearly independent CoReLab Monday seminar { presentation: Evangelos Bampas 6/21 Matroid examples (cont'd) Ex. 2 Column matroids. A: matrix with elements from a field. E = f~x : ~x is a column of Ag. L = fX ⊆ E : X is linearly independentg. hereditary: linear dependency cannot be introduced by removing vectors CoReLab Monday seminar { presentation: Evangelos Bampas 6/21 Matroid examples (cont'd) Ex. 2 Column matroids. A: matrix with elements from a field. E = f~x : ~x is a column of Ag. L = fX ⊆ E : X is linearly independentg. augmentation: if 8z 2 B n A; A + z 62 L, then each vector of B is linearly dependent on the vectors of A which implies jBj ≤ jAj CoReLab Monday seminar { presentation: Evangelos Bampas 6/21 Matroid examples (cont'd) Ex. 2 Column matroids. A: matrix with elements from a field. E = f~x : ~x is a column of Ag. L = fX ⊆ E : X is linearly independentg. Cor. We can find a heaviest base among the vectors of A using the Greedy algorithm. CoReLab Monday seminar { presentation: Evangelos Bampas 6/21 augmentation: Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 augmentation: Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. non-empty: G; = (V; ;) is a forest CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 augmentation: Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. hereditary: any subset of a forest is a forest CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. augmentation: if jAj < jBj, then #trees in GA > #trees in GB CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. augmentation: GB u v CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. augmentation: G GB A u u v v CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. augmentation: $ GB GA+(u,v) u u v v CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 Matroid examples (cont'd) Ex. 3 Cycle/Graphic matroids. G = (V; E): undirected graph. E = edge set of G. L = fX ⊆ E : GX = (V; X) is a forestg. Cor. We can find a heaviest spanning tree of G using the Greedy algorithm. CoReLab Monday seminar { presentation: Evangelos Bampas 7/21 k-extendible systems Def. A subset system (E; L) is k-extendible if: 8C 2 L; 8x 62 C with C + x 2 L; 8D extension of C; 9Y ⊆ D n C such that jY j ≤ k and D n Y + x 2 L CoReLab Monday seminar { presentation: Evangelos Bampas 8/21 k-extendible systems Def.