Topics in Combinatorial Optimization
Total Page:16
File Type:pdf, Size:1020Kb
Topics in Combinatorial Optimization Orlando Lee – Unicamp 4 de junho de 2014 Orlando Lee – Unicamp Topics in Combinatorial Optimization Agradecimentos Este conjunto de slides foram preparados originalmente para o curso T´opicos de Otimiza¸c˜ao Combinat´oria no primeiro semestre de 2014 no Instituto de Computa¸c˜ao da Unicamp. Preparei os slides em inglˆes simplesmente porque me deu vontade, mas as aulas ser˜ao em portuguˆes (do Brasil)! Agradecimentos especiais ao Prof. M´ario Leston Rey. Sem sua ajuda, certamente estes slides nunca ficariam prontos a tempo. Qualquer erro encontrado nestes slide ´ede minha inteira responsabilidade (Orlando Lee, 2014). Orlando Lee – Unicamp Topics in Combinatorial Optimization Independent sets A matroid is a pair M = (E, I) in which I ⊆ 2E that satisfies the following properties: (I1) ∅∈ I. (I2) If I ∈ I and I ′ ⊆ I , then I ′ ∈ I. (I3) If I 1, I 2 ∈ I and |I 1| < |I 2|, then there exists e ∈ I 2 − I 1 such that I 1 ∪ {e}∈ I. (Independence augmenting axiom) We say that the members of I are the independent sets of M. Orlando Lee – Unicamp Topics in Combinatorial Optimization Matroid intersection We have seen how to determine efficiently (via an independence oracle) a maximum basis (independent set) of a matroid. Let M1 = (E, I1) and M2 = (E , I2) be two matroids. We are interested in finding a maximum element I ∈ I1 ∩ I2, that is, a maximum common independent set I of both matroids. We consider the unweighted version, in which we want to maximize |I | for I ∈ I1 ∩ I2, and the weighted version in which given c : E 7→ R we want to maximum c(I ) for I ∈ I1 ∩ I2. Let us describe some applications of matroid intersection. Orlando Lee – Unicamp Topics in Combinatorial Optimization Partition matroids Recall the following definiton. Let E1,..., Et be a partition of a finite set E and let k1,..., k t be non-negative integers (ki 6 |E i |). Let I := {I ⊆ E : |I ∩ E i | 6 ki , i = 1,..., t}. Then M = (E, I) is a matroid, called partition matroid. Orlando Lee – Unicamp Topics in Combinatorial Optimization Matchings in bipartite graphs Let G = (V , E) be a bipartite graph with bipartition (U1, U2). For i = 1, 2 let Mi := (E, Ii ) be the matroid in which I ⊆ E is independent if each vertex of Ui is covered by at most one edge. In other words, Mi is a partition matroid in which we take the i i i i partition {δ(u1),...,δ(un)} of E where Ui = {u1,..., un} and an independent set can pick at most one element of each star. So a set of edges that is independent in both partition matroids must be a matching. Hence, a maximum common independent set of both matroids is a maximum matching in G. Orlando Lee – Unicamp Topics in Combinatorial Optimization Colored trees Let G = (V , E) be a graph and let E1,..., Ek be a partition of E. Refer to each E i as a color and so G is k-edge-colored (arbitrarily). We want to find a (non-necessarily spanning) tree with all edges having distinct colors. Such a tree is a common independent set of the graphic matroid M(G) and the partition matroid induced by E1,..., Ek (in which each independent set can pick at most one edge of each color). Orlando Lee – Unicamp Topics in Combinatorial Optimization Arborescences Let D = (V , A) be a digraph with V = {v 1,..., v n} and in δ (v 1)= ∅. Let N the partition matroid induced by the partition in in {δ (v 2),...,δ (v n)} of A in which each independent set can pick at most one arc of each in-star. So a spanning v 1-arborescence in D (assuming that it exists) is a maximum common independent of N and the graphich matroid of the underlying graph of G. Orlando Lee – Unicamp Topics in Combinatorial Optimization Edmonds’ matroid intersection theorem Theorem. (Edmonds, 1970) Let M1 = (E , r 1) and M2 = (E, r 2) be two matroids. Then the maximum size of a common independent set of M1 and M2 is equal to min(r 1(X )+ r 2(E \ X )). X ⊆E To see that max 6 min let I be a common independent set and let X be an arbitrary subset of E . Then |I | = |I ∩ X | + |I \ X | 6 r 1(X )+ r 2(E \ X ). We show that max > min by describing an algorithm. Orlando Lee – Unicamp Topics in Combinatorial Optimization Oracle Let Ii denote the collection of independent sets of Mi , for i = 1, 2. We assume that each matroid is given by an oracle that given as input an independent set I and a element x ∈ E − I , answer whether I + x is independent or not, and in the latter case, the oracle returns the fundamental circuit C(I , x). It is easy to construct such an oracle by using an independence oracle, right? Orlando Lee – Unicamp Topics in Combinatorial Optimization Auxiliary lemma Lemma. (Simultaneous exchange) Let x 1,..., xk be elements of an independent set I of a matroid M and let y 1,..., y k ∈ E − I such that I + y i is dependent for i = 1,..., k. Suppose that each xi ∈ C(I , y i ) but x i 6∈ C(I , y j ) whenever j < i. Then I − {x1,..., xk } ∪ {y 1,..., y k } is independent in M. Proof. We prove by induction on k. For k = 1, the result is obvious. So assume that k > 2 and the result holds for k − 1. By ′ ′ hypothesis, the set I := I − xk + y k is independent, and I + y i ′ (i 6 k − 1) contains C(I , y i ), and hence, C(I , y i )= C(I , y i ). ′ Therefore, I along with {x 1,..., x k−1} and {y 1,..., y k−1} satisfy the hypotheses and by induction we have that ′ I − {x 1,..., xk−1} ∪ {y 1,..., y k−1} is independent. Orlando Lee – Unicamp Topics in Combinatorial Optimization Matroid intersection algorithm We will describe an algorithm that finds a common independent set I and a subset X ⊆ E for which r 1(X )= |I ∩ X| and r 2(E \ X )= |I \ X| whence the result follows. The algorithm consists of at most |E| phases. It starts with any common independent set I (such as the empty set) . In each phase, the algorithm either finds a common independent I ′ for which |I ′| = |I | +1 (and go to the next phase) or finds X as above and halts. Orlando Lee – Unicamp Topics in Combinatorial Optimization Phase Let I be a common independent set. Let E 1 := {e ∈ E − I : I + e ∈ I1} and E 2 := {e ∈ E − I : I + e ∈ I2}. Note that if e ∈ E 1 ∩ E 2 then I + e is a common independent set and the phase ends. So suppose that E 1 ∩ E 2 = ∅. Orlando Lee – Unicamp Topics in Combinatorial Optimization Phase – auxiliary digraph For i = 1, 2 let C i (I , e) denote the fundamental circuit (if any) of I + e in Mi . Define the auxiliary digraph DM1,M2 (I ) whose vertex-set is E and whose arc-set consists of the union of the following sets: {(u, v) : u ∈ E − (I ∪ E 1), v ∈ I , v ∈ C 1(I , u)} and {(x, y) : x ∈ I , y ∈ E − (I ∪ E 2), x ∈ C 2(I , y)}. The algorithm uses breadth-first search to compute the set X of vertices that are reachable from E 2. We have two cases. Orlando Lee – Unicamp Topics in Combinatorial Optimization Phase Case 1: E 1 ∩ X = ∅. Since no arc leaves X, the fundamental circuit C 1(I , u) in M1 of each u ∈ X − I is contained in X. We claim that I ∩ X is a maximal independent subset of X in M1. Suppose for a contradiction that there exists u ∈ X − I such that (I ∩ X )+ u is independent in M1. Because of the hypothesis of the case, we have that I + u is dependent and so some element of C 1(I , u) lies in E − X, which is a contradiction. So r 1(X )= r 1(X ). Similarly, C 2(I , y) is contained in E − X for each y ∈ E − (I ∪ X ). We claim that I \ X is a maximal independent subset of E \ X in M2. Suppose for a contradiction that there exists y ∈ E \ X such that (I \ X )+ y is independent in M2. Since E 2 ⊆ X , we have that (I \ X )+ y is dependent in M2 and so some element of C 2(I , y) lies in X , which is a contradiction. So r 2(E \ X )= r 2(I \ X ). Orlando Lee – Unicamp Topics in Combinatorial Optimization Phase Case 2: E 1 ∩ X 6= ∅. So there exists a E 2E 1-path P and it is a shortest one. Let I ′ := I △ V (P). Note that I ′ is larger than I because D(I ) is bipartite with I being one of the color classes. So it remains to show that I ′ is a common independent set. We only ′ ′ prove that I is independent in M1. The proof that I is independent in M2 is analogous. Let y 1, x 1, y 2, x − 2,..., y k , x k , z denote the vertices of P ′′ traversed in this order with y 1 ∈ E 2 and z ∈ E 1. Let I := I + z. ′′ Now I , x1,..., xk , y 1,..., y k satisfy the hypotheses of the Simultaneous Exchange Lemma for M1 because P is a shortest path.