Por qué los árboles aparecen en todas las olimpiadas
Imagina que 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 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 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 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 con . Las siguientes afirmaciones son equivalentes:
(1) es un árbol (conexo y acíclico). (2) es conexo y . (3) es acíclico y . (4) Existe exactamente un camino simple entre todo par de vértices. (5) es acíclico y añadir cualquier arista crea exactamente un ciclo.
**Demostración de (1) (2):** Procedemos por inducción sobre . Base : árbol sin aristas, . Para : como es finito y acíclico, tiene al menos una hoja (vértice de grado 1). Sea una hoja. El subgrafo sigue siendo conexo (sólo perdemos la hoja) y acíclico; por hipótesis inductiva tiene aristas. Entonces tiene aristas.
**Demostración de (2) (1):** Si es conexo con aristas, supongamos que tiene un ciclo . Quitando una arista de el grafo sigue conexo pero ahora tiene aristas. Continuamos quitando aristas de ciclos hasta tener un árbol generador, que tiene aristas. Contradicción: ya teníamos exactamente aristas y quitamos al menos una.
Lema de la hoja: Todo árbol con vértices tiene al menos dos hojas. Prueba: por el Lema del Apretón de Manos, . Si hubiera a lo más una hoja, entonces todos salvo uno de los vértices tendrían grado , luego , contradicción.
Árboles generadores: existencia y construcción
Un árbol generador (o spanning tree) de un grafo conexo es un subgrafo que contiene todos los vértices de y es un árbol. En otras palabras, "abarca" todo con el mínimo de aristas que mantienen la conexidad.
Teorema: Todo grafo conexo tiene al menos un árbol generador.
Prueba constructiva: Si no tiene ciclos, ya es un árbol generador de sí mismo. Si tiene un ciclo , eliminamos una arista de : el grafo resultante sigue siendo conexo (cualquier camino que usara esa arista puede rodear el ciclo). Repetimos este proceso; como decrece en cada paso y el proceso termina cuando no hay ciclos, obtenemos un árbol generador.
Número de aristas eliminadas: Partimos con aristas y terminamos con . Luego eliminamos exactamente aristas, lo que define el número de circuitos (también llamado primer número de Betti del grafo). Este invariante mide cuán "lejos" está de ser un árbol.
Aplicación olímpica (Cono Sur 2005, P1, adaptado): Se tienen computadoras conectadas por cables (algunas directas, otras a través de ruteadores) formando una red conexa. Se sabe que hay exactamente cables. ¿Cuántos cables se pueden cortar de modo que la red siga siendo conexa? Respuesta: el número de circuitos es , 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 , (b) aplica la hipótesis inductiva al árbol , (c) re-agrega y su única arista, y (d) verifica que la propiedad deseada se preserva.
Ejemplo clásico: Todo árbol con vértices puede ser -coloreado (es decir, es bipartito). Prueba por inducción: para es trivial. Para , sea una hoja con vecino . Por hipótesis, es bipartito con bipartición ; digamos . Asignamos a . Como sólo es adyacente a , la bipartición funciona para .
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 es cualquier cofactor de la matriz laplaciana , donde es la matriz diagonal de grados y es la matriz de adyacencia. Para , esto da á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 es . Prueba elegante (codificación de Prüfer): a cada árbol le asignamos una secuencia con 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 , que tiene exactamente elementos.
Problema olímpico (IbAm 2010, P1, adaptado): En una red de 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 aristas. Si el grafo tiene componentes conexas, el bosque maximal tiene aristas.
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 un grafo conexo con 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 y distintos. Existe una arista . Al añadir a se crea un ciclo . Como , existe en otra arista . El árbol es también generador. Si , entonces tiene menor peso que , contradiciendo que es mínimo. Si , análogamente no es mínimo. Si y todos los pesos son distintos, imposible.
Técnica del "corte": Sea con . El corte definido por es el conjunto de aristas con un extremo en y otro en . 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 es un puente si es disconexo. Equivalentemente, es un puente si y solo si 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 .