Módulos / combinatoria-2 / Capítulo 1 — Teoría de grafos: herramientas olímpicas / Lección 1.2

Árboles, árboles generadores y aplicaciones

Lección 1.2·Capítulo 1 — Teoría de grafos: herramientas olímpicas·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

Comprender la estructura de los árboles, demostrar sus propiedades equivalentes, construir árboles generadores y aplicarlos en problemas olímpicos de conexidad y recubrimiento.

Por qué los árboles aparecen en todas las olimpiadas

Imagina que nn ciudades deben ser conectadas por carreteras de modo que siempre haya un camino entre cualquier par de ciudades, pero usando la menor cantidad posible de carreteras para ahorrar costos. ¿Cuántas carreteras necesitas y qué forma tiene la red resultante? La respuesta es exactamente n1n-1 carreteras, y la estructura se llama árbol.

Los árboles son el "esqueleto" más económico de la conexidad: si quitamos cualquier arista, el grafo se desconecta; si añadimos cualquier arista, creamos un ciclo. Esta rigidez los hace extraordinariamente manejables en demostraciones: hay exactamente una forma de pasar de un vértice a otro, lo que elimina ambigüedades.

En competencias como la Olimpiada Iberoamericana y el Cono Sur, los árboles aparecen en tres familias de problemas: (1) problemas de existencia (demostrar que cierta subred económica puede construirse), (2) problemas de invariantes en procesos iterativos sobre grafos, y (3) problemas de conteo de estructuras arbóreas. Dominar los árboles significa dominar la "capa base" de la teoría de grafos.

Un ejemplo inmediato: si en una red de nn computadoras cada una está conectada directamente con exactamente otras dos, la red forma un ciclo o una colección de ciclos. Si queremos garantizar que la red sea conexa con el mínimo de conexiones, debemos construir un árbol generador de la red actual.

Definición y caracterizaciones equivalentes de árbol

Un árbol es un grafo T=(V,E)T = (V, E) que es simultáneamente conexo y acíclico (sin ciclos). Un grafo acíclico (con o sin conexidad) se llama bosque; cada componente conexa de un bosque es un árbol.

El siguiente teorema reúne las cinco caracterizaciones más importantes. Sea G=(V,E)G = (V, E) con V=n|V| = n. Las siguientes afirmaciones son equivalentes:

(1) GG es un árbol (conexo y acíclico). (2) GG es conexo y E=n1|E| = n-1. (3) GG es acíclico y E=n1|E| = n-1. (4) Existe exactamente un camino simple entre todo par de vértices. (5) GG es acíclico y añadir cualquier arista crea exactamente un ciclo.

**Demostración de (1) \Rightarrow (2):** Procedemos por inducción sobre nn. Base n=1n=1: árbol sin aristas, 0=110 = 1-1. Para n2n \geq 2: como TT es finito y acíclico, tiene al menos una hoja (vértice de grado 1). Sea vv una hoja. El subgrafo TvT-v sigue siendo conexo (sólo perdemos la hoja) y acíclico; por hipótesis inductiva tiene n2n-2 aristas. Entonces TT tiene n1n-1 aristas.

**Demostración de (2) \Rightarrow (1):** Si GG es conexo con n1n-1 aristas, supongamos que tiene un ciclo CC. Quitando una arista de CC el grafo sigue conexo pero ahora tiene n2n-2 aristas. Continuamos quitando aristas de ciclos hasta tener un árbol generador, que tiene n1n-1 aristas. Contradicción: ya teníamos exactamente n1n-1 aristas y quitamos al menos una. \square

Lema de la hoja: Todo árbol con n2n \geq 2 vértices tiene al menos dos hojas. Prueba: por el Lema del Apretón de Manos, d(v)=2(n1)=2n2\sum d(v) = 2(n-1) = 2n-2. Si hubiera a lo más una hoja, entonces todos salvo uno de los nn vértices tendrían grado 2\geq 2, luego d(v)2(n1)+1=2n1>2n2\sum d(v) \geq 2(n-1) + 1 = 2n-1 > 2n-2, contradicción.

E=n1    G es aˊrbol con n veˊrtices|E| = n - 1 \iff G \text{ es árbol con } n \text{ vértices}

Árboles generadores: existencia y construcción

Un árbol generador (o spanning tree) de un grafo conexo GG es un subgrafo TGT \subseteq G que contiene todos los vértices de GG y es un árbol. En otras palabras, TT "abarca" todo GG con el mínimo de aristas que mantienen la conexidad.

Teorema: Todo grafo conexo GG tiene al menos un árbol generador.

Prueba constructiva: Si GG no tiene ciclos, ya es un árbol generador de sí mismo. Si tiene un ciclo CC, eliminamos una arista de CC: el grafo resultante sigue siendo conexo (cualquier camino que usara esa arista puede rodear el ciclo). Repetimos este proceso; como E|E| decrece en cada paso y el proceso termina cuando no hay ciclos, obtenemos un árbol generador.

Número de aristas eliminadas: Partimos con m=Em = |E| aristas y terminamos con n1n-1. Luego eliminamos exactamente m(n1)m - (n-1) aristas, lo que define el número de circuitos γ(G)=mn+1\gamma(G) = m - n + 1 (también llamado primer número de Betti del grafo). Este invariante mide cuán "lejos" está GG de ser un árbol.

Aplicación olímpica (Cono Sur 2005, P1, adaptado): Se tienen nn computadoras conectadas por cables (algunas directas, otras a través de ruteadores) formando una red conexa. Se sabe que hay exactamente n+3n + 3 cables. ¿Cuántos cables se pueden cortar de modo que la red siga siendo conexa? Respuesta: el número de circuitos es γ=(n+3)n+1=4\gamma = (n+3) - n + 1 = 4, luego podemos cortar exactamente 4 cables manteniendo la conexidad (eliminamos uno de cada ciclo).

Construyendo árboles generadores en la práctica: Dos algoritmos clásicos son BFS (Breadth-First Search) y DFS (Depth-First Search). Aunque no los usamos computacionalmente en olimpiadas, sus ideas son útiles: BFS produce el árbol de caminos más cortos desde un vértice, y DFS clasifica las aristas en aristas del árbol y back edges (aristas que vuelven hacia un ancestro), siendo estas últimas exactamente las que crean ciclos.

Técnicas de demostración con árboles

La herramienta más poderosa para demostraciones con árboles es la inducción sobre el número de vértices, eliminando hojas en cada paso. La estrategia estándar: (a) identifica una hoja vv, (b) aplica la hipótesis inductiva al árbol TvT-v, (c) re-agrega vv y su única arista, y (d) verifica que la propiedad deseada se preserva.

Ejemplo clásico: Todo árbol con nn vértices puede ser 22-coloreado (es decir, es bipartito). Prueba por inducción: para n=1n=1 es trivial. Para n2n \geq 2, sea vv una hoja con vecino uu. Por hipótesis, TvT-v es bipartito con bipartición (A,B)(A, B); digamos uAu \in A. Asignamos vv a BB. Como vv sólo es adyacente a uAu \in A, la bipartición (A,B{v})(A, B \cup \{v\}) funciona para TT. \square

Problema de conteo de árboles generadores: El Teorema de Kirchhoff (también llamado Teorema Matricial de Árboles) establece que el número de árboles generadores de GG es cualquier cofactor de la matriz laplaciana L=DAL = D - A, donde DD es la matriz diagonal de grados y AA es la matriz de adyacencia. Para KnK_n, esto da nn2n^{n-2} árboles generadores (Fórmula de Cayley), resultado fundamental en combinatoria.

La Fórmula de Cayley dice que el número de árboles etiquetados con vértices {1,2,,n}\{1, 2, \ldots, n\} es nn2n^{n-2}. Prueba elegante (codificación de Prüfer): a cada árbol le asignamos una secuencia (a1,a2,,an2)(a_1, a_2, \ldots, a_{n-2}) con ai{1,,n}a_i \in \{1,\ldots,n\} iterativamente eliminando la hoja de menor etiqueta y registrando el label de su vecino. Esta asignación es una biyección entre árboles etiquetados y secuencias de {1,,n}n2\{1,\ldots,n\}^{n-2}, que tiene exactamente nn2n^{n-2} elementos.

Problema olímpico (IbAm 2010, P1, adaptado): En una red de nn nodos, cada par de nodos está directamente conectado o conectado a través de un camino. Se añaden aristas hasta que añadir cualquier arista más crearía un ciclo. ¿Cuántas aristas tiene la red al final? Solución: añadir aristas sin crear ciclos es exactamente construir un bosque maximal. Un bosque maximal en un grafo conexo es un árbol generador con n1n-1 aristas. Si el grafo tiene kk componentes conexas, el bosque maximal tiene nkn-k aristas.

Nuˊmero de aˊrboles etiquetados en {1,,n}=nn2\text{Número de árboles etiquetados en } \{1,\ldots,n\} = n^{n-2}

Aplicaciones en problemas de Cono Sur e Iberoamericana

Los árboles generadores son la herramienta clave cuando un problema pide demostrar que cierto conjunto de conexiones "minimales" tiene una propiedad. El argumento típico es: (1) muestra que cualquier árbol generador tiene la propiedad, o (2) construye un árbol generador específico que exhibe la propiedad deseada.

Problema representativo (Cono Sur 2015, P2): Sea GG un grafo conexo con nn vértices en el que cada arista tiene un peso (número real). Demuestra que existe un árbol generador cuya suma de pesos es mínima entre todos los árboles generadores. (Esto es el Árbol Generador Mínimo.) Además, si todos los pesos son distintos, el árbol generador mínimo es único.

Prueba de unicidad: Supongamos que hay dos árboles generadores mínimos T1T_1 y T2T_2 distintos. Existe una arista eT1T2e \in T_1 \setminus T_2. Al añadir ee a T2T_2 se crea un ciclo CC. Como eT2e \notin T_2, existe en CC otra arista fT2T1f \in T_2 \setminus T_1. El árbol T2f+eT_2 - f + e es también generador. Si w(e)<w(f)w(e) < w(f), entonces T2f+eT_2 - f + e tiene menor peso que T2T_2, contradiciendo que T2T_2 es mínimo. Si w(e)>w(f)w(e) > w(f), análogamente T1T_1 no es mínimo. Si w(e)=w(f)w(e) = w(f) y todos los pesos son distintos, imposible. \square

Técnica del "corte": Sea SVS \subset V con S,VS \neq \emptyset, V. El corte definido por SS es el conjunto de aristas con un extremo en SS y otro en VSV \setminus S. En todo árbol generador, exactamente una arista de cada corte "fundamental" está en el árbol. Esta observación permite demostrar propiedades de conectividad: si un corte tiene exactamente una arista, esa arista debe estar en todo árbol generador (es un puente).

Puentes y bloques: Una arista ee es un puente si GeG - e es disconexo. Equivalentemente, ee es un puente si y solo si ee no pertenece a ningún ciclo. Esto conecta árboles con la estructura local del grafo. Problema frecuente en olimpiadas: "demuestra que existe una arista cuya eliminación desconecta el grafo" es equivalente a "el grafo tiene un puente", lo que a su vez equivale a "el árbol generador tiene una arista que no puede ser reemplazada por ninguna otra".

Estrategia de síntesis: Cuando veas un problema con grafos conexos y quieras demostrar algo sobre el número de aristas o la estructura de caminos, piensa en árbol generador. Cuando quieras demostrar algo sobre recubrimientos o particiones eficientes, busca hojas y usa inducción. Cuando el problema diga "mínimo" o "máximo" número de aristas con una propiedad, el árbol generador da el piso n1n-1.

Problemas del Capítulo 1 — con solución

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

C2-1.1★★

En una reunión de nn personas, cada persona estrecha la mano con exactamente algunas de las otras. Demuestra que el número de personas que estrecharon la mano un número impar de veces es par.

C2-1.2★★

Sea GG un grafo conexo con nn vértices. Demuestra que GG tiene al menos n1n-1 aristas, con igualdad si y solo si GG es un árbol.

C2-1.3★★★Olimpiada Iberoamericana de Matemáticas 2001, P2

Sea GG un grafo simple con nn vértices en el que todo vértice tiene grado al menos n/2\lfloor n/2 \rfloor. Demuestra que GG es conexo.

C2-1.4★★★Olimpiada del Cono Sur 2012, P3

En un torneo de nn equipos (cada par juega exactamente una vez y no hay empates), se dice que un equipo AA "domina" a un equipo BB si AA le ganó directamente a BB o existe un equipo CC tal que AA le ganó a CC y CC le ganó a BB. Demuestra que existe un equipo que domina a todos los demás.

C2-1.5★★★

Un grafo GG con nn vértices y mm aristas satisface m>(n12)m > \binom{n-1}{2}. Demuestra que GG es conexo.

C2-1.6★★★★Olimpiada Iberoamericana de Matemáticas 2014, P3 (adaptado)

Sea GG un grafo bipartito con bipartición (A,B)(A, B), A=B=n|A| = |B| = n. Supongamos que todo vértice de AA tiene grado al menos n/2n/2 y todo vértice de BB tiene grado al menos n/2n/2. Demuestra que GG tiene un matching perfecto (es decir, nn aristas que cubren todos los vértices).

C2-1.7★★★★

Demuestra que el número de Ramsey satisface R(s,t)R(s1,t)+R(s,t1)R(s,t) \leq R(s-1,t) + R(s,t-1) para s,t2s, t \geq 2. Usa esta cota para demostrar R(3,3)6R(3,3) \leq 6.

C2-1.8★★★★★Olimpiada Iberoamericana de Matemáticas 2019, P4

Sea GG un grafo simple con n3n \geq 3 vértices. Se define el número de estabilidad α(G)\alpha(G) como el máximo tamaño de un conjunto independiente (conjunto de vértices sin aristas entre ellos), y ω(G)\omega(G) como el número de clique (máximo tamaño de un clique). Demuestra que α(G)ω(G)n\alpha(G) \cdot \omega(G) \geq n.