You are on page 1of 3

Algoritmo de Dijkstra El conocido Algoritmo de Dijkstra permite hallar la ruta ms corta entre los vrtices de un grafo cuyas conexiones

poseen una serie de pesos, se define que el camino de costo mnimo de un vrtice a a otro b, como el camino en el que la suma de los pesos de las conexiones que lo conforman es la ms baja entre las de todos los caminos posibles entre ambos vrtices. Este algoritmo fue diseado por el holands Wybe Dijkstra en 1959. Dicho algoritmo posee una complejidad de O(n2), siendo n el nmero de vrtices; es un algoritmo eficiente, el cual sirve para que se pueda encontrar el camino ms corto entre un nodo y los dems nodos del grafo. El fundamento base de este algoritmo es el principio de optimalidad de Bellman: "Dada una secuencia ptima de decisiones, toda subsecuencia de ella es, a su vez, optima".1 De esta manera, los caminos de costo mnimo se van construyendo desde el vrtice inicial hasta cada uno de los vrtices del grafo. A continuacin se mostrar el algoritmo en un pseudocdigo sencillo para que as se pueda comprender su funcionamiento: Dijkstra (G,s) Inicializar for cada v perteneciente a V[G] do d[v] = infinito p[v] = nulo d[s] = 0 S = vacio Q = V[G] mientras Q no vacio do u = nodo v con min d[v] S = S unin u 'se aade al conjunto de nodos finalizados for cada v perteneciente Adyacente u Relajacin if d[v] > d[u] + w(u,v) then d[v] = d[u] + w(u,v) p(v) = u http://arodrigu.webs.upv.es/grafos/doku.php?id=algoritmo_dijkstra

Las aplicaciones del algoritmo de Dijkstra son muy diversas y de gran importancia en distintas reas del conocimiento. Vamos a presentar algunas de ellas. Encaminamiento de paquetes por los routers2: Consideremos una red telefnica. En un momento dado, un mensaje puede tardar una cierta cantidad de tiempo en atravesar cada lnea (debido a efectos de congestin, retrasos en las conexiones etc.). En este caso tenemos una red con costes en los arcos y dos nodos especiales: el nodo de comienzo y el de finalizacin, el objetivo aqu es encontrar un camino entre estos dos nodos cuyo coste total sea el mnimo.
1

(Manso, 2009) (Trick, 1998)

Aplicaciones para Sistemas de informacin geogrficos: extraccin de caractersticas c urvilneas de imgenes usando tcnicas de minimizacin del camino3: La imagen se representa como una matriz de puntos, cada uno con una especial intensidad. Cada nodo se corresponde con un punto (pixel) de la imagen y tiene hasta ocho nodos adyacentes. El peso de los arcos viene dado en este caso por la diferencia de intensidad. Esta tcnica presenta un gran ahorro de costes frente a las herramientas existentes actualmente en el mercado que usan mtodos de vectorizacin automticos. Reconocimiento de lenguaje hablado4: Un problema que se presenta es el distinguir entre palabras que suenan de manera similar. Se puede construir un grafo cuyos vrtices correspondan a palabras posibles y cuyos arcos unan palabras que puedan ir colocadas una al lado de otra. Si el peso del arco corresponde a la probabilidad de que estn as colocadas, el camino ms corto en el grafo ser la mejor interpretacin de la frase. Otras aplicaciones: Enrutamiento de aviones y trfico areo. Tratamiento de imgenes mdicas. Problemas de optimizacin de una funcin de coste para moverse entre diversas posiciones.

Bibliografa Garca Sols, E. A., 2010. Algoritmo de Dijkstra. [En lnea] Available at: http://www.slideshare.net/1450138/algoritmo-de-dijkstra-4118826 [ltimo acceso: 20 11 2012].

3 4

(M.R. & P.H., 1994) (Skiena, 2008)

M.R., D. & P.H., L., 1994. Extracting curvilinear Features from Remotely Sensed Images Using Minimum Cost Path Techniques. [En lnea] Available at: http://www.mmrg.ecs.soton.ac.uk/publications/archive/dobie1994/html/ [ltimo acceso: 20 11 2012]. Manso, A., 2009. WebySw Programacin Dinmica. [En lnea] Available at: http://webysw.blogspot.com/2009/05/principio-de-optimalidad-de-bellman.html [ltimo acceso: 20 11 2012]. Rodriguez, A., 2012. Algoritmo de Dijkstra. [En lnea] Available at: http://arodrigu.webs.upv.es/grafos/doku.php?id=algoritmo_dijkstra [ltimo acceso: 20 11 2012]. Snchez Torrubia, G. & Lozano Terrazas, V. M., 2001. Algoritmo de Dijkstra. Un tutorial interactivo. [En lnea] Available at: http://bioinfo.uib.es/~joemiro/aenui/procJenui/ProcWeb/actas2001/saalg223.pdf [ltimo acceso: 20 11 2012]. Sedgewick, R. & Wayne, K., 2011. Algorithms. [En lnea] Available at: http://algs4.cs.princeton.edu/home/ [ltimo acceso: 20 11 2012]. Skiena, S. S., 2008. Shortest Path. [En lnea] Available at: http://www.cs.sunysb.edu/~algorith/files/shortest-path.shtml [ltimo acceso: 20 11 2012]. Trick, M. A., 1998. Shortest Path. [En lnea] Available at: http://mat.gsia.cmu.edu/classes/networks/node4.html [ltimo acceso: 20 11 2012]. Villalobos, J., s.f. El algoritmo de Dijkstra. [En lnea] Available at: http://cupi2.uniandes.edu.co/libros/estructuras_de_datos/index.php?option=com_content&view=arti cle&id=180&Itemid=160 [ltimo acceso: 20 11 2012].

You might also like