Academia de Tecnologas de Informacion y Telem atica
Inteligencia Articial I Proyecto 1. Dr. Omar Monta no Urbano Villalon n um. 500, Col Ladrillera, C.P. 78363 Universidad Politecnica de San Luis Potos San Luis Potos, SLP omar.montano@upslp.edu.mx Objetivos Hacer uso de ingeniera del conocimiento para re- solver el problema del mundo del Wumpus. 1. El mundo del Wumpus Wumpus[1] es un juego de IA (Inteligencia Arti- cial) basado en un agente que explora una caverna con distintas habitaciones conectadas por pasadizos. Escondido en un lugar de la caverna se encuentra el Wumpus, una bestia que se come a cualquiera que en- tre en la habitaci on en la que se encuentra. Para empeorar las cosas algunas habitaciones con- tienen un pozo sin fondo que se traga a aquel que entre a ellas (a excepcion del Wumpus que es dema- siado grande para caer por ellos). Lo unico que hace deseable adentrarse en este mundo es que oculta un mont on de oro. 1.1. Representaci on del mundo del Wum- pus Una forma de representar al mundo del Wumpus es utilizando una cuadrcula, cuyo contorno seran las paredes de la caverna. Cada casilla representar a una habitaci on de la caverna con su contenido y las per- cepciones del agente si estuviese en ella. El agente co- mienza en la casilla [1,1]. Su objetivo es encontrar el oro, regresar a la casilla inicial y escalar su pared para salir de la caverna. Un ejemplo del mundo del Wumpus utilizando esta representacion es la gura 1. Para especicar las tareas del agente tenemos que describir sus percepciones, acciones y objetivos. Las percepciones del agente son las siguientes: En la casilla donde se encuentra el Wumpus y las adyacentes (no en diagonal) el agente detecta un hedor. Figura 1: Mundo del Wumpus. En las casillas adyacentes (no en diagonal) a las que contienen un pozo el agente detecta una brisa. Si al avanzar se encuentra una pared se golpea con la misma. Reconoce que en una casilla hay oro porque ve un resplandor. Al morir el Wumpus se escucha un grito en toda la caverna. Las acciones del agente son las siguientes: Agarrar un objeto que se encuentra en la misma habitaci on. Disparar una echa (solo tiene una) en la direc- cion en la que este mirando. La echa pasar a si se 1 encuentra con un obstaculo, una pared o el Wum- pus, en cuyo caso lo matara. Escalar las paredes de la casilla inicial para salir de la caverna. Avanzar a la siguiente casilla siguiendo la orien- tacion (norte, sur, este, oeste) del agente. Voltear a la izquierda. Voltear a la derecha. El agente muere si cae a uno de los pozos o entra en la estancia en la que se encuentra el Wumpus. El objetivo del agente es explorar la caverna bus- cando el oro, tomarlo y sacarlo de la caverna. Inicial- mente cuenta con 0 puntos. Por cada accion que realice pierde uno, obtiene 1000 por salir de la cueva con el oro, pierde 1000 por caer en un hoyo o ser comido por el wumpus y pierde 10 puntos por lanzar la echa. El agente no conoce a priori la situaci on de los dis- tintos elementos dentro de la caverna, ni siquiera la forma y tama no de la misma. 1.2. Actuando y razonando en el mundo del Wumpus El siguiente ejemplo debe servir para aclarar como act ua un agente dentro del mundo del Wumpus y ser- vira para mostrar como debe razonar para resolver de manera inteligente su cometido. La gura 2 muestra la situaci on del agente y su conocimiento del mundo de la gura 1 al empezar a explorar la caverna que esta representa. Figura 2: Situacion inicial. La A(F) representa al agente, que dispone de una echa. Ok representa que en dicha casilla el agente sabe que no hay ning un peligro. El agente debe infe- rir que no existe ning un peligro en la casilla [1,1] al comenzar el juego. Figura 3: Tras el primer movimiento. Supongamos que el agente decide avanzar a la ca- silla [2,1]. La gura 3 muestra la siguiente situaci on. Notaremos por V a las casillas por las que ya ha pa- sado el agente. El agente detecta brisa en la casilla [2,1] por tanto debe haber un pozo cerca, en [2,2] o [3,1]. Usaremos P? para denotar esa posibilidad. No puede estar en [1,1] ya que el agente sabe a priori que no existe peligro en la casilla [1,1]. En este momento solo conoce una casilla en la que no hay peligro y que a un no haya visitado. Supongamos que el agente es prudente y decide vol- ver sobre sus pasos para llegar a la casilla [1,2]. La gura 4 muestra la nueva situaci on. El agente detecta hedor en la casilla [1,2], lo que signica que el wumpus est a cerca. S olo puede estar en la casilla [1,3]. No puede estar en la casilla [1,1] ya que se lo hubiese comido al empezar la partida, ni en la [2,2] ya que desde [2,1] solo detect o brisa. Notaremos por W! esta situaci on. Por otro lado, al no detectar brisa desde su nueva posicion puede deducir que en [2,2] no hay ning un pozo y que por tanto este se encuentra en [3,1]. Tras todas estas deducciones solo le queda una casi- lla son peligro por visitar. Supongamos por tanto que avanza en esa direcci on y que a continuacion (despues de las nuevas deducciones) decide moverse a la casilla [2,3]. Esta nueva situaci on est a reejada en la gura 2 Figura 4: Despues de volver atr as. 5. Figura 5: Sigue avanzando. En esta nueva casilla el agente detecta un resplan- dor, entonces agarra el oro y regresa por el camino mas corto y sin peligros a la casilla inicial, escalando la pared para alcanzar el exterior de la caverna. Este proyecto consiste en que escribas un programa que resuelva el problema del Mundo del Wumpus. 1.3. Protocolo de Juego En la gura 6 se puede observar la forma en que debe interactuar el programa que se pide con otro (agente explorador con agente embiente). El protocolo de comunicacion entre el agente ambiente y el agen- te explorador (tu programa) empieza cuando tu pro- grama recibe desde la entrada estandar la cadena SIMULATION STARTED. En ese momento el agente am- biente esta informando al agente explorador que inicia la simulaci on del Mundo del Wumpus. A continuacion tu programa recibe desde la entrada estandar la cade- na EPISODE STARTED proveniente del agente ambien- te. En ese momento eres informado de que empieza un episodio en el Mundo del Wumpus. Un episodio termina en cualquiera de los siguientes casos: 1. Cuando tu agente muere. 2. Cuando tu programa elige la accion Escalar y tu agente se encuentra en la casilla 1, 1. Figura 6: Protocolo de comunicacion entre los agente. Una vez iniciado un episodio, el agente explorador empezara a recibir las percepciones mediante la en- trada estandar. El formato de las percepciones es el siguiente: percepcion(hedor(H), brisa(B),resplandor(R), golpe(G),grito(GR)) en donde H {si, no} (hedor), B {si, no} (bri- sa), R {si, no} (resplandor), G {si, no} (golpe) y GR {si, no} (grito). Despues de que el agente ambiente enve la percep- cion al agente explorador este debe responder con una accion valida: Avanzar Izquierda Derecha Agarrar Disparar Escalar 3 En caso de que el episodio termine, entonces el agente explorador recibir a la cadena EPISODE ENDED, AGENT SCORE=puntaje, donde puntaje es la utili- dad del agente en el episodio. El agente explora- dor debe realizar una petici on para empezar un epi- sodio nuevamente y eso lo consigue mandando la cadena START SIMULATION REQUEST a la salida es- tandar. Si el agente explorador recibe la cadena SIMULATION STARTED entonces su petici on fue acepta- da, pero si recibe la cadena REJECT PROPOSAL entonces tu programa (agente explorador) debe terminar. 1.4. Que entregar Notar que no se evaluar an programas que no cum- plan con las especicaciones descritas anteriormente. Las cosas que debe entregar son las siguientes: 1. El c odigo fuente del programa. Tu programa de- bera usar al probador de teoremas Z3 como motor de inferencia. Por tanto, tu programa debera es- tar escrito en cualquier luenguaje que pueda hacer llamadas al Z3 (e.g. C/C++, Java, Python, F#, C#, etc.). Tu c odigo debe ser muy bien comenta- do. 2. Archvo LEAME. a) El archivo debe describir como utilizar tu programa, es decir, como compilarlo y como ejecutarlo. 2. Observaciones La fecha lmite para entregar este proyecto es el da 28/05/2014. Por ning un motivo se aceptaran trabajos fuera de tiempo! Referencias [1] Stuart Russell & Peter Norving. Inteligencia Ar- ticial: Un Enfoque Moderno. Prentice-Hall, Inc. 2004. 4