Algoritmo de Dijkstra y C

download Algoritmo de Dijkstra y C

of 21

description

algoritmo Dijkstra

Transcript of Algoritmo de Dijkstra y C

Algoritmo

Algoritmo de DijkstraIntegrantes: Miriam Carrasco Fernndez.Jos ngel Figueroa Mendoza.Adriana Ibarra HernndezJess Eduardo Lozano Beltrn Ayleen Salinas PugaEdsger DijkstraNaci el 11 de mayo de 1930 en Rterdam, Pases Bajos.

Dijkstra estudifsica terica en laUniversidad de Leiden.

Edsger DijkstraTrabaj como investigador paraBurroughs Corporationa principios de losaos 1970.

En la Universidad de Texas enAustin,Estados Unidos, ocup elSchlumberger Centennial Chair in Computer Sciences.

Se retir en2000.Muri el 6 de agosto de 2002 a sus 72 aos en Nuenen, Pases Bajos.

Algoritmo de DijkstraEl algoritmo de Dijkstra tiene por objeto determinar las rutas ms cortas entre el nodo fuente y todos los dems nodos de la red.

Uso

MatemticamenteAlgoritmo de Dijkstra. Sea ui la distancia ms corta del nodo fuente 1 hasta el nodo i, y se define dij ( 0) como la longitud del arco (i, j). Entonces el algoritmo define la etiqueta de un nodo inmediato posterior j como:

[uj, i] = [ui + dij, i], dij >= 0MatemticamenteLa etiqueta del nodo de inicio es [0, ], que indica que el nodo no tiene predecesor.

Las etiquetas de nodos en el algoritmo de Dijkstra son de dos clases: temporales y permanentes.Una etiqueta temporal se modifica si se puede encontrar una ruta ms corta a unnodo.Cuando se ve que no se pueden encontrar rutas mejores, cambia el estado de la etiquetatemporal a permanente.PasosPaso 0. Etiquetar el nodo fuente (nodo 1) con la etiqueta permanente [0,]. Igualar i 1.Paso i. a) Calcular las etiquetas temporales [ui + dij, i] para cada nodo j al que pueda llegarse desde el nodo i, siempre y cuando j no tenga etiqueta permanente. Si el nodo j ya est etiquetado con [uj, k] por otro nodo k, y si ui + dij uj, sustituir [uj, k] por [uj + dij, i].b) Si todos los nodos tienen etiquetas permanentes, detenerse. En caso contrario, seleccionar la etiqueta [ur, s] que tenga la distancia ms corta (ur) entre todas las etiquetas temporales (los empates se rompen en forma arbitraria). Hacer que i r y repetir el paso i.Ejemplo

ImportanciaPor ejemplo, se ve empleado este algoritmo de Dijkstra en la aplicacin de Google Maps.

Hay matemticas en las principales aplicaciones de Google(Agencia Iberoamericana para la Difusin de la Ciencia y la tecnologa, 2012)Consistente en calcular el camino ms corto entre dos nodos.

Cuando uno intenta buscar opciones en Google maps para ir de un sitio a otro, eso es en esencia un problema de teora de grafos que en el caso fundamental est resuelto por el algoritmo de Dijkstra.Entrando en materiaLa teora de grafos es un campo de estudio de las matemticas y las ciencias de la computacin, que estudia las propiedades de los grafos ,estructuras que constan de dos partes, el conjunto de vrtices, nodos o puntos; y el conjunto de aristas, lneas o lados que pueden ser orientados o no.

Grafos conexos: Un grafo es conexo si cada par de vrtices est conectado por un camino; es decir, si para cualquier par de vrtices (a, b), existe al menos un camino posible desde a hacia b.

Grafos ponderados o etiquetados: En muchos casos, es preciso atribuir a cada arista un nmero especfico, llamado valuacin, ponderacin o coste segn el contexto, y se obtiene as un grafo valuado.

Tutte, W.T. (2001)

Bibliografa Hamdy A. Taha, Investigacin de operaciones sptima edicin, PEARSON EDUCACION, Mxico, 2004Universidad Politcnica de Madrid, n.d., Algoritmo de dijkstra 1959, consultado en: https://www.etsisi.upm.es/museo_virtual/3g/algoritmodijkstra Tutte, W.T. (2001), Graph Theory, Cambridge University Press, p.30Agencia Iberoamericana para la Difusin de la Ciencia y la tecnologa, Mayo 18 de 2012

Algoritmo de DijkstraIntegrantes: Miriam Carrasco Fernndez.Jos ngel Figueroa Mendoza.Adriana Ibarra HernndezJess Eduardo Lozano Beltrn Ayleen Salinas Puga