Cobertura de vértices y dualidad
Una cobertura de vértices (vertex cover) de un grafo es un conjunto tal que toda arista de tiene al menos un extremo en . El tamaño de la cobertura mínima se denota .
Un conjunto independiente (independent set) es un conjunto tal que ninguna arista conecta dos vértices de . Equivalentemente, es independiente si y solo si es cobertura de vértices. Luego , donde es el tamaño del máximo conjunto independiente.
Observación básica: si es un matching y es una cobertura de vértices, entonces (cada arista de necesita al menos un vértice de , y como las aristas de son disjuntas, se necesitan al menos vértices distintos en ). En consecuencia, , donde es el tamaño del matching máximo.
La pregunta es: ¿cuándo se da la igualdad ? La respuesta, para grafos bipartitos, es el teorema de König.
Para grafos en general, la igualdad puede no darse: en el triángulo , pero (se necesitan 2 vértices para cubrir las 3 aristas del triángulo). La bipartición es esencial.
El teorema de König
Teorema de König (1931): En todo grafo bipartito , el tamaño del matching máximo es igual al tamaño de la cobertura mínima de vértices:
Demostración (construcción de la cobertura a partir de un matching máximo): Sea un matching máximo de . Construimos una cobertura con .
Sea el conjunto de vértices de no cubiertos por (los que no están en ninguna arista de ). Definimos como el conjunto de vértices alcanzables desde por caminos alternantes (caminos que alternan aristas fuera de y aristas en ). Sea y .
Definimos . Afirmamos que es cobertura de vértices y .
es cobertura:** Sea una arista. Si , entonces , y la arista puede ser usada para extender el camino alternante hasta , luego , así . Si , entonces . En ambos casos, al menos uno de está en .
:** Como es máximo, no hay camino de aumento (camino alternante desde hasta un vértice de no cubierto por ). Luego todos los vértices de están cubiertos por , y cada vértice de es emparejado con un vértice de (no de , porque si fuera emparejado con un , ese sería alcanzable y estaría en ). Por tanto la función es una biyección de a , así . Además, cada vértice de está cubierto por (pues ). Luego (calculando con cuidado) .
Consecuencias inmediatas: independencia y emparejamiento
Combinando con obtenemos para grafos bipartitos:
.
Esto relaciona el conjunto independiente máximo con el matching máximo: en un grafo bipartito, maximizar el conjunto independiente es equivalente a minimizar el matching.
Corolario: En un grafo bipartito , el conjunto independiente máximo tiene tamaño .
Aplicación en combinatoria de conjuntos: Sea una familia de subconjuntos de tal que para cualesquiera , (familia anti-chain o antichena en el poset de inclusión). ¿Cuál es el tamaño máximo de ? Por el teorema de Dilworth (que se deduce del teorema de König) y el teorema de Sperner, .
El teorema de Dilworth: En cualquier poset finito , el número mínimo de cadenas que cubren es igual al tamaño máximo de una antichena. La demostración construye un grafo bipartito con dos copias del poset y aristas para las relaciones de orden, y aplica el teorema de König.
El teorema de Dilworth y posets
Un poset (conjunto parcialmente ordenado) es un conjunto con una relación reflexiva, antisimétrica y transitiva. Una cadena en es un subconjunto de elementos totalmente ordenados (cualquier par es comparable). Una antichena es un subconjunto de elementos mutuamente incomparables.
Teorema de Dilworth (1950): En un poset finito, el tamaño mínimo de una partición de en cadenas es igual al tamaño máximo de una antichena.
Demostración vía König: Construimos un grafo bipartito donde y son dos copias de , y hay arista si en (con estricto). Por König, el tamaño del matching máximo es igual al tamaño de la cobertura mínima .
Una cadena de cobertura mínima de con cadenas corresponde a una partición donde los "eslabones" de las cadenas son los emparejamientos. Formalmente, si el matching máximo es , la partición mínima en cadenas tiene tamaño (cada arista del matching "une" dos elementos en la misma cadena, reduciendo el conteo en 1). El tamaño máximo de una antichena es también por König. El argumento completo requiere verificar la biyección entre antichenas y coberturas en el grafo bipartito auxiliar.
Teorema de Mirsky (dual): En un poset finito, el tamaño mínimo de una partición en antichenas es igual a la longitud de la cadena más larga (número de elementos en la cadena máxima).
Aplicación olímpica: Sea con enteros distintos. Por el teorema de Erdős–Szekeres (corolario de Dilworth/Mirsky), cualquier sucesión de enteros distintos contiene una subsucesión monótona de longitud al menos .
König y flujo máximo: la conexión con Ford-Fulkerson
El teorema de König es un caso especial del teorema min-max de flujo-corte (teorema de Ford-Fulkerson / Menger). En un grafo bipartito con capacidades unitarias, el flujo máximo de una fuente (conectada a todos los vértices de ) a un sumidero (conectado desde todos los vértices de ) es exactamente el matching máximo.
Por el teorema del corte mínimo, el flujo máximo es igual al corte mínimo, que corresponde a la cobertura mínima de vértices. Esto da una segunda demostración del teorema de König.
Consecuencia algorítmica: El matching máximo en un grafo bipartito se puede encontrar en tiempo usando el algoritmo de caminos de aumento (Ford-Fulkerson para grafos bipartitos). Para propósitos olímpicos, basta saber que el matching se puede construir algorítmicamente.
El teorema de Menger: En un grafo dirigido, el número máximo de caminos dirigidos internamente disjuntos (sin vértices comunes, salvo el origen y el destino) de a es igual al tamaño mínimo de un corte de vértices separando de . Esto generaliza König y es la formulación más general del min-max para caminos.
En olimpiadas: El teorema de König aparece en problemas de la forma "muestra que se necesitan al menos piezas para cubrir todas las filas/columnas de un tablero" o "¿cuántas piezas mínimas cubren todas las amenazas?". La estrategia es modelar el tablero como un grafo bipartito y aplicar König.
Problema trabajado: cobertura en un tablero
Problema: En un tablero de , se marcan algunas celdas. Demuestra que el número mínimo de filas y columnas necesarias para cubrir todas las celdas marcadas es igual al máximo número de celdas marcadas tal que no haya dos en la misma fila ni en la misma columna.
Solución: Construimos un grafo bipartito donde (filas), (columnas), y hay arista si la celda está marcada.
Un matching en corresponde a un conjunto de celdas marcadas sin dos en la misma fila ni en la misma columna. Una cobertura de vértices en corresponde a una selección de filas y columnas que cubren todas las celdas marcadas (pues cada arista tiene al menos un extremo en la cobertura, es decir, la fila o la columna está seleccionada).
Por el teorema de König, . Traducido al tablero: el máximo de celdas marcadas sin repetición de fila ni columna (matching máximo) es igual al mínimo de filas y columnas que cubren todas las celdas (cobertura mínima).
Este resultado es el teorema de König en tableros, y es uno de los enunciados más frecuentes en olimpiadas de combinatoria de nivel Iberoamericano.