Topics in Combinatorial Optimization Orlando Lee – Unicamp 3 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 ´ e de 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 ⊆ 2 E 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 algorithms We are interested in the following. Maximum weight basis problem. Given a matroid M = ( E , I ) and a weight-function c : E �→ R , find a maximum weight basis of M . One issue that needs to be addressed is how the input matroid is given. For example, if we provide a list of all independent sets then the problem is trivial. However, note that in this case the input has exponential size on | E | , while we want algorithms that are polynomial in | E | . A graphic matroid M ( G ) could be specified by the incidence matrix of G , and we do not need to list every forest of G . In this sense, a graph is a concise way to describe a graphic matroid. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid algorithms “With this analogy in mind, it would be highly desirable to develop a general result on matroids stating intuitively that every matroid on E can be encoded in such a way that the size of the code is polynomial in | E | .” – Frank Unfortunately, this is not possible as Frank notes that there exists at least 2 (2 r ) paving matroids on E where r = 2 ⌊ n / 4 ⌋ and n := | E | � 5 as proved by Knuth in 1974. See Theorem 5.3.6 in Frank’s book. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid algorithms Edmonds proposed the idea of representing a matroid implicitly, by means of an independence oracle which given a subset of the ground as input, reports whether it is independent or not. The complexity of a matroid algorithm is then measured by the number of oracle calls and other conventional elementary steps. There are other oracles the could be used to describe a matroid, because there are many equivalent way to define a matroid. However, not all oracles are polynomially equivalent. Proposition 5.5.1 The rank oracle, the independence oracle and the strong basis oracle are polynomially equivalent. (Exercise). Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid greedy algorithms Recall the problem we are interested. Maximum weight basis problem. Given a matroid M = ( E , I ) and a weight-function c : E �→ R , find a maximum weight basis of M . Note that with such an algorithm, we could also find a maximum weight independent set. Just delete the negative weight elements of M and find a maximum weight basis in the resulting submatroid. Let ˆ r ( c ) := ˆ r M ( c ) denote the weight of a maximum basis of M with respect to c . Function ˆ r is called vector-rank function of M . Observe that when c = χ X for some X ⊆ E then ˆ r ( χ X ) = r ( X ). So this extends the definition of rank of a matroid. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid greedy algorithms GreedyAlgorithm ( M , c ) ⊲ independence oracle 1. B ← ∅ 2. let e 1 , . . . , e t the elements of E ( M ) in non-increasing weight 3. for i = 1 to t do 4. if B ∪ { e i } is independent in M then B ← B ∪ { e i } 5. 6. return B Remark. Note that the set B returned by the algorithm is clearly a basis of M . Note the similarity with Kruskal’s algorithm for finding a maximum weight spanning tree. In fact, Kruskal’s algorithm is a special case of this general algorithm. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid greedy algorithms Theorem. Given M and c , GreedyAlgorithm returns a basis of M of maximum weight. Proof. Let B the basis returned by the algorithm and let B ∗ a maximum (weight) basis such that | B ∩ B ∗ | is as large as possible. We claim that B = B ∗ . Suppose for a contradiction that this is not true and let f be the first element (in the order established by the algorithm) such that f ∈ B − B ∗ . Let B ′ be the subset of B chosen by the algorithm until the moment it chose f . So B ′ ⊂ B ∗ . By a proposition (slides on circuits), there exists e ∈ B ∗ − B such that B ∗ − e + f is a basis of M . By the optimality of B ∗ , c ( f ) � c ( e ). We cannot have c ( f ) = c ( e ) since otherwise B ∗ − e + f would be a maximum basis that has more elements in common with B than B ∗ , contradicting its choice. So c ( f ) < c ( e ). This implies that e precedes f in the order. But since B ′ + e ⊆ B ∗ is independent, the algorithm should have selected e which is a contradiction. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid greedy algorithms The complexity of GreedyAlgorithm is O ( nh + n lg n ) where h is the complexity of an independence oracle. GreedyAlgorithm can also be used to compute a minimum weight basis of a matroid. Just apply the algorithm with input M , − c . A matroid can also defined as a pair M := ( E , I ) such that I satisfies (I1)(I2) and (G) For every c : E �→ R , GreedyAlgorithm ( M , c ) returns a maximal member of I with maximum weight. Exercise. Prove that (I1)(I2)(I3) and (I1)(I2)(G) are equivalent. (not so easy) Orlando Lee – Unicamp Topics in Combinatorial Optimization
Optimality criteria for bases Theorem. A basis B is of maximum weight if and only if c ( y ) � c ( x ) for every y ∈ E − B and every x ∈ C ( B , y ). Proof. (Necessity) Let y ∈ E − B and x ∈ C ( B , y ). Then B − x + y is a basis and from the optimality of B we have that c ( y ) � c ( x ). (Sufficiency) Let B ∗ be a maximum weight basis such that | B ∩ B ∗ | is as large as possible. Suppose for a contradiction that there exists y ∈ B ∗ − B . By the symmetric basis exchange property, there exists x ∈ B − B ∗ such that B ∗ − y + x and B − x + y are bases of M . From the choice of B ∗ , we have that c ( x ) < c ( y ). On the other hand, since B − x + y is a basis, then x ∈ C ( B , y ) and from hypothesis, we have that c ( y ) � c ( x ) which is a contradiction. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Optimality criteria for independent sets Theorem. An independent set I is of maximum weight if and only if: (A) c ( x ) � 0 for every x ∈ I , (B) c ( y ) � 0 whenever I + y is independent and y ∈ E − I , and (C) c ( y ) � c ( x ) whenever I + y is dependent and x ∈ C ( I , y ). Proof. The conditions (A)(B)(C) are obviously necessary. Let us show that they are sufficient. Let E + the elements with positive weight and let I + := I ∩ E + . Since the elements of I have non-negative weight, c ( I + ) = c ( I ). So I is of maximum weight in M if and only if I + is of maximum weight in M + := M | E + , the restriction of M to E + . The latter property is equivalent to requiring I + to be a maximum weight basis in M + . Condition (C) and the previous theorem imply the result. Orlando Lee – Unicamp Topics in Combinatorial Optimization
Linear extension Theorem. Let M := ( E , r ) be a matroid and let c : E �→ R be a weight function. Then the maximum weight ˆ r ( c ) of a basis is equal to n − 1 � r ( E ) c ( e n ) + r ( E i )[ c ( e i ) − c ( e i +1 )] , i =1 where E = { e 1 , . . . , e n } , c ( e 1 ) � · · · � c ( e n ), and E i := { e 1 , . . . , e i } ( i = 1 , . . . , n − 1). Remark. Because of this result, ˆ r is also called the linear extension of r . Orlando Lee – Unicamp Topics in Combinatorial Optimization
Linear extension Proof. GreedyAlgorithm when executed on the ordering of the elements in the statement, returns a basis B such that | B ∩ E i | = r ( E i ) for every i = 1 , . . . , n . Therefore, n − 1 � r ( E i )[ c ( e i ) − c ( e i +1 )] , r ( E ) c ( e n ) + i =1 is equal to n − 1 � � | B ∩ E | c ( e n )+ | B ∩ E i | [ c ( e i ) − c ( e i +1 )] = c ( e ) = c ( B ) = ˆ r ( c ) . i =1 e ∈ B Orlando Lee – Unicamp Topics in Combinatorial Optimization
Matroid polyhedra Let M := ( E , r ) be a matroid and let c : E �→ R be a weight function. Suppose that the elements of E := E ( M ) are labeled so that c ( e 1 ) � · · · � c ( e n ). We will use this convention throughout the rest of the presentation. Theorem 1. (Edmonds, 1971) The linear program max � e ∈ E c ( e ) x ( e ) s.t. x ( S ) � r ( S ) for every S ⊂ E , x ( E ) = r ( E ) , x ( e ) � 0 for every e ∈ E has an integral optimum solution. (continues) Orlando Lee – Unicamp Topics in Combinatorial Optimization
Recommend
More recommend