Presentación2
Click here to load reader
Transcript of Presentación2
Edsger Wybe Dijkstra
Nació en Rotterdam, (Holanda) en 1930. Sus
padres eran ambos intelectuales y él recibió una
excelente educación. su facilidad para la uímica,
las matemáticas y la física, entró en la Universidad
de Leiden, donde decidió estudiar física teórica.
Durante el verano de 1951, asistió a un curso de
verano sobre programación en la Universidad de
Cambridge. A su vuelta empezó a trabajar en el
Centro Matemático en Amsterdam, en marzo de
1952, donde se incrementó su creciente interés en
la programación. Cuando terminó la carrera se
dedicó a problemas relacionados con la
programación. En 1972 ganó el Premio Turing
ACM.
Algoritmo de Dijkstra (ruta más corta -
árbol mínimo - camino mínimo)
En 1956, Dijkstra anunció su algoritmo de caminosmínimos, después de haber estado trabajando con elARMAC, el ordenador que el Centro Matemático poseía.
Una posible definición de algoritmo es un conjunto dereglas que permiten obtener un resultado determinado apartir de ciertas reglas definidas. Otra definición sería,algoritmo es una secuencia finita de instrucciones, cadauna de las cuales tiene un significado preciso y puedeejecutarse con una cantidad finita de esfuerzo en untiempo finito. Ha de tener las siguientes características:legible, correcto, modular, eficiente, estructurado, noambiguo y a ser posible se ha de desarrollar en el menortiempo posible.
A principios de la década de los 60, Dijkstra aplicó la
idea de la exclusión mutua a las comunicaciones
entre una computadora y su teclado. Su solución de
exclusión mutua ha sido usada por muchos
procesadores modernos y tarjetas de memoria
desde 1964.
OBJETIVO DEL ALGORITMO
Un algoritmo de trayectoria más corta, rutea cada
vehículo a lo largo de la trayectoria de longitud
mínima (ruta más corta) entre los nodos origen y
destino. Hay varias formas posibles de seleccionar
la longitud de los enlaces. La forma más simple es
que cada enlace tenga una longitud unitaria, en cuyo
caso, la trayectoria más corta es simplemente una
trayectoria con el menor número de enlaces. De una
manera más general, la longitud de un enlace puede
depender de su capacidad de transmisión y su carga
de tráfico.
ejemplos
Pasos para desarrollar un algoritmo de
dijkstra
Rojo: Aristas y vértices
pertenecientes a la
solución momentánea.
Azul: Aristas y vértices
candidatos.
Paso 1
En este primer paso,
podemos apreciar que
hay tres candidatos: Los
vértices b, c y d. En este
caso, hacemos el camino
desde el vértice a, hasta
el vértice d, ya que es el
camino más corto de los
tres.jump!!!
Solución momentánea:
Camino: AD
Distancia:5
Paso 2
Ahora, vemos que se
añade un nuevo
candidato, el vértice e, y
el vértice c, pero esta
vez a través del d. Pero
el camino mínimo surge
al añadir el vértice c.
Solución momentánea:
Camino: ADC
Distancia:9
Paso 3
En este paso no se
añade ningún candidato
más puesto que el último
vértice es el mismo que
en el paso anterior. En
este caso el camino
mínimo hallado es el
siguiente:
Solución momentánea:
Camino: ADCB
Distancia:11
Paso 4
Como podemos
comprobar, se han
añadido dos candidatos
nuevos, los vértices f y g,
ambos a través del
vértice b. El mínimo
camino hallado en todo
el grafo hasta ahora es
el siguiente:
Solución momentánea:
Camino: ADCBF
Distancia:15
Paso 5
En este antepenúltimo
paso, se añaden tres
vértices candidatos, los
vértices g, z y e. Este
último ya estaba pero en
esta ocasión aparece a
través del vértice f. En
este caso el camino
mínimo, que cambia un
poco con respecto al
enterior, es:
Solución momentánea:
Camino: ADCBF
Distancia:17
Paso 6
En el penúltimo paso, vuelve a aparecer otro candidato: el vértice z, pero esta vez a través del vértice g. De todas formas, el camino mínimo vuelve a cambiar para retomar el camino que venía siguiendo en los pasos anteriores:
Solución momentánea:
Camino: ADCBFE
Distancia:18
Paso 7
Por fin, llegamos al
último paso, en el que
sólo se añade un
candidato, el vértice z a
través del e. El camino
mínimo y final obtenido
es:
Solución Final:
Camino: ADCBFEZ
Distancia:23
WEBGRAFIA
http://personales.upv.es/arodrigu/grafos/Dijkstra.htm
http://www.utp.edu.co/php/revistas/ScientiaEtTechnica/do
csFTP/111527121-126.pdf
http://156.35.31.178/wiki/index.php/TP:Algoritmo_de_Dijk
stra_-_Algoritmos_voraces
http://www.ubicuos.com/2010/04/09/algoritmo-de-dijkstra-
implementado-en-ruby/
http://www.it.uc3m.es/~prometeo/rsc/apuntes/encamina/e
ncamina.html
http://es.wikipedia.org/wiki/Anexo:Ejemplo_de_Algoritmo
_de_Dijkstra
INTEGRANTES
SERGIO CAMACHO 5203027
JULIAN GONZALEZ 5206001
JUAN FELIPE CUERVO T 5203026