IIC2613 / Syllabus-2019-2

17 stars 3 forks source link

Criterio de parada de RWA* #19

Closed ariel-m-s closed 5 years ago

ariel-m-s commented 5 years ago

Hola,

Por lo que entiendo del enunciado, el RWA* podría no detenerse nunca, ya que si la solución encontrada (en algún momento) es óptima, su g(s) + h(s) nunca será mayor a si mismo. ¿Hay algún otro criterio de parada que no estoy considerando?

Saludos, Ariel

Edit. Respondiéndome a mi mismo, ¿quizá el criterio de parada que me falta es cuando w == 1?

matgreco commented 5 years ago

RwA* termina una iteración cuando encuentra un goal.

En las iteraciones siguientes, al expandir cualquier nodo, si este nodo tiene un f mayor al de la solucion encontrada anteriormente, no lo agrega a la open.

Entonces, el criterio de parada de una iteración de RWA* es cuando encuentra una solución, o cuando la OPEN está vacia o cuando el valor del último f expandido es mayor al de la mejor solución hasta el momento.

Luego, el criterio de parada de RWA* es cuando ya hicimos la iteración con w=1, ya que el resultado encontrado con w=1 es óptimo.

matgreco commented 5 years ago

Creo que en esta respuesta me equivoqué (un poco).

Donde dice "En las iteraciones siguientes, al expandir cualquier nodo, si este nodo tiene un f mayor al de la solucion encontrada anteriormente, no lo agrega a la open."

debería decir

En las iteraciones siguientes, al expandir cualquier nodo, si este nodo tiene un g(s)+h(s) mayor al de la solucion encontrada anteriormente, no lo agrega a la open.

Hago ese distingo ya que en wA el f se calcula como f(s) = g(s) + wh(s). Entonces la poda es respecto al g(s)+h(s)