Open diegomendieta opened 3 years ago
Lo que no me queda claro es que si se quiere recorrer sólo el espacio abstracto, cómo puedo saber cómo pasar de un estado a otro, sin conocer el estado en el espacio original al que corresponde el estado abstracto?
La idea consiste en computar una distancia óptima desde el estado objetivo (abstracto) hacia cada estado del espacio abstracto, almacenar las distancias en una tabla y usar esta tabla como heurística para buscar sobre el espacio concreto. La forma más eficiente de hacer esto es con una búsqueda con A* desde el estado objetivo (abstracto) con una condición de término insatisfactible.
Gracias profesor @jabaier , eso lo entiendo. Lo que no entiendo es cómo se debe mover el algoritmo dentro del espacio abstracto, ya que para saber cuáles acciones puedo ejecutar en el espacio abstracto, necesito saber cuáles podría ejecutar en el espacio original. Cómo sería esto? Y, además, cómo podría hacer esto de manera externa, sin cambiar la clase Astar?
Dado que ignoras las velocidades, debes habilitar los mismos desplazamientos que están disponibles cuando usas velocidades/aceleraciones. Eso implica configurar una vecindad distinta (posiblemente a través de un método análogo a set_connectivity), pero con un conjunto de movimientos que debes pensar con cuidado.
Clarísimo, profe. Gracias!
Hola, no me queda claro cuál sería la forma ideal de determinar los costos heurísticos del espacio abstracto. Está bien recorrer todo el espacio S, y en base a esos resultados, calcular los costos en el espacio abstracto, o hay alguna forma más eficiente de hacerlo (recorriendo, de alguna manera, sólo el espacio abstracto, por ejemplo)?
Gracias!