Sei sulla pagina 1di 3

MTODO TWO SIDED DIJKSTRA COMO MTODO DE

SOLUCIN AL PROBLEMA DE RUTAS MNIMAS

Generalidades

El algoritmo de Dijkstra es uno de los mtodos ms populares para resolver problemas de


rutas mnimas de un origen a un destino y sus variantes con costos no negativos, debido a
su facilidad de implementacin y rapidez de solucin, adems de no requerir de tiempos
previos de procesamiento; siendo de gran utilidad en numerosas aplicaciones como
sistemas de informacin de trfico. A diferencia del algoritmo genrico, Dijkstra toma
ventaja de una cola de prioridad que permite que cada nodo entre a la lista de etiquetas
V a lo ms una vez.

El mtodo Two Sided Dijkstra o Dijsktra Bidireccional, nace como una tcnica que permite
acelerar el proceso para allar la solucin del algoritmo Dijsktra, introduciendo un nuevo
concepto de busqueda en dos direcciones instantaneamente. En una primera fase 1,
aplicando el Dijkstra original de modo
alternativo tanto en el nodo inicial como el final;
donde la fase termina cuando en el algoritmo
ambas busquedas coinciden en el mismo nodo.
Segn Bertsekas D. (1998); se puede demostrar
que cuando un nodo recibe una etiqueta
permanente de ambos lados, el etiquetado puede
detenerse; combinando los caminos de avance y
retroceso de cada nodo etiquetado y comparando
los trayectos de origen a destino resultantes, se
puede obtener una ruta mnima. Lo que puede
reducir considerablemente el nmero de
iteraciones necesarias para llegar
Figura 1. Bidirectional Dikstra. Goldberg at al.
(2005).

una solucin. Sin embargo, esto no te garantiza que esta unin encontrada en ambos
sentidos sea la ruta mnima de la red, como es el caso donde hay mltiples destinos 2, por
lo que una segundafase ocurre como un proceso de eliminacin de nodos. Es por esto
que se intuye que para que el mtodo sea ms eficiente que el algoritmo unilateral, la
terminacin debe ocurrir mucho antes de que todos los nodos hayan sido procesados
(desde cualquier direccin). Si, por el contrario, la terminacin se produce cuando casi

1 Kozyntsev A.N, Bidirectional search and Goal-directed Dijkstra. TU Mnchen. 2010

2 Bertsekas D.P., Network optimization: continuous and discrete models. 1998.

Kimberly Montenegro Cera - CI5301 Optimizacin de Redes - 17 de Abril de 2017


MTODO TWO SIDED DIJKSTRA COMO MTODO DE
SOLUCIN AL PROBLEMA DE RUTAS MNIMAS

todos los nodos han sido procesados, el mtodo bidireccional no ser eficiente (Dreyfus,
1969). Figura 2.

Figura 2. El algoritmo two sided Dijkstra procesar el nodo A: B, C, D,


luego el nodo E. A partir del nodo E: nodo D, C, B, A. Esto significa que
el nodo C ser el primer nodo que se procesar desde ambos lados. Sin
embargo, (A, C, E) no es el camino ms corto de A a E.

Evaluacin e implementacin

Varias investigaciones han implementado y evaluado el algoritmo bidireccional Dijkstra


en busqueda de probar o refutar su eficiencia. Bertsekas D. & Polymenakos L. (1993) han
estudiado este mtodo bajo varios grados de sincronizacin y para diferentes tipos de
problemas, mostrando que las versiones paralelas de los algoritmos variantes de rutas
mnimas tipo auction tienden a ser muy eficaces y parecen superar los algoritmos de
Dijkstra en sus ambas versiones, especialmente en los problemas que involucran muchos
origenes y muchos destinos. Por otro lado, este ltimo metodo puede llegar a ser ms
eficiente cuando es ejecutado por varias unidades de procesamiento. (Figura 3). En su
estudio, Vaira G. & Kurasova O (2011) formularon un algoritmo paralelo del Dijkstra
bidireccional evidenciando que dicho algoritmo es casi 3 veces ms rpido que el
algoritmo estndar de Dijkstra utilizando los datos reales de una red de carreteras.

Figura 3. Resultados Computacionales en grafos diseados en NETGEN con 2000 nodos y 20000 arcos
(izquierda) y 1089 nodos y 6428 arcos (derecha), se observa que cuando la densidad de la red
aumenta, las variantes de algoritmos tipo Auction tienden a ser ms eficientes que el bidireccional de
Dijkstra, asmismo es evidente como mejoran los rendimientos de los algoritmos al paralelizarlos,
logrando en el grfico de la derecha ser ms eficiente que los metodos Auction cuando hay 20
unidades de procesamiento. Bertsekas D. & Polymenakos L. (1993).

Conclusiones

El mtodo bidirectional de Dijkstra aparece como una variante del algoritmo


convencional til al momento de reducir el nmero de nodos visitados en la prctica,
siempre y cuando la terminacin ocurra mucho antes de que todos los nodos hayan sido

Kimberly Montenegro Cera - CI5301 Optimizacin de Redes - 17 de Abril de 2017


MTODO TWO SIDED DIJKSTRA COMO MTODO DE
SOLUCIN AL PROBLEMA DE RUTAS MNIMAS

procesados. En algunos casos, estudios demuestran que la eficiencia de este mtodo se


reduce considerablemente cuando nos enfrentamos a una red de alta densidad o
mltiples origenes y/o destinos, casos en los cuales los algoritmos Auction tienden a
mostrar un mayor rendimiento. Por otro lado, estudios tambin evidencian que la
eficiencia de los mtodos analizados puede aumentarse si estos algoritmos son
paralelizados.

Referencias

Bertsekas, D. P. (1998). Network optimization: continous and discrete models. Belmont:


Athena Scientific: pp. 94.

Bertsekas, D. P., & Polymenakos, L. C. (Julio 1993). Parallel Shortest Path Auction
Algorithms. Cambrige: M.I.T.

Dreyfus, S. (1969). An appraisal of some shortest-path algorithms Operations Research.

Kozyntsev, A. N. (26 Septiembre 2010). Bidirectional search and Goal-directed Dijkstra. TU


Mnchen: Fakultt fr Informatik.

Schulz, F., Wagner, D., & Karsten, W. (2000). Dijkstras Algorithm OnLine: An Empirical
Case Study from Public Railroad Transport. Germany: University of Konstanz.

Sniedovich, M. (s.f.). Dijkstra's Algorithm revisited: the OR/MS Connexion. Australia: The
University of Melbourne .

Vaira, G., & Olga, K. (2011). Parallel Bidirectional Dijkstra's Shortest Path Algorithm.
Amsterdam, The Netherlands.

Kimberly Montenegro Cera - CI5301 Optimizacin de Redes - 17 de Abril de 2017

Potrebbero piacerti anche