Evaluación de competencias 1
Esta tarea tiene como objetivo revisar y dejar claro el desarrollo de las técnicas que se estudiarán en el curso como el desarrollo de programas de agentes racionales, y se revisará en forma superficial el desarrollo de agentes reactivos y reactivos basados en modelo, así como las peculiaridades de diferentes tipos de entornos.
Importante: Todo el desarrollo que se realice para la tarea debe de ser incluido en el archivo tarea_1.py
. Recuerda que los commits que hagas de tus avances son importantes para que como profesor pueda medir lo que vas haciendo.
En esta tarea realiza las siguiente acciones:
-
Desarrolla un entorno similar al de los dos cuartos (el cual se encuentra en el módulo
doscuartos_o.py
o el modulodoscuartos_f.py
, como prefieras), pero con tres cuartos en el primer piso, tres cuartos en el segundo piso y tres cuartos en el tercer piso.El entorno se llamará
NueveCuartos
.Las acciones totales serán
["ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"]
La acción de
"subir"
solo es legal en los primeros dos pisos, en los cuartos de la derecha, mientras que la acción de"bajar"
solo es legal en los dos pisos de arriba de arriba y en el cuarto de la izquierda.Las acciones de subir y bajar son mas costosas en término de energía que ir a la derecha y a la izquierda, por lo que la función de desempeño debe de ser de tener limpios todos los cuartos, con el menor numero de acciones posibles, y minimizando subir y bajar en relación a ir a los lados. El costo de limpiar es menor a los costos de cualquier acción.
-
Diseña un Agente reactivo basado en modelo para este entorno y compara su desempeño con un agente aleatorio después de 200 pasos de simulación.
-
A este modelo de
NueveCuartos
, modifícalo de manera que el agente solo pueda saber en que cuarto se encuentra pero no sabe si está limpio o sucio. Utiliza la herencia entre clases para no escribir código redundante.A este nuevo entorno llámalo
NueveCuartosCiego
.Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.
-
Al modelo original de
NueveCuartos
modifícalo para que cuando el agente decida aspirar, el 80% de las veces limpie pero el 20% (aleatorio) deje sucio el cuarto. Igualmente, cuando el agente decida cambiar de cuarto, se cambie correctamente de cuarto el 80% de la veces, el 10% de la veces se queda en su lugar y el 10% de las veces realiza una acción legal aleatoria. Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.A este entorno llámalo
NueveCuartosEstocástico
.
Todos los incisos tienen un valor de 25 puntos sobre la calificación de la tarea.