Está en la página 1de 3
Algoritmo Dijkstra Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un vector D de tamaiio N guardaré al final del algoritmo las distancias desde x al resto de los nodos. 1. Inicializar todas ls distancias en D con un valor infinito relative ya que son ddesconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de xx seria 0. 2. Sea a =x (tomamos a como nodo actual). 3. Recorremos todos los nodos adyacentes de o, excepto los nodos marcados, llamaremos a estos nodos no marcados vs 44, Para el nodo actual, calculamos la distancia tentativa desde dicho nodo a sus vecinos coma siguiente formula: dt(v) = 0, + d(a,v). Es decir la distancia tentativa del nodo ‘vi ela distancia que actualmente tiene el nodo en el vector D mas la distancia desde dicho el nodo ‘a’ (el actual} al nodo v,. Si la distancia tentativa es menor que la distancia almacenada en el vector, actualizamos el vector con esta distancia tentativa Es decir: Si dt(wi) < Dy > Dy = dt{wi) Marcamos como completo el nodo a. 6. Tomamos como préximo nodo actual el de menor valor en D (puede hacerse almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras, existan nodos no marcados.. Una vez terminado al algoritmo, D estara completamente Ileno. Anexo:Ejemplo de Algoritmo de Dijkstra Camino minimo final Hay diferentes algoritmos para hallar un camino de Yongitud minima entre dos vértices de un grafo ponderado, Presentaremos un algoritmo descubierto por el fisico holandés Edsaer Dijkstra en 1959. La versién que descubriremos resuelve este problema para srafos ponderados no dirigidos si todos los pesos no son negativos. Este algorimo puede adaptarse facilmente para resolver problemas de caminos de longitud minima en grafo dirigidos. Aeeste algoritmo se le llama Algoritmo de Dijkstra indice + Lfiemplo 1.1Pasod iB Ejemplo El siguiente ejemplo se desarrollaré con el fin de encontrar el camino mis corto desde a hasta z Leyenda: ‘© Rojo: Aristas y vertices pertenecientes a la solucién momenténea. + Aaul: Aristas y vértices candidatos. Paso 1 Ahora, vemos que se afiade un nuevo candidato, el vértice e, y el vértice c, pero esta vez a través del d. Pero el camino minimo surge al aftadir el vértice c. Solucién momentinea: © Camino: ADC © Distancia: Paso 3 Solucién momentinea: ‘© Camino: ADC © Distancia:11 Como podemos comprobar, se han afiadido un candidato nuevo, el vértice g, a través del vértice b. El minimo camino hallado en todo el grafo hasta ahora es el siguiente: Solucién momenténea: * Camino: ADCBF + Distancia:15 Paso 5 En este antepentiltimo paso, se afiaden tres vertices candidatos, los vértices g, z ye. Este liltimo ya estaba pero en esta ocasidn aparece a través del vértice f. En este caso el camino minimo, que cambia un poco con respecto al enterior, es Solucién momenténea: © Distancia:17 Paso 6 En el peniiltimo paso, vuelve a aparecer otro candidato: el vértice e, pero esta vez a través del vértice f. De todas formas, el camino minimo vuelve a cambiar para retomar el camino que venia siguiendo en los pasos anteriores: Solucién momentinea: ‘© Camino: ADCBFE + Distancia:i8 Paso 7

También podría gustarte