2
Algorithm of DIJKSTRA Jhon William Rico Sergio Nicolás Sáenz Expositores: Referencias • https://es.wikipedia.org/wiki/ Algoritmo_de_Dijkstra • https://jariasf.wordpress.com/ 2012/03/19/camino-mas-corto- algoritmo-de-dijkstra/ • http://es.slideshare.net/ Acentellao17/algoritmo-de- dijkstra-27581616 • http://www.ecured.cu/index.php/ Algoritmo_de_Dijkstra <Video>https://www.youtube.com/watch? v=LLx0QVMZVkk DIJKTR A ALGORITMO DE Algoritmo para la determinación del camino más corto dado un vértice origen al resto de los vértices en un grafo con pesos en cada arista. EJERCICIO>>> Calcular el camino de menor longitud entre s y t V P1 P2 P3 P4 P5 P6 S 0, s B C D E T

Folleto Digital

  • Upload
    dwaxgio

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Algoritmo Dijkstra

Citation preview

Page 1: Folleto Digital

Algorithm of DIJKSTRA

Jhon William RicoSergio Nicolás Sáenz

Expositores:

Referencias• https://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra• https://jariasf.wordpress.com/2012/03/19/camino-mas-

corto-algoritmo-de-dijkstra/• http://es.slideshare.net/Acentellao17/algoritmo-de-

dijkstra-27581616• http://www.ecured.cu/index.php/Algoritmo_de_Dijkstra

<Video>https://www.youtube.com/watch?v=LLx0QVMZVkk

DIJKTRAALGORITMO DE

Algoritmo para la determinación del camino

más corto dado un vértice origen al resto

de los vértices en un grafo con pesos en

cada arista. 

EJERCICIO>>>

Calcular el camino de menor longitudentre s y t

V P1 P2 P3 P4 P5 P6

S 0,s

B

C

D

E

T

Page 2: Folleto Digital

Algorithm of DIJKSTRA - Descripción

•Es un algoritmo Greddy.

•Trabaja por etapas, y toma en cada etapa la mejor solución sin considerar consecuencias futuras.

•El óptimo encontrado en una etapa puede modificarse posteriormente si surge una solución mejor.

CARACTERISTICAS:

Consideraciones

Si los pesos de mis aristas son de valor 1, entonces bastará con usar el algoritmo de BFS.Si los pesos de mis aristas son

negativos no puedo usar el algoritmo de Dijsktra.

-1 -2 -5 -3 -10

BFSRecorrido por anchura

Como funciona:

Edsger Wybe

Dijkstra

Anuncio su algoritmo

1959

1.Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sería 0.

2. Sea a = x (tomamos a como nodo actual).

3. Recorremos todos los nodos adyacentes de a, excepto los nodos marcados, llamaremos a estos nodos no marcados vi.

4. Para el nodo actual, calculamos la distancia tentativa desde dicho nodo a sus vecinos con la siguiente fórmula: dt(vi) = Da + d(a,vi). Si la distancia tentativa es menor que la distancia almacenada en el vector, actualizamos el vector con esta distancia tentativa. Es decir: Si dt(vi) < Dvi → Dvi = dt(vi)

5. 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.