PRÁCTICA 2: PLANIFICACIÓN CON STRIPS
Transcripción
PRÁCTICA 2: PLANIFICACIÓN CON STRIPS
CURSO ACADÉMICO 2010-2011 - GRADO EN INGENIERÍA INFORMÁTICA ASIGNATURA: INTELIGENCIA ARTIFICIAL PRÁCTICA 2: PLANIFICACIÓN CON STRIPS Profesor: Miguel García Remesal EJERCICIO 1: El robot mensajero (2.5 puntos) Se desea construir un planificador que controle el comportamiento de un robot mensajero que sea capaz de mover paquetes entre los diferentes edificios (bloques) de nuestra facultad. Se asumirá que el robot puede llevar un número ilimitado de paquetes, y que las únicas localizaciones relevantes son los bloques 1, 2, 3, 4, 5 y 6 de la facultad. Como puede observarse en la figura, hay varios bloques que están conectados entre sí, y por tanto, es posible transitar entre ellos desde el interior de los mismos. Por ejemplo, el robot puede ir del bloque 2 al bloque 4 pasando por el bloque 3 (y viceversa). También es posible ir por el interior de los edificios desde el bloque 5 hasta el bloque 6 (y viceversa). Por contra, para transitar entre bloques sin conexión será necesario que el robot salga fuera del edificio en el que se encuentra. Si el robot sale fuera cuando está lloviendo, entonces se mojará a no ser que disponga de un paraguas. El robot puede obtener un paraguas bien en el bloque 1 o bien en el bloque 6. Se pide: • • • Formalizar el dominio descrito en el enunciado utilizando STRIPS. Explicar CLARAMENTE el significado de cada constante, predicado y operador utilizado. Formalizar al menos dos problemas de planificación que involucren el dominio definido en el apartado anterior. Tener en cuenta que los diferentes estados objetivo pueden involucrar diferentes condiciones, tales como la ubicación final de los diferentes paquetes, la ubicación del robot o el estado del robot (e.g. seco, mojado). Discutir la adecuación del formalismo STRIPS para resolver este supuesto. En caso de no considerarse adecuado, sugerir posibles mejoras en el formalismo de representación. EJERCICIO 2: Misión en Marte (7.5 puntos) La NASA desea diseñar un planificador que permita a un grupo de rovers llevar a cabo una misión de recopilación de datos sobre la composición del suelo marciano. Cada rover posee varios instrumentos, y cada instrumento puede ser utilizado para llevar a cabo diferentes operaciones de recolección de datos. Por ejemplo, un instrumento de toma de imágenes puede ser utilizado para adquirir bien imágenes espectrográficas, o bien imágenes termográficas de una roca de interés. Antes de llevar a cabo una operación, el rover debe adoptar una orientación específica con respecto al sol. En otras palabras, debe rotar a voluntad bien para alinearse con el sol, o bien para ocluirlo. Esto es así dado que la orientación del rover con respecto al sol puede influir en gran medida en el resultado de una operación debido a los diferentes grados de variación de luminosidad, calor y radiación. Además, debido a que los rovers tienen una fuente de alimentación limitada, estos solamente pueden tener encendido un instrumento a la vez. Una vez que uno de los instrumentos se enciende, es necesario que este se caliente para poder ser utilizado. De nuevo, debido a la limitación de la fuente de alimentación, para que la operación de calentamiento tenga éxito es necesario que el rover esté orientado hacia el sol, ya que el robot aprovechará la energía proviniente del sol para llevar a cabo el calentamiento del instrumento. Una vez caliente, el instrumento permanece así hasta que se apague. Un rover puede ejecutar una operación específica de recolección de datos siempre y cuando disponga del instrumento necesario. Asimismo, dicho instrumento deberá estar encendido, caliente y alineado correctamente con respecto al sol. En general, un estado objetivo requerirá que se hayan realizado una serie de operaciones de recolección de datos, cada una de ellas en una orientación específica. Por ejemplo, en el estado final podríamos requerir una imagen espectrográfica de una roca mientras que el rover está orientado hacia el sol, y una imagen termográfica de otra roca mientras el rover está ocluyendo el sol. Se pide: • • • • Formalizar el dominio descrito en el enunciado utilizando STRIPS. Explicar CLARAMENTE el significado de cada constante, predicado y operador utilizado. Formalizar al menos dos problemas de planificación que involucren el dominio definido en el apartado anterior. Resolver los problemas planteados en el punto anterior utilizando la herramienta de implementación de planificadores STRIPS que puede descargarse en la siguiente dirección web: http://www.lsi.upc.es/~bejar/apren/docum/Strips.zip. El archivo .ZIP que puede descargarse de esa dirección contiene el fichero JAR con las clases Java correspondientes al planificador junto con unas breves instrucciones de uso y una serie de ejemplos de modelización de dominios y problemas STRIPS. Discutir la adecuación del formalismo STRIPS para resolver este supuesto. En caso de no considerarse adecuado, sugerir posibles mejoras en el formalismo de representación. Consideraciones y consejos: Nótese que el dominio anterior está descrito de una manera abstracta. Esto puede dar la impresión de que este dominio no está descrito de una manera lo suficientemente precisa para que el alumno pueda formalizarlo. Sin embargo, este no es el caso. Para resolver el problema correctamente, el alumno debe ponerse en lugar de un ingeniero —que es al fin y al cabo lo que será una vez terminada la carrera— que debe formalizar el dominio basándose en una descripción abstracta del mismo proporcionada por un experto que no está familiarizado con ningún formalismo de planificación. El alumno debe usar sus habilidades de formalización para discernir qué es relevante para las tareas de planificación y como diseñarlas y codificarlas. Existen muchas maneras de formalizar correctamente el dominio. En lo que respecta a las diferentes operaciones de recopilación de datos, las proporcionadas en el enunciado son solamente un ejemplo. Conviene que el alumno investigue un poco por su cuenta e introduzca otras operaciones no contempladas en el enunciado. Esto será tenido muy en cuenta a la hora de calificar. Normas de presentación Se deberá entregar una memoria EN PAPEL de no más de 25 páginas, describiendo tanto el desarrollo como los resultados obtenidos en cada uno de los ejercicios que componen la práctica. También es necesario incluir un comentario personal sobre la práctica, indicando claramente el número de horas de trabajo que le ha llevado al alumno la realización de la práctica. La memoria impresa puede entregarse personalmente al profesor Miguel García Remesal (despacho D‐ 2206) o puede dejarse a su nombre en la secretaría del DIA. Será necesario también enviar una copia de la memoria en formato PDF, así como los ficheros de definición de dominios, problemas y resultados obtenidos en el ejercicio 2, por correo electrónico a la dirección [email protected] con el siguiente asunto “IA PRACTICA STRIPS 1011 – SEGUNDO SEMESTRE”. Todos los archivos deben empaquetarse dentro de un archivo RAR o ZIP y deben nombrarse según el siguiente formato: 1011‐IA‐2C-[APELLIDOS_NOMBRE].RAR Los nombres compuestos y apellidos múltiples deben unirse mediante un guión (‐). Ejemplos: Martin Wheeler: 1011‐IA‐2C-[Wheeler_Martin].rar Marcos Ángel Martínez Díaz: 1011‐IA‐2C-[Martinez‐Diaz_Marcos‐Angel].zip Composición del grupo de prácticas La práctica debe realizarse de forma individual. ¡IMPORTANTE! Tanto las normas de nombrado como el asunto del e‐mail deben seguirse al pie de la letra, ya que de otro modo, no puede garantizarse la recepción correcta de la práctica. Plagios El plagio —ya sea copia de la práctica de otro compañero o copia de trabajos similares en Internet, Google y similares— es una cuestión muy seria y en caso de detectarse, se sancionará severamente al que lo cometa. La sanción mínima a aplicar será el suspenso directo en ambas convocatorias de este curso académico. Fecha tope de entrega: Se comunicará en clase.