Está en la página 1de 4

Algoritmo De Fleury.

Juan Diego Luna Castañeda, Yeison Mórelo Avila, Cristian Alvarez Hernández
Departamento de ingeniería de sistemas, Universidad de Córdoba
Montería, Colombia
juandluna17@gmail.com
yeisonmorelo@gmail.com
alvarezhernandezcristian1@gmail.
com
Resumen — Uno de los problemas de optimización de grafos
consiste en la búsqueda de trayectorias o circuitos de Euler desde
vértice origen a vértice destino, o bien de origen a origen. Los
teoremas clásicos de Euler no solucionan el problema de descubrir
la ubicación de las trayectorias en caso que existan. Se han
publicado varias propuestas utilizando técnicas que disminuyen el
tiempo de búsqueda; pero las mismas introducen un error en el
resultado. Por tal motivo, el presente trabajo propone el uso de un
algoritmo de reducción de grafos sin necesidad de repetir aristas
denominado algoritmo de Fleury, lo cual contribuye a reducir el
tiempo en la búsqueda de trayectorias dentro de un grafo.

Palabras claves: Algoritmo, Fleury, Trayectoria, Euler, Grafo. Figura 1.1. Los siete puentes de Königsberg.

Abstract — One of the problems of the optimization of the graphs El problema que se planteaban sus habitantes consistía en
consists in the search of trajectories or circuits of Euler from decidir si era posible seguir un camino, y cómo hacerlo, que
vertex origin to vertex destiny, or from origin to origin. Euler's cruzase todos los puentes una sola vez y que finalizase llegando
classical theories do not solve the problem of discovering the
location of trajectories if they exist. Several proposals have been
al punto de partida. Euler enfocó el problema representando
published that use techniques that decrease the search time; But cada parte de tierra por un vertice y cada puente, por una línea,
they introduce an error in the result. For this reason, the present uniendo los puntos que se corresponden. Entonces, el problema
work proposes the use of a graph reduction algorithm without the anterior se puede trasladar a la siguiente pregunta: ¿se puede
need to repeat edges called the Fleury algorithm, which recorrer el dibujo sin repetir las líneas?
contributes to reduce the time in the search of trajectories within
a graph.

Keywords: Algorithm, Fleury, Trajectory, Euler, Graph.

I. INTRODUCCIÓN
La teoría de grafos ha sido ampliamente estudiada y hoy día es
aplicada en la solución de un sin número de problemas en
diferentes ramas de la ciencia. Entre estas aplicaciones se
pueden mencionar la solución de problemas de camino óptimo,
de flujo máximo de costo mínimo, la representación y análisis
de redes complejas (redes sociales) y muchas otras.

Muchos de estos problemas de caminos y vértices, se pueden Figura 1.2. Los siete puentes de Königsberg representados
aplicar fácilmente en la vida cotidiana, tal y como fue en 1736, dentro de un grafo.
donde, Leonhard Euler resolvió el problema conocido como
problema de los puentes de Königsberg. La ciudad de Euler demostró que no era posible puesto que el número de
Königsberg, en Prusia Oriental, estaba localizada en el río líneas que inciden en cada punto no es par, la cual es una
Pregel, e incluía dos grandes islas que estaban conectadas entre condición necesaria para entrar y salir de cada vértice, y para
ellas por un puente, y con las dos riberas del río mediante seis regresar al vértice de partida, por caminos distintos en todo
puentes más, es decir, siete puentes en total (Tal como se momento, dando origen al termino que hoy en día se denomina
muestra en la figura 1.1). ciclo euleriano, en otras palabras, un camino cerrado que recorre
cada arista exactamente una vez.
Este término, está respaldado por el siguiente teorema: Dado G
(V, E) no orientado y conexo; si tiene 2k nodos de grado impar, “No cruces un puente a menos que no te quede otro remedio”
entonces G puede ser escrito como unión de k caminos distintos
C. Objetivos
sobre los arcos y valen las siguientes expresiones:

1. G es euleriano. Objetivo general


2. ∀𝑣 ∈ con grado (𝑣) ≥ 2 par.
3. 𝐺 = ∐𝑛𝑖=1 𝐶𝑖 todos disjuntos en los arcos, por  Dar a conocer algunos conceptos y resultados mínimos
congruente, 𝐶𝑖𝐸 ∩ 𝐶𝑗𝐸 = 0 con 𝑖 ≠ 𝑗. para destacar su gran utilidad para una óptima comprensión
del algoritmo de Fleury.
Gracias a los teoremas de Euler es posible saber si un grafo tiene
circuitos de Euler, lastimosamente estos teoremas no indican la Objetivos específicos
manera de encontrar dicho recorrido. Por tal motivo, existe una
serie de instrucciones muy sencillas conocidas como El  Aprender sobre circuito de Euler y sus definiciones básicas
algoritmo de Fleury las cuales permite encontrar una trayectoria como un circuito que contiene todas las aristas de G.
de Euler en caso de que este exista.  Calcular el camino cerrado más factible para llegar desde
un vértice de inicio a un vértice final, dentro de un circuito
II. INFORMACIÓN BASICA DEL PROYECTO de Euler.
 Documentar los procedimientos y métodos necesarios para
A. Planteamiento del problema permitir determinar el camino de la trayectoria Euleriana.

Basados en el estudio y aprendizaje obtenido a lo largo de la III. GRAFO EULERIOANO


formación del curso y gracias a un proceso de investigación,
sobre la materia, grafos, operación con vértices y aristas, Para profundizar sobre qué es y cómo se usa el Algoritmo de
conectividad de grafos, algoritmo de Dijkstra etc., se concluye Fleury antes tenemos que saber sobre grafos Euleriano. Dícese
que los grafos se presentan con frecuencia en la vida real, tal es de los grafos no orientados formados por un ciclo Euleriano; es
el caso de una red de carreteras que enlace un cierto grupo de decir, aquellos que pueden recorrerse completamente desde un
ciudades. Aquí los nodos de la red o ciudades representan los vértice y regresar al punto de origen sin pasar dos veces por la
vértices de grafo. Las carreteras que unen las ciudades misma arista[2]. Pero como identificarlos del resto de los demás
representan los arcos o arista, así a cada arco se asocia una grafos, por medio de sus teoremas como:
información tal como la distancia entre ciudades, consumo de
gasolina, costo de mantenimiento, etc. Sin embargo, no muchos Teorema 1. Sea G un grafo o multígrafo no dirigido. Entonces
de estas situaciones son capaces de ser analizadas y estudiadas G tiene un ciclo de Euler si, y solo si, es conexo y todo vértice
correctamente por algoritmos anteriormente estudiados. Tal tiene grado par. Diremos que es un grafo Euleriano [3].
como el Teorema de Euler, que solo es capaz de determinar si
existe un circuito o trayectoria Euleriana dentro de un grafo, sin Teorema 2. Sea G un grafo o multígrafo no dirigido. Entonces
embargo, no es capaz de identificarlo. G tiene un camino de Euler si, y solo si, es conexo y tiene solo
dos vértices de grado impar. Diremos que el grafo es semi-
B. Justificación Euleriano [3].
Incapaz de determinar la trayectoria de Euler en un grafo, en el
presente artículo se muestra un algoritmo presentado en 1883
denominado Algoritmo de Fleury, el cual, permite determinar
aquel ciclo que recorre todos los vértices pasando por todos los
lados solamente una vez.

Según Micha (2003) en su libro “Matemáticas Discretas”


nombra que:

El algoritmo de Fleury nos instruye que viajemos por un puente


solo como último recurso. Es decir, solamente podemos usar un
puente cuando este sea la única arista que se pueda usar para
continuar el recorrido. En un lenguaje coloquial podemos
resumir la regla fundamental del algoritmo de Fleury en la
siguiente frase:
En otras palabras, se desea encontrar una trayectoria de Euler
para el grafo. Aplicando el algoritmo de Fleury se tiene lo
siguiente.

Como vértice de partida se pueden escoger el vértice 1 o el


vértice 5. Sin pérdida de generalidad escogemos el vértice 1.
Ahora se puede escoger cualquier arista, tomando la arista {1,
5} se tiene

Figura 2.1 Grafo (a) es Euleriano y (b) Semi-Euleriano


Figura: 3.2
Considerando esto es posible aplicar y conocer sobre el
algoritmo base una previa antes de entrar al tema en cuestión. Desde el vértice 5 es posible llegar a los vértices 2 y 4, como
ninguna de las aristas que los unen son puentes podemos tomar
IV. ALGORITMO DE FLEURY cualquiera; sin pérdida de generalidad tomamos la arista que
nos deja en el vértice 2.
Como anteriormente se menciona gracias a los teoremas
Eulerianos es posible conocer sus circuitos y poder aplicar el
algoritmo sobre estos, con el fin de encontrar el recorrido más
óptimo. A continuación se proporcionara una serie de pasos
para encontrar estos caminos o rutas.

PASOS
Figura: 3.3
1. Ver que cumpla con los teoremas Eulerianos
De igual forma, cualquier arista es válida, así que tomamos la
2. Escoger vértice de grado impar. En caso de no existir
arista {2, 4} y obtenemos el siguiente grafo.
seleccionar un vértice arbitrario.
3. Seleccionar una arista a partir del vértice actual que no sea
puente (que no se desconecte al grafo), a menos que no haya
otra alternativa.
4. Desconectar los vértices que están unidos por la arista
seleccionada.
5. Si todos los vértices están desconectados, ya se tiene el
circuito de Euleriano. De otra forma continuar con el paso 3 [4]. Figura: 3.4

Al final se tendrá la ruta optima o mejor dicho el camino En este grafo el vértice 4 tiene tres vértices vecinos, el vértice
euleriano. 5, el vértice 3 y el vértice 1, pero la arista {4, 5} es un puente,
de tal manera tomamos la arista {4, 3} que no es un puente y
V. EJEMPLO obtenemos:

¿Es posible dibujar el siguiente grafo sin levantar el lápiz del


papel y sin repetir ningún trazo?

Figura: 3.5

Desde el vértice 3 solo hay una posibilidad, el vértice 2


Figura: 3.1
Figura: 3.5

De nuevo, desde el vértice dos solo hay una posibilidad, el


vértice 1 y desde este solamente el vértice 4

Figura: 3.6 VII. REFERENCIAS.

Y por último desde el vértice 4 hasta el vértice 5, y tenemos [1] Micha, “Matemáticas Discretas”, 2003.
nuestra trayectoria Euleriana que comenzó en el vértice 1 y
termino en el vértice 5 terminando con un grafo isomorfo al [2] Salvador Calvo, Fernández Pérez (2002) LOS
grafo nulo con 5 vértices N5. PUENTES DE KÖNIGSBERG. Recuperado de:
http://recursostic.educacion.es/descartes/web/materiales_didac
ticos/rompecabezas/PuentesKonigsberg.htm.

[3] Yuranny (2014) Algoritmo de Fleury. Recuperado de


https://www.clubensayos.com/Espa%C3%B1ol/Algoritmo-
De-Fleury/1789703.html.

[4] Grafo euleriano en ecured consultado el 3 de febrero de


Figura: 3.7 2019.

[5] Camino de Euler en Blogsport consultado el 3 de febrero de


VI. CONCLUSION. 2019.

[6] Algoritmo de Fleury en Blogsport consultado el 3 de febrero


de 2019.

[7] Combariza German, “Una introducción a la teoría de


grafos”, Bogotá, pp. 580-582, 2003.

También podría gustarte