UC-IIC2613 / Syllabus

28 stars 10 forks source link

[Tarea 2][Pregunta 2.1.b] Heurística consistente expande a lo más un nodo. #139

Closed bmurtagh01 closed 3 years ago

bmurtagh01 commented 3 years ago

Hola,

QUería saber que ocurre en un programa A* (con heurística consistente Manhattan) cuando el mapa tiene un formato de isla o archipiélago donde es muy costoso salir de ella.

image

Que sucede en este ejemplo si quiero ir desde el punto rojo al azul. El costo de cualquier movimiento es de 1 a no ser que deba cruzar un "puente" el cuál tiene un costo de 1000. Entonces me conviene ir al punto amarillo con f(amarillo)=5, pero luego desde la entrada amarilla mi f(s) más chico es volver al punto rojo con retorno f(rojo)=2+5=7*, cuando no se debería poder devolver.

Muchas gracias

*Es costo ida y vuelta es dos, me equivoqué y puse un 6.

jcechavarri commented 3 years ago

Hola!

Recuerda que en la implementación se revisan ciertas características del estado antes de agregarlo a la Open.

Te dejo la parte del código en que puedes ver el funcionamiento:

https://github.com/UC-IIC2613/Syllabus/blob/9fdf4880e4bfa7d06b7bd80a056b7827ad66bc37/Tareas/Tarea%202/Parte%201/astar.py#L38-L54

No sé si puedo darte más pistas sin darte la respuesta, espero que con eso logres entender porque tu estado no se repetiría! 😁