Está en la página 1de 4

ESTRUCTURAS DE DATOS Y ANLISIS DE ALGORITMOS TAREA III ARIEL STIVEN ARIAS ROJAS, DIEGO CONTRERAS ESTRADA 1

Bsqueda de la ruta ptima con algoritmos de


optimizacin
Ariel Stiven Arias Rojas B60685, Diego Contreras Estrada B62074

ResumenEn este trabajo se analizaron los algoritmos de opti- de soluciones es E = Tnn donde cada entrada puede tener tres
mizacin con base en los tiempos que requieren para determinar valores distintos, estos dependen de la direccin del caso de
una ruta ptima entre dos intersecciones. Para esto se us las prueba: si la direccin es Noroeste puede tomar los valores
implementaciones de los algoritmos de bsqueda exhaustiva y
programacin dinmica en el lenguaje de programacin C++, de Norte, Oeste, y Noroeste, si la direccin es Noreste puede
estos consisten en encontrar una ruta que minimice la cantidad tomar los valores de Norte, Este, o Noreste, si la direccin es
de veces que un conductor se debe detener para llegar desde Suroeste puede tomar los valores de Sur, Oeste y Suroeste, si
una interseccin a otra, en este trabajo se utiliz el mapa del la direccin es Sureste puede tomar los valores de Sur, Este,
distrito Catedral, San Jos, Costa Rica como base. Se usaron 13 Sureste, si la direccin es Norte solo puede tomar el valor
casos de prueba y se midi en cada uno el tiempo de ejecucin
en milisegundos por cada algoritmo. El resultado fue que el de Norte, si la direccin es Sur, solo el valor de Sur, si la
algoritmo de bsqueda exhaustiva requiere de mayor tiempo y el direccin es Oeste solo el valor Oeste, y si la direccin es Este
de programacin dinmica requiere menos. Se concluye que los solo el valor Este. La cardinalidad del espacio es | E |= 3n y
tiempos de ejecucin en la realidad concuerdan con la eficiencia no se conoce ninguna forma de acotar el espacio mediante una
terica. restriccin. Y la cota asinttica para el tiempo del algoritmo
es de (3n ) debido a que cada espacio a analizar pose 3
I. I NTRODUCCIN direcciones posibles. El crecimiento de los tiempos en este
caso no fue similar a lo esperado, la curva no lleva un orden de
N ESTE TRABAJO se analizaron los tiempos de ejecu-
E cin de los algoritmos de optimizacin, con el objetivo de
comprobar que sus diferencias en cuanto a eficiencia terica
crecimiento, esto es debido a que en algunos casos de prueba
no existen muchos caminos posibles, por lo que el algoritmo
no debe recorrer por muchos caminos, al contrario de algunos
corresponden con la realidad.
casos en los que existen gran cantidad de posibilidades para
recorrer, estos son los que se llevan los tiempos ms altos.
II. M ETODOLOGA
En el caso de programacin dinmica el problema si se
Para lograr lo propuesto se implementaron dos algoritmos
puede resolver mediante el uso de soluciones a subproblemas,
para encontrar una ruta ptima, utilizando bsqueda exhaustiva
de esta forma se puede determinar el valor ptimo del objeto
en el primero y programacin dinmica en el segundo, ambos
utilizando 0 , la cual contiene la cantidad de altos y
en el lenguaje de programacin C++ y se utiliz el mapa del
reductores ptima para llegar desde esa interseccin hasta el
distrito Catedral, San Jos, Costa Rica como base. Se usaron
destino, en este caso puede tener 3 0 distintos, dependiendo
13 rutas de prueba de prueba, a cada una se calcul el tiempo
de las direcciones que pueda tomar, y para determinar cual es
que necesitaba para determinar la ruta ptima en milisegun-
el valor ptimo que debe tomar compara entre las 3 posibili-
dos, los resultados se obtuvieron calculando la diferencia de
dades cual tiene menor cantidad de reductores sumandole los
tiempo entre cundo inicia el algoritmo y cundo termina. Los
reductores de la interseccin . El orculo para este problema
algoritmos se implementaron usando un rectngulo recubridor
es f [a][b] donde a se refiere a la interseccin desde donde se
mnimo formado por las dos intersecciones y se utiliz la
desea empezar, y b a la interseccin de destino, este orculo
longitud del semipermetro del rectngulo para realizar la
devuelve la cantidad mnima de altos y reductores que se
comparacin entre los tiempos requeridos por cada algoritmo.
tiene que recorrer para llegar desde el punto a al destino. El
Los algoritmos estn basados en el pseudocdigo del libro de
valor objetivo es f [a][b] donde a equivale a la interseccin
Cormen y colaboradores [1].
de partida y el paso base est dado por f [b][b] = 0 debido a
que para llegar al destino desde el destino no se debe recorrer
III. R ESULTADOS nada. El paso recursivo consiste en
El mapa del distrito utilizado se muestra en la figura 1. Los
f [a1 ] + 1
tiempos de ejecucin de los casos de prueba se muestran en

f [a] =min f [a2 ] + 2


el cuadro I.
f [a3 ] + 3


En el caso de la bsqueda exhaustiva, la representacin
vectorial de la solucin al problema tiene la forma = donde a1, a2, a3 corresponden a la interseccin que le
[1, 2, ...., n ], con n igual a la cantidad de intersecciones sigue a a en cada una de sus posibles direccines y
y donde i T y T = {N, S, E, O, SE, SO, N E, SE } (por cada 1, 2, 3 corresponde a la cantidad de reductores que se dan
caso solo tendr 3 puntos cardinales distintos) e indica que el entre a y ax .
i-simo movimiento en el mapa es i (i = 1, 2, ..., n). El espacio Una cota asinttica para el tiempo de ejecucin del algo-
ESTRUCTURAS DE DATOS Y ANLISIS DE ALGORITMOS TAREA III ARIEL STIVEN ARIAS ROJAS, DIEGO CONTRERAS ESTRADA 2

ritmo es (n3) debido a que tiene que analizar para cada


interseccin las 3 posibles direcciones. Para todos los casos
de prueba la ruta y la cantidad de altos y reductores fueron
iguales en ambos algoritmos, y la relacin entre las curvas
generadas por ambos algoritmos si fue la esperada, la curva
de programacin dinmica fue menor que la de bsqueda
exhaustiva en todos sus puntos y esto se debe a que la
programacin dinmica evita tener que repetir trabajo que fue
realizado previamente.
Los tiempos promedio se muestran grficamente en la
figura 2. Las curvas se muestran de forma conjunta en la
figura 3.

IV. C ONCLUSIONES
A partir de los resultados se concluye que los tiempos de
ejecucin de los algoritmos de optimizacin en la realidad
concuerdan con la eficiencia terica y adems que la progra-
macin dinmica requiere de menos tiempo que la bsqueda
exhaustiva debido a que esta no necesita volver a calcular
valores que previamente haba calculado.

R EFERENCIAS
[1] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction
to Algorithms, 3rd ed. The MIT Press, 2009.
ESTRUCTURAS DE DATOS Y ANLISIS DE ALGORITMOS TAREA III ARIEL STIVEN ARIAS ROJAS, DIEGO CONTRERAS ESTRADA 3

Figura 1: Mapa del distrito Catedral.

Cuadro I: Tiempo de ejecucin y tamao del semipermetro del rectngulo de los casos de prueba.
Tiempo (ms)
Interseccin de Partida Interseccin de Destino Semiperimetro Bsqueda Exhaustiva Programacin Dinmica
Avenida 22a Calle 5 Avenida 2 Calle 35 154 13,2 7,9
Avenida 28 Calle 5b Avenida 38 Transversal 13 53 13,9 7,5
Avenida 14 Calle 3 Avenida 22 Calle 9 44 13,8 7,6
Avenida 34 Calle 11 Avenida 10 Calle 25a 118 13,5 7,8
Avenida 2 Calle 1 Avenida 34 Calle 11 128 13,9 7,5
Avenida 28 Calle 5 Avenida 2 Calle 0 98 13,2 7,8
Avenida 0 Calle 21 Avenida 12 Calle 5 86 14,9 7,6
Avenida 22a Calle 5 Avenida 18 Calle 13 40 15,2 7,5
Avenida 8 Calle 15 Avenida 16 Calle 0 74 14,7 7,6
Avenida 2 Calle 1 Avenida 14 Calle 9 62 14,8 7,6
Avenida 2 Calle 1 Avenida 38 Calle 21 170 16,1 7,9
Avenida 30 Calle 1 Avenida 2 Calle 35 188 16,2 8,2
Avenida 34 Calle 11 Avenida 38 Calle 17a 34 13,3 7,6
ESTRUCTURAS DE DATOS Y ANLISIS DE ALGORITMOS TAREA III ARIEL STIVEN ARIAS ROJAS, DIEGO CONTRERAS ESTRADA 4

Bsqueda Exhaustiva Programacin Dinmica

16
8,2
Tiempo (ms)

Tiempo (ms)
15 8

7,8
14

7,6
13
50 100 150 200 50 100 150 200
Semipermetro (intersecciones) Semipermetro (intersecciones)
Figura 2: Tiempos promedio de ejecucin de los algoritmos de bsqueda exhaustiva y programacin dinamica con base en el
semiperimetro del rectngulo recubridor mnimo.

Comparacin

Bsqueda Exhaustiva
101,2 Programacin Dinmica

101,1
Tiempo (ms)

101

100,9

50 100 150 200


Semipermetro (intersecciones)
Figura 3: Grfico comparativo de los tiempos promedio de ejecucin de los algoritmos de optimizacin.

También podría gustarte