Juan Jos Lopez Condori Diego Andr Ranilla Gallegos Universidad Nacional de San Agustin
I.
Introduccin
n este presente informe nos enfocaremos
a uno de los algoritmos que buscan encontrar las rutas mas cortas, tales como por ejemplo los algoritmos de Floyd y BellmanFord; nos referimos al Algoritmo de Dikjstra, creado por el holands Edsger Wybe Dijkstra, que en el ao de 1956 lo anunci. Este algoritmo tiene varias aplicaciones tales como:
El encaminamiento de paquetes por los
routers: En un momento dado, un mensaje puede tardar cierta cantidad de tiempo en atravesar cada lnea (por ejemplo, por efectos de congestin). En este caso, tenemos una red con dos nodos especiales, el de inicio y el de llegada. Los pesos de las aristas seran los costes. El objetivo del algoritmo es encontrar un camino entre estos dos nodos cuyo coste total sea el mnimo. Aplicaciones para Sistemas de informacin geogrficos en lo que es la extraccin de caractersticas curvilneas de imgenes usando tcnicas de minimizacin del camino: La imagen se representa como una matriz de puntos, cada uno con una intensidad. Cada nodo es un punto (pxel) de la imagen. El peso de las aristas es la diferencia de color. el reconocimiento de lenguaje hablado: Se puede construir un grafo cuyos vrtices correspondan a palabras posibles y las aristas unan palabras que pueden ir colocadas al lado de las otras. Si el peso de las aristas corresponde a la probabili-
dad de que estn as colocadas, el camino
ms corto en el grafo ser la mejor interpretacin de la frase. El enrutamiento de aviones y trfico areo: Consiste en un agente de solicitudes de viaje software para hacer un programa de vuelos para los clientes. El agente tiene acceso a una base de datos con todos los aeropuertos y los vuelos como el nmero de vuelo, el aeropuerto de origen y destino y los horarios de salida y de llegada. La aplicacin se usa para determinar la hora de llegada ms temprana para el destino dado un aeropuerto de origen y hora de inicio. Lo que queremos plantear es la mejora del tiempo de ejecucin de este algoritmo con la ayuda de los heaps, por lo cual utilizaremos: Binomial Heap y Fibonacci Heap, utilizando sus cualidades en cuanto a la organizacin y manejo de datos. Entonces, ms adelante vamos a mostrar con ms detalle las caractersticas del Algoritmo de Dikjstra y estas dos estructuras de datos comparando sus tiempos de ejecucin,luego de esta parte terica, mostraremos los resultados de un experimento que muestra primeramente el desempeo del Algoritmo de Dikjstra y luego observaremos el desempeo de este algoritmo pero con el aporte de cada uno de estos Heaps viendo como se beneficiara el Algoritmo de Dikjstra. Finalmente daremos unas conclusiones acerca de los resultados obtenidos del experimento y los beneficios que nos brinda el Algoritmo de Dikjstra. 1