CombinatoriaContenidos

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.

DificultadRegional
Etiquetasgrafosarboleseulerhamiltongrado
Requisitosprincipios-conteo
AutorAdrián García Bouzas
Actualizado2026-06-08
Definición

Un grafo (simple, no dirigido) G=(V,E)G = (V, E) consta de un conjunto finito de vértices VV y un conjunto EE de aristas, cada una un par no ordenado {u,v}\{u,v\} con uvVu \neq v \in V. El grado deg(v)\deg(v) 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:

  • KnK_n: el grafo completo, con todas las (n2)\binom{n}{2} aristas posibles.
  • Km,nK_{m,n}: el grafo bipartito completo, con partes de tamaño mm y nn y todas las aristas entre partes.
  • Un árbol: grafo conexo sin ciclos.
Teorema

1. Lema del apretón de manos. vVdeg(v)=2E\displaystyle \sum_{v \in V} \deg(v) = 2|E|. En particular, el número de vértices de grado impar es par.

2. Caracterización de árboles. Para un grafo GG con nn vértices, son equivalentes: (a) GG es un árbol; (b) GG es conexo y tiene n1n-1 aristas; (c) GG no tiene ciclos y tiene n1n-1 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 00 o 22 vértices de grado impar.

4. Fórmula de Cayley. El número de árboles distintos (etiquetados) con nn vértices es nn2n^{n-2}.

Demostración

(1) Apretón de manos. Cada arista {u,v}\{u,v\} contribuye exactamente 11 al grado de uu y 11 al grado de vv; sumando sobre todas las aristas, cada una se cuenta dos veces —una por cada extremo—, así que vdeg(v)=2E\sum_v \deg(v) = 2|E|. 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. \blacksquare

(2) Árboles, (a) \Rightarrow (b). Inducción sobre nn. Todo árbol con n2n \geq 2 vértices tiene una hoja (vértice de grado 11): si no la tuviera, todo vértice tendría grado 2\geq 2 y se podría construir un camino que se repite, produciendo un ciclo, contradicción. Eliminando una hoja se obtiene un árbol con n1n-1 vértices y, por hipótesis de inducción, n2n-2 aristas; restituyendo la hoja y su única arista, el árbol original tiene n1n-1 aristas. \square (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 E|E|, 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. \blacksquare

(4) Cayley. La demostración más elegante usa el código de Prüfer: una biyección explícita entre árboles etiquetados con nn vértices y sucesiones (a1,,an2){1,,n}n2(a_1,\ldots,a_{n-2}) \in \{1,\ldots,n\}^{n-2}. El algoritmo: repetidamente, elimina la hoja de menor etiqueta y registra la etiqueta de su (único) vecino; al cabo de n2n-2 pasos quedan 22 vértices. La inversa reconstruye el árbol leyendo el código de izquierda a derecha. Como hay nn2n^{n-2} sucesiones posibles, hay nn2n^{n-2} árboles. \blacksquare

Ejemplo

Ejemplo 1. En KnK_n, cada vértice tiene grado n1n-1, y E=(n2)=n(n1)2|E| = \binom{n}{2} = \frac{n(n-1)}{2}, consistente con el lema del apretón de manos: n(n1)=2(n2)n(n-1) = 2\binom{n}{2}.

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 44 zonas de tierra unidas por 77 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 3,3,3,53, 3, 3, 5 —todos impares—. Como hay más de 22 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 K3,3K_{3,3} tiene 99 aristas, todos los vértices de grado 33 (impar): admite a lo sumo 22 vértices de grado impar para tener camino euleriano —pero tiene 66—, así que ni siquiera tiene camino euleriano.

Aplicaciones

El grado como invariante: argumentos de paridad en grafos

La identidad deg(v)=2E\sum \deg(v) = 2|E| 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. \blacksquare

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 2828 fichas de un dominó completo (de 00-00 a 66-66) 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 0,,60,\ldots,6 como un vértice y cada ficha aa-bb como una arista entre aa y bb (con bucles para las fichas dobles aa-aa). El grafo resultante es K7K_7 con un bucle en cada vértice; cada vértice tiene grado 6+2=86 + 2 = 8 (par). Por el teorema de Euler, existe un circuito euleriano: sí es posible. \blacksquare

Á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 E=V1|E| = |V| - 1— 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).

Observación

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.