Planificación independiente del dominio en entornos dinámicos Oscar Sapena, Eva Onaindı́a Departamento Ciencia de la Computación e Inteligencia Artificial, Universidad de Alicante, Spain {osapena}@dccia.ua.es Departamento Sistemas Informáticos y Computación, Universidad Politécnica de Valencia, Spain {onaindia}@dsic.upv.es Resumen En este artı́culo se presenta una aproximación a la planificación reactiva. El planificador sigue los principios de los algoritmos anytime, y se ejecuta simultáneamente con un reactor que ejecuta el plan y notifica la aparición de eventos inesperados. Esta integración completa entre planificación y ejecución presenta grandes ventajas para el trabajo en entornos dinámicos y con información incompleta. Introducción El problema de la planificación clásica consiste en producir una secuencia de acciones que, aplicada a un estado inicial, permita alcanzar un conjunto de objetivos. La investigación en planificación clásica se ha realizado bajo ciertas asunciones poco realistas (entornos completamente accesibles, estáticos y deterministas [5]). Con el objeto de superar muchas de estas simplificaciones han surgido nuevas aproximaciones como la planificación universal, conformant, condicional o probabilı́stica. Sin embargo, en estas aproximaciones, la monitorización de la ejecución del plan es un simple mecanismo que se limita a ejecutar el plan recibido y verificar que todo transcurre como estaba previsto. En caso de que ocurra alguna contingencia no contemplada en el plan, es necesario volver a invocar al planificador para generar un nuevo plan [1]. La planificación reactiva intenta solventar esta falta de reactividad, con el objetivo de constituir una plataforma adecuada para trabajar en entornos dinámicos e imprevisibles. Esta aproximación define un agente de planificación como la combinación de un planificador y un reactor [7]. El trabajo que se presenta en este artı́culo se basa en esta aproximación. Objetivos El principal objetivo de la presente propuesta es desarrollar un planificador integrado con el monitor de ejecución. De esta forma se puede incorporar continuamente la información accesible del entorno y actuar en consecuencia (ver 2 Oscar Sapena, Eva Onaindı́a Figura 1. Planificación integrada con la ejecución Figura 1). Aunque existen en la actualidad propuestas similares (como ROGUE [2] o IndiGolog [3]), éstos no contemplan todas las caracterı́sticas que se pretenden conseguir con este trabajo: Independencia del dominio. Muchas de las herramientas actuales sólo se han diseñado para trabajar en dominios concretos, principalmente en control de robots móviles. Integración de planificación y ejecución. La mayorı́a propuestas se limitan a alternar las etapas de planificación y ejecución. Restricciones temporales. La herramienta debe ser capaz de devolver una solución cuando el sistema lo requiera. Manejo de incertidumbre. El conocimiento parcial del entorno hace necesario la adquisición de información (acciones de sensorización) durante la ejecución. Simulación gráfica de la ejecución del plan, lo más realista posible, para reducir los problemas al portar la aplicación a un entorno real. Funcionamiento autónomo. Muchos sistemas necesitan la colaboración del usuario (toma de decisiones, introducción de reglas de control, etc.) Arquitectura del sistema El sistema que se va a desarrollar se compone de varios agentes actuando sobre un mismo entorno. Cada agente de planificación se compone de un planificador y de un reactor (ver Figura 2). El planificador trata de deducir incrementalmente las mejores acciones a ejecutar. El reactor ejecuta dichas acciones mientras observa el entorno en busca de discrepancias. El planificador recibe las notificaciones de aquellos hechos que no coinciden con sus creencias. El entorno se simulará mediante la herramienta VirtualRobot Simulator [4] (ver Figura 3). Esta herramienta permite definir diversos entornos, controlar robots, definir objetos manipulables y definir sensores para la monitorización del entorno. El algoritmo de planificación En un entorno reactivo no es factible esperar a que el planificador encuentre un plan completo antes de actuar. Por ello, el algoritmo de planificación sigue los Planificación independiente del dominio en entornos dinámicos 3 Figura 2. Estructura de un agente de planificación Figura 3. Simulación del entorno para un dominio de control de robots móviles principios de los algoritmos anytime [1]: en cualquier momento tendrá disponible una acción para ejecutar, aunque buscará mejores alternativas mientras haya tiempo disponible. Este algoritmo consta de tres fases que se describen muy brevemente a continuación. Fase 1: generación del grafo de planificación relajado La primera fase consiste en la generación de un grafo relajado (ignorando los efectos negativos de las acciones) partiendo de la situación actual. La principal diferencia respecto al grafo relajado de otros planificadores heurı́sticos consiste en que está orientado a optimizar la función objetivo definida (o métrica del problema), en lugar del número de acciones. Para ello, cada literal conseguido se almacena junto con una aproximación del coste mı́nimo necesario para alcanzarlo desde el estado actual: Los literales pertenecientes a la situación inicial tienen coste cero. El coste de aplicar una acción se calcula como el incremento que dicha acción produce en la función objetivo (o métrica). Ası́, el coste de los efectos positivos de la acción se calculará como el máximo del coste de las precondiciones de dicha acción más el coste de la misma. Los posibles efectos de las acciones de sensorización no se considerarán a menos que sean imprescindibles para alcanzar los objetivos y no se puedan obtener mediante acciones normales. 4 Oscar Sapena, Eva Onaindı́a Fase 2: generación de los planes incompletos Para cada objetivo del problema se genera un plan incompleto partiendo del grafo relajado. Conforme aumenta el tiempo disponible, dichos planes se van refinando: se calculan secuencias de acciones para conseguir los literales no resueltos. Dichas acciones se intercalan en los planes incompletos (pudiendo sustituir partes del plan) para obtener planes más completos. Fase 3: ordenación de los planes incompletos Cuando el reactor requiere una acción, los planes calculados para cada objetivo se ordenan mediante una comprobación de conflictos. Esta comprobación, descrita en [6], permite averiguar qué plan debe ejecutarse en primer lugar. Conclusiones La aproximación que se ha descrito resulta muy útil para la planificación en entornos dinámicos: permite reaccionar dentro de unos intervalos de tiempo limitados, trabajar con incertidumbre y con objetivos dinámicos. A pesar de las ventajas que ofrece esta aproximación para trabajar en entornos reales, es necesario tener en cuenta que el algoritmo de planificación no es completo. Sin embargo, los resultados obtenidos con una versión previa (menos funcional y sin soporte de ejecución) en la IPC2002 1 demuestran que el algoritmo es competitivo y produce buenas soluciones (respecto a la longitud de los planes) en la mayorı́a de los casos. Agradecimientos Este trabajo ha sido parcialmente financiado por los proyectos TIC200204146-C05-04 del MCyT y 20020681 de la Universidad Politécnica de Valencia. Referencias 1. M. Drummond, K. Swanson, J. Bresina, and R. Levinson, ‘Reaction-first search’, In Proc. of IJCAI, 1408–1414, (1993). 2. K.Z. Haigh and M. Veloso, ‘Interleaving planning and robot execution for asynchronous user requests’, Papers from the AAAI Spring Symposium, 35–44, (1996). 3. Y. Lespérance and H.K. Ng, ‘Integrating planning into reactive high-level robot programs’, In Proc. of International Cognitive Robotics Workshop, 49–54, (2000). 4. M. Mellado, Simulación en robótica mediante VirtualRobot, UPV, Ref.: 2003.443. 5. M.E. Pollack and J.F. Horty, ‘There’s more to life than making plans: Plan management in dynamic, multi-agent environments’, AI Magazine, 20(4), 71–84, (1999). 6. O. Sapena and E. Onaindı́a, ‘A planning and monitoring system for dynamic environments’, Journal of Intelligent and Fuzzy Systems, 12(3-4), 151–161, (2002). 7. M. Wolverton and R. Washington, ‘Segmenting reactions to improve the behaviour of a planning/reacting agent’, In Proc. of AIPS, 245–250, (1996). 1 International Planning Competition (www.dur.ac.uk/d.p.long/competition.html)