You are on page 1of 6

Anexo:Ejemplo de Algoritmo de Dijkstra

De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda

Grafo inicial

Camino mnimo final Hay diferentes algoritmos para hallar un camino de longitud mnima entre dos vrtices de un grafo ponderado. Presentaremos un algoritmo descubierto por el fsico holands Edsger Dijkstra en 1959. La versin que descubriremos resuelve este problema para grafos ponderados no dirigidos si todos los pesos no son negativos. Este algorimo puede adaptarse fcilmente para resolver problemas de caminos de longitud mnima en grafo dirigidos. A este algoritmo se le llama Algoritmo de Dijkstra:

ndice
[ocultar]

1 Ejemplo o 1.1 Paso 1 o 1.2 Paso 2 o 1.3 Paso 3 o 1.4 Paso 4 o 1.5 Paso 5

o o

1.6 Paso 6 1.7 Paso 7

[editar] Ejemplo
El siguiente ejemplo se desarrollar con el fin de encontrar el camino ms corto desde a hasta z:

Leyenda:

Rojo: Aristas y vrtices pertenecientes a la solucin momentnea. Azul: Aristas y vrtices candidatos.

[editar] Paso 1

En este primer paso, podemos apreciar que hay tres candidatos: Los vrtices b, c y d. En este caso, hacemos el camino desde el vrtice a, hasta el vrtice d, ya que es el camino ms corto de los tres.

Solucin momentnea:

Camino: AD Distancia:5

[editar] Paso 2

Ahora, vemos que se aade un nuevo candidato, el vrtice e, y el vrtice c, pero esta vez a travs del d. Pero el camino mnimo surge al aadir el vrtice c. Solucin momentnea:

Camino: ADC Distancia:9

[editar] Paso 3

En este paso se aade como candidato el vrtice f. En este caso el camino mnimo hallado es el siguiente: Solucin momentnea:

Camino: ADCB Distancia:11

[editar] Paso 4

Como podemos comprobar, se han aadido un candidato nuevo, el vrtice g, a travs del vrtice b. El mnimo camino hallado en todo el grafo hasta ahora es el siguiente: Solucin momentnea:

Camino: ADCBF Distancia:15

[editar] Paso 5

En este antepenltimo paso, se aaden tres vrtices candidatos, los vrtices g, z y e. Este ltimo ya estaba pero en esta ocasin aparece a travs del vrtice f. En este caso el camino mnimo, que cambia un poco con respecto al enterior, es: Solucin momentnea:

Camino: ADCBG

Distancia:17

[editar] Paso 6

En el penltimo paso, vuelve a aparecer otro candidato: el vrtice e, pero esta vez a travs del vrtice f. De todas formas, el camino mnimo vuelve a cambiar para retomar el camino que vena siguiendo en los pasos anteriores: Solucin momentnea:

Camino: ADCBFE Distancia:18

[editar] Paso 7

Por fin, llegamos al ltimo paso, en el que slo se aade un candidato, el vrtice z a travs del e. El camino mnimo y final obtenido es nada mas y nada menos k: Solucin Final: El algoritmo de Dijkstra, tambin llamado algoritmo de caminos mnimos, es un algoritmo para la determinacin del camino ms corto dado un vrtice origen al resto de

vrtices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describi por primera vez en 1959. La idea subyacente en este algoritmo consiste en ir explorando todos los caminos ms cortos que parten del vrtice origen y que llevan a todos los dems vrtices; cuando se obtiene el camino ms corto desde el vrtice origen, al resto de vrtices que componen el grafo, el algoritmo se detiene. El algoritmo es una especializacin de la bsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de coste negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la bsqueda nodos que en prximas iteraciones bajaran el costo general del camino al pasar por una arista con costo negativo).

You might also like