Módulos / combinatoria-2 / Capítulo 5 — Grafos bipartitos y matchings / Lección 5.1

El teorema de Hall: cuándo existe un matching perfecto

Lección 5.1·Capítulo 5 — Grafos bipartitos y matchings·12 min·Piloto

Video en producción

El contenido pedagógico de esta lección ya está completo y lo puedes leer abajo. El video con la voz de Eduardo Espinoza Ramos se produce según la Política de IA.

Disclosure de IA: al publicarse, este contenido reproducirá digitalmente, con autorización expresa del autor, la voz y fisonomía de Eduardo Espinoza Ramos. Curaduría revisada por matemáticos profesionales. Política completa →

Objetivo de la lección

Definir grafos bipartitos, matchings y sistemas de representantes distintos (SDR); enunciar y demostrar el teorema de Hall; identificar la condición de Hall $|N(S)| \geq |S|$ para todo $S \subseteq X$; y aplicar el teorema para demostrar existencia de matchings perfectos en problemas combinatorios de estilo iberoamericano.

Grafos bipartitos y matchings: definiciones fundamentales

Un grafo bipartito es un grafo G=(V,E)G = (V, E) cuyo conjunto de vértices se puede particionar en dos conjuntos XX e YY (las partes) de modo que toda arista conecta un vértice de XX con uno de YY. Escribimos G=(XY,E)G = (X \cup Y, E).

Los ejemplos más naturales: tableros de ajedrez (escaques blancos vs. negros), conjuntos de personas y tareas (personas vs. trabajos), conjuntos de elementos y subconjuntos (elementos vs. subconjuntos), o dos grupos en un problema de asignación.

Un matching (o emparejamiento) en GG es un conjunto MEM \subseteq E de aristas tal que ningún vértice aparece en más de una arista de MM. Informalmente, es una "asignación parcial" donde cada persona recibe a lo sumo una tarea y cada tarea es asignada a lo sumo a una persona.

Un matching perfecto (desde XX hasta YY) es un matching MM tal que todo vértice de XX aparece en alguna arista de MM. Si X=Y|X| = |Y|, esto significa que MM es una biyección entre XX e YY.

Para cada SXS \subseteq X, la vecindad N(S)N(S) es el conjunto de vértices de YY adyacentes a al menos un vértice de SS: N(S)={yY:xS,xyE}N(S) = \{y \in Y : \exists\, x \in S,\, xy \in E\}. La condición N(S)S|N(S)| \geq |S| es natural: si queremos asignar a cada xSx \in S un vecino distinto en YY, necesitamos al menos S|S| vecinos disponibles.

El teorema de Hall

El teorema de Hall (Philip Hall, 1935) da una condición necesaria y suficiente para la existencia de un matching perfecto desde XX.

Condición de Hall: Decimos que GG satisface la condición de Hall si para todo subconjunto SXS \subseteq X se tiene N(S)S|N(S)| \geq |S|.

Demostración de la necesidad: Si existe un matching perfecto MM, entonces para todo SXS \subseteq X, cada vértice de SS está emparejado con un vértice distinto de N(S)N(S), luego N(S)S|N(S)| \geq |S|.

Demostración de la suficiencia (por inducción en X|X|): El caso X=1|X| = 1 es inmediato (si xx tiene al menos un vecino, podemos emparejarlo). Para el paso inductivo, supongamos que X=n2|X| = n \geq 2 y que la condición de Hall se cumple.

Caso 1 — condición estricta: Si N(S)>S|N(S)| > |S| para todo SXS \subsetneq X (la condición es estricta para todos los subconjuntos propios), elige cualquier arista xyExy \in E, elimina xx de XX e yy de YY. El grafo restante GG' sigue satisfaciendo la condición de Hall: para cualquier SX{x}S \subseteq X \setminus \{x\}, la vecindad en GG' es NG(S)NG(S){y}N_{G'}(S) \supseteq N_G(S) \setminus \{y\}, que tiene tamaño NG(S)1S+11=S\geq |N_G(S)| - 1 \geq |S|+1-1 = |S|. Por hipótesis inductiva, GG' tiene un matching perfecto MM', y M{xy}M' \cup \{xy\} es matching perfecto de GG.

Caso 2 — condición justa: Si existe SXS \subsetneq X con N(S)=S|N(S)| = |S| (un conjunto "ajustado"), emparejar primero SS con N(S)N(S) por inducción (la condición de Hall se cumple en el subgrafo inducido), y luego emparejar XSX \setminus S con YN(S)Y \setminus N(S): la condición de Hall para XSX \setminus S en YN(S)Y \setminus N(S) se puede verificar usando que el conjunto SS era ajustado. \square

G tiene matching perfecto desde X    SX:  N(S)SG \text{ tiene matching perfecto desde } X \iff \forall S \subseteq X:\; |N(S)| \geq |S|

Sistemas de representantes distintos (SDR)

La versión "de conjuntos" del teorema de Hall es el teorema de los representantes distintos: dada una familia de conjuntos finitos A1,A2,,AnA_1, A_2, \ldots, A_n (no necesariamente disjuntos), existe un sistema de representantes distintos (SDR) —una elección de elementos a1A1,a2A2,,anAna_1 \in A_1, a_2 \in A_2, \ldots, a_n \in A_n con los aia_i todos distintos— si y solo si para todo I{1,,n}I \subseteq \{1,\ldots,n\} se tiene iIAiI\left|\bigcup_{i \in I} A_i\right| \geq |I|.

La equivalencia con el teorema de Hall es inmediata: construir el grafo bipartito GG con X={A1,,An}X = \{A_1,\ldots,A_n\} (un vértice por conjunto), Y=iAiY = \bigcup_i A_i (los elementos), y aristas (Ai,y)(A_i, y) cuando yAiy \in A_i. Un SDR corresponde exactamente a un matching perfecto desde XX.

Ejemplo básico: ¿Existe un SDR para A1={1,2}A_1 = \{1,2\}, A2={2,3}A_2 = \{2,3\}, A3={1,3}A_3 = \{1,3\}? Verificamos la condición: A1=21|A_1| = 2 \geq 1, A2=21|A_2| = 2 \geq 1, A3=21|A_3| = 2 \geq 1, A1A2=32|A_1 \cup A_2| = 3 \geq 2, A1A3=32|A_1 \cup A_3| = 3 \geq 2, A2A3=32|A_2 \cup A_3| = 3 \geq 2, A1A2A3=3=3|A_1 \cup A_2 \cup A_3| = 3 = 3. La condición se cumple (el caso I=3|I|=3 es justo). SDR posible: a1=1,a2=2,a3=3a_1 = 1, a_2 = 2, a_3 = 3.

Ejemplo donde falla: A1={1,2}A_1 = \{1,2\}, A2={1,2}A_2 = \{1,2\}, A3={3}A_3 = \{3\}. Tomando I={1,2}I = \{1,2\}: A1A2={1,2}=2=I|A_1 \cup A_2| = |\{1,2\}| = 2 = |I|, la condición se cumple. Tomando I={1,2,3}I = \{1,2,3\}: A1A2A3=3=I|A_1 \cup A_2 \cup A_3| = 3 = |I|. La condición se cumple y existe SDR: a1=1,a2=2,a3=3a_1 = 1, a_2 = 2, a_3 = 3 (o a1=2,a2=1,a3=3a_1 = 2, a_2 = 1, a_3 = 3).

Ejemplo donde falla la condición: A1={1}A_1 = \{1\}, A2={1}A_2 = \{1\}. Para I={1,2}I = \{1,2\}: A1A2=1<2|A_1 \cup A_2| = 1 < 2. La condición de Hall falla y no existe SDR (ambos conjuntos solo tienen al elemento 1, pero no podemos elegirlo dos veces).

SDR    I[n]:  iIAiI\exists\,\text{SDR} \iff \forall I \subseteq [n]:\; \left|\bigcup_{i \in I} A_i\right| \geq |I|

Hall en grafos regulares y doble conteo

Uno de los corolarios más elegantes del teorema de Hall se aplica a grafos bipartitos **kk-regulares** (donde todo vértice tiene exactamente kk vecinos, con k1k \geq 1):

Corolario: Todo grafo bipartito kk-regular (k1k \geq 1) tiene un matching perfecto.

Demostración: Verificamos la condición de Hall. Sea SXS \subseteq X. Las aristas entre SS y N(S)N(S) son: desde SS hay kSk|S| aristas (cada vértice de SS tiene kk vecinos), y todas caen en N(S)N(S). Desde N(S)N(S), cada vértice tiene kk vecinos en XX, así que hay a lo sumo kN(S)k|N(S)| aristas entre N(S)N(S) y XX. Entonces kSkN(S)k|S| \leq k|N(S)|, lo que implica N(S)S|N(S)| \geq |S|. \square

Este argumento de doble conteo (contar las aristas entre SS y N(S)N(S) de dos maneras) es una técnica estándar para verificar la condición de Hall en problemas olímpicos.

Aplicación en tableros: El tablero de ajedrez estándar 8×88 \times 8 tiene partes XX = escaques blancos, YY = escaques negros. Si eliminamos un escaque blanco y uno negro, ¿se puede cubrir el tablero con 3131 dominós? La respuesta depende de cuáles escaques se eliminan, y el teorema de Hall (o un argumento de coloración) lo resuelve.

Matching perfecto en grafos bipartitos regulares y el teorema de Birkhoff: Toda matriz doblemente estocástica (con entradas no negativas y sumas de fila y columna iguales a 1) es una combinación convexa de matrices de permutación. La demostración usa repetidamente el teorema de Hall para encontrar permutaciones (matchings perfectos) que dan soporte a la matriz.

Defecto de Hall y el teorema generalizado

Cuando la condición de Hall no se cumple, ¿qué tan grande puede ser un matching? El defecto de Hall de GG es def(G)=maxSX(SN(S))\text{def}(G) = \max_{S \subseteq X}(|S| - |N(S)|). El teorema generalizado de Hall afirma:

El matching máximo desde XX tiene tamaño Xdef(G)|X| - \text{def}(G).

En otras palabras, el "cuello de botella" es el subconjunto SS que maximiza SN(S)|S| - |N(S)|: exactamente def(G)\text{def}(G) vértices de XX quedarán sin emparejar en cualquier matching óptimo.

Demostración: Sea d=def(G)d = \text{def}(G). Añadimos dd vértices "ficticios" a YY, cada uno adyacente a todos los vértices de XX. El nuevo grafo GG' satisface la condición de Hall: para todo SXS \subseteq X, NG(S)NG(S)+dS(SNG(S))+d0+dS|N_{G'}(S)| \geq |N_G(S)| + d \geq |S| - (|S| - |N_G(S)|) + d \cdot 0 + d \geq |S| (usando d=maxSNG(S)d = \max|S|-|N_G(S)|). Entonces GG' tiene un matching perfecto de tamaño X|X|, y al quitar los dd vértices ficticios obtenemos un matching de tamaño Xd|X| - d en GG.

Uso en olimpiadas: El defecto de Hall aparece en problemas de la forma "muestra que se pueden asignar al menos kk de las nn tareas". Se calcula d=maxS(SN(S))d = \max_S(|S|-|N(S)|) y se concluye que el matching óptimo tiene tamaño nd\geq n - d.

El teorema de König (próxima lección) complementa este resultado dando el tamaño del matching máximo en términos de la cobertura mínima de vértices.

Matching maˊximo=XmaxSX(SN(S))\text{Matching máximo} = |X| - \max_{S \subseteq X}\bigl(|S| - |N(S)|\bigr)

Problema trabajado: asignación de trabajos

Problema: Hay nn personas y nn trabajos. Cada persona puede realizar exactamente kk de los nn trabajos (kk fijo), y cada trabajo puede ser realizado por exactamente kk personas. Demuestra que existe una asignación donde cada persona realiza un trabajo distinto.

Solución: Modelamos el problema con un grafo bipartito kk-regular GG donde XX son las personas, YY son los trabajos, y hay arista (x,y)(x, y) si la persona xx puede realizar el trabajo yy. La condición "kk trabajos por persona y kk personas por trabajo" significa que GG es kk-regular.

Por el corolario del teorema de Hall para grafos regulares, GG tiene un matching perfecto. Este matching es exactamente la asignación pedida: cada persona recibe un trabajo (distinto) que puede realizar. \square

Variante: Si en lugar de que cada persona realice exactamente kk trabajos, simplemente pedimos que cada persona pueda realizar al menos kk trabajos, la regularidad no se garantiza. En ese caso, debemos verificar la condición de Hall directamente o usar el doble conteo adaptado.

Reflexión: La demostración usa la regularidad de manera esencial. El corolario falla si el grafo no es regular: por ejemplo, con 3 personas y 3 trabajos donde las personas 1 y 2 solo pueden hacer el trabajo 1, la condición de Hall falla.

Problemas del Capítulo 5 — con solución

8 problemas verificados. Intenta cada uno antes de abrir la solución.

C2-5.1★★★Cono Sur 2004 (estilo)

Hay nn estudiantes y nn proyectos. Cada estudiante puede trabajar en exactamente 3 proyectos, y cada proyecto puede ser trabajado por exactamente 3 estudiantes. Demuestra que es posible asignar a cada estudiante un proyecto distinto, de modo que cada estudiante trabaje en un proyecto que puede hacer.

C2-5.2★★★Iberoamericana 2001 (estilo)

En un tablero n×nn \times n, se colocan kk fichas en celdas distintas. Demuestra que el número mínimo de filas y columnas necesarias para cubrir todas las fichas es igual al máximo número de fichas tal que no haya dos en la misma fila ni en la misma columna.

C2-5.3★★★Cono Sur 2012 (estilo)

Sea A1,A2,,AnA_1, A_2, \ldots, A_n una familia de subconjuntos de {1,2,,n}\{1, 2, \ldots, n\} tales que Ain/2|A_i| \geq \lceil n/2 \rceil para todo i{1,,n}i \in \{1, \ldots, n\}. Demuestra que existe un sistema de representantes distintos (SDR).

C2-5.4★★★Iberoamericana 2005 (estilo)

Sea G=(XY,E)G = (X \cup Y, E) un grafo bipartito con X=Y=n|X| = |Y| = n. Demuestra que GG tiene un matching perfecto si y solo si para todo SXS \subseteq X, N(S)S|N(S)| \geq |S| (condición de Hall). Además, si la condición de Hall se cumple, construye explícitamente un matching perfecto para el grafo GG donde X={1,2,3,4}X = \{1,2,3,4\}, Y={a,b,c,d}Y = \{a,b,c,d\}, y las aristas son: 11-aa, 11-bb, 22-bb, 22-cc, 33-cc, 33-dd, 44-aa, 44-dd.

C2-5.5★★★★Iberoamericana 2010 (estilo)

Sea G=(XY,E)G = (X \cup Y, E) un grafo bipartito con X=m|X| = m y Y=n|Y| = n, donde mnm \leq n. Supón que todo vértice de XX tiene grado al menos dd y todo vértice de YY tiene grado a lo sumo dd. Demuestra que GG tiene un matching que cubre todos los vértices de XX.

C2-5.6★★★★Cono Sur 2018 (estilo)

Sean A1,A2,,AnA_1, A_2, \ldots, A_n subconjuntos de {1,2,,n}\{1, 2, \ldots, n\} con Ai=k|A_i| = k para todo ii, y supongamos que cada elemento j{1,,n}j \in \{1, \ldots, n\} pertenece a exactamente kk de los nn conjuntos. Demuestra que los conjuntos A1,,AnA_1, \ldots, A_n admiten kk sistemas de representantes distintos disjuntos que juntos contienen exactamente kk veces cada elemento de {1,,n}\{1,\ldots,n\}.

C2-5.7★★★★Iberoamericana 2013 (estilo)

Se tiene un tablero m×nm \times n (mnm \leq n) con algunas celdas coloreadas. Sea rr el máximo número de celdas coloreadas tales que no hay dos en la misma fila ni en la misma columna. Demuestra que existen rr filas y columnas (en total) que cubren todas las celdas coloreadas. Además, si el tablero tiene exactamente mn/2mn/2 celdas coloreadas y cada fila y columna tiene el mismo número de celdas coloreadas, calcula rr en términos de mm y nn.

C2-5.8★★★★Cono Sur 2015 (estilo)

Sea n2n \geq 2 un entero par. Considera un torneo de nn equipos donde cada par de equipos juega exactamente una vez. Demuestra que los (n2)\binom{n}{2} partidos pueden organizarse en n1n-1 rondas de n/2n/2 partidos cada una, de modo que en cada ronda cada equipo juega exactamente una vez.