flujos en grafos gomory-hu trees · 2019-07-04 · 29 Árboles gomory-hu demostración lema 3. (la...

39
Optimización Combinatoria FLUJOS EN GRAFOS GOMORY-HU Trees Gregorio Hernández UPM Universidad Politécnica de Madrid

Upload: others

Post on 01-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

Optimización Combinatoria

FLUJOS EN GRAFOSGOMORY-HU Trees

Gregorio HernándezUPM

Universidad Politécnica de Madrid

Page 2: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

2

FLUJO en una red R f : A Z+

Hallar un flujo de valor máximo entre todos los pares devértices de la red

Aplicar el algoritmo de Edmonds-Karp para cada parO(n2) flujos !!

ea

ch

b d

5

4

2

2

5

3

2

3

5

Red de transporte no dirigida R = (G,c)

Page 3: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

3

CORTE en una red R es una partición de V en dos conjuntos S y T

ea

ch

b d

5

4

2

2

5

3

2

3

5

Red de transporte no dirigida R = (G,c)

Capacidad de un corte cap(S,T) = Ty,Sx

)y,x(c

Cap(rojo) = 14

Page 4: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

4

Teorema de Ford-FulkersonEl valor máximo de un flujo en una red N es igual a la mínima capacidad de los cortes de N

Objetivo:Hallar un flujo de valor máximo entre cada par de vértices

Page 5: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

5

Hallar un flujo de valor máximo entre todos los pares devértices de la red Hallar el corte de capacidad mínima entre todos los pares de vértices de la red

¡ Sólo se necesitan n – 1 cálculos !

ea

c h

b d

5

4

2

2

5

3

2

3

5

Red de transporte no dirigida R = (G,c)

Page 6: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

6

Redes equivalentes en flujos

Las redes R = (V, A, c) y R’ = (V, A’, c’) son equivalentes en flujossi para cada par de vértices u, v de V, la mínima capacidadde un corte u-v (flujo máximo de u a v) en R es la misma que en R’

c

b

a

d

2

3

1

5

4

d a b c

587

R

d b a c

587

Dos árboles equivalentes en flujos a R

Page 7: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

7

Redes equivalentes en flujos

c

b

a

d

2

3

1

5

4

d a b c

587

Rd b a c

587

Corte mínimo a-bsepara V en {a,d} y {b,c}

Corte mínimo a-b separa V endos partes {a,d} y {b,c}

Corte mínimo a-b separa V endos partes {b,d} y {a,c}

Las redes R = (V, A, c) y R’ = (V, A’, c’) son equivalentes en flujossi para cada par de vértices u, v de V, la mínima capacidadde un corte u-v (flujo máximo de u a v) en R es la misma que en R’

¡No coincide el corte en R y en el árbol!

Page 8: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

8

ÁRBOLES CORTE (cut-tree)

Dada una red R = (V, A, c), un árbol-corte T = (V, F) es un árbol construido a partir de R con una función capacidad c’ verificando

1. Equivalencia de flujosPara cada par de vértices s, t en V el valor máximo de un flujoentre s y t en R coincide con dicho valor en T(Y pasando a capacidad mínima de un corte, esto significa queese valor es la menor capacidad de las aristas en el únicocamino entre s y t en T)(Los valores numéricos de las capacidades mínimas coinciden)

2. Propiedad de corteCada corte de capacidad mínima en T también lo es en R(Coinciden también las particiones definidas por los cortes mínimos)

Page 9: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

9

Las n – 1 aristas del árbol corresponden a los n – 1 cortes de capacidad mínima en R, es decir, sólo hay O(n) cortes de capacidad mínima en una red R

Dada una red R siempre existe un árbol T que es equivalente en flujo a R y que, además, es un árbol-corte (cut-tree)

GOMORY-HU Tree

ÁRBOLES GOMORY-HU

Page 10: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

10

Dada una red R siempre existe un árbol T que es equivalente en flujo a R y que, además, es un árbol-corte (cut-tree)

ÁRBOLES GOMORY-HU

Una red puede tener más de un árbol-corte

1 1

111

1 1

232

2 2

2

232

2

Page 11: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

11

ÁRBOLES GOMORY-HU

Algoritmo de construcción

Ideas clave:

1. Mantener una partición de V, (S1, S2, … , Sk), y un árbolgenerador T sobre el conjunto de vértices {S1, S2, … , Sk}

2. Asignar pesos c’ a las aristas de T de forma que en cada iteración se satisfaga el siguiente invariante:Para cada arista (Si, Sj) de T hay vértices a Si , bSjtales que c’ (Si, Sj) = f(a,b) y el corte definido por (Si, Sj) es un corte de capacidad mínima en R entre a y b

Page 12: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

12

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 1 y 5 en un vértice de T, calculamos el corte de capacidad mínima entre 1 y 5

T1 3

2 4

0 5

3

4

6

2

121

1

7

Page 13: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

13

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 1 y 5 en un vértice de T, calculamos el corte de capacidad mínima entre 1 y 5cap(1,5) = 6

T

Rojo-Azul el corte 1-5

401

2

3 56

1 3

2 4

0 5

3

4

6

2

121

1

7

Page 14: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

14

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 3 y 5 en un vértice de T, calculamos el corte de capacidad mínima entre 3 y 5cap(3,5) = 8

T

1 3

2 4

0 5

3

4

6

2

121

1

7

0 41

2

3

5

4

6

2

401

2

3 56

401

2

3

5

68

Page 15: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

15

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 1 y 2 en un vértice de T, calculamos el corte de capacidad mínima entre 1 y 2cap(1,2) = 6

T

0 41

2

3

5

4

6

2

1 3

2 4

0

53

4

21

1

7

3

401

2

3

5

68

4

0

1

2 3

5

6 86

Page 16: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

1 3

2 40

53

4

22

3

16

ÁRBOLES GOMORY-HUAlgoritmo de construcción Ejemplo

Elegimos dos vértices 1 y 4 en un vértice de T, calculamos el corte de capacidad mínima entre 1 y 4cap(1,4) = 7

T

1 3

2 4

0

53

4

21

1

7

34

0

1

2 3

5

6 86

4

0 12

3

5

6 86 7

Page 17: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

17

ÁRBOLES GOMORY-HUAlgoritmo de construcción Ejemplo

Elegimos dos vértices 0 y 2 en un vértice de T, calculamos el corte de capacidad mínima entre 0 y 2cap(0,2) = 8

T

1 3

2 40

53

4

22

3

20

0 3

2

5

5

17

14

4

0 12

3

5

6 86 7

4

1

3

5

6 88 7

2

0

6

Page 18: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

18

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

T

R

Si todos los pesos en Tson distintos el corte de capacidad mínima en Rentre cada par de vérticeses único

1 3

2 4

0 5

3

4

6

2

121

1

7

6 88 76

0 4 3

2 1 5

Page 19: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

19

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

R1 3

2 4

0 5

3

4

6

2

121

1

7

Si se hubieran elegido otros vértices a separar encada paso, el árbol obtenidopuede ser distinto.

Eligiendo 0-4, 0-2, 1-4,3-4 y 3-5 en este orden,resulta el árbol T*

T*

6

88 7

6

0

4 32

1 5

Page 20: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

20

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 0 y 4 en un vértice de T, calculamos el corte de capacidad mínima entre 0 y 4cap(0,4) = 6

T

Rojo-Azul el corte 1-5

40

1

23 56

1 3

2 4

0 5

3

4

6

2

121

1

7

Page 21: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

21

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 0 y 2 en un vértice de T, calculamos el corte de capacidad mínima entre 0 y 2cap(0,2) = 8

T

431

56

0

2

8

1 3

2 4

0 5

3

4

6

2

121

1

7

40

1

23 56

0

27

5

13 4

1

5

Page 22: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

22

ÁRBOLES GOMORY-HU

Algoritmo de construcción Ejemplo

Elegimos dos vértices 1 y 4 en un vértice de T, calculamos un corte de capacidad mínima entre 1 y 4cap(1,4) = 7

T

0

27

5

13 4

1

5

431

5

6

0

2

8

435

6

08

2

1

71 3

2

4

0 5

3

4

6

2

12

2

Page 23: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

23

ÁRBOLES GOMORY-HUAlgoritmo de construcción Ejemplo

Elegimos dos vértices 3 y 4 en un vértice de T, calculamos el corte de capacidad mínima entre 3 y 4cap(3,4) = 6

T

1 3

2

4

0 5

3

4

6

2

12

243

5

6

0

8

2

1

7

5

3

62

16

4

20

1

3

63 5

6

08

2

1

7

4

Page 24: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

24

ÁRBOLES GOMORY-HUAlgoritmo de construcción Ejemplo

Elegimos dos vértices 3 y 5 en un vértice de T, calculamos el corte de capacidad mínima entre 3 y 5cap(3,5) = 8

T

5

3

2

4 6120

4

6 3 56

08

2

1

7

45

3

62

16

4

20

1

3

66

08

2

1

7

4 3

58

Page 25: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

25

ÁRBOLES GOMORY-HU

Rb c

f e

a d

4

3

5

7

223

10

8

2

2

T*

1318 17

d

a b f e d15

14

Page 26: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

26

ÁRBOLES GOMORY-HU

Ejemplos

R

ea

ch

b d

5

4

2

2

5

3

2

3

5

e

ca

f

b

d

6

1

1

5

2

12

1

1

5

11

Page 27: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

27

ÁRBOLES GOMORY-HU

Demostración de la corrección del algoritmo

TeoremaPara todo par de vértices a,b de R, la mínima capacidad de un corte a-b es la mínima etiqueta de las aristas en el camino entrea y b en el árbol T.Además si e* es dicha arista entonces el corte a-b de capacidad mínima se alcanza en la bipartición de V correspondiente a losdos árboles de T – e*

Page 28: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

28

ÁRBOLES GOMORY-HU

Demostración de la corrección del algoritmo

Lema 1.Si u, v, w son vértices de una red R y f(u,v) es la capacidad mínima de un corte u-v en R entonces

f(u, v) ≥ min {f(u, w), f(w, v)}

Lema 2. Desigualdad submodularSi R = (V, E, c) es una red con c(e) ≥ 0 para toda arista e, A, B Vy designamos con cap(A) a la capacidad del corte (A, V – A) entonces

cap(A) + cap(B) ≥ cap(AB) + cap(AB)

Page 29: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

29

ÁRBOLES GOMORY-HU Demostración

Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)Sean a, b vértices de R, (V’,V’’) un corte de capacidad mínimaentre a y b. Sean x, y vértices de V’. Entonces existe un corte x-y de capacidad mínima en V’ (es decir la contracción de V’’ a un únicovértice no afecta a los cortes de V’)

a b

y

x

SV’ V’’Dem.:Sea (S,S’) corte mínimo x-y.Debemos probar que S V’Procedemos por reducción al absurdo,suponemos que SV’ y que bS

Caso 1) aS Aplicamos el lema 2 a los cortes V’ y V – S

cap(V’) + cap(V – S) ≥ cap(V’(V – S)) + cap(V’(V – S))

Como V’(V – S) es un a-b corte, cap(V’(V – S)) ≥ cap(V’)luego, cap(V’(V – S)) ≤ cap(V – S) = cap(S) y V’(V – S) es corte de capacidad mínima dentro de V’

Page 30: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

30

ÁRBOLES GOMORY-HU Demostración

Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)Sean a, b vértices de R, (V’,V’’) un corte de capacidad mínimaentre a y b. Sean x, y vértices de V’. Entonces existe un corte x-y de capacidad mínima en V’ (es decir la contracción de V’’ a un únicovértice no afecta a los cortes de V’)

a

b

y

x

SV’ V’’Dem.:Sea (S,S’) corte mínimo x-y.Debemos probar que S V’Procedemos por reducción al absurdo,suponemos que SV’ y que bS

Caso 2) aS

Análogamente se demuestra que V’ S es un corte x-y de capacidad mínima

Page 31: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

31

ÁRBOLES GOMORY-HU Demostración

Lema 4. En cada etapa del algoritmo cada una de las aristas del árbol T tiene vértices representativos.

Dem.:Es claramente cierto en el paso inicial en el que el árbol T tiene dos nodos.Comprobemos que la propiedad se mantiene en el paso general:El nodo A se descompone en dos nodos X e Y, a partir de un (x,y)-corte mínimo conrespecto a vértices terminales xX, yY. Aplicando reiteradamente el lema 3, la capacidad del (x,y)-corte en RA es f(x,y)Así x,y son representativos de la arista e = XY en el árbol T

Vértices representativosSi X e Y son nodos adyacentes del árbol con e = XY, se dice que xX, yY, son vértices representativos si la etiqueta (peso) de e coincidecon la capacidad del corte mínimo entre x e y, es decir, f(x,y) = c’(e)

¿Qué pasa con las restantes aristas de T?

Page 32: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

32

ÁRBOLES GOMORY-HU Demostración

Lema 4. En cada etapa del algoritmo cada una de las aristas del árbol T tiene vértices representativos.

Dem. (continuación): ¿Qué pasa con las restantes aristas de T?Hay que controlar las que antes llegaban al nodo A. Sea h la arista AB

hB A

X YB

Existen vértices aA y bB tales que f(a,b) = c’(h)Si aX, entonces a y b siguen siendo representativos de la arista h

Si aX, es decir, aY, veremos que x y b son representativos de h en el nuevo árbol

El corte que se utilizó para crear h en T, separa x de b, luego f(x,b) ≤ f(a,b)Necesitamos la igualdad para la representatividad

Page 33: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

33

ÁRBOLES GOMORY-HU Demostración

Lema 4. En cada etapa del algoritmo cada una de las aristas del árbol T tiene vértices representativos.

Dem. (continuación): ¿Qué pasa con las restantes aristas de T?

Y por el lema 1, f ’(x,b) ≥ min{f ’(x,vY), f ’(vY, b)}Como avY entonces , f ’(vY ,b) ≥ f (a, b) Además f ’(x, vY) ≥ f (x, y) ≥ f (a, b) (porque el xy-corte que descompone A también separa a de B)

Por tanto, f ’(x, b) ≥ f (a, b) y f(x, b) ≥ f (a, b) Luego f(x, b) = f(a, b) Así x y b son representativos para la arista h

Identificamos todos los vértices de Y en R en un vértice vY y obtenemos el grafo R’Llamamos f ’(u,w) a la mínima capacidad de un corte u-w en R’

Por el lema 3, f(x, b) = f ’(x, b)vY

ab

x y

Page 34: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

34

ÁRBOLES GOMORY-HUTeoremaPara todo par de vértices a, b de R, la mínima capacidad de un ab-corte es la mínima etiqueta de las aristas en el camino entre a y b en el árbol T.Además si e* es dicha arista entonces el ab-corte de capacidad mínima se alcanza en la bipartición de V correspondiente a los dos árboles de T – e*

Demostración

Dem.: La segunda afirmación es consecuencia de la primera y de laconstrucción del árbol. Así cada arista de T corresponde a un corte en Respecificado por la partición definida en T – e y de capacidad c’(e)

Sea V0, e1, V1, e2, … , ek, Vk el camino en T que une a y b. Debemos demostrar que f(a, b) = min {c’(e1), c’(e2), … , c’(ek)}

Es claro que f(a, b) ≤ min {…} porque cada corte de las aristas ei separa a de b

La otra desigualdad se obtiene aplicando el lema 1 (extendido), porque llamando vi al único vértice en R del nodo Vi resulta que c’(ei) = f(vi – 1, vi) y así f(a, b) ≥ min {c’(e1), c’(e2), … , c’(ek)}

Page 35: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

35

MINIMUM k-CUT Problem

Dado un grafo G = (V, A) un k-corte es un conjunto de aristas F tal que G – F tiene k componentes conexas

El MINIMUM k-CUT Problem pide un k-corte de peso mínimo

ea

c h

b d

5

4

2

2

5

3

2

3

5

ea

c h

b d

2

5

35

F = {ac, ab, ae ,be, bd} es un 3-corte de peso 16

Page 36: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

36

MINIMUM k-CUT Problem

Dado un grafo G = (V, A) un k-corte es un conjunto de aristas F tal que G – F tiene k componentes conexas

El MINIMUM k-CUT Problem pide un k-corte de peso mínimo

Si k es fijo el problema se puede resolver en tiempo

Si k forma parte de los datos de entrada el problema es NP-completo

)n(O2k

Algoritmo aproximado utilizando árboles de Gomory-Hu

Page 37: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

37

MINIMUM k-CUT Problem

Algoritmo aproximado

Paso 1. Calcular el árbol T de Gomory-Hu. Cada arista de T origina un corte en el grafo inicial G. Tenemos n – 1 cortes

Paso 2. Consideramos los k – 1 cortes más ligeros. La unión dede las aristas correspondientes en G es un k-corte F

Este algoritmo es (2 – 2/k)-aproximado

Page 38: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

38

Algoritmo 2-aproximado Ejemplo

TG

MINIMUM k-CUT Problem

Las dos aristas más ligeras en T son 24 y 13. Eliminando las aristas de G correspondientes a los cortes 2-4 y 1-3 tenemos un 3-corte F de peso 12

En este ejemplo F es el 3-corte de peso mínimo

1

5

3

42

0

7

26

1 3

2 4

0 5

3

4

6

2

121

1

76 88 76

0 4 3

2 1 5

Page 39: FLUJOS EN GRAFOS GOMORY-HU Trees · 2019-07-04 · 29 ÁRBOLES GOMORY-HU Demostración Lema 3. (La contracción de vértices NO afecta a los cortes de los vértices no contraídos)

39

Algoritmo 2-aproximado Ejemplo “malo”

G

MINIMUM k-CUT Problem

Grafo con 2k – 1 vértices

k – 1 vértices

k vértices

= 2(1 – )

T

22

22 El algoritmo elige un k-corte F

formado por las aristas de peso w(F) = (k – 1)

k-corte óptimo F*, de peso w(F*) = k

)1)(k22(

k)1k(

*)F(w)F(wRazón