Topics in Combinatorial Optimization Orlando Lee Unicamp 27 de - - PowerPoint PPT Presentation

topics in combinatorial optimization
SMART_READER_LITE
LIVE PREVIEW

Topics in Combinatorial Optimization Orlando Lee Unicamp 27 de - - PowerPoint PPT Presentation

Topics in Combinatorial Optimization Orlando Lee Unicamp 27 de fevereiro de 2014 Orlando Lee Unicamp Topics in Combinatorial Optimization Agradecimentos Este conjunto de slides foram preparados originalmente para o curso T opicos


slide-1
SLIDE 1

Topics in Combinatorial Optimization

Orlando Lee – Unicamp 27 de fevereiro de 2014

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-2
SLIDE 2

Agradecimentos

Este conjunto de slides foram preparados originalmente para o curso T´

  • picos de Otimiza¸

c˜ ao Combinat´

  • ria 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

slide-3
SLIDE 3

Goals

Minimax theorems, structure results and efficient algorithms. Pervasive role of submodularity in graph theory and combinatorial optimization. Linear description of integral polyhedra associated to several combinatorial problems (if time allows). Discussion of open problems (hopefully). So, without further delay, shall we start?

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-4
SLIDE 4

Menger’s theorem

A classical result proved by Karl Menger in 1927 (whose interest was in topology). It relates maximum packing of st-paths and minimum st-cuts. It precedes the classical MaxFlow MinCut theorem of Ford and Fulkerson (1950). There are several versions of the theorem depending on whether (i) the graph is directed or not, (ii) the paths must be arc/edge or vertex disjoint, and (iii) the source/target is a single vertex or a set of vertices.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-5
SLIDE 5

Some notation

Let D = (V , A) be a digraph and s, t ∈ V , s = t. Let X ⊆ V . We write ¯ X instead of V \ X when V is clear from context. Let δin

D (X) := {a = (u, v) ∈ A : u ∈ ¯

X, v ∈ X} and δout

D (X) := {a = (u, v) ∈ A : u ∈ X, v ∈ ¯

X}. We denote d in

D (X) = |δin D (X)| and d out D (X) = |δout D (X)|.

When D is understood from the context, we may omit the subscript D. For example, d in(X), δout(X). When X = {v} we may write for example, d out(v), δin(v) instead of d out({v}), δin({v}).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-6
SLIDE 6

Paths and cuts

Let D = (V , A) be a digraph and s, t ∈ V , s = t. An st-path is a (di)path that starts at s and ends at t. We say that X is an s¯ t-set if s ∈ X and t ∈ X. In this case we also say that δout(X) is an st-cut. Lemma 1. Let D = (V , A) be a digraph and s, t ∈ V , s = t. Then there exists an st-path in D if and only if d out(X) 1 for every s¯ t-set X.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-7
SLIDE 7

Packings and cuts

We say that two paths are arc-disjoint if they have no arc in common. A packing of st-paths is a collection P of pairwise arc-disjoint st-paths. We are interested in the problem of finding a packing of st-paths with maximum size, or simply, a maximum packing of st-paths. Convention: the size of a set B is its cardinality |B|.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-8
SLIDE 8

Packings and cuts

  • Lemma. Let P be a packing of st-paths and δout(X) be an

st-cut. Then |P| |δout(X)|. Furthermore, if |P| = |δout(X)| then P is a maximum packing and δout(X) is a minimum cut. The first part follows from the following observation. Each path in P in P must intersect δout(X). The second part follows from the first one.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-9
SLIDE 9

Menger’s theorem – directed arc-version

We shall prove the following.

  • Theorem. (Menger, 1927) Let D = (V , A) be a digraph and

s, t ∈ V , s = t. Then the size of a maximum packing of st-paths is equal to size of a minimum st-cut. We will present three different proofs, each one using an important proof technique.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-10
SLIDE 10

Menger’s theorem – directed arc-version

For convenience, let us restate the theorem as follows.

  • Theorem. (Menger, 1927) Let D = (V , A) be a digraph and

s, t ∈ V , s = t. Then there exists k arc-disjoint st-paths if and

  • nly if d out(X) k for every s¯

t-set X. As we have seen, necessity is obvious. We will prove sufficency.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-11
SLIDE 11

First proof

Let D = (V , A) be a digraph and s, t ∈ V , s = t. Suppose that d out(X) k for every s¯ t-set X. We will use induction on |V | + |A|. The base case is trivial. By Lemma 1 the assertion is trivial for k = 0, 1 . So suppose that k > 1 and there exists at least one st-path in D.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-12
SLIDE 12

First proof

Suppose first that there exists an st-path P with length 1 or 2. (The length of a path is its number of arcs.) Let D′ := D − A(P). It is easy to check that d out

D′ (X) k − 1 for every s¯

t-set X. By induction, D′ has a packing P′ of st-paths with size k − 1. Then P := P′ ∪ {P} is a packing of st-paths with size k in D.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-13
SLIDE 13

First proof

So we may assume the every st-path has length at least 3. Let a be an arc incident to neither s nor t. We analyze two cases. Suppose first that d out(X) k + 1 for every s¯ t-set X with a ∈ δout(X). Let D′ := D − a. Then d out

D′ (X) k for every s¯

t-set X. So by induction, D′ has a packing P of st-paths with size k. Clearly, P is also a packing of st-paths in D.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-14
SLIDE 14

First proof

Now suppose that there exists an s¯ t-set X such that d out(X) = k and a ∈ δout(X). s t X ¯ X

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-15
SLIDE 15

First proof

Let D1 the digraph obtained from D by shrinking X to a single vertex s′. Note that every cut in D1 corresponds to cut in D with the ”same arcs”. Moreover, if Y is an s′t-set in D1 then Y \ {s′} ∪ X is an s¯ t-set in D and d out

D1 (Y ) k.

By induction there exists a packing P1 of s′t-paths with size k. s′ t ¯ X

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-16
SLIDE 16

First proof

Let D2 be the digraph obtained by shrinking ¯ X to a single vertex t′. Similarly, if Y is an s ¯ t′-set in D2 then d out

D2 (Y ) k.

By induction there exists a packing P2 of st′-paths with size k. s t′ X

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-17
SLIDE 17

First proof

Note that each arc in δout(X) is used by exactly one path in P1 and by exactly one path in P2. Moreover, any arc which is common to a path in P1 and a path in P2 must be in δout(X). So by taking the union of each path in P1 with the one in P2 which intersects it, we obtain a packing of st-paths with size

  • k. This concludes the proof.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-18
SLIDE 18

Second proof

The next proof is due to Andr´ as Frank. We need the following observation. For any subsets of vertices X and Y of D we have d out(X) + d out(Y ) d out(X ∩ Y ) + d out(X ∪ Y ). We say that d out is submodular (for every pair X, Y ). Y X Remark: an analogous inequality holds for d in.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-19
SLIDE 19

Second proof

The proof is by induction on |A|. If every arc has tail in s and head in t, then each one of these arcs is an st-path and the result follows. So we may assume that there exists an arc a = (s, u) such that u = t. Let D′ := D − a. If d out(X) k + 1 for every s¯ t-set such that a ∈ δout(X) then by induction D′ (and hence, D) has a packing of st-paths with size k.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-20
SLIDE 20

Second proof

So assume that there exists an s¯ t-set X such that a ∈ δout(X) and d out(X) = k. These kind of cuts play an important role in the proof(s) of Menger’s theorem. This motivates the following concept. Tight sets. We say that an s¯ t-set X is tight if d out(X) = k.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-21
SLIDE 21

Second proof

Next we have a simple but very important result. Claim 1. If X and Y are tight sets then X ∩ Y and X ∪ Y are also tight sets.

  • Proof. We have

k+k = d out(X)+d out(Y ) ≥ d out(X ∩Y )+d out(X ∪Y ) ≥ k+k. Thus equality holds throughout and X ∩ Y and X ∪ Y are tight sets.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-22
SLIDE 22

Second proof

Claim 2. If X is a tight s¯ t-set and a = (s, u) ∈ δout(X) then there exists an arc b = (u, v) such that v ∈ V \ X.

  • Proof. Suppose that there exists no such arc. Then

d out(X ∪ {u}) < d out(X) because every arc that leaves X ∪ {u} also leaves X and a does not leave X ∪ {u}. But then d out(X ∪ {u}) < k which is a contradiction.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-23
SLIDE 23

Second proof

Let X a maximal tight s¯ t-set with a = (s, u) ∈ δout(X). Let b = (u, v) be an arc with v ∈ V \ X (Claim 2). Let e = (s, v) be a new arc and let D′ := D − {a, b} + e. X X s s u u v v Remark: this operation is called splitting off a and b.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-24
SLIDE 24

Second proof

Claim 3. For every s¯ t-set Z, δout

D′ (Z) k.

  • Proof. Let Z be an s¯

t-set. If Z is not a v ¯ u-set then clearly d out

D′ (Z) = d out D (Z) = k.

So assume that v ∈ Z and u ∈ V \ Z. So d out

D′ (Z) = d out D (Z) − 1.

We must show that d out

D (Z) ≥ k + 1 and the result will follow.

Suppose this is not true. Then d out

D (Z) = k and Z is tight.

By Claim 1, X ∪ Z is tight. On the other hand, v ∈ V \ X and X ⊂ X ∪ Z, contradicting the maximality of X.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-25
SLIDE 25

Second proof

By Claim 3, D′ satisfies the induction hypothesis and so by induction D′ has a packing of st-paths with size k. If one of these paths contains e, then we can replace it by the arcs a and b. In the end we obtain a packing of st-paths in D with size k. This finishes the proof of the theorem.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-26
SLIDE 26

Third proof

The third proof is algorithmic and has its roots in the proof of the MaxFlow MinCut theorem. Let H = (V , A) be a digraph and s, t ∈ V , s = t. We say that H is st-balanced if: d out(v) = d in(v) for every v ∈ V \ {s, t}. We need the following result. Lemma 3. Let H = (V , A) be a digraph and s, t ∈ V , s = t. If H is ST-balanced then H has a packing of st-paths with size max{0, d out(s) − d in(s)}.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-27
SLIDE 27

Auxiliary lemma

  • Proof. The proof is by induction on d out(s) − d in(s).

If d out(s) − d in(s) 0 then the result is obvious. So assume that d out(s) − d in(s) > 0. Let Q a maximal trail starting at s. Because d out(s) − d in(s) > 0, Q must end in some vertex v distinct from s. (Recall that a trail is a walk that does not repeat arcs.) We claim that v = t. Suppose for a contradiction that v = t. Since d out(v) = d in(v), this implies that there exists some arc in δout(v) not used by Q. So we can extend Q, which contradicts the maximality of Q. Hence, Q ends at t.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-28
SLIDE 28

Auxiliary lemma

From Q we can obtain an st-path P. (Easy exercise!) Let D′ := D − A(P). Note that d out

D′ (v) = d in D′(v) for every v ∈ V \ {s, t} and

d out

D′ (s) − d in D′(s) = d out(s) − d in(s) − 1.

By induction D′ has a packing of st-paths with size d out

D′ (s) − d in D′(s). Adding P to this collection we obtain a

packing of st-paths in D with the required size.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-29
SLIDE 29

Another auxiliary lemma

  • Notation. Let λ(D) := min{d out(X) : X is a s¯

t-set}, that is, λ(D) is the size of a minimum st-cut.

  • Notation. For an arc a = (u, v) let a−1 = (v, u) the reverse arc
  • f a. Similarly, for a set B of arcs, let B−1 := {a−1 : a ∈ B}.

The next lemma is the main step in the third proof. Lemma 4. Let D = (V , A) be a digraph and s, t ∈ V , s = t. Then there exists a subdigraph H of D such that (a) H is st-balanced and (b) d out

H (s) − d in H (s) = λ(D).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-30
SLIDE 30

Another auxiliary lemma

  • Proof. We prove by induction on λ(D). If λ(D) = 0 then take

H = ({s, t}, ∅) and the result follows. So suppose λ(D) > 0. Thus there exists an st-path, say P. Let D′ := D − B + B−1 where B = A(P). Clearly λ(D′) = λ(D) − 1. So by induction, D′ contains a subdigraph H′ such that (a’) H′ is st-balanced and (b’) d out

H′ (s) − d in H′(s) = λ(D′)

(= λ(D) − 1).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-31
SLIDE 31

Another auxiliary lemma

Let H′′ := H′ + A(P). Clearly, (a) H′′ is st-balanced and (b) d out

H′′ (s) − d in H′′(s) = λ(D).

We are not done yet since H′′ is not necessarily a subdigraph

  • f D because it may contain a digon with arcs a, a−1.

Let H obtained from H′′ by deleting all these digons. This

  • peration preserves st-balancedness. Furthermore,

d out

H (s) − d in H (s) = λ(D).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-32
SLIDE 32

Third proof

Now the rest is easy. Suppose that λ(D) k. By Lemma 4 there exists a subdigraph H of D such that (a) H is st-balanced and (b) d out

H (s) − d in H (s) = λ(D).

By Lemma 3 H has a packing of st-paths with size λ(D) ≥ k. This finishes the proof of the theorem.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-33
SLIDE 33

Menger’s theorem – other versions

There are other equivalent versions of Menger’s theorem. We describe some of them. Let G = (V , E) be an undirected graph and s, t ∈ V , s = t. Let X ⊆ V . Let δG(X) := {a = uv ∈ E : u ∈ X, v ∈ ¯ X}. We denote dG(X) = |δG(X)|. When G is understood from the context, we may omit the subscript G. For example, d(X), δ(X). When X = {v} we may write for example, d(v), δ(v) instead of d({v}), δ({v}).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-34
SLIDE 34

Paths and cuts

Let G = (V , E) be a graph and s, t ∈ V , s = t. An st-path is a path that starts at s and ends at t. We say that X is an s¯ t-set if s ∈ X and t ∈ X. In this case we also say that δ(X) is an st-cut.

  • Lemma. Let G = (V , E) be a graph and s, t ∈ V , s = t.

Then there exists an st-path in D if and only if d(X) 1 for every s¯ t-set X.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-35
SLIDE 35

Menger’s theorem – undirected edge-version

We say that two paths are edge-disjoint if they have no edge in common.

  • Theorem. Let G = (V , E) be a graph and s, t ∈ V , s = t.

Then the maximum size of a collection of edge-disjoint st-paths in G is equal to the size of a minimum st-cut. We could rephrase the theorem using in terms of packings as we did for the directed arc-version. In fact, we wil use throughout the semester packing in a broader sense as a collection of disjoint subsets where the meaning of disjoint may depend on the problem at hand.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-36
SLIDE 36

Menger’s theorem – undirected edge-version

The undirected edge-version can be proved exactly as in the second proof of the directed arc-version using the submodularity of d(X), that is, d(X) + d(Y ) d(X ∩ Y ) + d(X ∪ Y ) for any subsets X, Y of V . (Exercise!) It also can be proved by replacing each edge uv with two arcs (u, v), (v, u) and applying the directed arc-version to the resulting digraph. Some care is needed since two arcs in a digon could be used by distinct paths in the packing, but they can be eliminated similarly as in the third proof

  • f the directed arc-version. Write the details!

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-37
SLIDE 37

Paths and separators

In order to describe the vertex-versions we need a few

  • definitions. We present the necessary definitions for a digraph

but they are exactly the same for a graph. Let D = (V , A) be a digraph (or a graph) and s, t ∈ V , s = t. We say that two st-paths are openly disjoint if they have

  • nly s, t as common vertices.

We say that a subset X of V − {s, t} is an st-separator if G − X has no st-path. We note that this terminology is not standard.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-38
SLIDE 38

Paths and separators

Let P be a collection of openly disjoint st-paths and X be an st-separator.. Each path in P in P must intersect X. Therefore, |P| |(X)|. In particular, inequality holds for a maximum collection of

  • penly disjoint st-paths and a minimum st-separator.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-39
SLIDE 39

Menger’s theorem – directed/undirected vertex-versions

Theorem A. Let D = (V , A) be a digraph and s, t ∈ V , s = t. Suppose (s, t) ∈ A. Then the maximum size of a collection of

  • penly disjoint st-paths is equal to the size of a minimum

st-separator. Theorem B. Let G = (V , E) be a graph and s, t ∈ V , s = t. Suppose (s, t) ∈ A. Then the maximum size of a collection of

  • penly disjoint st-paths is equal to the size of a minimum

st-separator.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-40
SLIDE 40

Menger’s theorem – directed/undirected vertex-versions

The undirected vertex-version follows easily from the directed vertex-version: replace each edge uv with two arcs (u, v), (v, u) and apply Theorem A to the resulting digraph. We can prove Theorem A using a well-known reduction to the directed arc-version. First remove all arcs that enters s or leave t. Replace each vertex u ∈ V − {s, t} by two new vertices u′ and u′′ and for convenience call s′ = s and t′′ = t. Then replace each arc (u, v) in D by a new arc (u′, v ′′). Finally add an arc u′, u′′ for each vertex u. Let D′ be the resulting digraph. See an example next slide.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-41
SLIDE 41

Directed arc-version implies directed vertex-version

s s t t

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-42
SLIDE 42

Directed arc-version implies directed vertex-version

Note that there exists a 1-1 correspondence between st-paths in D and st-paths in D′. Moreover, two st-paths in D are openly disjoint if and

  • nly if their corresponding st-paths in D′ are arc-disjoint.

If X is an st-separator in D then F := {(u′, u′′) : u ∈ X} is an st-cut in D′. On the other hand, if δout(X) is an st-cut in D′ then because of the way D′ was defined, there exists an st-cut with the same structure of F above such that d out(X) = |F|. (Exercise) So the result follows from Menger’s directed arc-version.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-43
SLIDE 43

Capacitated version – MaxFlow MinCut theorem

Let D = (V , A) be a digraph and s, t ∈ V , s = t. Suppose that we are given an arc capacity function c : A → Z+. Consider the following problem: find a maximum size collection P of st-paths such that each arc a belongs to at most c(a) paths of P. When c(a) = 1 for every arc a ∈ A, we have exactly the problem of finding a maximum packing of st-paths in D.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-44
SLIDE 44

Capacitated version – MaxFlow MinCut theorem

We say that a collection P of st-paths of D is a c-packing if each arc a belongs to at most c(a) paths of P. We define the weight of an st-cut δout(X) as c((δout(X)) :=

  • a∈δout(X)

c(a). Let P be a c-packing of st-paths and δout(X) a minimum weight cut of D. Clearly, |P| c(δout(X)). We show that the minimax relation also holds for the weighted version.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-45
SLIDE 45

Capacitated version – MaxFlow MinCut theorem

  • Theorem. (Integral Max Flow MinCut theorem) Let

D = (V , A) be a digraph and s, t ∈ V , s = t. Let c : A → Z+ be an arc capacity function. Then the size of a maximum c-packing of st-paths is equal to the weight of a minimum st-cut.

  • Proof. Let D′ be a digraph obtained from D by adding

c(a) − 1 new copies of each arc a ∈ A. Note that if X is an s¯ t-set then |δout

D′ (X)| = c(δout D (X)).

Moreover, a packing of st-paths in D′ is a c-packing of st-paths in D. Also, a c-packing of st-paths in D corresponds in an obvious way to a packing of st-paths in D′.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-46
SLIDE 46

Capacitated version – MaxFlow MinCut theorem

By Menger’s theorem the size of a maximum packing of st-paths in D′ is equal to the size of a minimum st-cut in D′. Thus, the size of a maximum c-packing of st-paths in D is equal to the weight of a minimum st-cut in D. This result can be extended (or relaxed) to allow non-integral packings of st-paths when c is not necessarily integral. In

  • rder to present this, we need the concept of st-flow.

Remark: note that the reduction described in the proof is non-polynomial. However, there exist polynomial methods for finding c-packings based on flow algorithms.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-47
SLIDE 47

References

  • A. Frank, Connections in Combinatorial Optimization,

Oxford.

Orlando Lee – Unicamp Topics in Combinatorial Optimization