IIC2613-Inteligencia-Artificial-2024-1 / Syllabus

Syllabus oficial del curso para su rendición 2024-1.
MIT License
46 stars 0 forks source link

T3: Pregunta 2, tiempo de ejecución de A* #34

Closed Francisco-Aguilera-xd closed 3 months ago

Francisco-Aguilera-xd commented 3 months ago

Hola!

Estaba implementando el algoritmo A, y obtengo resultados coherentes con lo visto en clases, pero me llama harto la atención que en términos de velocidad de ejecución, en mi implementación es considerablemente más lento A comparado con los otros algoritmos. Entiendo que esto puede deberse a como implemento el paso de "Extraer de la open el nodo con menor costo f(t)", ya que uso la función min cada vez que quiero extraer un nodo de la open. Para efectos de la tarea ¿Es importante implementar un algoritmo A* rápido? ¿Cómo podría evitar utilizar la función min/sort para extraer el nodo de menor costo?

ibgarrido commented 3 months ago

A mi me pasa similar con el ejemplo predeterminado usando listas. Por lo que leí en stackoverflow una forma de acelerar esto es usar una estructura de datos como una cola de prioridad para open y un set para closed, usando la librería heapq (El tema es que a mi por lo menos hacer la implementación así me generaba errores porque hay un punto en que debes comparar el costo y me tiraba un error de que no es posible comparar la clase Cell xd)

dfloreaa commented 3 months ago

Hola, no hay problema con que el algoritmo demore mas, eso es completamente dependiente de tu implementación. Ahora bien, es interesante notar que obtener un camino optimo tiene un costo a nivel de computo... 👀

Un saludo! ☺️

Francisco-Aguilera-xd commented 3 months ago

Vale, muchas gracias