IIC2613-Inteligencia-Artificial-2022-1 / Syllabus

Repositorio base del curso, donde se publicarán enunciados, ayudantías y se resolverán dudas.
24 stars 7 forks source link

T4 P2 Error cálculo de recompensas #127

Closed mc-cari closed 2 years ago

mc-cari commented 2 years ago

Hola, en la issue #112 se encontró un error en el cálculo de recompensas, en el código de PongAI.py, en la función play_step() la línea 184 hay que reemplazarla por elif self.right_paddle.y + self.right_paddle.height/2 > self.hitpoint:, ya que antes se consideraba la posición superior del padel, en vez de su punto medio, causando que en una sección del padel decidiera moverse hacia abajo en vez de hacia arriba, como debía ser.

dfloreaa commented 2 years ago

Hola, el código entregado si es correcto en ese apartado, solo que falta ponerlo en contexto con el resto del programa. La línea anterior dice: # Revisar si el punto medio del agente se encuentra a menos de un cuarto de pádel de donde llegará pelota if abs(self.hitpoint - (self.right_paddle.y + self.right_paddle.height/2)) <= self.right_paddle.height/4: (...)

Esto quiere decir que se otorgará una recompensa siempre y cuando el punto medio del agente esté a lo más a un cuarto de pádel de distancia del punto final de la pelota (no lo premiamos si es solo su esquina) y este decida quedarse quieto, o bien, por acercarse hacia ese punto en caso de no cumplirse la condición anterior.

Si bien esto puede generar comportamientos como los de la issue #112 indica (aunque no parece estar ligado a esa línea de código ya que el agente si debería ser premiado por moverse hacia arriba), la idea es que esta asignación de recompensas sea funcional pero no perfecta, así se tiene sobre qué trabajar para formular la respuesta a la pregunta 4.

Un saludo :)

mc-cari commented 2 years ago

Ah entiendo, gracias