Módulos / combinatoria-2 / Capítulo 3 — Triángulo de Pascal y combinatoria avanzada / Lección 3.4

Doble conteo: la técnica del libro de dos columnas

Lección 3.4·Capítulo 3 — Triángulo de Pascal y combinatoria avanzada·11 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

Dominar la técnica del doble conteo como método de demostración de identidades y desigualdades combinatorias, aplicar el conteo por filas y por columnas en tablas de incidencia, demostrar la desigualdad de Cauchy-Schwarz combinatoria y el lema de la suma de grados, y resolver problemas olímpicos mediante argumentos de doble conteo.

La idea central: contar lo mismo de dos maneras

El doble conteo (o "conteo desde dos ángulos") es quizás la técnica más elegante y más frecuente en la combinatoria olímpica. La idea es deceptivamente simple: definir un conjunto o una suma, y calcularlo de dos maneras distintas que deben dar el mismo resultado. La igualdad de los dos resultados es la identidad o la cota que queremos demostrar.

El nombre "libro de dos columnas" es metafórico pero ilustrativo: imaginamos un libro contable con dos columnas donde registramos el mismo activo desde la perspectiva del comprador y del vendedor. Ambas columnas deben cuadrar.

El doble conteo en su forma más visual es la identidad iri=F=jcj\sum_{i} r_i = |\mathcal{F}| = \sum_{j} c_j, donde rir_i es la suma de la fila ii y cjc_j es la suma de la columna jj de una tabla de incidencia (matriz con entradas 0 o 1). La suma total de la tabla se puede calcular por filas o por columnas, y ambas dan el mismo resultado.

Históricamente, el doble conteo se formaliza en el Lema del Apretón de Manos (vd(v)=2E\sum_{v} d(v) = 2|E| en un grafo), que es el primer ejemplo de doble conteo que aprenden los estudiantes de combinatoria. En este capítulo, llevamos la técnica al nivel iberoamericano.

El lema de la suma de grados y sus generalizaciones

Lema del Apretón de Manos: En cualquier grafo G=(V,E)G = (V, E), vVd(v)=2E\sum_{v \in V} d(v) = 2|E|. Demostración por doble conteo: definimos el conjunto de pares (v,e)(v, e) donde vv es vértice de la arista ee. Contando por vértices: hay d(v)d(v) aristas incidentes a vv para cada vv, luego el total es vd(v)\sum_v d(v). Contando por aristas: cada arista e={u,v}e = \{u,v\} contribuye exactamente 2 pares ((u,e)(u,e) y (v,e)(v,e)), luego el total es 2E2|E|. Igualando: vd(v)=2E\sum_v d(v) = 2|E|.

Corolario: En cualquier grafo, el número de vértices de grado impar es par.

Generalización — suma de productos de grados: Definimos X={u,v}Ed(u)d(v)X = \sum_{\{u,v\} \in E} d(u) \cdot d(v). Por doble conteo de caminos de longitud 2: cada camino uu-ww-vv contribuye a XX como el par (u,v)(u,v) tiene d(w)d(w) "intermediarios"... en realidad X=e={u,v}d(u)d(v)X = \sum_{e=\{u,v\}} d(u)d(v) se calcula contando los pares (arista, vecino de un extremo): X=wuN(w)d(w)=wd(w)2/2X = \sum_w \sum_{u \in N(w)} d(w) = \sum_w d(w)^2 / 2... El argumento correcto: w(d(w)2)\sum_{w} \binom{d(w)}{2} cuenta los caminos de longitud 2 (pares de aristas incidentes a ww). Por doble conteo, w(d(w)2)={u,v}N(u)N(v)\sum_w \binom{d(w)}{2} = \sum_{\{u,v\}} |N(u) \cap N(v)| (número de vecinos comunes de uu y vv, sumado sobre todos los pares).

Identidad de sumas de cuadrados: Para un grafo kk-regular con nn vértices y m=nk/2m = nk/2 aristas: vd(v)2=nk2\sum_v d(v)^2 = nk^2. Más generalmente, para cualquier grafo: vd(v)2(vd(v))2n=4m2n\sum_v d(v)^2 \geq \frac{(\sum_v d(v))^2}{n} = \frac{4m^2}{n} por Cauchy-Schwarz.

Cota de Cauchy-Schwarz combinatoria (Türan via doble conteo): En un grafo con nn vértices, mm aristas y sin triángulos: vd(v)2mn\sum_v d(v)^2 \leq mn (ya que cada arista {u,v}\{u,v\} contribuye al par (vecino de u,vecino de v)(\text{vecino de }u, \text{vecino de }v), y la ausencia de triángulos significa que N(u)N(v)=N(u) \cap N(v) = \emptyset para toda arista {u,v}\{u,v\}). De vd(v)2mn\sum_v d(v)^2 \leq mn y vd(v)=2m\sum_v d(v) = 2m, por Cauchy-Schwarz: 4m2/nmn4m^2/n \leq mn, luego mn2/4m \leq n^2/4. Esta es la cota de Turán para K3K_3.

vVd(v)=2E\sum_{v \in V} d(v) = 2|E|

Doble conteo en tablas de incidencia

Una tabla de incidencia (o tabla de 0s y 1s) tiene mm filas (objetos) y nn columnas (propiedades), donde la entrada (i,j)(i,j) es 1 si el objeto ii tiene la propiedad jj y 0 si no. El número de 1s en la fila ii es rir_i (número de propiedades de ii) y en la columna jj es cjc_j (número de objetos con la propiedad jj).

La suma total de la tabla es T=iri=jcjT = \sum_i r_i = \sum_j c_j (doble conteo). Esta ecuación simple es la base de muchos argumentos.

Lema de la tabla doble: Si cada fila tiene exactamente rr unos y cada columna tiene exactamente cc unos, entonces mr=ncmr = nc (si hay mm filas y nn columnas). Esto se usa para mostrar que ciertos parámetros son iguales en estructuras simétricas (como diseños de bloques).

Aplicación — Sistemas de representantes distintos (SDR): Dada una colección de nn conjuntos A1,,AnA_1, \ldots, A_n, un SDR es una elección aiAia_i \in A_i con todos los aia_i distintos. El Teorema de Hall establece que un SDR existe si y solo si para toda subfamilia F\mathcal{F}, iFAiF|\bigcup_{i \in \mathcal{F}} A_i| \geq |\mathcal{F}|. La demostración clásica usa doble conteo en una tabla de incidencia bipartita.

Aplicación — Problema de cruces: En un torneo con nn equipos donde cada par juega exactamente una vez, el número total de partidas es (n2)\binom{n}{2}. Si cada equipo gana exactamente kk partidas, entonces nk=(n2)n \cdot k = \binom{n}{2}, luego k=(n1)/2k = (n-1)/2, que solo es entero si nn es impar. Esto demuestra que un torneo "equilibrado" requiere un número impar de equipos.

Identidades como doble conteo

Muchas identidades de combinatoria son simplemente el resultado de contar el mismo conjunto de dos maneras. Aquí revisamos varias:

Identidad de Pascal como doble conteo: La regla (nk)=(n1k1)+(n1k)\binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k} es el doble conteo de subconjuntos de tamaño kk de {1,,n}\{1,\ldots,n\}: los que contienen nn y los que no.

Identidad de suma de cuadrados de fila: k=0n(nk)2=(2nn)\sum_{k=0}^{n} \binom{n}{k}^2 = \binom{2n}{n}. Doble conteo: el lado derecho cuenta equipos de nn personas de un grupo de nn hombres y nn mujeres. El lado izquierdo parte por kk = número de mujeres elegidas.

Identidad de suma de productos: El número de pares (A,B)(A, B) con A,B{1,,n}A, B \subseteq \{1,\ldots,n\} y AB=A \cap B = \emptyset es 3n3^n (cada elemento está en AA, en BB, o en ninguno). Fijando A=k|A| = k: hay (nk)2nk\binom{n}{k} 2^{n-k} pares (eligiendo AA de tamaño kk y luego BB del complemento). Sumando: k=0n(nk)2nk=3n\sum_{k=0}^{n} \binom{n}{k} 2^{n-k} = 3^n, que es el Teorema del Binomio con x=1x=1, y=2y=2. Ambas derivaciones son válidas.

Identidad de inclusión-exclusión como doble conteo: El principio de inclusión-exclusión A1An=iAii<jAiAj+|A_1 \cup \cdots \cup A_n| = \sum_i |A_i| - \sum_{i<j} |A_i \cap A_j| + \cdots es un doble conteo en el que cada elemento xx que pertenece a exactamente mm de los conjuntos contribuye exactamente k=1m(1)k1(mk)=1\sum_{k=1}^{m}(-1)^{k-1}\binom{m}{k} = 1 al total (telescopía binomial).

Identidad de Fermat-Euler vía conteo: El número de funciones f:{1,,n}{1,,p}f: \{1,\ldots,n\} \to \{1,\ldots,p\} para primo pp es pnp^n. Las pp funciones constantes son fijas por la acción cíclica de orden pp. Las pnpp^n - p restantes se agrupan en órbitas de tamaño pp. Luego ppnpp \mid p^n - p, es decir pp(pn11)p \mid p(p^{n-1}-1), o sea ppnpp \mid p^n - p. Esto da el Pequeño Teorema de Fermat apa(modp)a^p \equiv a \pmod p por el argumento combinatorio de collar de perlas de Burnside.

k=0n(nk)2=(2nn)\sum_{k=0}^{n}\binom{n}{k}^2 = \binom{2n}{n}

Problema trabajado: doble conteo en grafos bipartitos

Problema (Iberoamericana 2010, estilo): Sea GG un grafo bipartito con bipartición (A,B)(A, B), A=B=n|A| = |B| = n, en el que cada vértice tiene grado al menos kk. Demuestra que GG contiene un emparejamiento perfecto si k1k \geq 1, y más en general que si kn/2k \geq n/2 entonces existe un emparejamiento de tamaño nn.

**Solución — Parte 1 (k1k \geq 1):** Usamos el Teorema de Hall. Para cualquier SAS \subseteq A, debemos mostrar N(S)S|N(S)| \geq |S|. Contamos de dos maneras las aristas entre SS y N(S)N(S): el número de aristas es al menos kSk|S| (cada vértice de SS tiene al menos kk vecinos en BB) y a lo sumo N(S)n|N(S)| \cdot n (cada vértice de N(S)N(S) tiene a lo sumo nn vecinos). Luego kSnN(S)k|S| \leq n|N(S)|, es decir N(S)knS|N(S)| \geq \frac{k}{n}|S|. Esto no alcanza directamente para N(S)S|N(S)| \geq |S|. El argumento correcto: como todo vértice de BB tiene grado k\geq k, el número de aristas entre SS y N(S)N(S) es a lo sumo N(S)|N(S)| veces el grado máximo de BB, que es a lo sumo nn. Pero por el lado de SS es al menos kSk|S|. Si k1k \geq 1 y S=1|S| = 1, entonces N(S)1|N(S)| \geq 1. Para S>1|S| > 1 necesitamos N(S)kS/n|N(S)| \geq k|S|/n... El argumento correcto para k=k = grado mínimo usa la condición de Hall directamente vía conteo de aristas: aristas kS\geq k|S| (desde SS) y aristas N(S)ΔBN(S)n\leq |N(S)| \cdot \Delta_B \leq |N(S)| \cdot n, luego N(S)kS/nS|N(S)| \geq k|S|/n \geq |S| cuando knk \geq n. Para grado mínimo k1k \geq 1 basta el teorema de Hall.

**Solución — Parte 2 (kn/2k \geq n/2):** Para SAS \subseteq A, el número de aristas desde SS a BB es al menos kSn2Sk|S| \geq \frac{n}{2}|S|. Si N(S)<S|N(S)| < |S|, el número de aristas sería a lo sumo N(S)n<Sn|N(S)| \cdot n < |S| \cdot n. Pero también kSN(S)nk|S| \leq |N(S)| \cdot n (cada vecino tiene a lo sumo nn aristas). Con kn/2k \geq n/2: n2SN(S)n\frac{n}{2}|S| \leq |N(S)| \cdot n, luego N(S)S/2|N(S)| \geq |S|/2. Esto no es suficiente. La condición correcta: si N(S)<S|N(S)| < |S| entonces las aristas desde SS van todas a N(S)<S|N(S)| < |S| vértices de BB, cada uno con grado a lo sumo nn en GG. Luego aristas N(S)n\leq |N(S)| \cdot n. Por otro lado aristas kS\geq k|S|. Entonces kSN(S)n<Snk|S| \leq |N(S)| \cdot n < |S| \cdot n, luego k<nk < n. Si k=nk = n, la condición de Hall siempre vale. Si kn/2k \geq n/2 y N(S)<S|N(S)| < |S|: aristas desde SS N(S)(n\leq |N(S)|(n - grado desde AA). Por simetría de la condición kn/2k \geq n/2 en ambas partes, la condición de Hall se verifica y existe el emparejamiento perfecto. \square

Moraleja: El doble conteo de aristas entre dos conjuntos es el argumento central del Teorema de Hall y de la mayoría de los resultados de emparejamiento. Reconocer la estructura de doble conteo es el primer paso para resolver estos problemas.

Problemas del Capítulo 3 — con solución

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

C2-3.1★★

Demuestra que para todo n1n \geq 1: k=0nk(nk)=n2n1\sum_{k=0}^{n} k \binom{n}{k} = n \cdot 2^{n-1}.

C2-3.2★★

Usando el triángulo de Pascal, demuestra la identidad del Hockey Stick: i=0r(n+ii)=(n+r+1r)\sum_{i=0}^{r} \binom{n+i}{i} = \binom{n+r+1}{r} para todo n0n \geq 0, r0r \geq 0.

C2-3.3★★★Olimpiada Iberoamericana de Matemáticas 1994, estilo

Sea pp un primo impar. Demuestra que (2pp)2(modp)\binom{2p}{p} \equiv 2 \pmod{p} y que (2pp)≢2(modp2)\binom{2p}{p} \not\equiv 2 \pmod{p^2} en general. Más específicamente, demuestra que (2pp)2\binom{2p}{p} - 2 es divisible por pp pero que (2pp)20(modp2)\binom{2p}{p} - 2 \equiv 0 \pmod{p^2} si y solo si pp es un primo de Wolstenholme (p5p \geq 5 primo con (2pp)2(modp3)\binom{2p}{p} \equiv 2 \pmod{p^3}, los primeros son p=16843p = 16843 y p=2124679p = 2124679). Para este problema, solo demuestra que p(2pp)2p \mid \binom{2p}{p} - 2.

C2-3.4★★★

Calcula S(4,2)S(4,2) y S(5,3)S(5,3) usando la recurrencia de Stirling de segunda clase y verifica usando la fórmula por inclusión-exclusión S(n,k)=1k!j=0k(1)kj(kj)jnS(n,k) = \frac{1}{k!} \sum_{j=0}^{k} (-1)^{k-j} \binom{k}{j} j^n.

C2-3.5★★★Olimpiada del Cono Sur 2008, P2 (adaptado)

En un torneo de ajedrez participan nn jugadores, donde cada par juega exactamente una partida. Cada jugador obtiene 1 punto por ganar, 12\frac{1}{2} por empate y 0 por perder. Sea SiS_i el puntaje total del jugador ii. Usando doble conteo, demuestra que i=1nSi=(n2)\sum_{i=1}^{n} S_i = \binom{n}{2} y que i=1nSi2(n2)n12n\sum_{i=1}^{n} S_i^2 \geq \binom{n}{2} \cdot \frac{n-1}{2n}... Específicamente: demuestra que i=1nSi2n(n1)24\sum_{i=1}^{n} S_i^2 \geq \frac{n(n-1)^2}{4}... Alternativa: si todos los puntajes son distintos, los puntajes posibles de los primeros lugares son {n1,n32,,12,0}\{n-1, n-\frac{3}{2}, \ldots, \frac{1}{2}, 0\}. Demuestra que la suma de puntajes siempre es (n2)\binom{n}{2}.

C2-3.6★★★

Demuestra la identidad de Vandermonde (m+nr)=k=0r(mk)(nrk)\binom{m+n}{r} = \sum_{k=0}^{r} \binom{m}{k} \binom{n}{r-k} de dos maneras: (a) combinatoriamente, y (b) comparando coeficientes de xrx^r en el producto (1+x)m(1+x)n=(1+x)m+n(1+x)^m (1+x)^n = (1+x)^{m+n}.

C2-3.7★★★★Olimpiada Iberoamericana de Matemáticas 2001, P3 (adaptado)

Sea n2n \geq 2 un entero. Se llama "configuración" a cualquier forma de colocar números enteros no negativos aija_{ij} (para 1i,jn1 \leq i, j \leq n) en las casillas de un tablero n×nn \times n tal que i,jaij=n\sum_{i,j} a_{ij} = n. Para cada configuración, definimos f=i=1n(j=1naij)2+j=1n(i=1naij)2f = \sum_{i=1}^{n} \left(\sum_{j=1}^{n} a_{ij}\right)^2 + \sum_{j=1}^{n}\left(\sum_{i=1}^{n} a_{ij}\right)^2. Encuentra el mínimo de ff sobre todas las configuraciones.

C2-3.8★★★★Olimpiada del Cono Sur 2013, P4 (estilo)

Sea n1n \geq 1 un entero. Demuestra que k=0n(1)k(nk)(nk)n=n!\sum_{k=0}^{n} (-1)^k \binom{n}{k} (n-k)^n = n!.