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