CombinatoriaContenidos

Teorema de Hall y emparejamientos en grafos bipartitos

¿Cuándo se puede asignar a cada persona un trabajo distinto de entre los que sabe hacer? La condición de Hall —simple de enunciar, profunda en sus consecuencias— responde exactamente a esta pregunta.

DificultadInternacional
Etiquetashallemparejamientosgrafos-bipartitossistemas-representanteskonig
Requisitosgrafos-fundamentosprincipios-conteo
AutorAdrián García Bouzas
Actualizado2026-06-08
Definición

Sea G=(XY,E)G = (X \cup Y, E) un grafo bipartito con partes XX e YY. Un emparejamiento es un conjunto de aristas sin vértices comunes; es perfecto desde XX (o saturador de XX) si cada vértice de XX está cubierto.

Para SXS \subseteq X, escribimos N(S)={yY:{x,y}E para alguˊxS}N(S) = \{y \in Y : \{x,y\} \in E \text{ para algún } x \in S\} — el conjunto de vecinos de SS.

Decimos que GG satisface la condición de Hall (respecto de XX) si

N(S)Spara todo SX.|N(S)| \geq |S| \qquad \text{para todo } S \subseteq X.
Teorema

1. Teorema de Hall (del matrimonio, 1935). Un grafo bipartito G=(XY,E)G = (X \cup Y, E) tiene un emparejamiento que satura XX si y solo si satisface la condición de Hall.

2. Corolario (matrimonios estables / sistemas de representantes distintos). Una familia de conjuntos A1,,AnA_1, \ldots, A_n admite un sistema de representantes distintos —elementos distintos a1A1,,anAna_1 \in A_1, \ldots, a_n \in A_n— si y solo si iSAiS\left|\bigcup_{i \in S} A_i\right| \geq |S| para todo S{1,,n}S \subseteq \{1,\ldots,n\}.

3. Teorema de König. En un grafo bipartito, el tamaño máximo de un emparejamiento es igual al tamaño mínimo de un recubrimiento por vértices (un conjunto de vértices que toca toda arista).

4. Teorema de Hall regular. Todo grafo bipartito kk-regular (k1k \geq 1, todos los vértices de grado kk) tiene un emparejamiento perfecto.

Demostración

(1) Hall — necesidad. Si existe un emparejamiento que satura XX, cada xSx \in S está unido a un vecino distinto f(x)Yf(x) \in Y, y todos estos f(x)f(x) son distintos: luego N(S){f(x):xS}=S|N(S)| \geq |\{f(x): x\in S\}| = |S|. \square

(1) Hall — suficiencia (inducción fuerte sobre X|X|). El caso X=1|X| = 1 es trivial. Distinguimos dos casos.

Caso 1: para todo SX\varnothing \neq S \subsetneq X, N(S)S+1|N(S)| \geq |S| + 1 (la condición de Hall es "estricta" salvo para S=XS = X). Tomamos cualquier x0Xx_0 \in X y cualquier vecino y0N({x0})y_0 \in N(\{x_0\}); emparejamos x0x_0 con y0y_0 y eliminamos ambos. En el grafo restante GG', para cualquier SX{x0}S \subseteq X \setminus \{x_0\} no vacío, NG(S)NG(S)1S|N_{G'}(S)| \geq |N_G(S)| - 1 \geq |S| (se pierde a lo sumo el vecino y0y_0). La condición de Hall se preserva en GG', y por hipótesis de inducción GG' tiene un emparejamiento que satura X{x0}X \setminus \{x_0\}; junto con {x0,y0}\{x_0,y_0\}, satura XX.

Caso 2: existe SX\varnothing \neq S \subsetneq X con N(S)=S|N(S)| = |S|. Por hipótesis de inducción (aplicada al subgrafo inducido por SN(S)S \cup N(S), más pequeño), SS admite un emparejamiento que lo satura, cubriendo exactamente N(S)N(S). Consideramos ahora X=XSX' = X \setminus S y Y=YN(S)Y' = Y \setminus N(S): para cualquier TXT \subseteq X',

NG(TS)TS=T+SyNG(TS)N(S)NG(T),|N_{G}(T \cup S)| \geq |T \cup S| = |T| + |S| \quad\text{y}\quad N_G(T \cup S) \subseteq N(S) \cup N_{G'}(T),

de donde NG(T)NG(TS)N(S)T|N_{G'}(T)| \geq |N_G(T \cup S)| - |N(S)| \geq |T| (donde GG' es el grafo inducido en XYX' \cup Y'). La condición de Hall se hereda en GG', y por inducción GG' tiene un emparejamiento que satura XX'. Uniendo ambos emparejamientos se satura XX. \blacksquare

(2) Sistemas de representantes. Traducción directa: X={1,,n}X = \{1,\ldots,n\}, Y=Y = el conjunto universo, E={{i,a}:aAi}E = \{\{i, a\} : a \in A_i\}. Un emparejamiento que satura XX es exactamente un sistema de representantes distintos, y N(S)=iSAiN(S) = \bigcup_{i \in S} A_i. \square

(4) Hall regular. Para cualquier SXS \subseteq X, contamos las aristas entre SS y N(S)N(S) de dos formas: cada vértice de SS aporta kk aristas (todas hacia N(S)N(S), por definición), así que hay kSk|S| aristas; cada vértice de N(S)N(S) recibe a lo sumo kk de ellas, así que hay a lo sumo kN(S)k|N(S)|. Por tanto kSkN(S)k|S| \leq k|N(S)|, es decir N(S)S|N(S)| \geq |S|: la condición de Hall se cumple automáticamente, y por el teorema de Hall existe un emparejamiento saturador; por simetría de grados, es perfecto. \blacksquare (Este es un ejemplo arquetípico de conteo doble resolviendo instantáneamente lo que parecía requerir construir el emparejamiento explícitamente.)

Ejemplo

Ejemplo 1 (el "problema del matrimonio"). En un pueblo hay nn chicos y nn chicas; cada chico conoce a algunas chicas. Si todo grupo de kk chicos conoce, en conjunto, al menos a kk chicas (para todo kk), entonces es posible casar a cada chico con una chica que conoce, sin repetir — exactamente la condición de Hall.

Ejemplo 2 (recubrimiento por dominós). Un tablero (no necesariamente rectangular, posiblemente con casillas eliminadas) admite un cubrimiento perfecto por fichas 1×21\times 2 si y solo si, viendo las casillas blancas y negras como las dos partes de un grafo bipartito (aristas = adyacencias), se satisface la condición de Hall en ambas direcciones —y, en particular, el número de casillas blancas debe igualar al de negras—. (Comparar con el argumento de coloración del tablero mutilado, que es la obstrucción de Hall más simple posible: N(S)<S|N(S)| < |S| para S={S = \{una esquina}\} tras eliminar su pareja de color.)

Aplicaciones

Verificar la condición de Hall: dónde buscar el conjunto "malo"

En la práctica, probar que la condición de Hall se cumple rara vez requiere verificar los 2X2^{|X|} subconjuntos: basta a menudo un argumento de conteo uniforme (como en la prueba del caso regular). Refutarla, en cambio, requiere exhibir un único conjunto "estrecho" SS con N(S)<S|N(S)| < |S| —y encontrarlo suele ser la parte creativa del problema—.

Problema. Una baraja de 5252 cartas se reparte en 1313 montones de 44 cartas cada uno. Demostrar que es posible elegir una carta de cada montón de modo que las 1313 cartas elegidas tengan los 1313 valores distintos (As, 2,,2,\ldots, Rey).

Solución (esquema). Sea X={X = \{montones}\}, Y={Y = \{valores}\}, con ivi \sim v si el montón ii contiene una carta de valor vv. Cada montón tiene 44 cartas, así que N({i})1|N(\{i\})| \geq 1 trivialmente; el argumento fino consiste en contar, para cualquier conjunto SS de montones, el número total de cartas que contienen (4S4|S|) frente al número de valores que podrían "faltar" si N(S)<S|N(S)| < |S| —y verificar que esto fuerza una repetición de valor dentro de algún montón, lo cual es imposible (cada montón tiene 44 cartas de valores no necesariamente distintos, pero la cuenta global de cada valor es exactamente 44)—. Un análisis cuidadoso de conteo muestra que la condición de Hall se cumple siempre. \blacksquare

De Hall a flujos: el teorema de Max-Flow Min-Cut

El teorema de König —equivalencia entre emparejamiento máximo y recubrimiento mínimo por vértices— es el caso bipartito de un fenómeno mucho más general: el teorema de flujo máximo - corte mínimo (Ford–Fulkerson) en redes de transporte. Esta conexión sitúa a Hall en el corazón de la dualidad combinatoria: muchos problemas de optimización combinatoria vienen en pares "primal-dual" donde el óptimo de uno es exactamente el óptimo del otro —un patrón que reaparece en programación lineal, en la dualidad de matroides, y en la teoría de juegos posicionales.

Generalización: el teorema de Hall "defectuoso"

Cuando la condición de Hall falla, aún se puede cuantificar el déficit: el tamaño máximo de un emparejamiento es exactamente

XmaxSX(SN(S))|X| - \max_{S \subseteq X} \big(|S| - |N(S)|\big)

(fórmula del déficit de Hall, consecuencia directa del teorema aplicado a un grafo auxiliar). Esta versión cuantitativa es la que realmente se necesita en problemas que piden el tamaño del mayor emparejamiento posible, en lugar de solo decidir si existe uno perfecto.

Observación

El teorema de Hall es el prototipo de una condición necesaria que resulta ser suficiente —un fenómeno que en combinatoria es la excepción, no la regla, y que cuando ocurre suele señalar una estructura matemática profunda (aquí, la dualidad emparejamiento–recubrimiento de König, y en última instancia la teoría de matroides de Whitney–Edmonds). Cuando un problema pregunta por la existencia de una "asignación compatible" —representantes, parejas, horarios sin solapamientos—, vale la pena preguntarse si se puede modelar como un emparejamiento bipartito: si es así, el problema de existencia se reduce, casi siempre, a verificar una única desigualdad de conteo.