5. Teoría de grafos y aplicaciones
5.4 Caminos eulerianos y hamiltonianos
5.4.1
Caminos eulerianos
Definición 5.4.1 Un camino euleriano en un grafo G = (V, A) es un camino simple que contiene todas las aristas. Si existe un camino euleriano en G se dice que G es un grafo euleriano. 2
Observación 5.4.2 En la ciudad prusiana de Königsberg (hoy Kaliningrado, Rusia) era tema de distrac- ción el intentar descubrir un itinerario para sus paseos de forma que pudiesen cruzar los siete puentes que cruzaban el río Pregel pasando por cada uno sólo una vez. Leonhard Euler, en su libro Solutio Problematis
ad Geometriam Situs Pertinentis (1736), obra que puede considerarse como nacimiento de la Topología,
proporcionó una demostración completa de la inexistencia de dicho paseo dando un resultado general para todas las posibles configuraciones de puentes y ríos. A modo de ilustración, de los trabajos de Euler pode- mos extraer la página recogida en la Figura5.14, en la que se puede ver un esquema de dicha ciudad y de sus puentes.
Figura 5.14: Texto de Leonhard Euler.
En la Facultad de Matemáticas de la UCM se cuenta con la escultura “Homenaje a Euler”, de J. Vaquero Turcios, que modela la ciudad y sus famosos 7 puentes. Para simplificar el problema, es importante advertir que la disposición de las zonas de la ciudad separadas por los distintos brazos del río Pregel es equivalente al grafo de la Figura5.15.
Elementos de Matemáticas y aplicaciones Caminos eulerianos y hamiltonianos 187
Figura 5.15: Grafo de los brazos del río Pregel.
Nuestro problema se reduce a continuación a determinar si el grafo anterior es recorrible sin levantar el lápiz del papel y sin trazar dos veces ninguna arista, es decir, si el grafo admite un recorrido euleriano.2
2
Veamos un resultado que nos facilitará la caracterización de los grafos eulerianos:
Lema 5.4.3 En un grafo no orientado conexo G = (V, A) dos vértices cualesquiera pueden unirse me-
diante un camino simple.
DEMOSTRACIÓN. Dados dos vértices v y v′de G existe un camino que los une, por ser G conexo. Consi- deremos, de todos los caminos que los unen, uno de longitud mínima. Supongamos que este camino no es simple y lleguemos a contradicción. En tal caso, el camino sería C = a1, a2, . . . , akde forma que
a1={v, v1}, a2={v1, v2}, . . . , ak−1 ={vk−2, vk−1}, ak ={vk−1, v′},
con, al menos, una arista repetida. Supongamos que ai = aj con 1≤ i < j. En el caso de que el camino ai, ai+1, . . . , aj−1, ajno sea cerrado (es decir, en ambas posiciones i y j la arista se recorre en el mismo
sentido) entonces el camino a1, a2, . . . , ai−1, aj, . . . , akllevaría de v a v′y tendría una longitud menor que
el camino C, lo cual contradice la hipótesis. El otro caso es que el camino ai, ai+1, . . . , aj−1, aj sea un
circuito; entonces el camino a1, a2, . . . , ai−1, aj+1, . . . , akllevaría de v a v′y tendría una longitud menor
que el camino C, lo cual también contradice la hipótesis. 2
Ahora podemos dar condiciones necesarias y suficientes para determinar si un grafo (multigrafo, pseu- dografo) es euleriano. En concreto, se tiene el siguiente resultado:
Teorema 5.4.4 (Euler) Un grafo no orientado conexo es euleriano si, y sólo si, tiene 2 o ningún vértice de
grado impar.
a) Si tiene 2 vértices impares, el camino euleriano comienza en cualquiera de ellos y termina en el otro. b) Si no hay vértices de grado impar, el camino euleriano puede comenzar en cualquier vértice.
DEMOSTRACIÓN.
⇒ Supongamos que el grafo es euleriano. Si realizamos un camino recorriendo de forma continua todo
el grafo, cuando se pasa por un vértice cualquiera, se entra y se sale, es decir, se “consumen” dos aristas confluyentes en él. Como hay que recorrer todas las aristas, todos los extremos que concurren en un vértice cualquiera se van “consumiendo” de dos en dos. Por tanto, el grado de cualquier vértice debe ser par, salvo el punto de partida y de finalización si son distintos. En este caso, su grado será exactamente una unidad (la salida para el primero y la llegada para el segundo) más un número par por el mismo razonamiento anterior.
⇐ La argumentación de esta demostración se ejemplifica en la Figura5.16. Si existen dos vértices de grado impar, podemos considerar, gracias al Lema5.4.3, un camino simple que los une. Si hemos recorrido todo el grafo, ya hemos terminado. Si no es así, el subgrafo resultante al eliminar las aristas de este camino y, tras ello, los vértices que queden aislados, tendrá todos los vértices de grado par y, posiblemente, varias componentes conexas.
2Contrariamente a lo que se puede leer en muchos sitios, Euler no redujo en su trabajo el mapa de Königsberg al clásico grafo con
Figura 5.16: Ejemplo para la demostración del Teorema5.4.4.
Fijemos nuestra atención en una de estas componentes. Es seguro que tiene, al menos, un vértice común con el camino simple eliminado (si no, el grafo original no sería conexo). Partiendo de dicho vértice v, construimos un circuito simple que comience y acabe en v. (Existe un camino así puesto que, partiendo de v, al ir pasando por los vertices vamos consumiendo las aristas de 2 en 2, de forma que, si podemos llegar a un vértice distinto de v siempre podemos salir de él; como hay un número finito de vértices, en algún momento llegaremos al vértice v). Si este camino pasa por todas las aristas de la componente conexa en la que estamos, lo adjuntamos al camino original, con la idea de que el camino simple original, cuando llegue a este circuito se desvíe por él y, luego, continúe. En otro caso, se considera el subgrafo resultante al eliminar las aristas de este circuito y, tras ello, los vértices aislados, el cual tendrá todos los vértices de grado par y, posiblemente, varias componentes conexas.
Basta iterar este procedimiento en las componentes conexas que vayan resultando sucesivamente para agotar todas las aristas (pues hay un número finito de ellas). En caso de que no hubiera dos vértices de grado impar la demostración sería la misma sin más que obviar el primer camino simple considerado. En la Figura5.17se muestra un camino euleriano para el grafo de la Figura5.16. 2
Elementos de Matemáticas y aplicaciones Caminos eulerianos y hamiltonianos 189
Figura 5.17: Camino euleriano en el grafo de la Figura5.16.
Teorema 5.4.5 (Teorema de Euler para grafos orientados) Un grafo orientado débilmente conexo es eu-
leriano (respetando en el recorrido la orientación de las aristas) si, y sólo si, se satisface alguna de las condiciones siguientes:
1) Todos los vértices v∈ V verifican
Sgrad(v) = Egrad(v)
y, en ese caso, el camino euleriano puede comenzarse en cualquier vértice.
2) Todos los vértices v∈ V satisfacen Sgrad(v) = Egrad(v) salvo dos vértices v1(el de salida) y v2(el de llegada) que satisfacen
Sgrad(v1) = Egrad(v1) + 1 y Sgrad(v2) = Egrad(v2)− 1. 2
5.4.2
Caminos hamiltonianos
Una cuestión similar a la planteada por los puentes de Königsberg es la de determinar en un grafo un camino continuo que pase por todos los vértices una y sólo una vez. Históricamente, el problema germinal de esta situación se puede situar en el juego “La vuelta al mundo” de W. Hamilton (el mismo que descubrió los cuaterniones). El juego consiste en determinar un camino a lo largo de las aristas de un dodecaedro que pase por todos los vértices.
Figura 5.18: Dodecaedro de Hamilton.
Para estudiar el problema es interesante transformar el dodecaedro de Hamilton en un grafo (véase la Figura5.18). Esta transformación está relacionada con la sección sobre grafos planos que se estudia más adelante.
Definición 5.4.6 Un camino hamiltoniano en un grafo G = (V, A) es un camino simple{v1, v2, . . . , vn}
que pasa por todos los vértices vi ∈ V una y sólo una vez. Si el camino, una vez llegado al último punto vn, puede continuarse con una arista más hasta el punto de partida v1, se dice que es cerrado. Diremos que G es un grafo hamiltoniano si contiene un camino hamiltoniano. 2
Observación 5.4.7 Todo grafo hamiltoniano tiene un subgrafo que contiene todos sus vértices (es decir, al que se llega eliminando solamente aristas) que es euleriano. Este criterio puede resultar útil para probar que un grafo no es hamiltoniano. 2
Son muchos los problemas que se pueden modelizar mediante grafos y en los que la solución depende de la existencia o no de caminos hamiltonianos en el grafo correspondiente. Quizás el más famoso es el que se conoce como el problema del viajante: un viajante (representante o vendedor de un producto) visita varias ciudades para comercializar su producto; ¿puede visitar todas las ciudades (vértices) sin pasar dos veces por la misma ciudad? Es evidente que esto depende de cómo estén dispuestas las carreteras (aristas) que unen las ciudades. En general, los problemas de distribución o reparto (por ejemplo, la recogida de basuras en una ciudad) están ligados a los caminos hamiltonianos.
Aunque la definición de grafo euleriano y hamiltoniano son similares (cambiando aristas por vértices) sin embargo son conceptos que no tienen una gran relación. En la Figura5.19pueden verse ejemplos de un grafo hamiltoniano que no es euleriano, un grafo euleriano que no es hamiltoniano y un grafo que tiene ambas propiedades, pero con un camino distinto para cada una de ellas.
Figura 5.19: Grafos eulerianos y hamiltonianos.
De hecho, mientras que los teoremas de Euler caracterizan los grafos (orientados y no orientados) que son eulerianos, no hay condiciones necesarias y suficientes para determinar si un grafo admite un camino (cerrado o no) hamiltoniano. Hay muchos resultados parciales; de entre ellos, destaca el siguiente (del que no se incluye demostración):
Teorema 5.4.8 Todo grafo conexo simple de n≥ 3 vértices de forma que el grado de cada vértice sea, al
menos,n
2 admite un camino hamiltoniano cerrado. 2
Un camino hamiltoniano cerrado que recorre el dodecaedro de Hamilton (el grafo que lo representa) está recogido en la Figura5.20.
Figura 5.20: Camino hamiltoniano cerrado en el dodecaedro de Hamilton.