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

We have seen how to determine efficiently (via an independence oracle) a maximum (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 (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 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 . 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) with all edges having distinct colors.

Such a tree is a common independent set of the 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 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 ) . 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. Hence, the Lemma implies that ′ I = I − {x1,..., x k } ∪ {y 1,..., y k } is independent in M1.

From the above comments, it follows that the described algorithm returns I and X as desired. So the theorem is proved.

Orlando Lee – Unicamp Topics in Combinatorial Optimization Intersection of three matroids

Let D = (V , A) be a digraph and let V := {v 1,..., v n}. The problem of finding hamiltonian path problem in a digraph D can be reduced to the problem of finding a maximum common independent set of three matroids: (a) the graphic matroid on the underlying graph of D, in in (b) the partition matroid induced by {δ (v 1),...,δ (v n)} in which each independent set can pick at most one arc of each in-star, and out out (c) the partition matroid induced by {δ (v 1),...,δ (v n)} in which each independent set can pick at most one arc of each out-star. There exists an hamiltonian path in D if and only if there exists a common independent set of size |V |− 1. So the matroid intersection problem for three matroids is NP-hard.

Orlando Lee – Unicamp Topics in Combinatorial Optimization References

A. Frank, Connections in Combinatorial Optimization, Oxford (page 416).

Orlando Lee – Unicamp Topics in Combinatorial Optimization