Planificación independiente del dominio en entornos dinámicos

Anuncio
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)
Descargar