Acoplamiento

Anuncio
Acoplamiento
Vanesa Avalos Gaytán
Posgrado en Ingenierı́a de Sistemas de la UANL
Optimización Combinatoria
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
1 / 28
Contenido
1
Acoplamiento
2
Problema de acoplamiento por cardinalidad
3
Acoplamiento bipartito
4
Matriz de Tutte
5
Acoplamiento ponderado
6
Problema de Asignación
7
Complejidad
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
2 / 28
Acoplamiento
Acoplamiento
Consideremos
un grafo G = (V , E ) bipartito con un conjunto de vértices
S
V = (A B) y un conjunto de aristas E
Un acoplamiento M en G es un subconjunto M de E tal que cada vértice
de V es incidente a lo más con un arista de M.
El tamaño de un acoplamiento es el número de aristas en él.
Un vértice incidente en un arista de M se dice que es cubierto por M
Sı́ un vértice v no es incidente con algún arista de M se dice que v no
esta acoplado.
Una cubierta de vértices es un conjunto C de aristas tales que todos
los aristas de e ∈ E son incidentes en al menos un vertice de C .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
3 / 28
Acoplamiento
Acoplamiento
Consideremos
un grafo G = (V , E ) bipartito con un conjunto de vértices
S
V = (A B) y un conjunto de aristas E
Un acoplamiento M en G es un subconjunto M de E tal que cada vértice
de V es incidente a lo más con un arista de M.
El tamaño de un acoplamiento es el número de aristas en él.
Un vértice incidente en un arista de M se dice que es cubierto por M
Sı́ un vértice v no es incidente con algún arista de M se dice que v no
esta acoplado.
Una cubierta de vértices es un conjunto C de aristas tales que todos
los aristas de e ∈ E son incidentes en al menos un vertice de C .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
3 / 28
Acoplamiento
Acoplamiento
Consideremos
un grafo G = (V , E ) bipartito con un conjunto de vértices
S
V = (A B) y un conjunto de aristas E
Un acoplamiento M en G es un subconjunto M de E tal que cada vértice
de V es incidente a lo más con un arista de M.
El tamaño de un acoplamiento es el número de aristas en él.
Un vértice incidente en un arista de M se dice que es cubierto por M
Sı́ un vértice v no es incidente con algún arista de M se dice que v no
esta acoplado.
Una cubierta de vértices es un conjunto C de aristas tales que todos
los aristas de e ∈ E son incidentes en al menos un vertice de C .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
3 / 28
Acoplamiento
Acoplamiento
Consideremos
un grafo G = (V , E ) bipartito con un conjunto de vértices
S
V = (A B) y un conjunto de aristas E
Un acoplamiento M en G es un subconjunto M de E tal que cada vértice
de V es incidente a lo más con un arista de M.
El tamaño de un acoplamiento es el número de aristas en él.
Un vértice incidente en un arista de M se dice que es cubierto por M
Sı́ un vértice v no es incidente con algún arista de M se dice que v no
esta acoplado.
Una cubierta de vértices es un conjunto C de aristas tales que todos
los aristas de e ∈ E son incidentes en al menos un vertice de C .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
3 / 28
Acoplamiento
Acoplamiento
Consideremos
un grafo G = (V , E ) bipartito con un conjunto de vértices
S
V = (A B) y un conjunto de aristas E
Un acoplamiento M en G es un subconjunto M de E tal que cada vértice
de V es incidente a lo más con un arista de M.
El tamaño de un acoplamiento es el número de aristas en él.
Un vértice incidente en un arista de M se dice que es cubierto por M
Sı́ un vértice v no es incidente con algún arista de M se dice que v no
esta acoplado.
Una cubierta de vértices es un conjunto C de aristas tales que todos
los aristas de e ∈ E son incidentes en al menos un vertice de C .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
3 / 28
Acoplamiento
Un acoplamiento que cubre cada vértice de G es llamado
acoplamiento perfecto, |A| = |B|.
Un grafo que contiene un acoplamiento perfecto tiene un número
para de vértices.
Un acoplamiento máximo es un acoplamiento con el máximo número
posible de aristas.
Si todos los vértices de A y B son pensados como hombres y mujeres
respectivamente, y un arista esta presente cuando las personas
corresponden uno a uno, entonces un acoplamiento perfecto representa
una asignación posible de personas de X a paresonas de Y .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
4 / 28
Acoplamiento
Un acoplamiento que cubre cada vértice de G es llamado
acoplamiento perfecto, |A| = |B|.
Un grafo que contiene un acoplamiento perfecto tiene un número
para de vértices.
Un acoplamiento máximo es un acoplamiento con el máximo número
posible de aristas.
Si todos los vértices de A y B son pensados como hombres y mujeres
respectivamente, y un arista esta presente cuando las personas
corresponden uno a uno, entonces un acoplamiento perfecto representa
una asignación posible de personas de X a paresonas de Y .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
4 / 28
Acoplamiento
Un acoplamiento que cubre cada vértice de G es llamado
acoplamiento perfecto, |A| = |B|.
Un grafo que contiene un acoplamiento perfecto tiene un número
para de vértices.
Un acoplamiento máximo es un acoplamiento con el máximo número
posible de aristas.
Si todos los vértices de A y B son pensados como hombres y mujeres
respectivamente, y un arista esta presente cuando las personas
corresponden uno a uno, entonces un acoplamiento perfecto representa
una asignación posible de personas de X a paresonas de Y .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
4 / 28
Acoplamiento
Un acoplamiento que cubre cada vértice de G es llamado
acoplamiento perfecto, |A| = |B|.
Un grafo que contiene un acoplamiento perfecto tiene un número
para de vértices.
Un acoplamiento máximo es un acoplamiento con el máximo número
posible de aristas.
Si todos los vértices de A y B son pensados como hombres y mujeres
respectivamente, y un arista esta presente cuando las personas
corresponden uno a uno, entonces un acoplamiento perfecto representa
una asignación posible de personas de X a paresonas de Y .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
4 / 28
Acoplamiento
Ejemplo
Figure: Acoplamiento máximo
Figure: Acoplamiento
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
5 / 28
Acoplamiento
Ejemplo
Figure: Acoplamiento máximo
Figure: Acoplamiento
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
5 / 28
Problema de acoplamiento por cardinalidad
Problema de acoplamiento por cardinalidad
Problema de acoplamiento por cardinalidad
Instancia: Grafo G no dirigido.
Tarea: Encontrar un acoplamiento de cardinalidad máxima en G .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
6 / 28
Acoplamiento bipartito
Acoplamiento bipartito
Sea ν{G } la cardinalidad máxima de un acoplamiento en G y τ {G } la
cardinalidad mı́nima de un vértice cubierto en G
Teorema. (König , 1931)
Si G es bipartito, entonces ν(G ) = τ (G ).
Hint:
1
2
3
S
S
S
G ′ = (V (G ) {s, t}, E (G ) {{s, a} : a ∈ A} {{b, t} : b ∈ B})
ν(G ) es el número máximo de vértices disjuntos de las rutas s − t
τ (G ) es el número mı́nimo de vértices cuya eliminación hace que t sea
inaccesible desde s
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
7 / 28
Acoplamiento bipartito
Acoplamiento bipartito
Sea ν{G } la cardinalidad máxima de un acoplamiento en G y τ {G } la
cardinalidad mı́nima de un vértice cubierto en G
Teorema. (König , 1931)
Si G es bipartito, entonces ν(G ) = τ (G ).
Hint:
1
2
3
S
S
S
G ′ = (V (G ) {s, t}, E (G ) {{s, a} : a ∈ A} {{b, t} : b ∈ B})
ν(G ) es el número máximo de vértices disjuntos de las rutas s − t
τ (G ) es el número mı́nimo de vértices cuya eliminación hace que t sea
inaccesible desde s
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
7 / 28
Acoplamiento bipartito
Acoplamiento bipartito
Sea ν{G } la cardinalidad máxima de un acoplamiento en G y τ {G } la
cardinalidad mı́nima de un vértice cubierto en G
Teorema. (König , 1931)
Si G es bipartito, entonces ν(G ) = τ (G ).
Hint:
1
2
3
S
S
S
G ′ = (V (G ) {s, t}, E (G ) {{s, a} : a ∈ A} {{b, t} : b ∈ B})
ν(G ) es el número máximo de vértices disjuntos de las rutas s − t
τ (G ) es el número mı́nimo de vértices cuya eliminación hace que t sea
inaccesible desde s
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
7 / 28
Acoplamiento bipartito
Acoplamiento bipartito
Sea ν{G } la cardinalidad máxima de un acoplamiento en G y τ {G } la
cardinalidad mı́nima de un vértice cubierto en G
Teorema. (König , 1931)
Si G es bipartito, entonces ν(G ) = τ (G ).
Hint:
1
2
3
S
S
S
G ′ = (V (G ) {s, t}, E (G ) {{s, a} : a ∈ A} {{b, t} : b ∈ B})
ν(G ) es el número máximo de vértices disjuntos de las rutas s − t
τ (G ) es el número mı́nimo de vértices cuya eliminación hace que t sea
inaccesible desde s
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
7 / 28
Acoplamiento bipartito
Teorema. (Hall, 1935)
Sea G un grafo bipartito con bipartición V (G ) = A
un acoplamiento cubriendo A sı́ y sólo sı́
|Γ(X )| ≥ |X |,
S
B. Entonces G tiene
∀X ⊆ A
Hint:
1
2
3
Asuma que G no tiene acoplamientos cubriendo A, es decir,
ν(G ) < |A|.
Por el teorema de König τ (G ) < |A|.
S
Considere
A′ ⊆ A y B ′ ⊆ B tales que A′ B ′ cubre todas las aristas y
S
|A′ B ′ | < |A|.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
8 / 28
Acoplamiento bipartito
Teorema. (Hall, 1935)
Sea G un grafo bipartito con bipartición V (G ) = A
un acoplamiento cubriendo A sı́ y sólo sı́
|Γ(X )| ≥ |X |,
S
B. Entonces G tiene
∀X ⊆ A
Hint:
1
2
3
Asuma que G no tiene acoplamientos cubriendo A, es decir,
ν(G ) < |A|.
Por el teorema de König τ (G ) < |A|.
S
Considere
A′ ⊆ A y B ′ ⊆ B tales que A′ B ′ cubre todas las aristas y
S
|A′ B ′ | < |A|.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
8 / 28
Acoplamiento bipartito
Teorema. (Hall, 1935)
Sea G un grafo bipartito con bipartición V (G ) = A
un acoplamiento cubriendo A sı́ y sólo sı́
|Γ(X )| ≥ |X |,
S
B. Entonces G tiene
∀X ⊆ A
Hint:
1
2
3
Asuma que G no tiene acoplamientos cubriendo A, es decir,
ν(G ) < |A|.
Por el teorema de König τ (G ) < |A|.
S
Considere
A′ ⊆ A y B ′ ⊆ B tales que A′ B ′ cubre todas las aristas y
S
|A′ B ′ | < |A|.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
8 / 28
Acoplamiento bipartito
Teorema. (Hall, 1935)
Sea G un grafo bipartito con bipartición V (G ) = A
un acoplamiento cubriendo A sı́ y sólo sı́
|Γ(X )| ≥ |X |,
S
B. Entonces G tiene
∀X ⊆ A
Hint:
1
2
3
Asuma que G no tiene acoplamientos cubriendo A, es decir,
ν(G ) < |A|.
Por el teorema de König τ (G ) < |A|.
S
Considere
A′ ⊆ A y B ′ ⊆ B tales que A′ B ′ cubre todas las aristas y
S
|A′ B ′ | < |A|.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
8 / 28
Acoplamiento bipartito
Teorema. (Frobenius, 1917)
S
Sea G un grafo bipartito con bipartión V (G ) = A B. Entonces G tiene
un acoplamiento perfecto sı́ y sólo sı́ |A| = |B| y |Γ(X )| ≥ |X | ∀ X ⊆ A
Teorema.
El problema de acoplamiento por cardinalidad para grafos bipartitos puede
ser resuelto en tiempo O(nm), donde n = |V (G )| y M = |E (G )|.
Para grafos densos la mejor cota conocida es de tiempo
√ log(n2 /m)
O m n
log(n)
Feder and Motwani [1995].
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
9 / 28
Acoplamiento bipartito
Teorema. (Frobenius, 1917)
S
Sea G un grafo bipartito con bipartión V (G ) = A B. Entonces G tiene
un acoplamiento perfecto sı́ y sólo sı́ |A| = |B| y |Γ(X )| ≥ |X | ∀ X ⊆ A
Teorema.
El problema de acoplamiento por cardinalidad para grafos bipartitos puede
ser resuelto en tiempo O(nm), donde n = |V (G )| y M = |E (G )|.
Para grafos densos la mejor cota conocida es de tiempo
√ log(n2 /m)
O m n
log(n)
Feder and Motwani [1995].
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
9 / 28
Acoplamiento bipartito
Teorema. (Frobenius, 1917)
S
Sea G un grafo bipartito con bipartión V (G ) = A B. Entonces G tiene
un acoplamiento perfecto sı́ y sólo sı́ |A| = |B| y |Γ(X )| ≥ |X | ∀ X ⊆ A
Teorema.
El problema de acoplamiento por cardinalidad para grafos bipartitos puede
ser resuelto en tiempo O(nm), donde n = |V (G )| y M = |E (G )|.
Para grafos densos la mejor cota conocida es de tiempo
√ log(n2 /m)
O m n
log(n)
Feder and Motwani [1995].
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
9 / 28
Acoplamiento bipartito
Definición
Sea G un grafo (bipartito o no), y sea M algún acoplamiento en G . Una
ruta P es una ruta M-alternante sı́ E (P)\M es un acoplamiento. Una
ruta M-alternante es M-aumentante sı́ sus puntos finales no son
cubiertos por M.
Teorema. (Berge, 1957)
Sea G un grafo (bipartito o no) con algún acoplamiento M. Entonces M
es máximo sı́ y sólo sı́ no existe una ruta M-aumentante.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
10 / 28
Acoplamiento bipartito
Definición
Sea G un grafo (bipartito o no), y sea M algún acoplamiento en G . Una
ruta P es una ruta M-alternante sı́ E (P)\M es un acoplamiento. Una
ruta M-alternante es M-aumentante sı́ sus puntos finales no son
cubiertos por M.
Teorema. (Berge, 1957)
Sea G un grafo (bipartito o no) con algún acoplamiento M. Entonces M
es máximo sı́ y sólo sı́ no existe una ruta M-aumentante.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
10 / 28
Matriz de Tutte
Matriz de Tutte
Sea G un grafo no dirigido y sea G ′ el grafo que resulta al orientar
arbitrariamente los aristas de G . Para algún vector x = (xe )e∈E (G ) de
variables, la matriz de Tutte es:
x
TG (x) = (tvw
)v ,w ∈V (G )
con
x
tvw
V. Avalos (PISIS/UANL)


x{v ,w }
:=
−χ{v ,w }

0
sı́ (v , w ) ∈ E (G ′ )
sı́ (w , v ) ∈ E (G ′ )
en otro caso
Acoplamiento
Opt. Combinatoria 07/05/08
11 / 28
Matriz de Tutte
Matriz de Tutte
Sea G un grafo no dirigido y sea G ′ el grafo que resulta al orientar
arbitrariamente los aristas de G . Para algún vector x = (xe )e∈E (G ) de
variables, la matriz de Tutte es:
x
TG (x) = (tvw
)v ,w ∈V (G )
con
x
tvw
V. Avalos (PISIS/UANL)


x{v ,w }
:=
−χ{v ,w }

0
sı́ (v , w ) ∈ E (G ′ )
sı́ (w , v ) ∈ E (G ′ )
en otro caso
Acoplamiento
Opt. Combinatoria 07/05/08
11 / 28
Matriz de Tutte
Teorema de Tutte: acoplamientos máximos
Teorema. (Tutte, 1947)
G Tiene un acoplamiento perfecto sı́ y sólo sı́ det(TG (χ)) es diferente de
cero.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
12 / 28
Matriz de Tutte
Teorema de Tutte: Cardinality Matching Problem
Condición necesaria para que G tenga un acoplamiento perfecto es
que cada componente conexa sea par, o sea, que tenga un número
par de vértices.
Nota: La condición anterior es necesaria pero no suficiente.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
13 / 28
Matriz de Tutte
Teorema de Tutte: Cardinality Matching Problem
Condición necesaria para que G tenga un acoplamiento perfecto es
que cada componente conexa sea par, o sea, que tenga un número
par de vértices.
Nota: La condición anterior es necesaria pero no suficiente.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
13 / 28
Matriz de Tutte
¿Tiene un acoplamiento perfecto?
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
14 / 28
Matriz de Tutte
¿Tiene un acoplamiento perfecto?
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
15 / 28
Matriz de Tutte
¿Tiene un acoplamiento perfecto?
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
16 / 28
Matriz de Tutte
De manera general para cada X ⊆ V (G ) sea qG (X ) el número de
componentes conexas impares que hay en el grafo G − X .
El grafo para el cual qG (X ) > |X |, para algún X ⊆ V (G ), no puede tener
un acoplamiento perfecto.
El teorema de Tutte dice que la condición necesaria anterior tambien
es suficiente.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
17 / 28
Matriz de Tutte
De manera general para cada X ⊆ V (G ) sea qG (X ) el número de
componentes conexas impares que hay en el grafo G − X .
El grafo para el cual qG (X ) > |X |, para algún X ⊆ V (G ), no puede tener
un acoplamiento perfecto.
El teorema de Tutte dice que la condición necesaria anterior tambien
es suficiente.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
17 / 28
Matriz de Tutte
Definición 1
Un grafo G satisface la condición de Tutte si qG (X ) ≤ |X | para todo
X ⊆ V (G ). Un conjunto de vértices X ⊆ V (G ) es una barrera sı́
qG (X ) = |X |.
Para probar la suficiencia de la condición de Tutte se tiene que hacer una
observación y una definición importante:
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
18 / 28
Matriz de Tutte
Proposición 1
Para algún grafo G y algun X ⊆ V (G ) tenemos:
qG (X ) − |X | ≡ |V (G )| (mod 2).
Definición 2
Un grafo G es llamado factor-critico si G − v tiene un acoplamiento
perfecto para cada v ∈ V (G ). Un acoplamiento es llamado casi-perfecto si
M cubre todos los vértices excepto uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
19 / 28
Matriz de Tutte
Proposición 1
Para algún grafo G y algun X ⊆ V (G ) tenemos:
qG (X ) − |X | ≡ |V (G )| (mod 2).
Definición 2
Un grafo G es llamado factor-critico si G − v tiene un acoplamiento
perfecto para cada v ∈ V (G ). Un acoplamiento es llamado casi-perfecto si
M cubre todos los vértices excepto uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
19 / 28
Matriz de Tutte
Teorema de Tutte: Cardinality Matching Problem
Teorema. (Tutte, 1947)
Un grafo G tiene un acoplamiento perfecto sı́ y sólo só satisface la
condición de Tutte:
qG (X ) ≤ |X |
para todo X ⊆ V (G )
Hint: Use
Definición 1,
Definición 2 y
Proposición 2.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
20 / 28
Matriz de Tutte
Teorema de Tutte: Cardinality Matching Problem
Teorema. (Tutte, 1947)
Un grafo G tiene un acoplamiento perfecto sı́ y sólo só satisface la
condición de Tutte:
qG (X ) ≤ |X |
para todo X ⊆ V (G )
Hint: Use
Definición 1,
Definición 2 y
Proposición 2.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
20 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Teorema. (Berge, 1958)
2ν(G ) + max (qG (X ) − |X |) = |V (G )|
X ⊆V (G )
Hint:
Considera algún X ⊆ V (G ) para el cual algún acoplamiento tenga al
menos qG − |X | vértices no cubiertos.
Pruebe que 2ν(G ) + qG (X ) − |X | ≤ V (G ) con
k = max (qG (X ) − |X |).
X ⊆V (G )
Construya un grafo H como G + k−vértices, cada uno conectado con
el resto de los vértices.
Suponga que H no tiene acoplamiento perfecto.
Use el teorema de Tutte y la proposición 10.11.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
21 / 28
Matriz de Tutte
Proposición
Sea G un grafo y X ⊆ V (G ) con |V (G )| − 2ν(G ) = qG (X ) − |X |.
Entonces algún acoplamiento máximo de G contiene:
1
2
3
un acoplamiento perfecto en cada componente conexa par de G − X ,
un acoplamiento casi-perfecto en cada componente conexa impar de
G − X, y
y asigna todos los vértices en X a vértices de distintas componentes
conexas impares de G − X
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
22 / 28
Matriz de Tutte
Proposición
Sea G un grafo y X ⊆ V (G ) con |V (G )| − 2ν(G ) = qG (X ) − |X |.
Entonces algún acoplamiento máximo de G contiene:
1
2
3
un acoplamiento perfecto en cada componente conexa par de G − X ,
un acoplamiento casi-perfecto en cada componente conexa impar de
G − X, y
y asigna todos los vértices en X a vértices de distintas componentes
conexas impares de G − X
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
22 / 28
Matriz de Tutte
Proposición
Sea G un grafo y X ⊆ V (G ) con |V (G )| − 2ν(G ) = qG (X ) − |X |.
Entonces algún acoplamiento máximo de G contiene:
1
2
3
un acoplamiento perfecto en cada componente conexa par de G − X ,
un acoplamiento casi-perfecto en cada componente conexa impar de
G − X, y
y asigna todos los vértices en X a vértices de distintas componentes
conexas impares de G − X
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
22 / 28
Matriz de Tutte
Proposición
Sea G un grafo y X ⊆ V (G ) con |V (G )| − 2ν(G ) = qG (X ) − |X |.
Entonces algún acoplamiento máximo de G contiene:
1
2
3
un acoplamiento perfecto en cada componente conexa par de G − X ,
un acoplamiento casi-perfecto en cada componente conexa impar de
G − X, y
y asigna todos los vértices en X a vértices de distintas componentes
conexas impares de G − X
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
22 / 28
Acoplamiento ponderado
Acoplamiento ponderado
Problema de acoplamiento de peso máximo
Instancia: Un grafo G no dirigido con pesos c : E (G ) → ℜ.
Tarea: Encontrar un acoplamiento de peso máximo en G .
Problema de acoplamiento perfecto de peso mı́nimo
Instancia: Un grafo G no dirigido con pesos c : E (G ) → ℜ.
Tarea: Encontrar un acoplamiento perfecto de peso mı́nimo en G o
decidir que G no tiene acoplamiento perfecto.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
23 / 28
Acoplamiento ponderado
Acoplamiento ponderado
Problema de acoplamiento de peso máximo
Instancia: Un grafo G no dirigido con pesos c : E (G ) → ℜ.
Tarea: Encontrar un acoplamiento de peso máximo en G .
Problema de acoplamiento perfecto de peso mı́nimo
Instancia: Un grafo G no dirigido con pesos c : E (G ) → ℜ.
Tarea: Encontrar un acoplamiento perfecto de peso mı́nimo en G o
decidir que G no tiene acoplamiento perfecto.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
23 / 28
Problema de Asignación
Problema de Asignación
En grafos bipartitos el problema de asignación es conocido como problema
de acoplamiento perfecto de peso mı́nimo.
Teorema
El problema de asignación puede ser resuelto en tiempo O(nm + n2 log2 )
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
24 / 28
Problema de Asignación
Problema de Asignación
En grafos bipartitos el problema de asignación es conocido como problema
de acoplamiento perfecto de peso mı́nimo.
Teorema
El problema de asignación puede ser resuelto en tiempo O(nm + n2 log2 )
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
24 / 28
Complejidad
Edmond’s Cardinality Matching Problem
(v2 , v3 ), (v7 , v6 ), (v4 , v5 ) es un acoplamiento M.
Empezando en v1 , se tiene una progresión de aristas alternante
v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 ,pero no es una ruta.
Estamos pasando a través de un circuito impar v5 , v6 , v7 .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
25 / 28
Complejidad
Edmond’s Cardinality Matching Problem
(v2 , v3 ), (v7 , v6 ), (v4 , v5 ) es un acoplamiento M.
Empezando en v1 , se tiene una progresión de aristas alternante
v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 ,pero no es una ruta.
Estamos pasando a través de un circuito impar v5 , v6 , v7 .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
25 / 28
Complejidad
Edmond’s Cardinality Matching Problem
(v2 , v3 ), (v7 , v6 ), (v4 , v5 ) es un acoplamiento M.
Empezando en v1 , se tiene una progresión de aristas alternante
v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 ,pero no es una ruta.
Estamos pasando a través de un circuito impar v5 , v6 , v7 .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
25 / 28
Complejidad
Edmond’s Cardinality Matching Problem
(v2 , v3 ), (v7 , v6 ), (v4 , v5 ) es un acoplamiento M.
Empezando en v1 , se tiene una progresión de aristas alternante
v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 ,pero no es una ruta.
Estamos pasando a través de un circuito impar v5 , v6 , v7 .
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
25 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Note que existe una ruta aumentante
v1 , v2 , v3 , v7 , v6 , v5 , v4 , v8
pero no esta claro como encontrarla. La pregunta es ¿Qué hacer sı́ hay un
circuito impar.?
Es suficiente deshacerse del circuito impar contrayéndolo a un sólo vértice.
El resultado es que el grafo más pequeño tiene un acoplamiento perfecto sı́
y sólo sı́ el grafo original tiene uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
26 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Note que existe una ruta aumentante
v1 , v2 , v3 , v7 , v6 , v5 , v4 , v8
pero no esta claro como encontrarla. La pregunta es ¿Qué hacer sı́ hay un
circuito impar.?
Es suficiente deshacerse del circuito impar contrayéndolo a un sólo vértice.
El resultado es que el grafo más pequeño tiene un acoplamiento perfecto sı́
y sólo sı́ el grafo original tiene uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
26 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Note que existe una ruta aumentante
v1 , v2 , v3 , v7 , v6 , v5 , v4 , v8
pero no esta claro como encontrarla. La pregunta es ¿Qué hacer sı́ hay un
circuito impar.?
Es suficiente deshacerse del circuito impar contrayéndolo a un sólo vértice.
El resultado es que el grafo más pequeño tiene un acoplamiento perfecto sı́
y sólo sı́ el grafo original tiene uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
26 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Note que existe una ruta aumentante
v1 , v2 , v3 , v7 , v6 , v5 , v4 , v8
pero no esta claro como encontrarla. La pregunta es ¿Qué hacer sı́ hay un
circuito impar.?
Es suficiente deshacerse del circuito impar contrayéndolo a un sólo vértice.
El resultado es que el grafo más pequeño tiene un acoplamiento perfecto sı́
y sólo sı́ el grafo original tiene uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
26 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Note que existe una ruta aumentante
v1 , v2 , v3 , v7 , v6 , v5 , v4 , v8
pero no esta claro como encontrarla. La pregunta es ¿Qué hacer sı́ hay un
circuito impar.?
Es suficiente deshacerse del circuito impar contrayéndolo a un sólo vértice.
El resultado es que el grafo más pequeño tiene un acoplamiento perfecto sı́
y sólo sı́ el grafo original tiene uno.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
26 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Teorema. (Edmond’s, 1965)
El algoritmo de acoplamiento por cardinalidad determina correctamente un
acoplamiento máximo en tiempo O(n3 ).
Actualmente la mejor complejidad conocida para el problema de
acoplamiento por cardinalidad es
√ log(n2 /m)
O m n
,
log(n)
justo como en el caso bipartito. Este resultado fue obtenido por Goldberg
y Karzanov [2004] y por Fremuth-Paeger y Jungnickel [2003]
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
27 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Teorema. (Edmond’s, 1965)
El algoritmo de acoplamiento por cardinalidad determina correctamente un
acoplamiento máximo en tiempo O(n3 ).
Actualmente la mejor complejidad conocida para el problema de
acoplamiento por cardinalidad es
√ log(n2 /m)
,
O m n
log(n)
justo como en el caso bipartito. Este resultado fue obtenido por Goldberg
y Karzanov [2004] y por Fremuth-Paeger y Jungnickel [2003]
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
27 / 28
Complejidad
Edmond’s Cardinality Matching Problem
Teorema. (Edmond’s, 1965)
El algoritmo de acoplamiento por cardinalidad determina correctamente un
acoplamiento máximo en tiempo O(n3 ).
Actualmente la mejor complejidad conocida para el problema de
acoplamiento por cardinalidad es
√ log(n2 /m)
,
O m n
log(n)
justo como en el caso bipartito. Este resultado fue obtenido por Goldberg
y Karzanov [2004] y por Fremuth-Paeger y Jungnickel [2003]
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
27 / 28
Complejidad
Referencias
Bernhard Korte, Jens Vygen.
Combinatorial Optimization,
Fourth Edition, Springer.
Chris Godsil, Gordon Royle.
Algebraic Graph Theory.
J.H. van Lint & R.M. Wilson.
A Course in Combinatorics,
Cambridge, Second edition.
V. Avalos (PISIS/UANL)
Acoplamiento
Opt. Combinatoria 07/05/08
28 / 28
Descargar