Fundamentos de teoría de grafos
Vértices y aristas: el lenguaje más eficaz para codificar relaciones binarias. El lema del apretón de manos, los árboles y los caminos eulerianos son la base de toda la combinatoria estructural.
Un grafo (simple, no dirigido) consta de un conjunto finito de vértices y un conjunto de aristas, cada una un par no ordenado con . El grado de un vértice es el número de aristas incidentes a él. Un camino es una sucesión de vértices distintos consecutivamente unidos por aristas; un ciclo es un camino que regresa a su inicio. El grafo es conexo si entre cualesquiera dos vértices existe un camino.
Casos especiales que aparecen constantemente:
- : el grafo completo, con todas las aristas posibles.
- : el grafo bipartito completo, con partes de tamaño y y todas las aristas entre partes.
- Un árbol: grafo conexo sin ciclos.
1. Lema del apretón de manos. . En particular, el número de vértices de grado impar es par.
2. Caracterización de árboles. Para un grafo con vértices, son equivalentes: (a) es un árbol; (b) es conexo y tiene aristas; (c) no tiene ciclos y tiene aristas; (d) entre cualesquiera dos vértices hay exactamente un camino.
3. Teorema de Euler (caminos y circuitos eulerianos). Un grafo conexo admite un circuito euleriano (que recorre cada arista exactamente una vez y regresa al inicio) si y solo si todos sus vértices tienen grado par. Admite un camino euleriano (sin regresar) si y solo si tiene exactamente o vértices de grado impar.
4. Fórmula de Cayley. El número de árboles distintos (etiquetados) con vértices es .
(1) Apretón de manos. Cada arista contribuye exactamente al grado de y al grado de ; sumando sobre todas las aristas, cada una se cuenta dos veces —una por cada extremo—, así que . Como el lado derecho es par, la suma de los grados impares debe ser par, y una suma de números impares es par solo si hay un número par de sumandos.
(2) Árboles, (a) (b). Inducción sobre . Todo árbol con vértices tiene una hoja (vértice de grado ): si no la tuviera, todo vértice tendría grado y se podría construir un camino que se repite, produciendo un ciclo, contradicción. Eliminando una hoja se obtiene un árbol con vértices y, por hipótesis de inducción, aristas; restituyendo la hoja y su única arista, el árbol original tiene aristas. (Las demás implicaciones son ejercicios estándar de manipulación con conteo de componentes y ciclos.)
(3) Euler, condición necesaria. Si existe un circuito euleriano, cada vez que el circuito visita un vértice "entra" por una arista y "sale" por otra (distinta, pues no se repite ninguna arista); así las aristas incidentes a cada vértice se emparejan, y el grado es par. (condición suficiente, esquema): por inducción sobre , partiendo de cualquier vértice y siguiendo aristas no usadas se cierra necesariamente un ciclo (pues todo grado es par); si este ciclo no cubre todas las aristas, el grafo restante —que también tiene todos los grados pares— tiene, por conexión, un vértice común con el ciclo, y se "incrusta" un circuito euleriano del resto en ese punto.
(4) Cayley. La demostración más elegante usa el código de Prüfer: una biyección explícita entre árboles etiquetados con vértices y sucesiones . El algoritmo: repetidamente, elimina la hoja de menor etiqueta y registra la etiqueta de su (único) vecino; al cabo de pasos quedan vértices. La inversa reconstruye el árbol leyendo el código de izquierda a derecha. Como hay sucesiones posibles, hay árboles.
Ejemplo 1. En , cada vértice tiene grado , y , consistente con el lema del apretón de manos: .
Ejemplo 2 (los puentes de Königsberg). El problema que dio origen a la teoría de grafos (Euler, 1736): la ciudad de Königsberg tenía zonas de tierra unidas por puentes; ¿se puede dar un paseo que cruce cada puente exactamente una vez? Modelando las zonas como vértices y los puentes como aristas, los cuatro vértices tienen grados —todos impares—. Como hay más de vértices de grado impar, no existe tal paseo: la primera demostración de imposibilidad en teoría de grafos, y el nacimiento de la disciplina.
Ejemplo 3. Un grafo bipartito tiene aristas, todos los vértices de grado (impar): admite a lo sumo vértices de grado impar para tener camino euleriano —pero tiene —, así que ni siquiera tiene camino euleriano.
El grado como invariante: argumentos de paridad en grafos
La identidad es, ante todo, un argumento de paridad disfrazado, y se combina naturalmente con los métodos de invariantes y coloración.
Problema. En una fiesta con un número impar de personas, demostrar que el número de personas que han dado un número impar de apretones de manos es par.
Solución. Es exactamente el lema del apretón de manos aplicado al grafo de "quién saludó a quién": el número de vértices de grado impar es siempre par, sin importar cuántos vértices tenga el grafo.
Grafos como modelo de problemas no geométricos
La fuerza de la teoría de grafos en olimpiadas rara vez está en problemas que mencionan grafos explícitamente, sino en reconocer una estructura de grafo escondida en un enunciado sobre amistades, torneos, comités, dominós, o números.
Problema (clásico — fichas de dominó). Las fichas de un dominó completo (de - a -) se colocan en cadena, tocándose extremo con extremo y con números iguales en contacto. ¿Es posible formar un único circuito cerrado con todas las fichas?
Solución (esquema). Modelamos cada número como un vértice y cada ficha - como una arista entre y (con bucles para las fichas dobles -). El grafo resultante es con un bucle en cada vértice; cada vértice tiene grado (par). Por el teorema de Euler, existe un circuito euleriano: sí es posible.
Árboles como esqueletos de algoritmos extremales
Los árboles aparecen siempre que un argumento necesita una estructura "mínima conexa": árboles generadores, jerarquías de torneos, o el esqueleto de un argumento de inducción sobre componentes conexas. La identificación "esto es un árbol" suele desbloquear de inmediato el conteo —vía la fórmula — o la existencia de hojas, que son el punto de apoyo natural para argumentos inductivos (como en la prueba de la caracterización de árboles).
Modelar un problema mediante un grafo es, casi siempre, una elección, no una obligación —y elegir bien qué son los vértices y qué las aristas es la parte creativa—. Una mala elección (por ejemplo, vértices que mezclan objetos de naturalezas distintas, o aristas que codifican relaciones no simétricas en un grafo no dirigido) produce un modelo del que no se puede extraer información. Una vez fijado el modelo correcto, sin embargo, el arsenal de la teoría de grafos —grados, conexión, ciclos, bipartición— suele resolver el problema de forma casi mecánica.