Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRAFOS EULERIANOS
3.1 Grafos eulerianos
INTRODUCCION
La ciudad de Konigsberg, capital de Prusia oriental en el siglo XVIII, era atravesada por
el río Pregel, sobre el cual había siete puentes. Los habitantes de la ciudad se
preguntaban si era posible salir de su casa, dar un paseo y regresar a la casa, habiendo
pasado una y sólo una vez por cada puente. El problema anterior fue resuelto por
Leonard Euler en 1735.
Se puede entonces realizar un grafo donde se representan los puentes como las aristas y
los vértices como los puntos donde se juntan los caminos.
¿Existe un circuito que pase por todas las aristas una sola vez, es decir sin repetirlas?
CIRCUITO EULERIANO
Es un sendero (camino) que conecta todas las aristas, apareciendo cada una de ellas UNA
SOLA vez y cuyos vértices inicial y final SON IGUALES.
UN GRAFO EULERIANO:
Es aquel grafo conexo que admite un CIRCUITO EULERIANO.
UN DIGRAFO EULERIANO:
Definición 1.
Un grafo orientado o dígrafo, se dice euleriano si tiene un CIRCUITO ORIENTADO que
pasa por cada arco de G una y solo una vez.
Definición 2.
Si el grado de entrada y salida de cada vértice del dígrafo es igual entonces es euleriano.
GRAFO SEMIEULERIANO:
Si el grafo/multígrafo tiene sólo dos vértices de grado impar se llama semi-euleriano. Se
puede convertir en euleriano añadiéndole una arista:
Indique cuales de los siguientes grafos son Eulerianos o Semieulerianos
Informalmente, un grafo (dígrafo) euleriano es aquel en que pueden recorrerse todas sus
las aristas (arcos) de manera consecutiva y sin repetirlas.
¿Puede dibujarse cierta figura de un solo trazo?, ¿puede un cartero efectuar su reparto
sin tener que pasar dos veces por la misma calle? son ejemplos de uso de este tipo de
grafos, así como el problema de los puentes de Konigsberg que, como comentamos en la
introducción, dio inicio a la teoría de grafos.
TEOREMA 1
Sea G un grafo conexo. G posee un CIRCUITO EULERIANO (G es euleriano) si y sólo si
todos sus vértices tienen grado par y se dice que el grafo es Euleriano.
TEOREMA 2
Sea G un grafo conexo. G posee un SENDERO EULERIANO si y sólo si tiene exactamente
dos vértices de grado impar y se dice que el grafo es SemiEuleriano
Si se trata de un grafo simple, se suma las filas de la matriz de adyacencias para cada
vértice y si todos tienen valencia par entonces el grafo es euleriano. En caso contrario el
grafo no es euleriano.
TEOREMA 3
Si el grafo es dirigido, se calcula el grado de entrada sumando la fila y el grado de salida
sumando la columna correspondiente al vértice en la matriz de adyacencias del grafo.
Por lo tanto en un dígrafo, si el grado de entrada y salida de los vértices es igual
entonces el grafo es euleriano.
Ejemplo 1
.
Vértices grado
v1 3
v2 4
v3 4
v4 2
v5 2
v6 1
Ejemplo 2
Ejercicio:Construya un grafo simple que sea euleriano y otro semieuleriano.
Grafos Dirigidos
Ejemplo 3
Una vez definido el concepto general de trayectoria nos centraremos en las trayectorias
eulerianas la cual recorre todas las aristas de un grafo conexo.
Para que en un grafo conexo exista una trayectoria euleriana es necesario que el grafo
no posea más de dos vértices de valencia impar, por lo tanto si un grafo conexo tiene
exactamente dos vértices de valencia impar, tiene al menos una trayectoria euleriana.
Cualquier trayectoria de Euler debe comenzar en uno de los vértices de grado impar y
finalizar en el otro. Sin embargo para que exista al menos un circuito euleriano todos los
Vértices deben tener grado par, el circuito puede construirse partiendo desde cualquier
vértice y debe llegar al mismo.
ALGORITMO DE FLEURY
El algoritmo de Fleury trata de buscar una trayectoria euleriana en un grafo conexo y en
el que no existen más de dos vértices de grado impar.
Nos situamos en uno de los vértices impares si existen o en caso contrario uno cualquiera
de grado par.
Primero verificamos si los vértices son todos pares o hay impares. En este caso hay dos
vértices de grado impar.
Vértices Grado
v1 2
v2 2
v3 3
v4 3
v5 2
v6 2
v7 2
Como posee dos vértices impares y el grafo es no dirigido posee una trayectoria
euleriana abierta (un sendero euleriano)
El grafo es euleriano?
Si o No y porque?
No, porque existen vértices con grado de entrada y salida distintos, concretamente v5 y
v6. En este caso podemos intentar encontrar la trayectoria partiendo de algunos de los
vértices anteriores.
Vértices con grado de entrada distinto del grado de salida son v5 y v6.
Comenzamos por el primer vértice impar v5.
En el siguiente paso nos damos cuenta que el vértice v5 no posee ningún vértice
adyacente por lo que no se ha encontrado la trayectoria buscada pues no se han
recorrido todas las aristas. En este caso lo único que podemos hacer es comenzar a
construir la trayectoria desde el otro vértice impar.
1. V6->V1
2. V6 ->V1->V2
3. V6 ->V1->V2->V3
4. V6 ->V1->V2->V3 ->V4
5. V6 ->V1->V2->V3 ->V4 ->V1
6. V6 ->V1->V2->V3 ->V4 ->V1 ->V5
7. V6 ->V1->V2->V3 ->V4 ->V1 ->V5 ->V4
8. V6 ->V1->V2->V3 ->V4 ->V1 ->V5 ->V4 ->V2
9. V6 ->V1->V2->V3 ->V4 ->V1 ->V5 ->V4 ->V2 ->V5
En este caso partiendo desde el otro vértice impar es posible encontrar la trayectoria
euleriana abierta pero puede ocurrir que dicha trayectoria no exista.
Veamos un ejemplo de grafo dirigido en el que existen vértices de grado impar pero no
existe una trayectoria euleriana
V E S
v1 0 2
v2 3 1
v3 1 1
v4 1 1
v5 1 1
En este caso no existe trayectoria euleriana pues es imposible visitar las aristas v1, v2 y
v1, v5 si partimos del vértice v2. Si por el contrario partiéramos del vértice v1 no
podríamos recorrer todas las que salen de dicho vértice pues el grado de entrada es cero.
Como conclusión podemos decir que en grafos dirigidos existe una trayectoria euleriana
si el grado de entrada y salida de cada vértice son iguales, en otro caso la trayectoria
puede no existir.
EL PROBLEMA DEL CARTERO EN GRAFOS PONDERADOS.
Este problema modeliza numerosas situaciones de la vida real como es la recogida de
basura de una ciudad, repartos de mercancías, en definitiva situaciones donde se sale de
punto y es necesario llegar o pasar por un conjunto de zonas y regresar a dicho punto
minimizando el coste del trayecto.
Tradicionalmente se conoce como problema del cartero debido al trabajo que esta
persona realizan, puesto que un cartero debe salir de la oficina,repartir todas las cartas a
todas las casas y volver a la oficina minimizando el coste del recorrido.
El objetivo es encontrar un recorrido cerrado de coste óptimo que pase por todas las
aristas del grafo, pudiendo duplicar las que sean necesarias.
El algoritmo podemos dividirlo en cinco pasos bien diferenciados que detallaremos a
continuación.
PASO 1
Obtener los vértices impares del grafo.
PASO 2
Formar el grafo completo kn con los vértices impares.
La ponderación de las aristas del grafo anterior viene determinada por la distancia del
camino mínimo en el grafo original entre cada par de vértice del grafo completo formado
por los vértices impares. Para obtener el camino de peso mínimo de las aristas se ha
empleado el algoritmo de Dijkstra.
PASO 3
Buscar un emparejamiento perfecto de peso mínimo en el grafo completo formado por
los vértices impares. (*Ver definiciones de Emparejamiento)
PASO 4
Duplicar las aristas del camino mínimo anteriormente calculado según el
emparejamiento obtenido, es decir, si se obtuvo la siguiente pareja (v1, v2) se
duplican las aristas del camino mínimo que une v1 con v2 en el grafo original.
PASO 5
Encontrar el recorrido cerrado de menor coste(CIRCUITO EULERIANO). Para ello se ha
utilizado el algoritmo de Fleury.
*EMPAREJAMIENTO:
Definición 1: Dado un grafo G=(V,A), un emparejamiento M en G, es un conjunto de
aristas no adyacentes entre sí.
Decimos que un vértice está emparejado (o acoplado saturado) si es incidente con una
arista en el emparejamiento. En otro caso, el vértice está libre.
Ejemplo 1
Ejemplo 2
Ejemplo.
Sea G el siguiente grafo.
Vértices Grado
v1 4
v2 4
v3 3
v4 4
v5 3
v6 1
v7 1
PASO 1
Los vértices impares son v3, v5, v6 y v7.
PASO 2
Construimos el grafo completo formado por los vértices impares: v3, v5, v6 y v7.
Ahora calcularemos las ponderaciones de las aristas. Para ello obtendremos la distancia
del camino mínimo en G entre cada par de vértices del grafo completo formado por los
vértices impares.
dG (v3, v5) = 2.
dG (v3, v6) = 7.
dG (v3, v7) = 2.
dG (v5, v7) = 4.
dG (v6, v5) = 6.
dG (v6, v7) =9
Por lo que las ponderaciones de las aristas del grafo formado por los vértices impares nos
queda.
PASO 3
Buscamos un emparejamiento perfecto (4 vértices, 2 emparejamientos) de peso mínimo
en el grafo formado por los vértices impares.
El emparejamiento obtenido está formado por las aristas v3, v7 y v5, v6.
Se toman las aristas v3, v7 y v5, v6 porque son las dos de menor peso, (2+6=8)
PASO 4
Ahora debemos duplicar en G las aristas del camino mínimo existente entre los vértices
emparejados.
Obtenemos las aristas que forman parte del camino mínimo entre v3 y v7.
Obtenemos las aristas que forman parte del camino mínimo entre v5 y v6.
Las aristas coloreadas de azul se duplican en G.
PASO 5
Finalmente encontramos el recorrido cerrado de coste mínimo aplicando el algoritmo de
Fleury teniendo en cuenta las aristas duplicadas es decir, podemos pasar por ellas dos
veces.
El recorrido es v6->v1->v2->v1->-v4->v2->v3->v7->v3->v4->v5->v2->v5->v1->v6.
Ejercicio:
Use el algoritmo de Fleury para encontrar otra trayectoria desde el vértice:
a) 3 b)5 c)7
Que peso se obtiene en cada una de las otras trayectorias?, es igual o diferente y
porque?
Ejercicios.
Encontrar (si es posible) un recorrido cerrado de costo óptimo que pase por todas las
aristas del grafo G, usando el algoritmo del cartero.
1. 2.