planificacion independiente del dominio¶ en entornos ...€¦ · un operador) mediante un...

255
PLANIFICACI ´ ON INDEPENDIENTE DEL DOMINIO EN ENTORNOS DIN ´ AMICOS DE TIEMPO RESTRINGIDO Presentada por: Oscar Sapena Vercher Dirigida por: Dra. D˜ na. Eva Onaind´ ıa de la Rivaherrera PARA LA OBTENCI ´ ON DEL GRADO DE DOCTOR EN INFORM ´ ATICA POR LA UNIVERSIDAD POLIT ´ ECNICA DE VALENCIA Valencia, Espa˜ na JULIO 2005

Upload: others

Post on 06-Jan-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

PLANIFICACION INDEPENDIENTE DEL DOMINIO

EN ENTORNOS DINAMICOS DE TIEMPO

RESTRINGIDO

Presentada por: Oscar Sapena Vercher

Dirigida por: Dra. Dna. Eva Onaindıa de la Rivaherrera

PARA LA OBTENCION DEL GRADO DEDOCTOR EN INFORMATICA

POR LAUNIVERSIDAD POLITECNICA DE VALENCIA

Valencia, EspanaJULIO 2005

Page 2: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

ii

Page 3: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Fecha: Julio 2005

Autor: Oscar Sapena Vercher

Director: Dra. Dna. Eva Onaindıa de la Rivaherrera

Tıtulo: Planificacion Independiente del Dominio

en Entornos Dinamicos de Tiempo Restringido

Departamento: Sistemas Informaticos y Computacion

Universidad: Universidad Politecnica de Valencia

Grado: Doctor Mes: Julio Ano: 2005

Firma del Autor

iii

Page 4: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

iv

Page 5: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Me encanta que los planes salgan bien.

Annibal Smith

v

Page 6: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

vi

Page 7: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Tabla de contenidos

Tabla de contenidos VII

Indice de tablas X

Indice de figuras XII

Resumen XVII

Abstract XIX

Resum XXI

1. Introduccion 1

1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Breve resena historica . . . . . . . . . . . . . . . . . . 2

1.1.2. Perspectiva actual . . . . . . . . . . . . . . . . . . . . 3

1.2. Motivacion y objetivos . . . . . . . . . . . . . . . . . . . . . . 5

1.3. Aportaciones de la tesis . . . . . . . . . . . . . . . . . . . . . 7

1.4. Organizacion del trabajo . . . . . . . . . . . . . . . . . . . . . 8

2. La planificacion en I.A. 11

2.1. Definicion del problema . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Lenguajes de especificacion . . . . . . . . . . . . . . . . . . . . 13

2.2.1. STRIPS . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2. ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.3. PDDL . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.4. Extensiones de PDDL . . . . . . . . . . . . . . . . . . 18

2.3. Aproximaciones a la planificacion independiente del dominio . 19

2.3.1. Planificacion de orden parcial POCL . . . . . . . . . . 20

2.3.2. Planificacion basada en grafos . . . . . . . . . . . . . . 23

2.3.3. Planificacion heurıstica . . . . . . . . . . . . . . . . . . 25

vii

Page 8: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2.3.4. Transformacion del problema de planificacion . . . . . 28

2.3.5. Tecnicas de descomposicion . . . . . . . . . . . . . . . 32

2.3.6. Tecnicas hıbridas de planificacion . . . . . . . . . . . . 33

2.4. Aproximaciones a la planificacion dependiente del dominio . . 34

2.4.1. Reglas de control . . . . . . . . . . . . . . . . . . . . . 35

2.4.2. Redes de tareas jerarquicas . . . . . . . . . . . . . . . . 36

2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3. Planificacion practica 41

3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2. Percepcion del entorno . . . . . . . . . . . . . . . . . . . . . . 46

3.2.1. Monitorizacion de la ejecucion . . . . . . . . . . . . . . 47

3.2.2. Acciones de sensorizacion . . . . . . . . . . . . . . . . 49

3.3. Tecnicas de planificacion practica . . . . . . . . . . . . . . . . 53

3.3.1. Planificacion conforme . . . . . . . . . . . . . . . . . . 54

3.3.2. Planificacion contingente . . . . . . . . . . . . . . . . . 56

3.3.3. Planificacion reactiva . . . . . . . . . . . . . . . . . . . 60

3.3.4. Sistemas de planificacion y ejecucion . . . . . . . . . . 63

3.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4. Arquitectura del sistema 71

4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.2. Descripcion del sistema . . . . . . . . . . . . . . . . . . . . . . 74

4.2.1. Agentes de planificacion . . . . . . . . . . . . . . . . . 75

4.2.2. Agentes externos . . . . . . . . . . . . . . . . . . . . . 78

4.2.3. Simulacion del entorno . . . . . . . . . . . . . . . . . . 78

4.3. Lenguaje de modelizacion . . . . . . . . . . . . . . . . . . . . 82

4.3.1. Incertidumbre sobre el estado inicial . . . . . . . . . . 83

4.3.2. Acciones de sensorizacion . . . . . . . . . . . . . . . . 85

4.3.3. Acciones no deterministas . . . . . . . . . . . . . . . . 86

4.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5. Planificacion heurıstica en tiempo real 91

5.1. Motivacion del algoritmo propuesto . . . . . . . . . . . . . . . 92

5.2. Notacion y terminologıa . . . . . . . . . . . . . . . . . . . . . 95

5.2.1. Extensiones numericas . . . . . . . . . . . . . . . . . . 95

5.2.2. Estados . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.2.3. Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.2.4. Sensorizacion . . . . . . . . . . . . . . . . . . . . . . . 100

5.2.5. Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

viii

Page 9: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5.3. Esquema general del algoritmo de planificacion . . . . . . . . . 105

5.4. Etapa de preproceso . . . . . . . . . . . . . . . . . . . . . . . 110

5.5. Grafo relajado de planificacion . . . . . . . . . . . . . . . . . . 113

5.5.1. Incertidumbre sobre el estado actual . . . . . . . . . . 115

5.5.2. Manejo de funciones numericas . . . . . . . . . . . . . 116

5.5.3. Manejo de acciones de sensorizacion . . . . . . . . . . . 120

5.5.4. Coste computacional de las extensiones propuestas . . 123

5.6. Calculo de planes mono-objetivo . . . . . . . . . . . . . . . . . 125

5.6.1. Calculo de un plan inicial mono-objetivo . . . . . . . . 126

5.6.2. Fase de refinamiento . . . . . . . . . . . . . . . . . . . 132

5.6.3. Coste computacional del calculo de los planes mono-

objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 140

5.7. Ordenacion de planes . . . . . . . . . . . . . . . . . . . . . . . 141

5.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

6. Evaluacion y experimentacion 149

6.1. Variables numericas y criterios de optimizacion . . . . . . . . . 150

6.2. Incertidumbre y acciones de sensorizacion . . . . . . . . . . . . 153

6.3. Comportamiento anytime . . . . . . . . . . . . . . . . . . . . 157

6.4. Planificacion on-line . . . . . . . . . . . . . . . . . . . . . . . 168

6.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

7. Conclusiones y trabajo futuro 183

7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

7.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

7.2.1. Aproximacion propuesta . . . . . . . . . . . . . . . . . 185

7.2.2. Contribuciones de la tesis . . . . . . . . . . . . . . . . 187

7.3. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 189

A. Descripcion de dominios de planificacion clasicos 193

A.1. El mundo de bloques . . . . . . . . . . . . . . . . . . . . . . . 193

A.2. Logistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

A.3. Depots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

A.4. DriverLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

A.5. MailDelivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

ix

Page 10: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Indice de tablas

5.1. Tiempo de computo de la etapa de preproceso. El numero de

literales y acciones instanciadas ofrecen una medida de la com-

plejidad del problema. . . . . . . . . . . . . . . . . . . . . . . 114

5.2. Numero de grafos relajados y tiempo medio empleado en su

construccion para distintos problemas de planificacion. La ulti-

ma columna muestra el porcentaje del tiempo total de planifi-

cacion que supone la generacion de estos grafos. . . . . . . . . 124

5.3. Numero total de planes iniciales y etapas de refinamiento cal-

culadas para diversos problemas clasicos de planificacion. . . . 141

5.4. Numero total de etapas de busqueda y de nodos expandidos

para varios problemas numericos de planificacion. . . . . . . . 142

6.1. Comparacion entre la extension numerica propuesta y la aproxi-

macion tradicional (siguiendo el formato propuesto/tradicional).

La calidad depende de la metrica del problema (un valor mayor

representa un plan mas costoso) y el tiempo se mide en segundos.151

6.2. Resultados para los cuatro casos definidos en el primer escenario.154

6.3. Resultados para los cuatro casos definidos en el segundo escenario.156

6.4. Soluciones encontradas en 20 segundos para problemas del Mun-

do de Bloques. La talla del problema representa el numero de

bloques en el problema. . . . . . . . . . . . . . . . . . . . . . . 160

6.5. Soluciones encontradas en 20 segundos para problemas del do-

minio Depots. . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

6.6. Soluciones encontradas en 20 segundos para problemas del do-

minio Satellite. . . . . . . . . . . . . . . . . . . . . . . . . . . 163

6.7. Soluciones encontradas en 20 segundos para problemas del do-

minio ZenoTravel. . . . . . . . . . . . . . . . . . . . . . . . . . 164

x

Page 11: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6.8. Soluciones encontradas en 60 segundos para problemas de la

version numerica del dominio Depots. . . . . . . . . . . . . . . 165

6.9. Soluciones encontradas en 60 segundos para problemas de la

version numerica del dominio ZenoTravel. . . . . . . . . . . . . 167

xi

Page 12: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Indice de figuras

2.1. Esquema general de un problema de planificacion . . . . . . . 12

2.2. Solucion al problema de la anomalıa de Sussman (version de

un operador) mediante un algoritmo POP. Las lıneas continuas

representan enlaces causales, mientras que las discontinuas son

ordenaciones introducidas para resolver amenazas. . . . . . . . 22

2.3. Grafo de planificacion para un problema del mundo de bloques

(version de un operador). Inicialmente, el bloque B esta sobre

el A, y el objetivo es obtener la torre inversa. . . . . . . . . . . 24

2.4. Modelizacion logica de un problema del mundo de bloques (ver-

sion de un operador). El plan se obtiene mediante la instancia-

cion de los dos predicados move. . . . . . . . . . . . . . . . . . 29

3.1. Planificacion clasica vs. planificacion practica: principales sim-

plificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2. Shakey: el primer sistema de planificacion y ejecucion . . . . . 46

3.3. Problema de navegacion de un robot en el que existe incerti-

dumbre sobre la existencia de varios obstaculos. . . . . . . . . 55

3.4. Arquitectura ERE para el calculo y la ejecucion de planes re-

activos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.5. Esquema de planificacion off-line. El planificador se invoca una

vez y genera un plan que ejecutara el reactor. . . . . . . . . . 63

3.6. Esquema de planificacion y ejecucion alternadas. . . . . . . . . 66

3.7. Modelos de planificacion y ejecucion concurrente: a) El plani-

ficador recibe informacion del entorno pero trabaja aislado. b)

El planificador incorpora continuamente informacion del entorno. 67

4.1. Robot movil (modelo Pioneer 2) empleado en el sistema. . . . 71

xii

Page 13: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4.2. El entorno actua como un recurso compartido sobre el que varios

agentes pueden actuar simultaneamente. . . . . . . . . . . . . 75

4.3. Arquitectura de un agente de planificacion. . . . . . . . . . . . 77

4.4. Arquitectura de VirtualRobot Simulator. . . . . . . . . . . . . 80

4.5. Simulacion del problema de reparto de correo en una planta de

despachos mediante VirtualRobot Simulator. . . . . . . . . . . 81

4.6. Posibles estados iniciales derivados de una especificacion inicial

incompleta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.1. Esquema funcional del algoritmo de planificacion. . . . . . . . 93

5.2. Diagrama de secuencia del funcionamiento on-line de los agentes

de planificacion. . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.3. Ejemplo de transicion entre estados producida por la ejecucion

de una accion y en ausencia de eventos inesperados. Puede ob-

servarse tambien que la accion a es aplicable en S. . . . . . . . 101

5.4. Ejemplo de transicion entre estados producida por la ejecucion

de una accion de sensorizacion en ausencia de eventos inesperados.103

5.5. Esquema general del algoritmo de planificacion. El ejecutor in-

teracciona con el planificador para solicitarle acciones y para

notificarle la informacion adquirida del entorno. . . . . . . . . 107

5.6. Expansion tradicional del RPG. . . . . . . . . . . . . . . . . . 115

5.7. Algoritmo de expansion del RPG considerando la incertidumbre

en los valores logicos de las proposiciones. . . . . . . . . . . . 116

5.8. Expansion del RPG considerando la metrica del problema. . . 119

5.9. Algoritmo para la insercion en el RPG de los efectos de las

acciones de sensorizacion. . . . . . . . . . . . . . . . . . . . . 122

5.10. Calculo incremental de un plan Pi independiente para cada ob-

jetivo del problema. . . . . . . . . . . . . . . . . . . . . . . . . 125

5.11. Funcion para comprobar si p es una proposicion necesaria para

un plan P = {a0, . . . , an} y un conjunto de objetivos G. . . . . 126

5.12. Proceso de calculo de un plan inicial para un objetivo proposi-

cional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

5.13. Tomando como primera accion las acciones ejecutables en el es-

tado actual (ai1, . . . , a1n) se escoge el plan resultante que mejor

calidad ofrece. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

xiii

Page 14: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5.14. Representacion grafica de las acciones de Pi y de los estados so-

bre los que se aplican, de forma que result(aj, Sj, ∅) = Sj+1, ∀aj ∈Pi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5.15. Primer paso en la resolucion de una precondicion proposicional

no satisfecha pfail: se genera un plan Pi,j para alcanzar pfail

desde cada estado Sj, 0 ≤ j ≤ fail. . . . . . . . . . . . . . . . 135

5.16. Segundo paso en la resolucion de una precondicion proposicional

no satisfecha pfail: se genera un plan Pi,j,k desde cada estado S ′jhasta un estado Sk, j≤k≤fail de Pi. . . . . . . . . . . . . . . . . 135

5.17. Los planes Pi,1,k no se generan puesto que el plan Pi,1 comienza

por la accion a1. . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5.18. Los planes Pi,0,0, Pi,0,1 y Pi,1,1 no se generan puesto que a1 eli-

mina el literal pfail. . . . . . . . . . . . . . . . . . . . . . . . . 137

5.19. Division en bloques de los planes mono-objetivo calculados para

el problema de la anomalıa de Sussman. . . . . . . . . . . . . 145

6.1. Estado inicial del primer escenario propuesto. . . . . . . . . . 153

6.2. Estado inicial del mundo para el segundo escenario. . . . . . . 155

6.3. Planes calculados para un problema del dominio Rovers, incre-

mentando progresivamente el tiempo maximo para el calculo de

cada accion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

6.4. Planes calculados para un problema del dominio ZenoTravel, in-

crementando progresivamente el tiempo maximo para el calculo

de cada accion. . . . . . . . . . . . . . . . . . . . . . . . . . . 159

6.5. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas del dominio Mundo de Bloques. . . . 161

6.6. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas del dominio Depots. . . . . . . . . . 162

6.7. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas del dominio Satellite. . . . . . . . . . 163

6.8. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas del dominio ZenoTravel. . . . . . . . 165

6.9. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas de la version numerica del dominio

Depots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

xiv

Page 15: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6.10. Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas de la version numerica del dominio

ZenoTravel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

6.11. Primer problema de navegacion: el robot debe moverse de la

celda inicial (S) hasta la celda objetivo (G). . . . . . . . . . . 169

6.12. El robot se encuentra un obstaculo en la celda (26,11). . . . . 170

6.13. El robot se encuentra un obstaculo en la celda (30,14). . . . . 171

6.14. El robot alcanza la celda objetivo. . . . . . . . . . . . . . . . . 171

6.15. Tiempo de computo de cada accion para el primer problema de

navegacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6.16. Segundo problema de navegacion: el objetivo se modifica antes

de que el robot alcance la celda objetivo (G). . . . . . . . . . . 173

6.17. Nueva ruta para alcanzar el objetivo y nuevo cambio de objetivo.174

6.18. El robot alcanza la celda objetivo. . . . . . . . . . . . . . . . . 174

6.19. Tiempo de computo de cada accion para el segundo problema

de navegacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6.20. Estado inicial de los problemas del dominio de manipulacion. . 176

6.21. Estado objetivo del primer problema del dominio de manipulacion.176

6.22. Primer evento inesperado: el objeto p7 cae sobre la mesa table4. 177

6.23. Segundo evento inesperado: en lugar de ensamblar p5 a la dere-

cha de p3 se ensambla a la derecha de p2. . . . . . . . . . . . . 177

6.24. Tiempo de computo de cada accion para el primer problema de

manipulacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

6.25. Estado inicial y objetivo del segundo problema de manipulacion. 179

6.26. Primer cambio en el objetivo del segundo problema de manipu-

lacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6.27. Segundo cambio en el objetivo del segundo problema de mani-

pulacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6.28. Tiempo de computo de cada accion para el segundo problema

de manipulacion. . . . . . . . . . . . . . . . . . . . . . . . . . 180

A.1. Problema del mundo de bloques: la anomalıa de Sussman . . . 195

A.2. Estado inicial del problema logistics-4-0 del dominio Logistics. 198

A.3. Estado inicial del problema depotprob1818 del dominio Depots. 200

A.4. Estado inicial del problema DLOG-2-2-2 del dominio DriverLog. 204

xv

Page 16: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A.5. Estado inicial del problema ejemplo del dominio MailDelivery. 208

xvi

Page 17: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Resumen

La investigacion en planificacion independiente del dominio se ha centrado

durante mucho tiempo en el desarrollo de tecnicas de busqueda eficientes,

orientadas generalmente a encontrar una secuencia optima (o proxima a la

optima) de acciones que conduzca al sistema desde el estado actual hasta el

estado objetivo. El problema de la planificacion independiente del dominio, sin

embargo, es un problema muy complejo. Por ello, aunque los planificadores mas

recientes, sobretodo aquellos basados en la planificacion heurıstica, son muy

rapidos, necesitan todavıa varios minutos para resolver muchos problemas de

tamano medio/grande. Existen, sin embargo, numerosas aplicaciones reales,

como el control de robots moviles o los agentes de inteligencia artificial en

juegos de ordenador y simulaciones, en las que un tiempo de computo excesivo

no es admisible.

Un tiempo de respuesta acotable no es el unico requerimiento en este tipo

de aplicaciones. Es frecuente, por ejemplo, que el planificador no pueda acce-

der a toda la informacion del entorno. Algo todavıa mas probable es que el

mundo cambie constantemente, ya que el planificador no es el unico agente

capaz de actuar sobre el mundo y modificarlo. Estas son, entre otras, las ca-

racterısticas que hacen que los planificadores clasicos no sean la mejor opcion

para la resolucion de este tipo de problemas.

Las nuevas tecnicas de planificacion capaces de afrontar las dificultades

de este tipo de dominios (o, al menos, algunas de ellas) se enmarcan dentro

de la planificacion practica. En este trabajo de tesis, que se enmarca dentro

de esta vertiente practica de la planificacion, se propone una aproximacion

basada en la integracion de los procesos de planificacion y ejecucion. De esta

forma, el planificador puede incorporar en sus planes la informacion adquirida

del entorno durante la ejecucion.

xvii

Page 18: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

xviii

El algoritmo de planificacion propuesto se basa en varias tecnicas de plani-

ficacion clasicas bien conocidas, como es el calculo de heurısticas y la descom-

posicion de objetivos, pero combinadas de una forma novedosa. Este algoritmo

proporciona una serie de caracterısticas muy utiles para la planificacion en mu-

chos entornos reales: en primer lugar, ofrece un comportamiento muy similar

al de los algoritmos anytime, proporcionando una primera respuesta en un pe-

riodo de tiempo limitado, y refinandola mientras haya tiempo disponible. Este

comportamiento le permite reaccionar rapidamente ante eventos inesperados y

modificaciones en los objetivos durante la ejecucion. Permite tambien resolver

problemas con informacion incompleta mediante el uso de acciones de senso-

rizacion, y soporta el uso de variables numericas y la definicion de funciones

de optimizacion.

Page 19: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Abstract

The research in independent-domain planning has focused on the deve-

lopment of efficient search techniques. They are mainly focused on finding an

optimal sequence (sub-optimal) of actions to guide the system from the current

state to the goal state. However, the independent-domain planning problem is

a very complex problem. Moreover, even the more recent planners work very

fast (overall, those based on heuristic planning), they already need several mi-

nutes to solve medium/large-scale problems. Furthermore, there exist many

real problems, such as mobile robot control or artificial intelligence agents in

computer games and simulations that do not allow excessive running time.

A limited response time is not the unique requirement in this type of sys-

tems. For instance, it is usual that no information is available by the planner.

Continuous changes in the environment are even more probably, due to the

planner is not the only one able to act and change the environment. These are,

among others, the main characteristics that do not make appropriate classic

planner for solving these types of problems.

The new planning techniques aimed at facing up the problems in this type

of domains (or, at least, some of them) are classified as practical planning.

This work has been developed under this frame, and it proposes an approach

based on the integration of the planning and execution processes. This way,

the planner can include in its plans information acquired from the environment

during the execution.

The proposed planning algorithm relies on some well-known classical plan-

ning techniques, as the computation of heuristics and the goal decomposition,

but combined in a novel way. This algorithm provides many useful features

for planning in many real environments: first, its behaviour is quite similar

to the anytime algorithms, computing a first solution in a limited time and

xix

Page 20: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

xx

improving that solution while there is available time. This behaviour allows

fast reactions when unexpected events occur and the goals are changed during

the execution. The proposed algorithm can handle problems with incomplete

information by using sensing actions, and it also manages numeric variables

and optimization functions.

Page 21: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Resum

La investigacio en planificacio independent del domini hi ha centrat du-

rant molt de temps en el desenvolupament de tecniques de recerca eficients,

orientades generalment a trobar una sequencia optima (o proxima a l’optima)

d’accions que conduısca al sistema des de l’estat actual fins a l’estat objec-

tiu. El problema de la planificacio independent del domini, no obstant, es un

problema molt complex. Per aixo, encara que els planificadors mes recents, so-

bretot aquells basats en la planificacio heurıstica, son molt rapids, necessiten

encara alguns minuts per a resoldre molts problemes de tamany mitja/gran.

Existixen, no obstant, nombroses aplicacions reals, com el control de robots

mobils o els agents d’intel·ligencia artificial en jocs d’ordinador i simulacions,

en les que un temps de comput excessiu no es admissible.

Un temps de resposta acotable no es l’unic requeriment en aquest tipus

d’aplicacions. Es frequent, per exemple, que el planificador no puga accedir a

tota la informacio de l’entorn. Una cosa encara mes probable es que el mon

canvie constantment, ja que el planificador no es l’unic agent capac d’actuar

sobre el mon i modificar-lo. Estes son, entre altres, les caracterıstiques que fan

que els planificadors classics no siguen la millor opcio per a la resolucio d’este

tipus de problemes.

Les noves tecniques de planificacio capacos d’afrontar les dificultats d’este

tipus de dominis (o, almenys, algunes de elles) s’emmarquen dins de la pla-

nificacio practica. En este treball de tesi, que s’emmarca dins d’esta vessant

practica de la planificacio, es proposa una aproximacio basada en la inte-

gracio dels processos de planificacio i execucio. D’esta forma, el planificador

pot incorporar en els seus plans la informacio adquirida de l’entorn durant

l’execucio.

xxi

Page 22: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

xxii

L’algoritme de planificacio proposat es basa en diverses tecniques de pla-

nificacio classiques ben conegudes, com es el calcul de heurıstiques i la des-

composicio d’objectius, pero combinades de una forma nova. Este algoritme

proporciona una serie de caracterıstiques molt utils per a la planificacio en

molts entorns reals: en primer lloc, oferix un comportament molt semblant al

dels algoritmes anytime, proporcionant una primera resposta en un perıode de

temps limitat, i refinant-la mentres hi haja temps disponible. Este compor-

tament li permet reaccionar rapidament davant d’esdeveniments inesperats i

modificacions en els objectius durant l’execucio. Permet tambe resoldre pro-

blemes amb informacio incompleta per mitja de l’us d’accions de sensoritzacio,

i suporta l’us de variables numeriques i la definicio de funcions d’optimacio.

Page 23: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 1

Introduccion

Este trabajo de tesis se enmarca en el area de planificacion en Inteligencia

Artificial. Informalmente, un problema de planificacion consiste en encontrar

una secuencia de acciones que permita, partiendo del estado actual del entorno,

alcanzar un determinado estado objetivo.

La resolucion de un problema de planificacion puede verse, basicamente,

como un problema de busqueda en un espacio de estados o de planes (parcial-

mente resueltos). Por tanto, el objetivo de un planificador consiste en explorar

este estado de la forma mas eficiente posible, o bien en reducir este espacio al

maximo de manera que la busqueda sea menos costosa. En cualquier caso, es

necesario recurrir a tecnicas sofisticadas para resolver el problema.

En la seccion 1.1 se realiza un breve recorrido por las distintas tecnicas que

han surgido desde el comienzo de esta disciplina. En la seccion 1.2 se exponen

los objetivos que nos han llevado a realizar este trabajo de tesis. El apartado

1.3 muestra las principales aportaciones de este trabajo. Finalmente, en la

seccion 1.4 se resumen los distintos capıtulos que componen esta tesis.

1.1. Antecedentes

La Inteligencia Artificial puede definirse como ”el arte de crear maqui-

nas con capacidad de realizar funciones que realizadas por personas requieren

inteligencia”[Rich y Knight 1991]. Segun [Bellman 1978], la Inteligencia Ar-

tificial es ”la automatizacion de actividades que vinculamos con procesos de

pensamiento humano, actividades como la toma de decisiones, resolucion de

1

Page 24: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2 1.1. Antecedentes

problemas, aprendizaje, ...”.

La historia de esta disciplina comienza formalmente en 1956, cuando se

acuno el termino Inteligencia Artificial (I.A.), aunque ya se investigaba en este

area desde hacıa varios anos. En los inicios de esta disciplina, los cientıficos

perseguıan un objetivo muy ambicioso: construir una maquina inteligente. Sin

embargo, la I.A. ha resultado ser algo mucho mas complejo de lo que muchos

imaginaron en un principio. A medida que la investigacion fue avanzando,

se observo que el razonamiento generico solo se podıa alcanzar mediante la

comprension de ejemplos mas especıficos de razonamiento humano. Por ello,

la I.A. se dividio en diversos campos, cada uno de ellos dedicado a distintas

areas del razonamiento aplicado a la resolucion de problemas concretos. Uno

de esos campos es la planificacion.

1.1.1. Breve resena historica

Las raıces de la planificacion en I.A. se encuentran en la resolucion de

problemas mediante la busqueda en un espacio de estados y otras tecnicas

similares (GPS [Newell y Simon 1963], QA3 [Green 1969], etc.), y en las nece-

sidades de la robotica. De hecho, se considera que la planificacion como campo

especıfico surgio hace tres decadas con el primer sistema de planificacion im-

portante: STRIPS (STanford Research Institute Problem Solver [Fikes y Nils-

son 1971]). Este planificador se diseno para controlar a Shakey, un robot que

deambulaba por las instalaciones del SRI. STRIPS realizo contribuciones muy

importantes, como la definicion de un lenguaje de especificacion de problemas

de planificacion que ha servido como base para otros lenguajes considerados

ahora como estandar.

A partir de STRIPS se produjo un importante auge dentro del area, del

que surgieron numerosos planificadores como NOAH [Sacerdoti 1975], SNLP

[McAllester y Rosenblitt 1991], O-Plan [Currie y Tate 1991], UCPOP [Pen-

berthy y Weld 1992], etc. En toda esta labor investigadora se pueden observar

dos tendencias claras:

• Por un lado, los planificadores orientados a aplicaciones (tambien de-

nominados dependientes del dominio) obtienen resultados excelentes en

dominios especıficos. Sin embargo, las tecnicas desarrolladas en estos

sistemas no son reutilizables en otros contextos.

Page 25: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

1. Introduccion 3

• Por otro lado, las aproximaciones no orientadas a aplicaciones (tambien

denominadas independientes del dominio) resuelven un conjunto limi-

tado de problemas, pero las tecnicas que se desarrollan son totalmente

generales y reutilizables.

Las grandes diferencias entre el rendimiento de los planificadores de ambas

tendencias provoca una tension que contribuye a dirigir la investigacion en

planificacion independiente del dominio hacia la solucion de problemas mas

complejos. A principios de loa anos 90, la mayorıa de planificadores se basan

en el modelo de planificacion de orden parcial (que define los planes sin ne-

cesidad de establecer un orden entre todas sus acciones), y ninguno de ellos

puede generar planes de mas de 30 acciones [Long y Fox 2002]. Esta situacion,

sin embargo, cambio radicalmente con la aparicion en 1995 del planificador

Graphplan [Blum y Furst 1997], que seguıa una nueva aproximacion basada en

grafos. El exito de Graphplan revitalizo la investigacion en el area de la pla-

nificacion independiente del dominio, lo que propicio el desarrollo de nuevos

sistemas basados en tecnicas diferentes de las empleadas tradicionalmente:

• En [Kautz y Selman 1996] se demostro que un algoritmo de satisfac-

tibilidad era capaz de mejorar el rendimiento de Graphplan y de otros

algoritmos especialmente disenados para trabajar con problemas de pla-

nificacion.

• En [Bonet y Geffner 2001a] se mostro que la utilizacion de tecnicas de

busqueda heurıstica en los algoritmos de planificacion permitıa obtener

resultados muy interesantes.

En los ultimos anos, el rendimiento de las tecnicas independientes del do-

minio ha experimentado mejoras significativas. Los nuevos planificadores de-

sarrollados, como FF [Hoffman y Nebel 2001], LPG [Gerevini y Serina 2000]

o SGPlan [Chen et al. 2004], permiten resolver problemas mas complejos, lo

que se traduce en importantes avances en el area.

1.1.2. Perspectiva actual

Durante muchos anos, los esfuerzos de investigacion en el area de planifica-

cion se centro en la busqueda de soluciones optimas. Debido a la intratabilidad

Page 26: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4 1.1. Antecedentes

del problema de planificacion, los algoritmos desarrollados solo eran capaces de

resolver problemas muy sencillos. Para facilitar esta labor, se impusieron una

serie de restricciones que pocas veces se satisfacen en aplicaciones reales como,

por ejemplo, que el mundo es estatico, determinista y totalmente observable

[Veloso et al. 1998]. El mundo se considera estatico si no cambia mientras el

planificador esta calculando el plan y, durante la ejecucion del plan, solo cam-

bia de acuerdo con el resultado de las acciones del plan. Determinista implica

que las acciones tienen un resultado bien definido y conocido por el planifica-

dor. Finalmente, totalmente observable indica que el planificador conoce todos

los hechos relevantes del entorno.

Durante los ultimos diez anos, un numero cada vez mayor de investigadores

se ha dado cuenta de que estas asunciones no son validas para muchos de los

problemas reales de planificacion. Consecuentemente, comenzaron a aparecer

nuevas tecnicas para relajar algunas de ellas. La planificacion condicional [Peot

y Smith 1992] [Collins y Pryor 1995], por ejemplo, elimina la necesidad de que

el planificador tenga un conocimiento completo del mundo, mientras que la

planificacion probabilıstica [Goldman y Boddy 1994b] [Kushmerick et al. 1995]

permite trabajar con acciones no deterministas.

Menos numerosos son los trabajos orientados a suprimir la asuncion de que

el mundo es estatico. Una aproximacion consiste en utilizar tecnicas para la

planificacion con incertidumbre, tratando anticipadamente los posibles eventos

exogenos que pueden ocurrir en el mundo [Blythe 1998]. Esta aproximacion, sin

embargo, puede resultar extremadamente costosa cuando el numero de eventos

posibles es elevado. Otra aproximacion es la planificacion reactiva [Firby 1994].

Esta aproximacion es, generalmente, dependiente del dominio, y consiste en

calcular el comportamiento del planificador ante las posibles situaciones en las

que puede verse envuelto.

Probablemente, una de las aproximaciones independientes del dominio mas

eficientes para la planificacion en entornos dinamicos es la integracion del pro-

ceso de planificacion y ejecucion [Ambros-Ingerson y Steel 1988]. El planifi-

cador genera progresivamente un plan al mismo tiempo que se ejecutan las

partes del plan que ya han sido calculadas. De esta forma, el planificador pue-

de incorporar informacion que solo esta disponible en tiempo de ejecucion, y

puede reaccionar ante cualquier situacion inesperada (sin necesidad de haberla

Page 27: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

1. Introduccion 5

previsto anticipadamente).

Esta aproximacion, sin embargo, requiere unos tiempos de respuesta ra-

zonables para evitar saltos en la ejecucion. Muchos sistemas reales, ademas,

necesitan que las acciones se lleven a cabo dentro de un plazo de tiempo limi-

tado. En estos sistemas, que reciben el nombre de sistemas de tiempo real, el

tiempo que se tarda en obtener la respuesta es tan importante o mas que la

respuesta en sı misma. Una consecuencia importante de los algoritmos de pla-

nificacion en tiempo real es, por lo tanto, que no garantizan que se encuentre

la solucion optima.

La tendencia de desarrollar planificadores muy eficientes que ofrezcan so-

luciones suboptimas es bien patente en la actualidad. La mayorıa de planifica-

dores actuales, como Metric-FF [Hoffman 2003] o SGPlan [Chen et al. 2004],

estan disenados con este objetivo. Una solucion mas flexible la ofrecen los pla-

nificadores basados en el paradigma anytime [Zilberstein y Russell 1996]: el

planificador dispone en todo momento de una solucion cuya calidad va mejo-

rando mientras haya tiempo disponible. Este comportamiento es complejo de

obtener, por lo que apenas existen planificadores independientes del dominio

basados en esta tecnica.

1.2. Motivacion y objetivos

El objetivo principal de esta tesis es el diseno y la implementacion de

un algoritmo de planificacion que permita afrontar eficientemente muchos de

los problemas potenciales que pueden surgir en aplicaciones reales. Estos pro-

blemas son, principalmente, la falta de informacion completa y fiable sobre el

entorno, la aparicion de situaciones inesperadas y de cambios en los objetivos,

y la existencia de restricciones en los tiempos de respuesta del planificador.

Pese a la existencia de diversas aproximaciones que permiten resolver estos

problemas por separado, son muy pocos los sistemas de planificacion que pue-

den resolverlos de forma conjunta. Estos sistemas necesitan, sin embargo, la

ayuda del usuario, bien para que le facilite cierta informacion especıfica sobre

el problema, o bien para que le ayude en la toma de decisiones. Un segundo

objetivo del algoritmo de planificacion que queremos desarrollar es que tenga

Page 28: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6 1.2. Motivacion y objetivos

un funcionamiento autonomo e independiente del dominio. Estas caracterısti-

cas son de gran utilidad cuando el sistema que se controla es autonomo y capaz

de realizar tareas muy diversa ındole. Este es el caso, por ejemplo, del empleo

de tecnicas de planificacion para controlar robots moviles.

Otra caracterıstica importante de muchas aplicaciones practicas de plani-

ficacion es la necesidad de trabajar con recursos. Estos recursos se modelan

generalmente mediante variables y funciones numericas. De esta forma se pue-

de expresar el nivel de baterıa de un robot, la capacidad de un contenedor, la

distancia entre dos puntos, etc. El tercer objetivo de este trabajo consiste en

adaptar el algoritmo de planificacion para manejar las extensiones numericas

de PDDL 2.1. Estas extensiones, ademas, permiten definir diversos criterios

numericos de optimizacion. El planificador, por lo tanto, puede tratar de opti-

mizar una funcion que se adapte mejor a los requerimientos del problema, en

lugar de emplear siempre una misma funcion definida a priori (la mayorıa de

planificadores clasicos tratan de minimizar la longitud o la duracion final del

plan).

La integracion del planificador en un entorno real (incluso en un entorno

simulado) requiere necesariamente un modulo encargado de la ejecucion y mo-

nitorizacion de los planes. El cuarto objetivo consiste en el desarrollo de una

arquitectura que permita integrar el algoritmo de planificacion y el modulo de

ejecucion. Ademas, esta arquitectura debe proporcionar una interfaz sencilla

para una rapida adaptacion del sistema de planificacion a diferentes dominios

de aplicacion. Pese que el algoritmo de planificacion es independiente del do-

minio, es necesario realizar un esfuerzo considerable para enlazar el modulo de

ejecucion con el sistema a controlar.

El quinto objetivo de este trabajo es analizar y evaluar el comporta-

miento del sistema desarrollado. Por una parte, demostrar que el algoritmo de

planificacion es competitivo respecto a otros planificadores independientes del

dominio actuales. Por otra parte, obtener resultados empıricos que muestren

las ventajas de nuestro sistema en situaciones adversas: aparicion de eventos

inesperados, cambios en los objetivos, restricciones de tiempo, falta de infor-

macion sobre el entorno, etc.

Finalmente, el trabajo de esta tesis tambien ha venido motivado por las

necesidades surgidas en diversos proyectos de investigacion, realizados en el

Page 29: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

1. Introduccion 7

grupo de investigacion al que pertenece el autor (y en los que el mismo ha

participado). La investigacion desarrollada en esta tesis esta enmarcada, entre

otros, en los siguientes proyectos:

• Sistema adaptativo multiagente de planificacion dependiente del contexto,

MCyT TIC2002-04146-C05-04 (Diciembre 2002 - Diciembre 2005).

• Planificacion y replanificacion de actividades de un robot movil en tiempo

real, Vicerrectorado de Investigacion y Desarrollo Tecnologico, proyecto

interdisciplinar No. 20020681 (Septiembre 2002 - Agosto 2004).

• Diseno y aplicacion de modelos de integracion y tecnicas avanzadas de

planificacion y scheduling, CTIDIB/2002/112 (Enero 2002 - Diciembre

2003).

• Sistema inteligente para la planificacion y asignacion de recursos en un

entorno multiagente, MCyT DPI2001-2094-C03-03 (Enero 2002 - Junio

2004).

1.3. Aportaciones de la tesis

Las principales aportaciones de este trabajo de tesis son las siguientes:

1. Revision del estado del arte en el area de planificacion, prestando espe-

cial atencion a las tecnicas independientes del dominio y a las nuevas

aproximaciones que se han desarrollado para superar algunas de las sim-

plificaciones clasicas de la planificacion.

2. Definicion de una arquitectura que permite integrar los procesos de plani-

ficacion y ejecucion. Esta arquitectura no solo facilita la portabilidad del

planificador a aplicaciones reales, sino que permite la simulacion de dis-

tintos entornos para poder evaluar su comportamiento de forma sencilla.

En concreto, se ha utilizado la herramienta VirtualRobot Simulator para

simular de forma grafica la ejecucion de planes en diversos problemas de

robots moviles.

Page 30: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

8 1.4. Organizacion del trabajo

3. Diseno de varias extensiones generales del grafo relajado de planificacion.

Este grafo se emplea en la mayorıa de planificadores heurısticos actuales

y permite la obtencion de informacion heurıstica a partir de una formu-

lacion relajada del problema de planificacion original. Las extensiones

propuestas incorporan nuevas caracterısticas como el coste de las accio-

nes respecto a la funcion de optimizacion del problema, la incertidumbre

sobre algunas proposiciones y el manejo de acciones de sensorizacion.

Estas extensiones proporcionan informacion adicional que el planifica-

dor puede utilizar para mejorar la calidad de los planes generados.

4. Desarrollo de una tecnica de planificacion basada en la descomposicion

de objetivos. Esta tecnica permite centrar la atencion del planificador en

el calculo de las siguientes acciones a ejecutar en lugar de elaborar un

plan completo que frecuentemente se vera invalidado por el dinamismo

del entorno. De esta forma, el planificador es capaz de obtener una res-

puesta (accion a ejecutar) en un intervalo acotado de tiempo y de refinar

dicha respuesta mientras haya tiempo disponible. Ambas caracterısticas,

propias de los algoritmos anytime, resultan de gran importancia en apli-

caciones reales en las que el tiempo de respuesta es un factor relevante.

5. Evaluacion del sistema de planificacion desarrollado. La orientacion practi-

ca de este planificador hace que esta evaluacion tenga un enfoque distinto

a la de los planificadores clasicos: el estudio se centra el comportamien-

to dinamico del planificador, es decir, en la resolucion de los distintos

problemas que pueden surgir durante la ejecucion de un plan. Para ello,

se evaluara la ejecucion de acciones de sensorizacion, la calidad de las

respuestas en funcion del tiempo de computo disponible, y el tiempo de

reaccion ante eventos inesperados y cambios en los objetivos.

1.4. Organizacion del trabajo

Este trabajo se organiza como sigue:

• Capıtulo 1. Introduccion

En este capıtulo se realiza un breve resumen historico de la disciplina de

planificacion en I.A. Se concreta tambien la motivacion y los objetivos de

Page 31: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

1. Introduccion 9

este trabajo de tesis, junto con sus principales aportaciones. Por ultimo,

se incluye el presente apartado en el que se muestra la organizacion de

esta memoria.

• Capıtulo 2. La planificacion en I.A.

Este capıtulo presenta la definicion del problema de planificacion, sus

clasificaciones y distintos lenguajes utilizados para la especificacion de

problemas. Asimismo, se resumen las principales tendencias existentes

dentro de la planificacion clasica, centrandose tanto en la vertiente inde-

pendiente del dominio como en la dependiente del dominio.

• Capıtulo 3. Planificacion practica

En este capıtulo se describe el concepto de planificacion practica. Se

describe tambien uno de los mecanismos basicos de muchas de las apro-

ximaciones practicas de planificacion: la percepcion del entorno a traves

de la monitorizacion de la ejecucion y de las acciones de sensorizacion.

Por ultimo, se hace un estudio de las principales tecnicas actuales dentro

de la planificacion practica.

• Capıtulo 4. Arquitectura del sistema

Este capıtulo se centra en la arquitectura del sistema de planificacion

y ejecucion desarrollado, y en los distintos elementos que lo conforman.

Se describe tambien la forma de evaluar el comportamiento del sistema

en un entorno simulado mediante la herramienta VirtualRobot Simula-

tor. Por ultimo, se describe el lenguaje de especificacion de problemas

empleado, ası como las extensiones que se han introducido para sopor-

tar caracterısticas importantes como la incertidumbre o las acciones de

sensorizacion.

• Capıtulo 5. Planificacion heurıstica en tiempo real

Este capıtulo describe el algoritmo de planificacion propuesto. Tras una

exposicion de la notacion y la terminologıa utilizada, se comentan cada

una de las etapas de las que consta el algoritmo.

• Capıtulo 6. Evaluacion y experimentacion

Page 32: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

10 1.4. Organizacion del trabajo

En este capıtulo se analiza el comportamiento del planificador desarro-

llado de acuerdo con las principales caracterısticas que ofrece: el manejo

de variables numericas y acciones de sensorizacion, el comportamiento

anytime, que pone de relieve la calidad de los planes obtenidos respecto al

tiempo de computo disponible, y el tiempo de reaccion ante situaciones

inesperadas y modificaciones en los objetivos.

• Capıtulo 7. Conclusiones y trabajo futuro

En este capıtulo se exponen las aportaciones mas relevantes de este tra-

bajo de tesis, y se indican algunas de las futuras lıneas de investigacion

por las que puede continuarse este trabajo.

• Apendice A. Descripcion de dominios de planificacion clasicos

Durante este trabajo de tesis se hace referencia a diversos dominios clasi-

cos de planificacion. Estos dominios ayudan a ilustrar diversas carac-

terısticas, tanto del sistema de planificacion propuesto como de otras

aproximaciones existentes. En este apendice se proporciona una breve

descripcion, ası como su especificacion en PDDL, de estos dominios.

Page 33: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 2

La planificacion en I.A.

En este capıtulo se aborda el concepto de planificacion en I.A. desde el

punto de vista mas tradicional. La primera seccion de este capıtulo se cen-

tra en proporcionar una definicion del problema de planificacion y comenta

los principales lenguajes de especificacion de problemas. El resto de secciones

abordan las diferentes tecnicas que han surgido para resolver este tipo de pro-

blemas dentro del paradigma clasico de la planificacion. Para completar este

resumen sobre el estado del arte, el siguiente capıtulo describe la problemati-

ca y las aproximaciones mas importantes para la aplicacion de tecnicas de

planificacion en problemas mas realistas.

2.1. Definicion del problema

Un problema de planificacion es un problema de busqueda que requiere

encontrar una secuencia eficiente de acciones que conducen a un sistema desde

un estado inicial hasta un estado objetivo. Desde el punto de vista de agentes

inteligentes, el campo de la planificacion busca construir algoritmos de control

que permitan a un agente sintetizar una secuencia de acciones que le lleve a

alcanzar sus objetivos [Weld 1999].

Mas formalmente, un problema de planificacion se puede definir median-

te una tupla 〈L,O, I, G〉, donde cada uno de estos elementos representa lo

siguiente (ver figura 2.1):

11

Page 34: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

12 2.1. Definicion del problema

L = Conjunto de formulas atomicas, denominadas hechos o literales. Repre-

senta el conjunto de hechos que son relevantes en el problema.

O = Conjunto de acciones definidas en el dominio del problema.

I = Conjunto inicial de hechos que forman la situacion inicial del problema

G = Conjunto final de hechos que deben formar parte de la situacion final

del problema.

Figura 2.1: Esquema general de un problema de planificacion

El problema de planificacion independiente del dominio es un problema

muy complejo, generalmente PSPACE-completo [Bylander 1994]. Por ello no

es factible emplear tecnicas clasicas de solucion de problemas o de demostra-

cion de teoremas. Las investigaciones en el campo de la planificacion en I.A.

surgieron para proporcionar tecnicas, basadas en el razonamiento inteligente

sobre las acciones y sus consecuencias, capaces de afrontar estos problemas.

Este campo ha sido objeto de numerosos trabajos de investigacion desde los

anos 60, no solo por el desafıo que supone un problema tan complejo, sino por

la gran variedad de problemas reales a los que se puede aplicar. Entre estas

aplicaciones destacan:

• Robots moviles: este area supuso la motivacion inicial de la planifica-

cion [Fikes y Nilsson 1971] y sigue todavıa en desarrollo.

• Entornos simulados: diseno de agentes para juegos o programas de

entrenamiento [Nareyek 2004].

• Entornos de red: con el reciente auge de las redes, las tecnicas pla-

nificacion han comenzado a utilizarse para realizar consultas y servicios

Page 35: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 13

Web [Knoblock 2003]. Otra aplicacion importante es la organizacion de

tareas en redes computacionales [Gil et al. 2004].

• Manejo de crisis: existen numerosas aplicaciones destinadas al manejo

de situaciones desastrosas, como vertidos de petroleo, incendios foresta-

les, evacuaciones urbanas, etc. [Gervasio et al. 1998].

• Aplicaciones militares: la planificacion ha tomado parte en el diseno

de importantes campanas militares y en la toma de decisiones logısticas

y estrategicas [Chun 1999].

• Industria aeroespacial: las tecnicas de planificacion no solo se aplican

a la programacion de misiones espaciales, sino que tambien se emplean

para controlar aeronaves y vehıculos autonomos en el espacio [Jonsson

et al. 2000].

2.2. Lenguajes de especificacion

Para lograr una planificacion eficiente, es tan importante contar con buenos

lenguajes de modelizacion como con buenos algoritmos. El lenguaje STRIPS

[Fikes y Nilsson 1971] ha condicionado la gran mayorıa de trabajos sobre pla-

nificacion desde comienzos de los anos 70, debido a su efectiva solucion del

problema marco [McCarthy y Hayes 1969] y a su soporte para las estrategias

de divide-y-venceras [Geffner 2000]. En esta seccion se describe brevemente

este lenguaje, ası como sus dos extensiones mas importantes: ADL [Pednault

1989] y PDDL [McDermott 2000].

2.2.1. STRIPS

El lenguaje STRIPS (STanford Research Institute Problem Solver [Fikes

y Nilsson 1971]) surgio a principios de 1970 como un sistema de planifica-

cion para el proyecto del robot Shakey. STRIPS propone como metodo de

representacion un modelo compacto y sencillo para especificar dominios de

planificacion. Un estado S se representa como un subconjunto (S ⊆ L), indi-

cando que el literal l ∈ L es cierto si l ∈ S, y falso en caso contrario. El estado

I especifica que hechos son verdaderos y cuales son falsos en la situacion inicial

Page 36: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

14 2.2. Lenguajes de especificacion

del problema; es decir, l ∈ L es inicialmente cierto si l ∈ I, y falso en caso

contrario. El conjunto de objetivos G se representa como una conjuncion de

hechos, que debe cumplirse en un estado objetivo. Un estado S ⊆ L es un

estado objetivo si S satisface G, es decir, si G ⊆ S.

Un operador o ∈ O se define en STRIPS como una tupla 〈Nombre, Pre,

Eff〉. Nombre es el nombre del operador y se representa mediante una ex-

presion sintactica de la forma o(X1, X2, . . . , Xn), donde cada Xi es un sımbolo

variable que recibe el nombre de parametro del operador. Pre y Eff son res-

pectivamente las precondiciones y los efectos del operador, y se representan

mediante:

• Una formula atomica (nombre predicado arg1 . . . argn), donde el predica-

do describe el tipo de hecho y los argumentos son sımbolos variables que

se corresponden con los parametros del operador. Una formula atomica

tambien puede aparecer negada si aparece en los efectos del operador.

• Una conjuncion de formulas atomicas.

Una accion a se obtiene tras la sustitucion de todos los parametros de un

operador por valores concretos. Una accion a, por lo tanto, es una instancia

concreta de un operador. Pre(a) es un conjunto de hechos que representa las

precondiciones de la accion. Los efectos de la accion Eff(a) son los hechos que

anade y elimina la accion. Los efectos positivos se representan como Add(a),

y los efectos negativos como Del(a). El resultado, por tanto, de aplicar una

secuencia de acciones sobre un estado se puede formalizar como se muestra a

continuacion:

result(S, {}) = S

result(S, {a}) =

{(S −Del(a)) ∪Add(a) , si Pre(a) ⊆ S

S , en caso contrarioresult(S, {a1, a2, . . . , an}) = result(result(S, {a1}), {a2, . . . an})

(2.2.1)

Por comodidad, cualquier accion puede aplicarse en un estado, pero solo

tiene efecto si se satisfacen sus precondiciones. Si sus precondiciones se satis-

facen, los efectos positivos de la accion se anaden al estado, mientras que los

efectos negativos se eliminan.

Page 37: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 15

Un plan P se define como una secuencia aplicable de conjuntos de acciones

{A0, A1, . . . , An}, e indica el orden en el que las acciones de dichos conjuntos se

ejecutaran. Si un conjunto de acciones Ai contiene mas de una accion, dichas

acciones se pueden ejecutar en paralelo. Por lo tanto, si |Ai| = 1,∀i = 1 . . . n

se dice que el plan P es secuencial, y paralelo en caso contrario. Un plan P

es una solucion para un problema de planificacion si result(I, P ) es un estado

objetivo, es decir, si G ⊆ result(I, P ).

Ejemplo. Un ejemplo sencillo para ilustrar la notacion STRIPS es la

anomalıa de Sussman. Este problema pertenece al dominio del mundo de blo-

ques, y esta descrito en el apendice A. La representacion de este problema es

la siguiente:

L = {(on A B), (on A C), (on B A), (on B C), (on C A), (on C B), (ontable

A), (ontable B), (ontable C), (clear A), (clear B), (clear C), (handempty),

(holding A), (holding B), (holding C)}O = {pick-up(?x), put-down(?x), stack(?x,?y), unstack(?x,?y)}I = {(on C A), (ontable A), (ontable B), (clear B), (clear C), (handempty)}G = {(on A B), (on B C)}Las variables que actuan como parametros de los operadores se representan

habitualmente precedidas de un signo de interrogacion. Como se comento an-

teriormente, las acciones se calculan mediante la sustitucion de los parametros

por valores constantes. En este ejemplo, las acciones resultantes son las si-

guientes:

A = {pick-up(A), pick-up(B), pick-up(C), put-down(A), put-down(B), put-

down(C), stack(A,B), stack(A,C), stack(B,A), stack(B,C), stack(C,A),

stack(C,B), unstack(A,B), unstack(A,C), unstack(B,A), unstack(B,C),

unstack(C,A), unstack(C,B)}.

2.2.2. ADL

Aunque el lenguaje STRIPS resulta muy restringido para la mayorıa de

dominios complejos, admite un elevado grado de ampliacion. Una de las prin-

cipales ampliaciones que se ha llevado a cabo es el lenguaje ADL (Action

Page 38: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

16 2.2. Lenguajes de especificacion

Description Language [Pednault 1989]). ADL es mas expresivo que STRIPS y

se basa en un modelo algebraico para caracterizar los estados del mundo. Las

principales extensiones que anade son las siguientes:

• Tipos: ADL permite asignar tipos a los objetos del problema y a los

parametros de los operadores. Esta caracterıstica facilita la comprension

de los problemas y reduce el numero de predicados (tipos de hechos)

necesarios.

• Precondiciones y objetivos negados: ADL permite incluir formulas

atomicas negadas en las precondiciones de un operador. De igual forma,

es posible especificar literales negados en los objetivos para representar

aquellos hechos que no desean en un estado objetivo.

• Precondiciones disyuntivas: ADL permite que una precondicion pue-

da ser una disyuncion de formulas atomicas.

• Precondiciones cuantificadas: las precondiciones pueden incluir formu-

las cuantificadas, tanto existencial (exists) como universalmente (forall).

(forall (?v1 ?v2 . . .) [formula])

(exists (?v1 ?v2 . . .) [formula])

• Comparaciones: ADL introduce un nuevo tipo de formula atomica en

las precondiciones (= arg1 arg2), que se satisface cuando sus dos argu-

mentos son iguales. Este predicado de igualdad (denominado Equality)

permite comparar sımbolos variables dentro de un operador.

• Efectos condicionales: en un dominio ADL, los operadores pueden

contener efectos condicionales (when condicion [formula]). Los efectos

condicionales solo tienen efecto si la condicion especificada se satisface

en el estado sobre el que se aplica la accion. Los efectos condicionales

suelen situarse dentro de formulas cuantificadas.

Estas ampliaciones permiten reducir el numero de acciones instanciadas,

puesto que con cada accion es posible expresar un mayor numero de situacio-

nes. Es posible aprovechar esta ventaja para mejorar la eficiencia de muchos

sistemas de planificacion [Koehler et al. 1997].

Page 39: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 17

2.2.3. PDDL

ADL ha sido una de las ampliaciones de STRIPS mas utilizadas por los

planificadores, pero no es la unica. Por ejemplo, FStrips (Functional STRIPS

[Geffner 2000]) es un lenguaje de primer orden, sin cuantificacion, que trabaja

con constantes, funciones y sımbolos relacionales - pero no sımbolos varia-

bles - e incrementa la expresividad del lenguaje. No obstante, la extension de

mayor exito ha sido sin duda PDDL (Planning Domain Definition Language

[Ghallab et al. 1998]). PDDL se desarrollo para la competicion internacional

de planificacion del ano 1998 [McDermott 2000] con el objetivo de proporcio-

nar una notacion comun para modelar problemas de planificacion y evaluar el

rendimiento de los planificadores. Desde su creacion, PDDL ha supuesto un

punto de referencia como lenguaje de modelado para la inmensa mayorıa de

los planificadores.

Aparte de STRIPS y ADL, PDDL ha recibido influencias de muchos otros

formalismos: SIPE-2 [Wilkins 1988], Prodigy 4.0 [Blythe et al. 1992], UCMP

[Erol et al. 1994], Unpop [McDermott 1996] y UCPOP [Barrett et al. 1995]. El

objetivo de PDDL es expresar la fısica de un dominio, es decir, que predicados

hay, que acciones se pueden realizar y cuales son sus efectos, sin proporcionar

ningun conocimiento adicional sobre el mismo. PDDL ofrece una gran variedad

de caracterısticas, entre las que destacan:

• Modelo de acciones basado en STRIPS.

• Efectos condicionales y cuantificacion universal, tal como se propone en

ADL.

• Especificacion de acciones jerarquicas. Las acciones se descomponen en

subacciones y subobjetivos que permiten abordar problemas mas com-

plejos.

• Definicion de axiomas del dominio. Los axiomas son formulas logicas que

establecen relaciones entre los hechos que se satisfacen en un estado (al

contrario que las acciones, que definen relaciones entre sucesivos estados).

• Especificacion de restricciones de seguridad. Estas restricciones permiten

definir un conjunto de objetivos que deben cumplirse durante todo del

proceso de planificacion.

Page 40: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

18 2.2. Lenguajes de especificacion

Dado el gran numero de caracterısticas que PDDL puede expresar, practi-

camente ningun planificador existente es capaz de manejarlas todas. PDDL

agrupa estas caracterısticas en un conjunto de requerimientos. De esta forma,

los planificadores pueden comprobar rapidamente si son capaces de manejar

un determinado dominio.

2.2.4. Extensiones de PDDL

Una de las principales aportaciones de la competicion de planificacion de

2002 fue una nueva version del lenguaje PDDL: PDDL v2.1 [Fox y Derek

2003]. Las caracterısticas mas importantes que incorpora son la posibilidad de

definir acciones con duracion y de describir los efectos que el tiempo tiene sobre

las acciones. Ademas, modifica el tratamiento de las expresiones numericas y

permite especificar, como parte del propio problema, una funcion objetivo

(denominada metrica) que establece los criterios de optimizacion del plan.

PDDL v2.1 se organiza en los siguientes cuatro niveles:

• Nivel 1: comprende los niveles proposicional y ADL de la version ante-

rior de PDDL.

• Nivel 2: establece una sintaxis definitiva para manejar expresiones numeri-

cas. Las expresiones numericas se construyen mediante operadores aritmeti-

cos y funciones numericas. Estas funciones asocian valores numericos a

tuplas de objetos del problema. Las condiciones numericas en las ac-

ciones son siempre comparaciones entre pares de expresiones numericas,

mientras que los efectos permiten modificar los valores de las funciones

numericas.

• Nivel 3: introduce el uso de acciones durativas discretas. De esta forma,

es posible indicar en que instantes durante y despues de la ejecucion de

una accion ocurren sus efectos.

• Nivel 4: permite que las acciones durativas tengan efectos continuos.

Para modelar estos efectos, se introduce el sımbolo #t que representa

el continuo transcurso del tiempo durante la ejecucion de una accion

durativa.

Page 41: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 19

Mas recientemente, una nueva extension denominada PDDL+ [Fox y Derek

2002] anade un quinto nivel. Este nivel permite modelar eficientemente la

aparicion de eventos durante la ejecucion de un plan. PDDL+ tambien soporta

la modelizacion de procesos, que son actividades que, mientras duran, causan

cambios continuos en los valores de las expresiones numericas.

2.3. Aproximaciones a la planificacion inde-

pendiente del dominio

Una vez introducidos los lenguajes de planificacion existentes, en esta sec-

cion se comentan las principales tecnicas de planificacion independiente del

dominio. La planificacion independiente del dominio se centra en los princi-

pios fundamentales de la planificacion como una actividad, concentrandose

principalmente en tecnicas de busqueda y en la representacion y tratamiento

de problemas de planificacion. Por el contrario, la planificacion dependiente

del dominio se centra en la aplicacion de la planificacion a dominios concre-

tos, codificando informacion especıfica en modelos complejos del dominio. La

principal ventaja que ofrecen las tecnicas independientes del dominio es que

son tecnicas generales y reutilizables.

Las tecnicas de planificacion se pueden clasificar basicamente segun los

siguientes conceptos:

• Representacion de los nodos: estados o planes. Un planificador ba-

sado en estados es aquel que busca a traves de un espacio de posibles

situaciones. Por el contrario, un planificador basado en planes realiza la

busqueda en un arbol donde cada nodo representa un plan.

• Tipo de encadenamiento: progresivo o regresivo. Un planificador pro-

gresivo es el que trata de alcanzar los objetivos partiendo del estado ini-

cial del problema. En un planificador regresivo la busqueda se realiza en

sentido contrario. La principal ventaja del encadenamiento regresivo es

que el factor de ramificacion suele ser menor pues la busqueda va guiada

por el objetivo.

• Representacion de los planes: orden total u orden parcial. Un plani-

ficador de orden total es aquel que almacena una solucion parcial como

Page 42: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

20 2.3. Aproximaciones a la planificacion independiente del dominio

una secuencia totalmente ordenada de acciones. Por el contrario, si el

planificador no siempre establece un orden total entre dos acciones cua-

lesquiera de un plan, se denomina planificador de orden parcial. En este

ultimo caso, un plan se especifica mediante un conjunto de restricciones

de ordenacion entre pares de acciones de la forma a1 ≺ a2, indicando que

la accion a1 se debe ejecutar antes que a2 (aunque no necesariamente de

forma inmediata).

La principal diferencia entre planificacion de orden parcial y de orden

total se encuentra en la eficiencia del proceso de planificacion. Aunque

podrıa considerarse que la ejecucion de un plan parcialmente ordenado

es mas flexible, numerosos autores afirman que dicha flexibilidad puede

lograrse tambien mediante un planificador de orden total mas una etapa

de postproceso [Minton et al. 1994]. Esta etapa, que elimina los ordenes

innecesarios en un plan totalmente ordenado, tiene un coste polinomial,

insignificante comparado con el tiempo de busqueda para la generacion

del plan [Argente et al. 2003].

Los planificadores de orden total se asocian comunmente con la aproxima-

cion basada en estados, como STRIPS [Fikes y Nilsson 1971], HSP [Bonet

y Geffner 2001c] o FF [Hoffman y Nebel 2001]. Existen, sin embargo, varios

conocidos planificadores de orden total basados en planes, como el planifica-

dor regresivo de Waldinger [Waldinger 1981], Interplan [Tate 1974] o Warplan

[Warren 1974]. Tradicionalmente, la aproximacion mas empleada en la plani-

ficacion de orden parcial ha sido la basada en planes, como es el caso de los

planificadores UCPOP [Penberthy y Weld 1992] y VHPOP [Younes y Sim-

mons 2003]. En los ultimos anos, sin embargo, han aparecido nuevas tecnicas

de planificacion que se benefician de una representacion basada en estados.

Buenos ejemplos de estas nuevas tecnicas son los planificadores Graphplan

[Blum y Furst 1997] y SATPLAN [Kautz y Selman 1992].

2.3.1. Planificacion de orden parcial POCL

A principios de los anos 90, mucha de la investigacion en planificacion

independiente del dominio se centro en los planificadores de orden parcial

POCL (Partial Order Causal Link). Los dos planificadores POCL dominantes

Page 43: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 21

fueron SNLP [McAllester y Rosenblitt 1991] y UCPOP [Penberthy y Weld

1992], y una gran cantidad de la investigacion se dirigio a la ampliacion de

ambos planificadores.

Las tecnicas POCL se basan en una busqueda regresiva sobre un espacio

de planes. El planificador navega a traves de este espacio de planes, seleccio-

nando en cada caso el mejor plan (segun un conjunto de criterios) a expandir.

El proceso finaliza cuando se encuentra un plan en el que todos los subobje-

tivos han sido resueltos y no existen conflictos entre las acciones del mismo.

Formalmente, cada nodo de la busqueda es un plan que se define como una

tupla 〈A,O, L〉, donde [Weld 1994]:

• A es el conjunto de acciones del plan {a0, a1, . . . , an}. Cada accion se

corresponde con un operador, excepto para la accion inicial y final. La

accion inicial (a0) no tiene precondiciones y sus efectos coinciden con el

estado inicial del problema. La accion final an tiene como precondiciones

los objetivos del problema, y carece de efectos.

• O es un conjunto de restricciones de orden sobre las acciones del plan,

de la forma ai ≺ aj. La accion inicial esta siempre ordenada antes que el

resto de acciones (a0 ≺ ai,∀ai ∈ A− {a0}), mientras que la accion final

siempre se ordena detras (ai ≺ an,∀ai ∈ A− {an}).

• L es un conjunto de enlaces causales. Un enlace causal (ail−→ aj) de-

termina que la accion ai resuelve la precondicion l de la accion aj. Los

enlaces causales se utilizan para recordar el proposito de cada accion en

el plan.

El proceso de planificacion comienza con un primer plan que contiene unica-

mente las acciones inicial y final. En cada iteracion se escoge una accion aj que

tenga precondiciones no resueltas. Una de dichas precondiciones (l ∈ Pre(aj))

se escoge como el siguiente subobjetivo a resolver. Para conseguir dicho sub-

objetivo es necesario incluir una nueva accion ai (o una accion ya existente en

el plan) que produzca l (l ∈ Add(ai)). De esta forma aparece un enlace causal

entre ambas acciones: ail−→ aj. Si debido a este proceso de planificacion apa-

rece una accion ak, ordenada entre las acciones ai y aj (ai ≺ ak ≺ aj), y dicha

accion elimina l (l ∈ Del(ak)), aparece una amenaza [Peot y Smith 1993]. Esta

amenaza puede ser resuelta anadiendo una restriccion de orden:

Page 44: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

22 2.3. Aproximaciones a la planificacion independiente del dominio

• Por promocion: ordenamos la accion conflictiva detras de la segunda

accion del enlace causal (aj ≺ ak).

• Por democion: ordenamos la accion conflictiva antes de la primera

accion del enlace causal (ak ≺ ai).

No es posible, sin embargo, realizar una promocion o democion si ello

supone la violacion de los ordenes ya existentes. Cuando esto ocurre, el plan

en cuestion es descartado. La figura 2.2 muestra el problema de la anomalıa

de Sussman resuelto mediante este algoritmo.

Figura 2.2: Solucion al problema de la anomalıa de Sussman (version de unoperador) mediante un algoritmo POP. Las lıneas continuas representan enla-ces causales, mientras que las discontinuas son ordenaciones introducidas pararesolver amenazas.

A pesar del auge inicial de las tecnicas POCL, la investigacion de orden

parcial se abandono parcialmente ya que estos planificadores solo eran capaces

de resolver problemas que requerıan como maximo una docena de acciones

[Smith et al. 2000]. Sin embargo, actualmente se estan aplicando nuevas tecni-

cas, como heurısticas para estimar distancias hasta el objetivo y analisis de

alcanzabilidad, para mejorar dramaticamente la eficiencia de los algoritmos

POCL. Los nuevos planificadores que aplican estas mejoras, como RePOP

[Nguyen y Kambhampati 2001] o VHPOP [Younes y Simmons 2003], demues-

tran que la planificacion POCL es tan competitiva como las aproximaciones

Page 45: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 23

basadas en estados. Las tecnicas POCL tambien se pueden adaptar facilmente

para permitir el manejo de informacion temporal y recursos. Esta extension se

ha llevado a cabo, por ejemplo, en los planificadores parcPLAN [El-Kholy y

Richards 1996], ZENO [Penberthy y Weld 1994] y IxTeT [Ghallab y Laruelle

1994].

2.3.2. Planificacion basada en grafos

Una de las tendencias que marco la decadencia de la planificacion de or-

den parcial fue la utilizacion de algoritmos para grafos. Graphplan [Blum y

Furst 1997] fue el principal exponente pues, ademas de presentar un enfoque

totalmente distinto, supero ampliamente el rendimiento de los planificadores

existentes. Aunque el rendimiento de Graphplan ya ha sido superado por nue-

vas aproximaciones, algunas de sus contribuciones siguen siendo importantes

actualmente.

El proceso de planificacion de Graphplan alterna dos fases diferenciadas:

• Fase de expansion: extiende un grafo de planificacion en el tiempo

hasta lograr las condiciones necesarias (no suficientes) para que el plan

exista.

• Extraccion de la solucion: realiza una busqueda regresiva sobre dicho

grafo. Si no se encuentra la solucion, se realiza otro proceso de expansion,

y ası sucesivamente.

Un grafo de planificacion es un grafo dirigido formado por dos tipos de

nodos distribuidos en varios niveles. Los niveles proposicionales (niveles pares)

contienen nodos proposicionales, que guardan informacion sobre los hechos

que se van alcanzando. Lo niveles de accion (niveles impares) contienen ac-

ciones, cuyas precondiciones estan presentes en el nivel anterior. El nivel cero

esta formado por aquellos hechos que son ciertos en el estado inicial del plan.

Las aristas representan las relaciones de precondicion y efecto - tanto positivo

(add) como negativo (del) - entre proposiciones y acciones.

En el grafo, todas las acciones estan representadas en paralelo. Sin em-

bargo, no necesariamente se pueden realizar todas ellas al mismo tiempo. Dos

acciones o dos proposiciones que no pueden ocurrir al mismo tiempo se dice

Page 46: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

24 2.3. Aproximaciones a la planificacion independiente del dominio

que son mutuamente excluyentes (mutex ). Las reglas para identificar accio-

nes y proposiciones mutuamente excluyentes son las siguientes [Blum y Furst

1997]:

• Dos acciones son mutex en un punto de tiempo si:

– Efectos inconsistentes: el efecto de una accion es la negacion del

efecto de otra accion.

– Interferencia: una accion elimina una precondicion de otra accion.

– Competencia de requerimientos: las acciones tienen precondiciones

que son mutex en el nivel anterior.

• Dos proposiciones p y q son mutex en un punto de tiempo si cada accion

que consigue p es mutex de cada accion que consigue q, es decir, si todas

las formas de obtener p son mutex de todas las formas de conseguir q en

el punto de tiempo anterior.

Graphplan extiende el grafo hasta llegar a un nivel proposicional (t) en el

que se encuentran todos los objetivos, y ninguno de ellos es mutex con otro

objetivo. Esta es la condicion necesaria para que exista un plan, y a partir

de la cual Graphplan pasa a la fase de extraccion de solucion. La figura 2.3

muestra un ejemplo de grafo de planificacion para un sencillo problema del

mundo de bloques.

Figura 2.3: Grafo de planificacion para un problema del mundo de bloques(version de un operador). Inicialmente, el bloque B esta sobre el A, y el objetivoes obtener la torre inversa.

Page 47: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 25

El proceso de extraccion de solucion utiliza el grafo de planificacion para

guiar la busqueda del plan. Se utiliza una estrategia de encadenamiento re-

gresivo, nivel por nivel, para hacer el mejor uso posible de las restricciones de

exclusion mutua. El proceso se puede resumir del siguiente modo:

1. Dado un conjunto de objetivos en el instante t, se trata de encontrar un

conjunto de acciones en el instante t− 1 que los consigan. Las precondi-

ciones de dichas acciones forman entonces un conjunto de subobjetivos

en el instante t − 1. Si los nuevos subobjetivos se pueden conseguir en

t− 1 pasos, entonces los objetivos originales se pueden lograr en t pasos.

2. Si el conjunto de objetivos en el instante t − 1 no se puede conseguir,

Graphplan intenta encontrar una combinacion diferente de acciones. El

proceso continua hasta que se obtiene un plan valido. En caso contrario

queda demostrado que el conjunto original de objetivos no es resoluble en

el instante t y, por lo tanto, se sigue expandiendo el grafo de planificacion.

El exito de Graphplan propicio la aparicion de nuevos sistemas basados

en esta aproximacion. El planificador STAN [Long y Fox 1999], por ejem-

plo, mejora la eficiencia de Graphplan introduciendo nuevas tecnicas como la

explotacion de la simetrıa [Fox y Long 1999] o el analisis automatico de domi-

nios [Fox y Long 1998]. Otros planificadores introducen nuevas caracterısticas,

como el soporte para las extensiones ADL (IPP [Koehler et al. 1997]), el ma-

nejo de incertidumbre y de acciones de sensorizacion (SGP [Weld et al. 1998]),

y la planificacion temporal (TGP [Smith y Weld 1999] y TPSys [Garrido y

Onaindıa 2003]).

2.3.3. Planificacion heurıstica

Las importantes contribuciones de Graphplan han permitido un importante

avance en el campo de la planificacion durante los ultimos anos. Ha propicia-

do, por ejemplo, la aparicion de nuevas tecnicas heurısticas que han mejorado

significativamente el rendimiento de los planificadores [Long y Fox 2002]. La

planificacion heurıstica se basa en la utilizacion de funciones de estimacion pa-

ra explorar el espacio de busqueda de una forma mas inteligente. Las funciones

de estimacion (heurısticas) se pueden clasificar en admisibles (A∗) o no admi-

sibles [Nilsson 1994]. Las heurısticas admisibles permiten alcanzar soluciones

Page 48: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

26 2.3. Aproximaciones a la planificacion independiente del dominio

optimas, mientras que las no admisibles no ofrecen garantıas de optimalidad,

aunque disminuyen notablemente el tiempo de computo [Haslum y Geffner

2000]. Tradicionalmente, las funciones heurısticas empleadas eran dependien-

tes del dominio [Penberthy y Weld 1992]. Sin embargo, con la aparicion de la

planificacion basada en grafos, han surgido diversas heurısticas independientes

del dominio, suficientemente informadas para guiar el proceso de planificacion

de forma eficiente.

El principio general para generar funciones heurısticas es formular una ver-

sion simplificada (o relajada) del problema. Resolver el problema relajado es,

en general, mas sencillo que la resolucion del problema original. La solucion

del problema relajado se emplea como heurıstica para estimar la distancia has-

ta el objetivo. Entre las relajaciones mas frecuentes dentro de la planificacion

heurıstica destacan:

• Ignorar los efectos negativos de las acciones. Mediante esta tecnica

se define un problema de planificacion relajado en el que se ignoran los

efectos negativos (efectos delete) de las acciones. El valor de la heurısti-

ca para un estado se obtiene estimando el coste de llegar desde dicho

estado hasta una solucion en el problema de planificacion relajado. Esta

idea fue originalmente propuesta en [McDermott 1996] y [Bonet et al.

1997], y actualmente es una de las tecnicas mas extendidas dentro de

la planificacion heurıstica. Entre los planificadores que aprovechan esta

relajacion se encuentran Unpop [McDermott 1999], las diversas versio-

nes de HSP [Bonet y Geffner 2001c], GRT [Refanidis y Vlahavas 1999],

MIPS [Edelkamp y Helmert 2001], STAN4 [Fox y Derek 2001], RePOP

[Nguyen y Kambhampati 2001], Sapa [Do y Kambhampati 2001b] y FF

[Hoffmann 2000].

Sin embargo, la resolucion optima del problema relajado sigue siendo un

problema intratable [Bylander 1994]. Por ello, hay principalmente dos

metodos para afrontar este problema:

– Resolver el problema relajado de forma suboptima. Esta es la opcion

empleada, por ejemplo, en el calculo de la heurıstica de FF.

– Considerar que los hechos son independientes, es decir, que no exis-

ten interacciones entre los objetivos y que, por lo tanto, se puede

Page 49: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 27

calcular un plan independiente para cada uno de ellos. Este el el caso

de las heurısticas hadd de Unpop y HSP [Bonet y Geffner 2001c].

Las heurısticas ası calculadas son, por consiguiente, no admisibles, aun-

que muy informativas. Ademas, su calculo puede realizarse muy rapida-

mente en cada estado de la busqueda.

• Aproximar conjuntos de hechos mediante subconjuntos. Esta re-

lajacion asume que el coste de alcanzar un conjunto de literales se puede

estimar calculando el coste de alcanzar solo un subconjunto de tamano

m. Este subconjunto de literales debe ser, sin embargo, el subconjunto

mas costoso de alcanzar de todos los posibles. Estas heurısticas se re-

presentan como hm, donde m indica el tamano de los subconjuntos a

considerar [Haslum y Geffner 2000].

Cuando m vale uno (h1), evaluar el coste de un conjunto de objetivos des-

de un estado solo tendrıa en cuenta el coste de alcanzar el objetivo mas

costoso. Esta heurıstica coincide con hmax, presentada en el planificador

HSP2 [Bonet y Geffner 2001b], y, aunque admisible, no es demasiado in-

formativa. Para subconjuntos de tamano dos (h2), la heurıstica es similar

a la que implıcitamente se encuentra en Graphplan. Graphplan se puede

considerar como un planificador heurıstico puesto que evalua el coste de

un conjunto de objetivos mediante el ındice del primer nivel que contiene

dichos objetivos, y estos no son mutex dos a dos. Las heurısticas hm son

admisibles y de coste polinomial. Para valores de m ≥ 2, la heurıstica

suele ser bastante informativa, aunque bastante mas costosa de calcular.

• Ignorar determinados hechos. Esta tecnica elimina determinados he-

chos del problema (de la situacion inicial, de los objetivos y de las accio-

nes). De esta forma, el espacio de estados resultante es mas manejable.

Esta idea esta fuertemente relacionada con la busqueda mediante bases

de datos de patrones (pattern databases [Culberson y Schaeffer 1998]).

Las bases de datos de patrones (PDB) permiten generar heurısticas de-

finidas mediante distancias entre abstracciones de estados [Hernadvogyi

y Holte 2000].

La construccion de una base de datos de patrones se realiza en una eta-

pa de preproceso. De esta forma, si la base de datos se almacena en

Page 50: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

28 2.3. Aproximaciones a la planificacion independiente del dominio

una estructura optimizada (como una tabla hash), es posible calcular

las heurısticas durante el proceso de planificacion en tiempo lineal [Edel-

kamp 2001]. Las heurısticas PDB son admisibles y, en general, estan

mejor informadas que las heurısticas hm, para valores pequenos de m.

La calidad de las funciones heurısticas PDB dependen, sin embargo, de

la abstraccion que se realice, es decir, de los hechos que se van a ignorar.

Las heurısticas obtenidas mediante la relajacion del problema original se

emplean para evaluar los nodos del proceso de busqueda de la solucion, ge-

neralmente en funciones del tipo f(n) = g(n) + h(n), donde g(n) representa

el coste de alcanzar el nodo n y h(n) es una estimacion de la distancia de

dicho nodo hasta los objetivos. Esta funcion de evaluacion se emplea en es-

trategias tradicionales de busqueda, como la expansion primero el mejor (best

first search, BFS [Pearl 1984]) - caso del planificador HSP2 -, o en estrategias

mas novedosas basadas en busqueda local, como la estrategia hill-climbing del

planificador FF [Hoffmann 2000].

2.3.4. Transformacion del problema de planificacion

Otra de las tendencias actuales es la transformacion del problema de pla-

nificacion en otro tipo de problema, resoluble con otras tecnicas dentro del

campo de la IA [Long et al. 2002]. En esta seccion se describen brevemente las

principales tecnicas de transformacion:

• Aproximacion SAT : el problema de planificacion se traduce a un pro-

blema de satisfactibilidad, y se resuelve mediante algoritmos SAT.

• Aproximacion CSP : el problema de planificacion se transforma en

un problema de satisfaccion de restricciones, y se resuelve mediante un

resolutor CSP.

• Model-checking : el problema de planificacion se convierte en una formu-

la logica para la cual se busca un modelo. Este enfoque es una variacion

de la aproximacion SAT, pero utiliza unas tecnicas suficientemente dife-

renciadas como para considerarla una nueva lınea de investigacion.

Page 51: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 29

Aproximacion SAT

Esta aproximacion aparecio en 1992 [Kautz y Selman 1992], inspirada por

las importantes mejoras introducidas en los algoritmos de satisfactibilidad. Los

planificadores SAT transforman un problema de planificacion en una formula

logica. El primer paso en esta transformacion consiste en codificar el proble-

ma (estado inicial, objetivos, restricciones del dominio y acciones) como un

conjunto de axiomas o predicados. Cada uno de estos predicados se indexa

mediante un numero entero que representa un instante de tiempo:

• Los predicados que forman los estados se indexan con el instante en el

que se satisfacen.

• Los predicados que representan acciones se indexan con el instante en

el que la accion comienza. Las acciones tienen un instante de tiempo de

duracion, aunque varias acciones pueden realizarse al mismo tiempo.

La indexacion en instantes de tiempo hace necesario conocer la longitud del

plan. Puesto que el numero de acciones que formaran el plan no es conocido

inicialmente, se realiza una estimacion. La longitud estimada se va incremen-

tando progresivamente hasta que se encuentra una solucion. Una solucion es

cualquier asignacion de valores de verdad a las variables de la formula que

representa el problema, de forma que esta se satisfaga. La traduccion de una

solucion a un plan del tipo STRIPS es un proceso muy sencillo. La figura 2.4

muestra un ejemplo de formulacion logica de un problema sencillo del mundo

de bloques.

Figura 2.4: Modelizacion logica de un problema del mundo de bloques (ver-sion de un operador). El plan se obtiene mediante la instanciacion de los dospredicados move.

Page 52: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

30 2.3. Aproximaciones a la planificacion independiente del dominio

Los metodos para resolver problemas SAT pueden clasificarse en los que

realizan una busqueda sistematica y los basados en busqueda local. Los pri-

meros son algoritmos completos, como es el caso de DPLL (Davis Putnam

Logemann Loveland [Davis et al. 1962]), satz [Li y Anbulagan 1997] y relsat

[Bayardo y Schrag 1997]. Los segundos obtienen importantes mejoras en la

eficiencia, a costa de perder la completitud. Este es el caso de los algoritmos

GSAT y Walksat [Selman et al. 1994].

Satplan [Kautz y Selman 1998] fue el primer planificador que empleo la

aproximacion SAT, y empleaba un resolutor de proposito general basado en

Walksat. Su descendiente, Blackbox [Kautz y Selman 1999], combino la apro-

ximacion SAT con Graphplan, logrando mejorar notablemente la eficiencia.

Blackbox, ademas, es un sistema muy flexible que permite escoger el algoritmo

de resolucion, e incluso emplear varios para resolver un mismo problema. Otro

de los planificadores dentro de la aproximacion SAT es LPSAT [Wolfman y

Weld 1999]. LPSAT combina un resolutor SAT (una variacion de relsat) con

un resolutor de restricciones lineales, lo que le permite manejar disyunciones

logicas y expresiones numericas.

Aproximacion CSP

Un CSP, o problema de satisfaccion de restricciones [Bartak 1999], consiste

en un conjunto de variables, un conjunto de valores para cada variable (do-

minios de las variables), y un conjunto finito de restricciones que limitan los

valores que las variables pueden tomar simultaneamente. Una solucion a un

CSP es una asignacion completa de valores a las variables que satisface todas

las restricciones.

La aproximacion basada en CSPs tiene muchas similitudes con la apro-

ximacion SAT, aunque presenta ciertas ventajas: la representacion mediante

CSPs de un problema de planificacion es mas compacta, por lo que evita la ex-

plosion de memoria que frecuentemente ocurre en muchos planificadores SAT.

Ademas, los modelos CSP son facilmente extensibles, pues permiten anadir

nuevas variables y restricciones al problema, y posibilitan el modelado de va-

riables numericas, recursos y restricciones de precedencia. Sin embargo, al igual

que ocurre con SAT, un CSP representa un problema estatico, mientras que

un problema de planificacion es dinamico: el numero de acciones necesarias no

Page 53: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 31

se conoce de antemano. Por ello, es necesario estimar la longitud del plan, e

incrementarla si no se encuentra la solucion.

Esta aproximacion fue explorada mediante el planificador CPlan [van Beek

y Chen 1999], que empleaba el algoritmo GAC-CBJ para resolver el CSP re-

sultante de la conversion del problema de planificacion. Esta conversion, sin

embargo, se realizaba de forma manual. El planificador GP-CSP [Do y Kamb-

hampati 2001a], no obstante, demuestra que esta conversion puede realizarse

automaticamente mediante un grafo de planificacion similar al de Graphplan.

Los resultados experimentales obtenidos con esta tecnica muestran que el ren-

dimiento de GP-CSP es superior al de Graphplan y Blackbox. Mas reciente-

mente, el planificador CSP-PLAN [Lopez y Bacchus 2003] propone una re-

presentacion mas rica y robusta que los grafos de planificacion, permitiendole

trabajar con dominios mas complejos y de una forma mucho mas eficiente.

Model-checking

En un problema de model-checking [Clarke et al. 2000], los dominios de

planificacion se formalizan mediante modelos semanticos, en los que las pro-

piedades de dichos dominios se representan mediante formulas temporales. Los

modelos semanticos definen los posibles estados del problema, las posibles ac-

ciones y las transiciones entre estados causadas por la ejecucion de las acciones.

El proceso de planificacion mediante esta tecnica consiste en verificar si dichas

formulas se satisfacen en el modelo semantico. Esta comprobacion se realiza

mediante la exploracion del espacio de estados del modelo [Giunchiglia y Tra-

verso 1999]. Aparte de la importante base teorica que tiene esta aproximacion,

la planificacion mediante model-checking permite resolver eficientemente pro-

blemas de gran tamano, incluso en problemas con un caracter mas practico

(dominios no deterministas, reactivos, etc.)

La planificacion basada en model-checking tiene que manejar frecuentemen-

te problemas con grandes espacios de estados. La gran mayorıa de planificado-

res en esta aproximacion emplean arboles de decision binarios (BDDs [Bryant

1985]) para representar los modelos. Entre las ventajas de los BDDs destacan

la representacion compacta, en forma canonica, de las formulas y la eficiencia

en las operaciones logicas sobre conjuntos de estados. Un claro ejemplo es el

planificador BDDPlan [Holldobler y Storr 2000]. Este planificador es correcto y

Page 54: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

32 2.3. Aproximaciones a la planificacion independiente del dominio

completo, y se basa en la representacion de estados mediante BDDs. BDDPlan,

ademas, aporta algunas mejoras importantes como la busqueda bidireccional,

la particion de la relacion de transicion, la identificacion de variables numericas

constantes, y la reduccion de la frontera de busqueda.

PropPlan [Fourman 2000] es otro planificador que utiliza BDDS para repre-

sentar eficientemente grandes conjuntos de estados. Esto le permite implemen-

tar una busqueda exhaustiva en anchura. Al igual que Graphplan, PropPlan

realiza una busqueda hacia adelante para calcular el conjunto de estados al-

canzables, agrupados por niveles, hasta llegar a los objetivos. La exploracion

del espacio de estados alcanzables se realiza mediante una busqueda regresiva.

El planificador MIPS [Edelkamp y Helmert 2001] tambien dispone de una

etapa de preproceso, en la que realiza un analisis de alcanzabilidad. La eficien-

cia de MIPS radica en la incorporacion de dos motores de busqueda: el primero

usa una busqueda hill-climbing, muy similar a la del planificador FF [Hoffman

y Nebel 2001]. La segunda hace uso de tecnicas BDD, combinando la busqueda

heurıstica con representaciones simbolicas. Aunque MIPS comenzo manejando

unicamente problemas de tipo STRIPS, actualmente es capaz de trabajar con

precondiciones negadas, efectos condicionales, acciones durativas y expresiones

numericas [Edelkamp 2003].

2.3.5. Tecnicas de descomposicion

Estas tecnicas consisten en descomponer un problema en varios subpro-

blemas, generalmente mas sencillos de resolver. Luego, las soluciones de los

subproblemas se combinan para formar una solucion al problema original. En-

tre las principales tecnicas de descomposicion destacan:

• La planificacion jerarquica. Esta tecnica, que se describe en el apar-

tado 2.4.2, descompone el problema en distintos niveles de abstraccion.

La planificacion jerarquica requiere, en general, informacion adicional

sobre el dominio para establecer la jerarquıa de abstracciones.

• Ordenacion de objetivos/subobjetivos. Esta tecnica realiza una or-

denacion de los objetivos (o subobjetivos) del problema, permitiendo

ası establecer varios estados objetivo intermedios [Koehler y Hoffmann

2000]. Esta tecnica ha sido utilizada en varios planificadores clasicos,

Page 55: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 33

como IPP [Koehler et al. 1997], GRT [Refanidis y Vlahavas 2001], STe-

LLa v2.0 [Sebastia et al. 2002] y, en cierto modo, en PartPlan [Amir y

Engelhardt 2003].

• Descomposicion de objetivos. Esta tecnica consiste en dividir el con-

junto de objetivos del problema en subconjuntos mas pequenos, que son

analizados por separado. A pesar de ser la primera tecnica de descompo-

sicion que se utilizo, no ha proporcionado en general buenos resultados:

el numero de interacciones entre los objetivos tiene que ser muy pequeno

para que la combinacion de los planes obtenidos para cada subconjun-

to de objetivos sea eficiente [Yang 1997]. Sin embargo, recientemente el

planificador SGPlan [Chen et al. 2004] ha demostrado que, usada en

combinacion con otras tecnicas, la descomposicion de objetivos permite

obtener resultados muy competitivos. SGPlan, de hecho, fue uno de los

planificadores galardonados en la competicion de planificacion del 2004

[IPC 2004]. Su funcionamiento se basa en calcular varios planes para ca-

da objetivo del problema, resolviendo las amenazas que aparecen entre

ellos.

2.3.6. Tecnicas hıbridas de planificacion

En los apartados anteriores se han comentado las principales tecnicas para

abordar problemas de planificacion independientes del dominio. Sin embargo,

los resultados experimentales demuestran que no hay una unica estrategia

apropiada para resolver todos los problemas de planificacion [Long y Fox 2002].

Por esta razon, existe un creciente interes en la combinacion de estrategias

para la resolucion de distintos tipos de problemas. Sin embargo, aunque estas

soluciones hıbridas proporcionan generalmente buenos resultados, determinar

automaticamente la estrategia a utilizar es todavıa un problema complejo.

Entre los planificadores hıbridos mas interesantes destacan BlackBox [Kautz

y Selman 1999], Mips [Edelkamp y Helmert 2001], AltAlt [Nguyen et al. 2002] y

LPG [Gerevini et al. 2003]. Como se comento anteriormente, BlackBox com-

bina SAT con planificacion basada en grafos, mientras que MIPS combina

model-checking con planificacion heurıstica.

AltAlt es un planificador basado en una combinacion de Graphplan y de

Page 56: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

34 2.4. Aproximaciones a la planificacion dependiente del dominio

busqueda heurıstica en el espacio de estados. AltAlt se ha implementado sobre

dos sistemas de planificacion actuales: STAN [Long y Fox 1999], un planifi-

cador del estilo de Graphplan, y HSP-r [Bonet y Geffner 2001c], la variante

regresiva de HSP. AltAlt usa el grafo de planificacion de Graphplan como es-

tructura para calcular las heurısticas que guiaran la busqueda.

LPG es un planificador basado en busqueda local y grafos de planificacion.

Su estrategia de busqueda se inspira en Walksat, un procedimiento eficiente

para resolver problemas de satisfactibilidad. El espacio de busqueda de LPG

consiste en planes parciales (subgrafos del grafo de planificacion). En cada paso

de la busqueda, LPG aplica ciertas modificaciones para transformar un plan

parcial en otro. La evaluacion de estos planes se lleva a cabo mediante una

funcion de evaluacion parametrizada que hace uso de diversas heurısticas. Este

sistema puede producir planes de buena calidad segun los criterios especificados

en la definicion del problema. Esto se consigue mediante un proceso anytime

[Boddy 1991] que produce una secuencia de planes, en el que cada plan es de

mejor calidad que el anterior. LPG tambien integra un algoritmo de busqueda

primero el mejor, similar al empleado por FF. Aparte de los buenos resultados

ofrecidos por LPG, tambien destaca su versatilidad, ya que permite manejar los

tres primeros niveles de PDDL 2.1, ası como acciones con costes y duraciones

asociadas.

2.4. Aproximaciones a la planificacion depen-

diente del dominio

La planificacion dependiente del dominio esta relacionada con la aplicacion

de la planificacion en ciertos dominios especıficos. Para desarrollar sistemas de

planificacion que funcionen muy eficientemente en un determinado dominio se

utiliza un conocimiento de dicho dominio muy amplio, codificado en complejos

modelos del dominio. La planificacion dependiente del dominio se centra, por

lo tanto, en la adquisicion y representacion del conocimiento, ası como en la

explotacion de conocimiento de control especializado para la construccion de

planes y el razonamiento acerca de procesos de planificacion.

Al igual que la planificacion independiente del dominio, la planificacion

dependiente del dominio ha avanzado significativamente en los ultimos anos.

Page 57: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 35

Las dos tendencias para representar y explotar el conocimiento del dominio

son, principalmente, el uso de reglas de control y las redes de tareas jerarquicas

(hierarchical task networks, HTN [Sacerdoti 1974]). Las siguientes secciones

detallan brevemente el funcionamiento de estas dos aproximaciones.

2.4.1. Reglas de control

Las reglas de control representan consejos que permiten al planificador

decidir que acciones se deben realizar en un determinado estado para alcanzar

unos determinados objetivos. Estos consejos se representan generalmente como

reglas si-entonces del tipo 〈estado,objetivo〉 −→ accion. Por ejemplo, una regla

para el dominio del mundo de bloques puede ser la siguiente:

(if (and (current-goal (holding ?x))

(true-in-state (on ?x ?y))))

(then select operator UNSTACK)

Esta regla indica que es conveniente desapilar un bloque si el objetivo es

que dicho bloque este sujeto. Aunque este ejemplo es sencillo, las reglas pueden

llegar a ser muy complejas. Por tanto, uno de los principales inconvenientes

de esta aproximacion es que la definicion de las reglas de control requiere un

conocimiento experto tanto sobre el dominio como sobre la forma en la que el

planificador utilizara esta informacion. No obstante, las ventajas son tambien

importantes: los planificadores basados en reglas de control son mucho mas

rapidos y resuelven problemas de mayor tamano que los independientes del

dominio. La calidad de los planes tambien suele ser bastante buena aunque,

en general, no garantizan la obtencion del plan optimo.

TALPlanner [Kvarnstrom y Magnusson 2003] y TLPlan [Bacchus y Ady

2001] son actualmente uno de los planificadores mas destacados dentro de esta

aproximacion. TALPlanner esta basado originalmente en las ideas de TLPlan,

por lo que comparten ciertas caracterısticas basicas:

• Usan encadenamiento hacia adelante.

• Utilizan conocimiento del dominio en forma de formulas logicas tempo-

rales para podar las partes irrelevantes del espacio de busqueda.

Page 58: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

36 2.4. Aproximaciones a la planificacion dependiente del dominio

Ademas, ambos planificadores son capaces de trabajar con acciones durati-

vas y expresiones numericas. La principal diferencia entre ambos planificadores,

no obstante, radica en la logica temporal que emplean.

Una aproximacion diferente es emplear reglas de control para transformar

progresivamente un plan suboptimo en uno de mejor calidad. Esta aproxima-

cion, denominada Planning by Rewriting (PbR) [Ambite y Knoblock 2001],

produce de forma eficiente planes de alta calidad, aunque requiere un mayor

esfuerzo por parte del usuario que otras aproximaciones.

Las reglas de control que emplean estos planificadores son especificadas

por el usuario para cada dominio, lo que resulta una labor complicada. Otra

opcion es la generacion automatica de las reglas de control mediante metodos

de aprendizaje. Minton, por ejemplo, muestra una tecnica para deducir reglas

de control mediante la aplicacion de aprendizaje basado en explicaciones du-

rante la resolucion de los problemas [Minton 1988]. Otra tecnica es realizar un

analisis estatico de los operadores [Etzioni 1993] e inferir invariantes a partir

del dominio [Gerevini y Schubert 1998] [Fox y Long 1998] [Rintanen 1999b].

Existen sistemas, como Prodigy [Veloso et al. 1995], que integran el proceso

de planificacion con diferentes mecanismos de aprendizaje. Este aprendizaje se

realiza en los puntos de decision del planificador, adquiriendo conocimiento de

control que se utiliza posteriormente para guiar la busqueda. Las reglas PbR

tambien pueden aprenderse automaticamente de forma analoga a las reglas de

control. Ademas, en [Ambite et al. 2000] se presenta una tecnica para aprender

reglas PbR mediante la comparacion del plan inicial y plan optimo en varios

problemas ejemplo.

2.4.2. Redes de tareas jerarquicas

La planificacion jerarquica (HTN ) explota un conjunto ordenado de abs-

tracciones para controlar la busqueda. Esta aproximacion ha demostrado ser

muy efectiva para reducir la complejidad de los problemas de planificacion.

Bajo ciertas asunciones, es posible reducir un espacio de busqueda exponen-

cial a un tamano lineal [Knoblock 1991]. En la literatura pueden encontrarse

fundamentalmente dos mecanismos de abstraccion: abstraccion basada en ac-

ciones y basada en estados. El primer mecanismo combina grupos de acciones

para formar tareas mas complejas, tambien denominadas macro-operadores.

Page 59: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 37

El segundo explota varias representaciones del problema a distintos niveles de

detalle.

A pesar de que los planificadores HTN emplean generalmente un motor

de planificacion independiente del dominio, la definicion de las distintas abs-

tracciones para cada dominio se suele realizar manualmente. La flexibilidad

y eficiencia de esta aproximacion, sin embargo, han dado lugar a numerosos

sistemas de planificacion como O-Plan [Currie y Tate 1991], las distintas ver-

siones de SHOP [Nau et al. 2003] y SIPE [Wilkins 1999], HyHTN [McCluskey

et al. 2003] y UCMP [Erol et al. 1994]. O-Plan es un sistema abierto y flexible

orientado a la generacion y ejecucion de planes. Este sistema combina diversas

tecnicas como heurısticas en el control de la busqueda, restricciones temporales

y recursos. El lenguaje que utiliza (Task Formalism, TF ) es suficientemente

expresivo como para definir las jerarquıas existentes entre las tareas de un

dominio.

SHOP es otro planificador jerarquico cuya principal caracterıstica es que

planifica las tareas en el mismo orden en el que se ejecutaran. Esta tecnica

evita las complejas interacciones entre los objetivos que sufren otros planifica-

dores HTN. Ademas, le permite conocer el estado completo en cada paso de la

planificacion, por lo que puede manejar representaciones muy expresivas de los

dominios, incluyendo expresiones numericas complejas, interaccion con agen-

tes externos y acceso a fuentes de informacion externas. Entre los sucesores de

SHOP se encuentran JSHOP, una implementacion en Java para la planifica-

cion de operaciones navales de evacuacion, A-SHOP, integrado en el sistema

multiagente IMPACT, y SHOP2, una generalizacion de SHOP que obtuvo un

resultado sobresaliente en la Competicion Internacional de Planificacion del

ano 2002 [IPC 2002].

El sistema SIPE, y su sucesor SIPE-2, integra los procesos de planificacion

y ejecucion. Aunque ambos sistemas pueden clasificarse dentro de la categorıa

de planificadores HTN, debido a sus caracterısticas mas practicas se estudiaran

con mas detalle en el siguiente capıtulo. HyHTN, por el contrario, es un planifi-

cador mas clasico. Implementado en Prolog, su aportacion mas relevante reside

en la combinacion de estrategias HTN con una busqueda progresiva orienta-

da hacia los objetivos. Ademas, incorpora la herramienta GIPO-II para la

generacion y validacion de los modelos jerarquicos de los dominios.

Page 60: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

38 2.5. Conclusiones

El planificador UMCP es otro ejemplo de planificador jerarquico. Este pla-

nificador, implementado en Lisp, es correcto y completo. El proceso de busque-

da se visualiza en una interfaz grafica, que permite al usuario interaccionar con

el planificador.

Al igual que ocurre con las reglas de control, el aprendizaje de las jerarquıas

de abstraccion para un dominio o un problema en particular tambien puede

realizarse automaticamente [Anderson y Farley 1988] [Christensen 1991]. El

sistema ALPINE [Knoblock 1994], por ejemplo, genera abstracciones para

una version jerarquica del planificador Prodigy. Los resultados experimentales

de este sistema demuestran que los planes generados son mas cortos que pla-

nificando sin emplear abstracciones y, ademas, reduce el proceso de busqueda.

2.5. Conclusiones

En este capıtulo hemos hecho un resumen sobre el problema de la planifica-

cion en Inteligencia Artificial. En su vertiente mas tradicional, un problema de

planificacion consiste en la seleccion de un conjunto de acciones que permitan

alcanzar un grupo de objetivos a partir de una situacion inicial determinada.

La investigacion en este campo no solo se ha centrado en el desarrollo de

tecnicas eficientes para generar planes, sino que tambien ha estudiado diver-

sos formalismos para poder describir los problemas a manejar. El lenguaje

STRIPS representa un primer paso importante para modelar problemas de

planificacion. Este lenguaje describe el estado actual y los objetivos como una

conjuncion de hechos. Las acciones se definen en el dominio como la unica

forma de modificar un estado: si las condiciones para aplicar una accion se

cumplen en dicho estado, los efectos de dicha accion (insercion y eliminacion

de hechos) provocan la transicion a un nuevo estado. Uno de los principales

problemas de STRIPS es la falta de expresividad para modelar problemas

complejos. Por este motivo han aparecido diversas extensiones, como ADL y

las distintas versiones de PDDL, que mejoran sustancialmente la expresividad.

Estas extensiones permiten expresar, por ejemplo, condiciones mas complejas,

restricciones numericas y acciones durativas.

Desde la aparicion de STRIPS, se han desarrollado una gran variedad de

estrategias de busqueda sobre distintos espacios de busqueda. Durante los anos

Page 61: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

2. La planificacion en I.A. 39

70 y 80, el esfuerzo se centro en problemas tipo puzzle, como el mundo de blo-

ques o las torres de Hanoi, que presentaban fuertes interacciones entre objeti-

vos y acciones. El objetivo era encontrar el plan optimo y, aunque se realizo un

progreso considerable en las tecnicas de busqueda, ningun planificador fue ca-

paz de resolver problemas con una mınima aplicacion practica. La aparicion

de Graphplan a principios de los 90, genero un gran interes pues constituıa

una aproximacion totalmente nueva. Graphplan realiza un analisis de alcanza-

bilidad del espacio de estados del problema. La representacion compacta de la

informacion obtenida permitio superar ampliamente el rendimiento del resto

de aproximaciones de la epoca.

Tras el exito de Graphplan, el interes en la resolucion de problemas de

planificacion resurgio. Aparecieron entonces nuevas aproximaciones, como la

planificacion heurıstica o las tecnicas de transformacion del problema de pla-

nificacion, que pronto superaron el rendimiento de Graphplan. Estos nuevos

avances tambien permitieron la reaparicion de antiguas tecnicas, como la plani-

ficacion de orden parcial, que practicamente se habıan olvidado por cuestiones

de eficiencia. Actualmente, una de las ultimas tendencias es la combinacion de

distintas tecnicas para sacar partido de las ventajas que ofrece cada una de

ellas.

Paralelamente al avance de los sistemas de planificacion totalmente auto-

matizados, la planificacion dependiente del dominio tambien ha progresado

en los ultimos anos. En esta aproximacion, el usuario codifica a mano cierto

conocimiento sobre un dominio o problema en particular. El planificador es

capaz de explotar dicha informacion, generalmente en forma de reglas de con-

trol o jerarquıas de abstracciones, para obtener un rendimiento muy superior

al de los planificadores independientes del dominio. La principal desventaja es

el coste de codificar manualmente este conocimiento adicional, aunque existen

diversas tecnicas que permiten analizar el dominio de forma automatica.

Page 62: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas
Page 63: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 3

Planificacion practica

En el capıtulo anterior presentamos los conceptos y las principales tecnicas

de lo que comunmente se denomina como planificacion clasica. La planificacion

clasica se centra principalmente en el desarrollo de algoritmos para la resolu-

cion eficiente de problemas de planificacion, sin considerar como van a ponerse

en practica los planes obtenidos. La mayorıa de los avances que actualmente

se estan produciendo en el campo de la planificacion tratan de resolver los

problemas que surgen al tener en cuenta la ejecucion de los planes en entornos

reales [Weld 1999]. Esta nueva vertiente de investigacion se denomina planifi-

cacion practica [Wilkins 1988], aunque tambien se conoce como planificacion

neo-clasica [Ghallab et al. 2004] o, simplemente, como planificacion no clasi-

ca. En este capıtulo se hara un repaso por los conceptos y las tecnicas mas

importantes dentro de la planificacion practica.

3.1. Introduccion

Todo sistema de planificacion que deba trabajar en entornos reales debe

enfrentarse a la inherente complejidad del mundo real. Los primeros plani-

ficadores que surgieron no eran capaces de superar dicha dificultad y, por lo

tanto, fue necesario establecer una serie de asunciones o simplificaciones. Estas

simplificaciones, introducidas para definir problemas tratables en las investi-

gaciones iniciales, en general no se cumplen en situaciones reales [Pollack y

Horty 1999]. Como muestra la figura 3.1, las simplificaciones se realizan so-

bre los cuatro elementos clave de un sistema de planificacion: el entorno, las

41

Page 64: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

42 3.1. Introduccion

acciones, las percepciones y los objetivos.

Figura 3.1: Planificacion clasica vs. planificacion practica: principales simpli-ficaciones

• Asunciones sobre el entorno. Una de las simplificaciones menos rea-

listas es suponer que el planificador tiene un conocimiento exacto y com-

pleto sobre el estado del mundo. Esta cualidad se denomina omniscien-

cia, y equivale a calificar al mundo como completamente observable.

Lo contrario, y lo mas comun en entornos reales, es que el mundo sea

parcialmente observable. En estos casos, el planificador desconoce deter-

minada informacion sobre el mundo, generalmente aquella que queda

fuera del alcance de los sensores de los que dispone. La principal con-

secuencia de la presencia de informacion incompleta es que deja se ser

valida la asuncion del mundo cerrado - los hechos que no se encuentran

en el modelo que el planificador tiene sobre el mundo son falsos -, uno

de los principales supuestos de los planificadores clasicos tradicionales

[Golden et al. 1994].

La segunda simplificacion importante es considerar el mundo como estati-

co. Un mundo es estatico cuando los unicos cambios que se producen en el

Page 65: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 43

entorno se deben a las acciones ejecutadas por el agente de planificacion

[Veloso et al. 1998]. En mundos dinamicos, por el contrario, existe una

gran variedad de agentes externos (personas, fenomenos meteorologicos,

etc.) que pueden actuar sobre el entorno [Nareyek y Sandholm 2003].

Estos cambios en el estado del mundo, que generalmente se producen sin

conocimiento del planificador, hacen necesario la inclusion de mecanis-

mos de monitorizacion de la ejecucion. Estos mecanismos se comentan

brevemente en la seccion 3.2.

• Asunciones sobre las acciones. Sobre las acciones, la planificacion

clasica tambien hace dos importantes asunciones. La primera de ellas es

suponer que las acciones son deterministas, es decir, que el efecto que

produce una accion es siempre conocido y predecible. De esta forma, la

funcion de transicion entre estados es determinista y solo depende del

estado anterior y de la accion ejecutada. Es mas realista, sin embargo,

considerar que existe cierta incertidumbre sobre el efecto que produce

una accion: como ocurre con frecuencia en la realidad, las acciones no

siempre tienen exito. En estos casos, el resultado de ejecutar una accion

no determinista sobre un estado no conduce siempre al mismo estado.

Una posicion intermedia es considerar que la probabilidad de alcanzar un

determinado estado al ejecutar una accion es conocida. Estas acciones se

denominan probabilısticas o estocasticas, y se especifican asociando una

determinada probabilidad a cada uno de sus posibles efectos. Eviden-

temente, las acciones no deterministas y/o probabilısticas requieren la

monitorizacion de la ejecucion para determinar el efecto que han tenido

en la realidad [Blythe 1994].

La segunda simplificacion consiste en considerar que las acciones son

instantaneas. Ignorar la duracion de las acciones representa un problema

en situaciones donde algunos recursos solo estan disponibles en deter-

minados momentos o donde alcanzar los objetivos solo es util en cier-

tos intervalos de tiempo [Coddington et al. 2001]. Ademas, el manejo

explıcito de acciones durativas [Fox y Derek 2003] permite precisar en

que momento durante la ejecucion de una accion son necesarias las pre-

condiciones y cuando aparecen los efectos. Los planificadores capaces de

Page 66: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

44 3.1. Introduccion

manejar tiempos reciben el nombre de planificadores temporales. A pe-

sar del importante aumento en la expresividad, estos planificadores se

suelen considerar como clasicos ya que usualmente no tienen en cuenta

la ejecucion de los planes. De hecho, la principal consecuencia de que las

acciones tengan duracion es que estas dejan de ser atomicas y, por lo

tanto, puede ser interrumpidas. Sin embargo, son pocos los sistemas que

manejan acciones durativas no deterministas.

• Asunciones sobre la percepcion. La percepcion del entorno es un

aspecto ignorado en la planificacion clasica puesto que se asume que

toda la informacion necesaria se conoce de antemano. Tanto en entor-

nos dinamicos como con informacion incompleta, la percepcion puede

ser a menudo la unica forma de alcanzar los objetivos. Los mecanismos

de los que dispone un agente de planificacion para adquirir informacion

sensorial son la monitorizacion y las acciones de sensorizacion (ver el

apartado 3.2 en este mismo capıtulo). Desafortunadamente, al igual que

los efectores que emplea el agente para actuar sobre el mundo, los sen-

sores tampoco son perfectos [Bacchus et al. 1999]. Se denomina, por lo

tanto, percepcion imperfecta cuando los sensores disponibles son ruidosos

y existe incertidumbre acerca de la informacion obtenida.

• Asunciones sobre los objetivos. Los problemas clasicos de planifi-

cacion se definen, entre otras cosas, por un conjunto de objetivos que

es necesario alcanzar. No se contempla que ocurre si alguno de dichos

objetivos no se puede conseguir: ¿es util tratar de alcanzar el resto de

objetivos?. En muchos problemas reales es preferible satisfacer parcial-

mente los objetivos antes que indicar que no hay solucion y dar por

concluido el proceso. Se dice que los objetivos son categoricos cuando to-

dos los objetivos deben satisfacerse necesariamente en el estado final y,

por lo tanto, el logro aislado de objetivos no aporta ningun valor [Pollack

y Horty 1999].

Una ultima simplificacion es asumir que los objetivos son estaticos, es de-

cir, que se mantienen invariables durante todo el proceso de planificacion

y ejecucion. Aunque en bastantes ocasiones es ası, en muchos problemas

reales los objetivos van cambiando con el tiempo: los objetivos que ya se

Page 67: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 45

han conseguido se eliminan, al tiempo que se le encargan nuevas tareas

al planificador [Haigh y Veloso 1996]. Los conceptos de satisfacibilidad

parcial y de objetivos dinamicos estan estrechamente unidos, ya que la

adicion incremental de objetivos implica que dichos objetivos tienen valor

por sı mismos.

Aunque estas asunciones son poco realistas en entornos dinamicos o con

incertidumbre, la planificacion clasica sigue jugando un papel muy impor-

tante. Por una parte, todas las aproximaciones practicas tienen su base en

tecnicas clasicas de planificacion. Ademas, existen muchos problemas reales

de planificacion (generalmente problemas de optimizacion) que no violan es-

tas simplificaciones: planificacion del recorrido de un taladro, programacion de

procesos industriales, diseno de campanas militares, control de crisis, asistentes

de actividades turısticas, etc.

Por otra parte, unas pequenas modificaciones pueden permitir utilizar pla-

nificadores clasicos para superar algunas de estas simplificaciones [Boutilier

2000]. Muchas veces es suficiente con emplear metodos de monitorizacion de

la ejecucion y replanificacion. De hecho, el primer trabajo importante que

integro un sistema de planificacion en un entorno real seguıa el paradigma

clasico. Este fue el proyecto del robot Shakey [Fikes y Nilsson 1971], de SRI

International. El robot Shakey disponıa de una camara de video, un medidor

de distancia por triangulacion y de sensores de contacto, y era capaz de mo-

verse por distintas habitaciones y mover objetos rıgidos (ver figura 3.2). Su

estructura de control se basaba en la de GPS (General Problem Solver [Ernst

y Newell 1969]) y en el sistema de demostracion de teoremas QA3 [Green

1969]. Pese a que el proyecto no produjo unos resultados practicos esperanza-

dores, dejo importantes legados dentro del area de la planificacion (el sistema

STRIPS, planificacion jerarquica, etc.)

Tras el proyecto Shakey, se han realizado importantes progresos con el fin

superar los obstaculos que supone la ejecucion de los planes en entornos reales.

En este capıtulo se describen las principales tecnicas que se han desarrollado

para superar las simplificaciones clasicas. Sin embargo, es necesario introdu-

cir primero una serie de conceptos nuevos relacionados con la percepcion del

entorno, que aparecen al tener en cuenta la ejecucion de los planes.

Page 68: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

46 3.2. Percepcion del entorno

Figura 3.2: Shakey: el primer sistema de planificacion y ejecucion

3.2. Percepcion del entorno

La percepcion consiste en la adquisicion e interpretacion de informacion

relevante del entorno mediante el uso de sensores. En los sistemas de pla-

nificacion clasica, la percepcion no es necesaria puesto que se asume que el

planificador dispone de toda la informacion necesaria de antemano y que los

planes transcurren siempre como esta previsto. Obviamente, cuando se gene-

ran planes con el objetivo de ejecutarlos en entornos reales, estas asunciones

son poco realistas. La percepcion, en estos casos, es el principal mecanismo

para garantizar el exito de la ejecucion de los planes.

Las dos tecnicas fundamentales para la percepcion del entorno son la mo-

nitorizacion y las acciones de sensorizacion. La monitorizacion trata de descu-

brir discrepancias entre el estado real del entorno y las creencias del planifica-

dor. Las acciones de sensorizacion, por el contrario, se emplean para suplir la

falta de informacion mediante la adquisicion del conocimiento necesario para

el proceso de planificacion. Estas dos tecnicas se describen mas detalladamente

en las siguientes secciones.

Page 69: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 47

3.2.1. Monitorizacion de la ejecucion

La monitorizacion de la ejecucion es el proceso de encontrar diferencias

significativas entre el estado real del entorno y las creencias que el planificador

tiene del mismo [De Giacomo et al. 1998]. Existen numerosas razones por las

que es conveniente integrar un proceso de monitorizacion en un sistema de

planificacion:

• Deteccion de fallos internos. Un mecanismo de monitorizacion puede

detectar comportamientos erroneos en la ejecucion ocasionados tanto por

fallos hardware como por errores software.

• Deteccion de contingencias. Ciertos eventos inesperados pueden in-

validar la ejecucion de un plan. La monitorizacion permite detectar tanto

cambios inesperados en el entorno como acciones cuyos efectos no han

sido los previstos.

• Deteccion de oportunidades. Durante la ejecucion de un plan pueden

aparecer situaciones ventajosas. Estas situaciones no invalidan necesaria-

mente la ejecucion del plan, aunque el planificador puede sacar provecho

de ellas para mejorar notablemente la calidad del plan.

• Seguimiento del estado. Algunos sistemas de planificacion, sobreto-

do aquellos con un comportamiento mas reactivo (ver apartado 3.3.3),

necesitan hacer un seguimiento continuo de la evolucion del entorno.

La implementacion de un modulo de monitorizacion en un sistema real re-

porta muchas ventajas, pero se enfrenta a dos grandes dificultades. La primera

de ellas se debe a los errores que generan los sensores y a las interpretacio-

nes incorrectas de la informacion percibida. Esta percepcion imperfecta del

entorno causa que el planificador tenga una impresion erronea del estado en

el que se encuentra y, por lo tanto, genere planes de baja calidad o incluso

planes invalidos. Las diversas soluciones propuestas a este problema se basan

principalmente en la determinacion estadıstica del estado mas probable. El sis-

tema Livingston [Williams y Nayak 1996], por ejemplo, hace un seguimiento de

los comandos enviados al sistema fısico, y compara el estado previsto con las

observaciones obtenidas por los sensores fısicos. En caso de detectar diferen-

cias significativas, Livingstone realiza un diagnostico del problema mediante

Page 70: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

48 3.2. Percepcion del entorno

la busqueda de la combinacion mas probable de los elementos del estado que

son consistentes con las observaciones.

Un sistema similar es MACKSI [Washington 2000], particularmente di-

senado para monitorizar vehıculos autonomos. Este sistema utiliza dos impor-

tantes tecnicas para estimar el estado mas probable: la diagnosis basada en

modelos cualitativos y los filtros Kalman. Ambas tecnicas se combinan para

superar las deficiencias que presentan por separado: las tecnicas basadas en

modelos cualitativos se basan en transiciones que llevan al sistema de un esta-

do a otro, mientras que la informacion percibida suele ser un flujo continuo de

valores que varıan rapidamente. Por otra parte, los filtros Kalman permiten

el estudio de multiples hipotesis, pero carecen de metodos para seleccionar

automaticamente los estados a estudiar.

Otro ejemplo es el sistema de monitorizacion de navegacion para el ro-

bot Xavier [Fernandez et al. 2004]. Este sistema trata los errores de posi-

cionamiento mediante una discretizacion continua de los estados basada en

POMDP (Procesos de Decision de Markov Parcialmente Observables) y filtros

de partıculas (un caso especial de filtros bayesianos). Existen tambien trabajos

que combinan diversos tipos de filtros para mejorar la eficiencia del sistema

de monitorizacion. En [Verma et al. 2003], por ejemplo, se combinan filtros

de partıculas y filtros Kalman para la monitorizacion de fallos en vehıculos

espaciales.

La segunda dificultad que debe afrontar un sistema de monitorizacion es

el coste asociado a la sensorizacion. La monitorizacion consume generalmente

tiempo y recursos, por lo que es importante estudiar que factores monitorizar y

cuando hacerlo. Generalmente, un sistema mınimo de monitorizacion verifica,

al menos, las precondiciones de las acciones del plan. Si no es posible moni-

torizar todas las precondiciones, se puede seleccionar solo un subconjunto de

ellas, de forma que se obtenga un equilibrio optimo entre el coste y la utili-

dad de la informacion adquirida. El modelo propuesto en [Boutilier 2000], por

ejemplo, formula este problema mediante POMDP. Para establecer los crite-

rios de decision, es necesario incluir en el modelo cierta informacion, como la

probabilidad de que una precondicion falle, o el coste de intentar realizar una

accion cuando sus precondiciones no se cumplen.

Page 71: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 49

Cuando la monitorizacion no supone un coste excesivo, es posible moni-

torizar otros elementos del entorno que le permitan al planificador descubrir

situaciones ventajosas para mejorar el plan. La tecnica RBM (rationale-based

monitoring [McCarthy y Pollack 2000]) define, por ejemplo, cuatro tipos de

elementos cuya monitorizacion puede influir en el proceso de planificacion:

• Subobjetivos. Se corresponden con precondiciones de las acciones.

• Condiciones de utilizacion. A diferencia de los subobjetivos, las con-

diciones de utilizacion representan condiciones que el planificador no

puede o no debe modificar.

• Condiciones cuantificadas. Representan precondiciones cuantificadas

universalmente, cuya extension es conveniente monitorizar durante la

ejecucion.

• Preferencias. Representan preferencias del usuario sobre la informa-

cion. Estas preferencias pueden especificarse directamente mediante re-

glas de control.

Por todas estas dificultades, la integracion de un modulo de monitorizacion

en un sistema de planificacion es todavıa una lınea abierta de investigacion.

Las eficiencia de las aproximaciones propuestas depende en gran medida del

sistema fısico sobre el que implemente, dificultando el desarrollo de soluciones

independientes del dominio.

3.2.2. Acciones de sensorizacion

Las acciones de sensorizacion permiten la planificacion en situaciones en

las que algunos hechos son inciertos o no se dispone de informacion completa

sobre el entorno (observabilidad parcial). Estas acciones se incluyen en el plan

para adquirir informacion sobre el entorno durante la ejecucion. Es frecuente,

por lo tanto, que los sistemas de planificacion que trabajan con acciones de

sensorizacion generen planes contingentes: dependiendo del resultado de la

ejecucion de una accion de sensorizacion se ejecutara una secuencia de acciones

u otra. En el apartado 3.3.2 se describe mas detalladamente esta aproximacion.

Page 72: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

50 3.2. Percepcion del entorno

La planificacion con acciones de sensorizacion requiere una serie de exten-

siones a la representacion clasica de las acciones y de los planes [Draper et al.

1994]:

• Es necesario representar que el planificador tiene informacion incompleta

sobre el estado del mundo.

• Es necesario diferenciar las acciones que realizan cambios en el entorno

de las acciones que modifican la informacion de estado que el planificador

tiene sobre el mundo.

• Es necesario poder representar planes cuyas acciones dependan de la

informacion obtenida durante la ejecucion.

Uno de los primeros planificadores que incorporo acciones de sensorizacion

para producir planes condicionales fue CNLP [Peot y Smith 1992]. Este sis-

tema permite representar informacion incierta mediante la palabra reservada

unknown. Las acciones de sensorizacion se emplean para comprobar si un de-

terminado hecho es cierto o falso. Supongamos, por ejemplo, que una persona

desea coger un avion, pero desconoce en que puerta de embarque se encuen-

tra. Cuando dicha persona esta frente a la pantalla de informacion de salidas,

puede comprobar si el avion se encuentra en una determinada puerta o no. La

sintaxis de CNLP para describir dicha accion es la siguiente:

(observe (observar-pantalla ?persona ?avion ?puerta)

pre: unknown(en-puerta ?acion ?puerta)

(frente-pantalla ?persona)

+ α1: (en-puerta ?avion ?puerta)

+ α2: ¬(en-puerta ?avion ?puerta)

Los efectos de las acciones de sensorizacion en CNLP (α1 y α2) son mu-

tuamente excluyentes y abarcan todos los posibles resultados de la accion. Es,

por lo tanto, un modelo de sensorizacion perfecta, pues no permite expresar

efectos inciertos en las acciones.

En el mismo ano se propuso tambien el formalismo UWL [Etzioni et al.

1992]. UWL es una extension del lenguaje STRIPS que permite trabajar con

informacion incompleta. UWL define el concepto de variables de ejecucion

Page 73: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 51

(run-time variables) para almacenar la informacion percibida del entorno. Es-

tas variables tienen inicialmente un valor desconocido hasta que su valor se

establece mediante una accion de sensorizacion. Las variables de ejecucion

pueden tomar cualquier valor dentro de su dominio, por lo que se reduce el

numero de acciones necesarias para averiguar la informacion deseada. Siguien-

do el ejemplo anterior, para averiguar que puerta utilizar para embarcar en el

avion solo harıa falta una accion de sensorizacion. Con CNLP, sin embargo, es

necesario comprobar cada una de las puertas hasta encontrar la correcta. La

sintaxis en UWL para la accion de sensorizacion del ejemplo es la siguiente:

name: (observar-pantalla ?persona ?avion !puerta)

preconds: (satisfy (frente-pantalla ?persona).T)

postconds: (observe (en-puerta ?avion !puerta).T)

Las variables de ejecucion se representan precedidas del signo de admira-

cion. La letra T que aparece tras los literales indica que deseamos el valor de

verdad True para dichos literales.

Al igual que STRIPS, el lenguaje UWL tambien se ha extendido para au-

mentar su expresividad. El lenguaje SADL [Golden y Weld 1996], por ejemplo,

combina UWL con elementos de ADL (como efectos condicionales y cuantifi-

cacion universal, descritos el apartado 2.2.2). SADL se ha empleado en el pla-

nificador XII [Golden et al. 1994]. Este planificador permite alcanzar objetivos

universalmente cuantificados y evita la ejecucion de acciones de sensorizacion

redundantes.

Tras la aparicion de Graphplan, la eficiencia de los planificadores contingen-

tes mejoro notablemente. El planificador SGP (Sensory Graphplan) [Weld et

al. 1998], por ejemplo, era capaz de resolver rapidamente problemas de tamano

reducido, algo de lo que los anteriores planificadores como CNLP y Cassandra

[Pryor y Collins 1996] no eran capaces. El modelo de sensorizacion de SGP

se denomina SSM. Ademas de los tradicionales efectos causales, las acciones

en SSM pueden tener cero o mas efectos observacionales. Estos efectos se es-

pecifican mediante la sintaxis (sense exp), donde exp es una expresion logica

arbitraria formada por proposiciones.

Pese a la existencia de muchas otras alternativas para representar acciones

de sensorizacion, como AK [Son y Baral 2001] o el propuesto en [Amir 2002],

no existe un estandar ampliamente aceptado. Se ha definido, sin embargo, una

Page 74: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

52 3.2. Percepcion del entorno

extension para el lenguaje estandar PDDL 2.1. Esta extension se denomina

NPDDL [Bertoli et al. 2003], y permite especificar las siguientes caracterısticas:

• Incertidumbre en el estado inicial. Los hechos y las variables numeri-

cas inicialmente inciertas se describen, como en otras aproximaciones,

mediante la clausula unknown. No obstante, para las variables numeri-

cas tambien es posible proporcionar una lista valores posibles, entre los

cuales se encontrara el valor real. Para ello se emplea la palabra reservada

oneof.

• Acciones no determinısticas. El no determinismo en las acciones se

modela mediante efectos inciertos, por lo que la aplicacion de una accion

sobre un mismo estado puede conducir a distintos estados. Los efectos

inciertos, al igual que la incertidumbre en el estado inicial, se expresan

mediante las clausulas unknown y oneof.

• Sensorizacion. NPPDL permite expresar la sensorizacion del entorno

de dos formas distintas. Una de ellas consiste en marcar una proposicion

o variable numerica como observable. De esta forma se indica que dicha

proposicion o variable se observa continuamente y de forma automatica.

La segunda opcion es definir una accion de sensorizacion, mediante la

palabra reservada observation. Estas acciones permiten modelar sensores

imperfectos, y se representan mediante formulas logicas parametrizadas.

En el ejemplo propuesto de encontrar la puerta de embarque de un avion,

se podrıa definir una accion que comprobara si la puerta correspondiente

es la puerta A. Si la persona se encuentra frente a la pantalla, dicha

accion devolvera verdadero o falso, dependiendo de si la puerta A es la

correcta o no. Si la persona no esta frente a la pantalla, el valor devuelto

sera indefinido. La sintaxis para dicha accion es la siguiente:

(:observation comprobar-avion-en-puertaA - :boolean

(and

(imply (comprobar-avion-en-puertaA)

(or (not (persona-frente-pantalla))

(avion-en-puertaA)))

(imply (not (comprobar-avion-en-puertaA))

Page 75: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 53

(or (not (persona-frente-pantalla))

(not (avion-en-puertaA))))))

Este lenguaje ha sido implementado en el planificador MBP (Model Based

Planner, [Bertoli et al. 2001b]). Ademas de las mejoras en la expresividad,

el rendimiento promedio de MBP ha sido superior al de otros planificadores

contingentes actuales, como QBFPLAN [Rintanen 1999a] o GPT [Bonet y

Geffner 2001a].

3.3. Tecnicas de planificacion practica

Desde principios de los anos 70 han ido surgiendo diferentes tecnicas pa-

ra facilitar la planificacion en entornos reales (dinamicos, no deterministas,

parcialmente observables, etc.) Entre estas tecnicas destacan las siguientes:

• Planificacion conforme (conformant planning). Esta tecnica permite

generar planes en entornos parcialmente observables, donde las condicio-

nes iniciales no son totalmente conocidas.

• Planificacion contingente. Esta tecnica genera planes en los que algu-

nas ramas se ejecutan condicionalmente, dependiendo de la informacion

adquirida durante la ejecucion.

• Planificacion reactiva. La planificacion reactiva hace referencia a aque-

llos sistemas que tienen una funcion capaz de recomendar una accion a

realizar segun el estado actual.

• Sistemas de planificacion y ejecucion. Esta tecnica alterna (o sola-

pa) las etapas de planificacion y ejecucion. El planificador, por lo tanto,

puede utilizar informacion que solo esta disponible en tiempo de ejecu-

cion.

Estas tecnicas tienen generalmente su base teorica en las aproximaciones

clasicas de planificacion. De hecho, son muchos los planificadores clasicos que

se han adaptado, mediante alguna de las citadas tecnicas, para aumentar su

funcionalidad practica.

Page 76: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

54 3.3. Tecnicas de planificacion practica

No existe, sin embargo, una tecnica de planificacion practica que sobresalga

sobre el resto. La seleccion de la tecnica mas apropiada depende fundamen-

talmente de las caracterısticas propias del entono. En los siguientes apartados

se describen mas detalladamente estas tecnicas y sus principales entornos de

aplicacion.

3.3.1. Planificacion conforme

La planificacion conforme (conformant planning) consiste en la generacion

de planes en situaciones con incertidumbre en el estado inicial y en los efectos

de las acciones, y sin la posibilidad de monitorizar la ejecucion del plan. Los

planes generados deberan tener exito independientemente del estado en el que

se encuentre el mundo inicialmente (dentro de un conjunto de estados posi-

bles). Esta tecnica es, por lo tanto, muy apropiada en entornos en los que la

sensorizacion es imposible o tiene un coste muy alto. Cuando la sensorizacion

es posible, sin embargo, la planificacion conforme presenta una gran desven-

taja: no siempre existe un plan conforme para resolver un problema, aunque

existan planes validos. Ademas, los planes conformes son habitualmente mas

largos y costosos que los obtenidos con tecnicas basadas en la observacion.

La figura 3.3 muestra un problema de navegacion de un robot que ilustra el

funcionamiento de esta tecnica. En la situacion inicial, el planificador conoce

la existencia de tres obstaculos pero existe la posibilidad de que hayan otros

tres obstaculos adicionales. Este problema tambien muestra la definicion de

varios estados finales, ya que el objetivo consiste en que el robot alcance una

de las casillas de la ultima fila. Puesto que los planificadores conformes son

capaces de razonar sobre disyunciones, la mayorıa de ellos tambien soporta la

definicion de diferentes estados objetivo.

El numero de estados iniciales posibles en el ejemplo es ocho, es decir, el

numero total de combinaciones de los tres posibles hechos inciertos. En gene-

ral, el numero de estados iniciales es 2i, donde i representa el numero de hechos

inciertos en el estado inicial. Esta explosion combinatoria aumenta significa-

tivamente la complejidad del proceso de planificacion. Existen principalmente

dos metodos para afrontar este problema:

• Realizar la busqueda del plan en todos los mundos simultaneamente.

Esta es la opcion que siguen la mayorıa de planificadores conformes.

Page 77: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 55

Figura 3.3: Problema de navegacion de un robot en el que existe incertidumbresobre la existencia de varios obstaculos.

• Generar el plan en un mundo y extenderlo al resto. La principal dificultad

que presenta esta aproximacion es la forma de limitar el numero de planes

posibles, pero invalidos, que genera el planificador.

Los primeros planificadores capaces de generar planes conformes fueron

en realidad planificadores probabilısticos (descritos en la seccion 3.3.2). Entre

estos planificadores destacaron BURIDAN [Kushmerick et al. 1995], su exten-

sion C-BURIDAN [Draper et al. 1994] - que anadıa el soporte para acciones

de sensorizacion -, y UDTPOP [Peot 1998]. Uno de los primeros planificadores

conformes no probabilısticos fue CGP (Conformant Graphplan, [Smith y Weld

1998]). CGP es un planificador basado en Graphplan, y se basa en la idea de

generar un grafo distinto para cada mundo posible. La eficiencia, muy baja en

los anteriores planificadores, se mejora notablemente mediante el estudio de

interacciones problematicas y el calculo de relaciones de exclusion mutua en-

tre los diferentes mundos. CGP sigue el primer metodo que hemos comentado,

buscando los objetivos en todos los mundos posibles al mismo tiempo.

Siguiendo tambien el primer metodo, tambien se han desarrollado planifi-

cadores conformes basados en BDDs (arboles de decision binarios). El planifi-

cador CMBP [Cimatti y Roveri 2000], por ejemplo, codifica todos los posibles

estados iniciales del mundo en un BDD. La aplicacion de una accion sobre

Page 78: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

56 3.3. Tecnicas de planificacion practica

el BDD inicial genera un nuevo BDD que representa el resultado de dicha

accion para cada posible estado inicial. HSCP [Bertoli et al. 2001a], suce-

sor de CMBP, combina la representacion compacta mediante BDDs con una

busqueda heurıstica regresiva. La busqueda heurıstica mejora la eficiencia a

costa de perder la admisibilidad (CMBP realiza una busqueda en anchura).

Un ultimo miembro de esta familia de planificadores es KACMBP [Bertoli

y Cimatti 2002]. Este planificador tambien realiza una busqueda heurıstica,

aunque con encadenamiento hacia adelante. La busqueda se apoya, ademas,

en un sofisticado analisis de alcanzabilidad. Otro importante planificador con-

forme heurıstico es GPT (General Planning Tool, [Bonet y Geffner 2001a]).

GPT es, no obstante, un planificador optimo, pues emplea una busqueda A∗.

La heurıstica admisible se calcula como una estimacion del coste maximo de

alcanzar los objetivos desde cualquiera de los posibles estados del mundo.

Aunque en menor medida, tambien se han desarrollado planificadores con-

formes basados en el segundo metodo que hemos comentado: generar el plan

en un mundo y extenderlo al resto. C-Plan [Castellini et al. 2001], por ejem-

plo, genera planes que alcanzan los objetivos desde, al menos, un estado inicial

posible, siguiendo una aproximacion SAT. La validez de dicho plan como plan

conforme se contrasta con el resto de estados posibles. A diferencia de esta

tecnica de prueba y error, el planificador fragPlan [Kurien et al. 2002] trata de

crear un plan conforme valido mediante el ensamblaje de fragmentos de plan

que alcanzan los objetivos en cada mundo posible.

En la actualidad, algunos autores estan intentando extender diversos pla-

nificadores clasicos para soportar la planificacion conforme. Ejemplos de esta

practica son los planificadores Conformant-FF [Brafman y Hoffmann 2004]

y CAltAlt [Bryce y Kambhampati 2004]. Ambos planificadores heredan la

eficiencia de sus predecesores clasicos (FF y AltAlt respectivamente) y, por

termino medio, mejoran las prestaciones del resto de planificadores conformes

actuales.

3.3.2. Planificacion contingente

La planificacion contingente consiste en la generacion de planes en los que

algunas ramas se ejecutan condicionalmente, dependiendo de la informacion

obtenida del entorno en tiempo de ejecucion. Los planes contingentes, por lo

Page 79: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 57

tanto, estan preparados para la aparicion de un reducido numero de posibles

problemas previstos de antemano.

Para la generacion de estos planes, sin embargo, existen dos grandes apro-

ximaciones: la planificacion condicional y la probabilıstica. La planificacion

condicional asume que el planificador no conoce la probabilidad de los distin-

tos resultados que puede producir una accion. Emplea, por lo tanto, acciones

de sensorizacion para descubrir los efectos inesperados de las acciones, ası como

informacion necesaria que inicialmente desconoce. La planificacion probabilısti-

ca, por el contrario, no observa el entorno explıcitamente, pues asume que

conoce la probabilidad de que una accion tenga un determinado resultado.

Estas dos aproximaciones se describen a continuacion con mas detalle.

Planificacion condicional

La planificacion condicional se basa en la introduccion en el plan de acciones

de sensorizacion como mecanismo para adquirir la informacion no disponible

durante el proceso de planificacion, y para hacer frente a un numero limitado

de posibles resultados erroneos de las acciones. Los planes condicionales no se

representan como una secuencia de acciones, sino como programas complejos

con sentencias condicionales y bucles. La secuencia final de acciones ejecutadas

depende del resultado de las acciones de sensorizacion realizadas durante la

ejecucion.

El primer planificador condicional fue Warplan-C [Warren 1976]. Warplan-

C extiende STRIPS para representar acciones condicionales. Estas acciones

tienen dos resultados posibles: P o ¬P . En la primera etapa de planificacion,

Warplan-C genera un plan secuencial, suponiendo que las acciones condicio-

nales solo tienen el resultado P . En las siguientes etapas se va completando el

plan condicional, generando las correspondientes ramas para las alternativas

no consideradas.

Una variante de Warplan-C es el planificador SENSp [Etzioni et al. 1992].

El lenguaje que emplea es el UWL, descrito en la seccion 3.2.2. Al igual que

su predecesor, SENSp estudia sucesivamente las diferentes alternativas. En

SENSp, sin embargo, las alternativas se crean al asignar los diferentes valo-

res posibles a variables de ejecucion. Otro ejemplo es el planificador CNLP

[Peot y Smith 1992], que hereda de Warplan-C la forma de definir acciones

Page 80: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

58 3.3. Tecnicas de planificacion practica

condicionales (en la seccion 3.2.2 se comenta su sintaxis con mas detalle). La

aproximacion, no obstante, es distinta, pues CNLP se basa en planificacion de

orden parcial.

Actualmente no existen apenas soluciones basadas en la planificacion condi-

cional. Entre los sistemas mas recientes destacan el planificador lineal regresivo

Plinth [Goldman y Boddy 1994a] y el planificador de orden parcial Cassan-

dra [Pryor y Collins 1996]. El principal problema de la planificacion es que

la complejidad de los planes se incrementa exponencialmente en funcion del

numero de acciones condicionales introducidas. La compleja estructura de los

planes condicionales y la imposibilidad de manejar sensores imperfectos son

otros factores negativos de esta aproximacion.

Planificacion probabilıstica

La planificacion probabilıstica establece distribuciones de probabilidad pa-

ra modelar la incertidumbre en los dominios. Conociendo estas distribuciones

no es necesario intercalar en el plan acciones de sensorizacion aunque, eso sı,

es necesario monitorizar la ejecucion para descubrir los resultados reales de las

acciones. Los planes se representan generalmente mediante cadenas de Markov,

en las que las transiciones entre estados se etiquetan mediante su probabili-

dad asociada. No es posible, sin embargo, tener en cuenta todas las posibles

contingencias, sino solo las mas probables. La correctitud de un plan, por lo

tanto, se define en funcion de su probabilidad de exito.

La incertidumbre en un dominio puede aparecer principalmente de tres

formas [Blythe 1994]:

• Efectos no deterministas en las acciones, que se expresan mediante dis-

tribuciones de probabilidad.

• Incertidumbre acerca de las condiciones iniciales del problema.

• Incertidumbre sobre estados futuros debido a la ocurrencia de eventos

externos.

Para expresar estas nuevas caracterısticas es necesario, por lo tanto, de-

finir nuevos formalismos o nuevas extensiones para lenguajes existentes. Son

pocos los lenguajes proposicionales propuestos para modelar la incertidumbre

Page 81: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 59

en los dominios. Recientemente, sin embargo, se ha presentado una exten-

sion al lenguaje PDDL que probablemente se convierta en un estandar para

la planificacion probabilıstica: el lenguaje PPDDL [Younes 2003]. Aparte de

las numerosas caracterısticas que soporta la version de PDDL 2.1, PPDDL

permite especificar probabilidades en las condiciones iniciales y en los efectos

de las acciones, y la definicion de recompensas. La version 1.0 de PPDDL se

empleo en la primera competicion de planificacion probabilıstica [Littman y

Younes 2004]. El grado de expresividad que se puede obtener es muy elevado,

como lo demuestra el siguiente ejemplo de definicion de un operador:

(:action drive-truck

:parameters (?t - truck ?src - city ?dst - city)

:precondition (and (truck-at-city ?t ?src)

(can-drive ?src ?dst)

)

:effect (and (not (truck-at-city ?t ?src))

(probabilistic

0.2 (forall (?wrongdst1 - city)

(when (wrong-drive1 ?src ?wrongdst1)

(forall (?wrongdst2 - city)

(when (wrong-drive2 ?src ?wrongdst2)

(forall (?wrongdst3 - city)

(when (wrong-drive3 ?src ?wrongdst3)

(probabilistic

1/3 (truck-at-city ?t ?wrongdst1)

1/3 (truck-at-city ?t ?wrongdst2)

1/3 (truck-at-city ?t ?wrongdst3)

)

))))))

0.8 (truck-at-city ?t ?dst)

)

)

)

Este operador pertenece al dominio Boxworld, version probabilıstica del

dominio clasico Logistics, empleado en la citada competicion. Este operador

Page 82: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

60 3.3. Tecnicas de planificacion practica

muestra que al conducir un camion entre dos ciudades, la probabilidad de

alcanzar el destino correcto es del 80%. En el otro 20% de los casos, el camion

alcanzara un destino erroneo, seleccionado de forma equiprobable de entre tres

ciudades existentes.

A diferencia de la planificacion condicional, la planificacion probabilıstica

es un area de investigacion muy activa en la actualidad. Son numerosos, sin

embargo, los planificadores probabilısticos que permiten generar planes condi-

cionales (C-Buridan, Plinth, Weaver [Blythe 1998], etc.). La competicion de

planificacion probabilıstica tambien ha permitido conocer muchas de las ten-

dencias actuales. Los sistemas basados en procesos de decision de Markov si-

guen predominando. La resolucion de los MDPs se realiza tanto con tecnicas de

programacion dinamica como con algoritmos de busqueda heurıstica. Basados

en programacion dinamica destacan los planificadores FCPlanner [Holldobler

y Skvortsova 2004] o el descrito en [Teichteil-Konigsbuch y Fabiani 2004], que

emplean tecnicas como la abstraccion de estados para mejorar la eficiencia. Por

el contrario, los planificadores mGPT [Bonet y Geffner 2004] y el presentado

en [Feng et al. 2004] emplean diversas heurısticas para dirigir la busqueda.

Aparte de los procesos de decision de Markov, hay otras tecnicas aplica-

bles a la planificacion probabilıstica que ofrecen un buen rendimiento. Existen,

por ejemplo, planificadores como MAXPLAN [Majercik y Littman 1998] que

utilizan versiones probabilısticas de algoritmos SAT. Tambien es posible en-

contrar planificadores de orden parcial como Probapop [Onder et al. 2004],

version probabilıstica de VHPOP que, ademas, puede emplearse como plani-

ficador conforme. Diversas tecnicas dependientes del dominio tambien se han

trasladado con exito a la planificacion probabilıstica. Por ejemplo, NMRDPP

[Gretton et al. 2003] usa reglas de control especıficas del dominio, mientras que

el planificador descrito en [Fern et al. 2003] mejora iterativamente la polıtica

de control mediante metodos de aprendizaje y simulacion.

3.3.3. Planificacion reactiva

La planificacion reactiva hace referencia a aquellos sistemas que tienen una

funcion (implementado como una tabla o como un conjunto de reglas) capaz

de recomendar una accion a realizar dependiendo del estado actual. La dis-

ponibilidad de una funcion que describa el comportamiento del sistema ante

Page 83: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 61

cualquier situacion simplifica el problema de trabajar en dominios dinamicos

y/o inaccesibles. Ademas, permite generar respuestas casi inmediatas en situa-

ciones de emergencia o, simplemente, cuando el tiempo disponible para actuar

sobre el entorno es reducido.

Una de las primeras aproximaciones reactivas que surgio fue la planifica-

cion universal [Schoppers 1987]. Un plan universal se define como una funcion

arbitraria cuyo dominio es el conjunto de posibles situaciones y cuyo codomi-

nio es el conjunto de las acciones posibles. Estos planes se suelen representar

como arboles de decision binarios (BDDs), y pueden sintetizarse automati-

camente mediante planificadores clasicos. Sin embargo, el elevado numero de

posibles situaciones hace su uso impracticable incluso en problemas pequenos

[Ginsberg 1989].

Existen diferentes propuestas para afrontar este problema. La arquitectu-

ra ERE (Entropy Reduction Engine [Drummond et al. 1991]), por ejemplo,

descompone jerarquicamente el sistema en tres componentes independientes.

Cada uno de estos componentes (ver figura 3.4) estudia el problema desde un

nivel distinto de abstraccion:

Figura 3.4: Arquitectura ERE para el calculo y la ejecucion de planes reactivos.

• El reactor. Dispone de un conjunto de reglas de control de la forma

〈estado〉 & 〈objetivo〉 −→ 〈accion〉. La labor del reactor es la de selec-

cionar una regla aplicable y ejecutar la accion correspondiente.

• El proyector. Produce planes y compila las reglas de control para las

situaciones mas probables. Este proceso tiene en cuenta tanto los cambios

controlables del entorno como los producidos por agentes externos.

Page 84: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

62 3.3. Tecnicas de planificacion practica

• El reductor. Descompone el problema en subproblemas mas pequenos.

La proyeccion se realiza entonces de forma local, lo que evita la inefi-

ciencia que supone considerar el problema de forma global.

Como se puede observar, ERE es una arquitectura hıbrida que integra una

parte deliberativa con una parte reactiva. Las arquitecturas hıbridas son, en

general, la solucion mas habitual para superar los problemas de la planificacion

reactiva. De esta forma, el sistema es capaz de reaccionar rapidamente ante

las posibles situaciones, a la vez que emplea metodos de razonamiento para

mejorar la probabilidad de exito del plan. Una opcion interesante es disponer

de un algoritmo anytime, capaz de mejorar monotonicamente la probabilidad

de satisfaccion de los objetivos en funcion del tiempo empleado. Esta clase

general de algoritmos de planificacion reciben el nombre de algoritmos RFS

(Reaction-First Search [Drummond et al. 1993]).

Existen diversos ejemplos de sistemas reactivos basados en arquitecturas

hıbridas. XFRM [McDermott 1992], por ejemplo, es un sistema que dispone de

una librerıa de planes que le permite resolver los problemas. La planificacion

se convierte entonces en un proceso de mejora de los planes y de anticipacion y

prevision de fallos. Con un planteamiento similar, es posible encontrar sistemas

mas recientes, como APPEAL [Belker et al. 2004] o RAX-PS [Jonsson et al.

2000], destinados al control de robots autonomos. El sistema RAP (Reactive

Action Packages [Firby 1994]) hace un uso diferente de la librerıa de planes.

RAP hace uso de jerarquıas de control para la reutilizacion de planes. Aunque

los objetivos de alto nivel son diferentes entre problemas diferentes, muchas

de las tareas de bajo nivel comparten los mismos subobjetivos.

La planificacion reactiva, por lo tanto, generalmente se integra como parte

de la arquitectura de un sistema de ejecucion/monitorizacion mas complejo.

La relacion entre este tipo de sistemas y los sistemas basados en agentes ha

permitido a diversos autores combinar ambas areas. MACTA [Aylett et al.

1998], por ejemplo, es una arquitectura multiagente que emplea tecnicas de

planificacion deliberativa para coordinar varios agentes reactivos. La colabo-

racion entre estos agentes permite la consecucion de tareas mas complejas.

Otro ejemplo es el sistema PRS (Procedural Reasoning System [Myers 1996]),

que combina la planificacion reactiva y deliberativa dentro de una arquitectura

BDI (Belief, Desires, Intentions [Rao y Georgeff 1991]).

Page 85: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 63

3.3.4. Sistemas de planificacion y ejecucion

En las aproximaciones que hemos visto hasta ahora (a excepcion de los sis-

temas reactivos hıbridos), los planes se generan antes de comenzar su ejecucion

(ver figura 3.5 [Washington 1995]). Los planificadores que siguen este esque-

ma reciben el nombre de planificadores off-line, y el principal inconveniente

que presentan es la necesidad de conocer todas las posibles contingencias de

antemano para elaborar una respuesta apropiada para cada una de ellas. Los

sistemas de planificacion y ejecucion, tambien denominados sistemas on-line,

alternan (o solapan) las etapas de planificacion y ejecucion para abordar efi-

cientemente este problema. De esta forma, los sistemas de planificacion on-line

pueden adaptar el plan durante la ejecucion a las posibles situaciones inespe-

radas que puedan surgir. Ademas, pueden utilizar la informacion adquirida

durante la ejecucion para mejorar los planes iniciales.

Figura 3.5: Esquema de planificacion off-line. El planificador se invoca una vezy genera un plan que ejecutara el reactor.

Los sistemas de planificacion on-line pueden clasificarse en tres categorıas:

• Planificacion y ejecucion alternada. Las etapas de planificacion y

ejecucion se suceden de forma alternada.

• Planificacion y ejecucion concurrente. Las etapas de planificacion

se realizan en paralelo con la ejecucion.

• Planificacion en tiempo real. Son sistemas con tiempo restringido

para actuar sobre el entorno. Estos sistemas pueden pertenecer a cual-

quiera de las dos categorıas anteriores.

Estas categorıas se describen con mas detalle en esta seccion. Es conve-

niente, sin embargo, comentar previamente una de las tecnicas mas empleadas

Page 86: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

64 3.3. Tecnicas de planificacion practica

para adaptar los planes a las nuevas situaciones: la replanificacion. Esta tecni-

ca, que se describe en el siguiente apartado, puede encontrarse integrada en

muchos sistemas de planificacion on-line.

Replanificacion

En lugar de calcular un plan completamente nuevo, la replanificacion trata

de modificar el plan inicial cuando este deja de ser valido. De esta forma se evi-

ta la repeticion del esfuerzo de planificacion, ya que, normalmente, el problema

original es muy similar al nuevo problema que se plantea. Modificar un plan,

sin embargo, no es una tarea sencilla. Se puede demostrar que, en el peor de los

casos, la replanificacion es un proceso tan costoso como la planificacion desde

cero [Nebel y Koehler 1995]. En muchas ocasiones, no obstante, la replanifi-

cacion permite obtener importantes ahorros de tiempo y, consecuentemente,

una respuesta mas rapida ante situaciones inesperadas.

Son numerosos los sistemas que integran un modulo de replanificacion. La

gran mayorıa de replanificadores, sin embargo, pueden clasificarse dentro de

una de las siguientes aproximaciones:

• Reparacion del plan original. Esta tecnica trata de reparar el plan

original mediante la introduccion de cambios en las partes conflictivas

del mismo. El sistema SPA [Hanks y Weld 1995], por ejemplo, integra

un replanificador POCL que anade y elimina acciones, cambia el orden

de las acciones en el plan y modifica la asignacion de valores de algunas

variables. El replanificador integrado en SIPE-2 [Wilkins 1990], por el

contrario, elimina subplanes para reemplazarlos por otros mejores. El sis-

tema GORDIUS [Simmons 1988] emplea tecnicas de razonamiento para

detectar conflictos en las dependencias causales y repararlos mediante

estrategias independientes del dominio.

Mas recientemente, el replanificador LS-ADJUST-PLAN [Gerevini y Se-

rina 2000] emplea un algoritmo mas complejo basado en dos tecnicas de

busqueda local. La primera de ellas revisa las porciones del plan que

presentan inconsistencias. Estas porciones se delimitan mediante venta-

nas temporales, que definen un subproblema que se resuelve mediante

algoritmos de busqueda sistematica. La ventana puede expandirse hasta

Page 87: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 65

contener, en el pero caso, todo el plan. La segunda tecnica realiza una

busqueda en ciertos subgrafos del grafo de planificacion, el cual se genera

a partir del nuevo problema y del plan original.

Otro ejemplo es el replanificador integrado en SimPlanner v1.0 [Onain-

dia et al. 2001] [Sapena y Onaindia 2002b]. Este replanificador emplea

tecnicas heurısticas para descubrir que parte del plan original puede reu-

tilizarse. Es necesario, entonces, calcular un plan desde el estado actual

hasta el estado necesario para ejecutar la parte aprovechable del plan

original. Este problema es, usualmente, menos costoso que el calculo de

un nuevo plan completo.

• Reutilizacion de calculos. Esta tecnica consiste en la reutilizacion

de los calculos realizados durante el proceso inicial de planificacion. El

sistema SHERPA [Koenig et al. 2002] permite aplicar esta tecnica en una

gran variedad de planificadores heurısticos, asegurando que la calidad de

los planes obtenidos es tan buena como la que se obtendrıa planificando

desde cero. El ahorro temporal, sin embargo, es muy importante, llegando

hasta un 85 % en algunos casos.

• Librerıas de planes. Los sistemas basados en esta tecnica almace-

nan un conjunto de planes junto con explicaciones sobre su utilidad, los

problemas que evitan, los objetivos que satisfacen, etc. Cuando el plan

original falla, se evalua el problema y se decide si algun plan de la li-

brerıa puede ayudar a resolverlo. Muchos de estos sistemas son capaces

de generar automaticamente esta librerıa de planes mediante tecnicas de

aprendizaje y entrenamientos.

Existen numerosos sistemas que integran modulos de replanificacion ba-

sados en librerıas de planes. Destacan, por ejemplo, los sistemas CHEF

[Hammond 1986], PRIAR [Kambhampati y Hendler 1992], MRL [Koeh-

ler 1993], NoLimit [Veloso 1994], DERSNLP+EBL [Ihrig y Kambham-

pati 1997] y CBPOP [Britanikand y Marefat 2004].

Planificacion y ejecucion alternada

Los sistemas de planificacion y ejecucion alternada son sistemas en los que

las etapas de planificacion y ejecucion se suceden de forma alternada [Koenig

Page 88: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

66 3.3. Tecnicas de planificacion practica

2002] (ver figura 3.6). Estos sistemas integran generalmente mecanismos de

monitorizacion de la ejecucion y soporte para acciones de sensorizacion. De

esta forma, en cada etapa de planificacion se puede tener en cuenta la infor-

macion percibida del entorno con anterioridad. El principal inconveniente de

esta aproximacion es, sin embargo, que las etapas de planificacion deben ser

breves para evitar saltos en la ejecucion. Cuanto mas pequeno es el tiempo

dedicado en cada etapa de planificacion, mejor es la reactividad del sistema

y la sensacion de fluidez de la ejecucion. Por esta razon, muchos sistemas de

planificacion y ejecucion alternada hacen uso de mecanismos de replanificacion

para reducir el tiempo de planificacion en caso de la aparicion de algun evento

inesperado.

Figura 3.6: Esquema de planificacion y ejecucion alternadas.

Los primeros sistemas de planificacion y ejecucion alternada estaban ba-

sados en tecnicas de planificacion de orden parcial (POCL). Al contrario que

los planificadores condicionales, estos sistemas esperaban hasta recibir la in-

formacion necesaria del entorno para proseguir con la construccion del plan,

ahorrando de esta forma mucho esfuerzo de planificacion. Entre estos sistemas

destacan IPEM [Ambros-Ingerson y Steel 1988] y sus sucesores SAGE [Kno-

block 1995], XII [Golden et al. 1994] y PUCCINI [Golden 1998], basados en

el planificador UCPOP. La reactividad de estos sistemas es bastante reducida,

puesto que solo ejecutan los pasos del plan cuando ya no es posible planifi-

car mas. El caso del sistema SIPE-2 [Wilkins 1990] es todavıa mas extremo,

pues genera un plan completo y solo detiene la ejecucion para reparar el plan

cuando ocurre un evento que lo invalida.

El problema de decidir cuando parar de planificar y comenzar la ejecucion

no es sencillo [Goodwin 1994]. Cuanto mas tiempo se dedica a la planificacion,

Page 89: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 67

mayores son las probabilidades de exito de alcanzar los objetivos, pero la re-

actividad disminuye. No existe una solucion optima pues el comportamiento

deseado depende del problema a resolver. Sistemas mas recientes como Occam

[Kwok y Weld 1996] - optimizado para la adquisicion de informacion en Inter-

net -, ROGUE [Haigh y Veloso 1996] - arquitectura que integra el planificador

PRODIGY 4.0 en un entorno de robots moviles -, CFOR [Zhang y Gratch

1999] y HITaP [Paolucci et al. 2000] - sistemas de planificacion en entornos

multiagente -, presentan un comportamiento mas reactivo que los anteriormen-

te mencionados. El planificador SimPlanner v2.0 [Sapena y Onaindia 2002c]

[Sapena y Onaindia 2002a] disminuye al maximo la duracion de las etapas de

planificacion, ejecutando las acciones nada mas estan disponibles. Se consigue

ası una mayor reactividad, aunque la calidad de los planes resulta, a veces,

inferior que con otras aproximaciones.

Planificacion y ejecucion concurrente

Los sistemas que siguen esta aproximacion solapan los procesos de pla-

nificacion y ejecucion. La figura 3.7 muestra los dos modelos fundamentales

[Washington 1995] que se utilizan en los sistemas de planificacion y ejecucion

concurrente. Estos sistemas ofrecen diversas ventajas frente a los sistemas de

planificacion y ejecucion alternada, como una mayor reactividad y un menor

tiempo total de planificacion/ejecucion, pero su implementacion es mucho mas

costosa.

Figura 3.7: Modelos de planificacion y ejecucion concurrente: a) El planifi-cador recibe informacion del entorno pero trabaja aislado. b) El planificadorincorpora continuamente informacion del entorno.

Page 90: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

68 3.3. Tecnicas de planificacion practica

La complejidad de estos sistemas es probablemente la causa de que, aun

existiendo diversas propuestas [Washington 1995], sean muy pocos los siste-

mas deliberativos basados en esta aproximacion que se han desarrollado. Los

sistemas de planificacion y ejecucion concurrente se encuentran habitualmente

formando parte de arquitecturas semi-reactivas, como las basadas en algorit-

mos RFS (descritos en la seccion 3.3.3). En estas arquitecturas, la planificacion

se emplea como apoyo de un sistema reactivo capaz de actuar por sı mismo

[Matellan y Borrajo 1998].

Planificacion en tiempo real

Los sistemas de planificacion en tiempo real hacen referencia a sistemas que

tienen restricciones de tiempo para actuar sobre el entorno. Probablemente, la

mejor forma de limitar el tiempo de planificacion es recurrir al uso de algorit-

mos de planificacion anytime [Briggs y Cook 1999]. Estos algoritmos pueden

proporcionar una respuesta en cualquier momento, y la calidad de la respuesta

mejora monotonicamente en funcion del tiempo empleado. Pese a las evidentes

ventajas de estos algoritmos, los sistemas de planificacion anytime tienen que

afrontar la dificultad de trabajar con planes incompletos [Hawes 2001]:

• Cuando el planificador no dispone de tiempo para calcular un plan com-

pleto, debe trabajar con planes parciales. Asegurar que la calidad de los

planes parciales va mejorando con el tiempo es un problema complejo que

generalmente se resuelve de forma aproximada mediante estimaciones.

• Probablemente la mayor dificultad reside en asegurar que el plan parcial

calculado puede extenderse hasta una solucion. Si no es posible asegurar

esto, el sistema puede alcanzar una situacion desde la que no es posible

alcanzar los objetivos (dead-end).

• Dependiendo de la aproximacion empleada, la ejecucion de un plan par-

cial puede suponer un problema complejo. Algunos sistemas hacen uso

de planes precompilados o de reglas de control para manejar las partes

incompletas del plan.

Dejando a un lado las aproximaciones reactivas hıbridas (que se comenta-

ron en la seccion 3.3.3), es posible encontrar varios planificadores capaces de

Page 91: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

3. Planificacion practica 69

manejar restricciones temporales. Basados en procesos de decision de Markov

(MDPs), destacan los planificadores probabilısticos Plexus [Dean et al. 1995]

y PASCALE-2 [Thiebaux et al. 1995]. Plexus valida y repara periodicamen-

te el plan en ejecucion, y permite tanto alternar como solapar las etapas de

planificacion y ejecucion. PASCALE-2 se basa en el modelo de planificacion y

ejecucion concurrente, y permite dejar inacabados los planes para terminarlos

y mejorarlos mas tarde.

Mas recientemente se han desarrollado dos planificadores basados en el mo-

delo de planificacion y ejecucion alternada: A-UCMP [Hawes 2001] e IXTET -

EXEC [Lemai y Ingrand 2004]. A-UCMP es un planificador anytime jerarqui-

co, disenado para su incorporacion en juegos de ordenador. IXTET -EXEC es

un planificador temporal esta basado en tecnicas de planificacion de orden par-

cial (POCL) y de satisfaccion de restricciones (CSPs). Este planificador recibe

informacion sobre el exito o fracaso de la ejecucion de cada accion, ası como

una descripcion parcial del estado del sistema. En caso de fallo o de un cambio

en los objetivos, un modulo de replanificacion se encarga de adaptar el plan.

3.4. Conclusiones

Cuando se considera la aplicacion de tecnicas de planificacion en entor-

nos reales, es imprescindible tener en cuenta los aspectos relacionados con la

ejecucion de los planes. La planificacion clasica ignora estos aspectos, reali-

zando diversas simplificaciones poco realistas, como que el entorno es estatico,

determinista y completamente observable. Para intentar superar estas sim-

plificaciones, se han desarrollado numerosos trabajos de investigacion que se

engloban generalmente bajo el nombre de planificacion practica.

Las investigaciones sobre los aspectos practicos de la planificacion se han

llevado a cabo en dos vertientes muy relacionadas: la mejora de la expresi-

vidad de los lenguajes de especificacion y el desarrollo de nuevas tecnicas de

planificacion. Respecto a las mejoras en la expresividad, los nuevos lenguajes

propuestos, como SADL o PPDDL, permiten modelar la incertidumbre en los

dominios, acciones de sensorizacion, y otras caracterısticas de gran utilidad en

entornos reales.

Page 92: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

70 3.4. Conclusiones

Son numerosas tambien las tecnicas que, desde los anos 70, han ido surgien-

do para superar las asunciones clasicas. Estas tecnicas, sin embargo, pueden

dividirse en dos grandes grupos: off-line y on-line. Las tecnicas de planificacion

off-line calculan un plan completo antes de ejecutarlo. Por este motivo, es ne-

cesario conocer de alguna forma las posibles contingencias que pueden ocurrir

durante la ejecucion. Entre estas tecnicas destacan la planificacion conforme,

que permite manejar cierto grado de incertidumbre en el estado inicial, la

planificacion contingente, que genera planes en los que algunas ramas se eje-

cutan condicionalmente segun la informacion percibida durante la ejecucion,

y la planificacion reactiva, que calcula la reaccion del sistema ante las posibles

situaciones.

La planificacion on-line, por el contrario, permite que el proceso de pla-

nificacion se alterne (o se solape) con la ejecucion. De esta forma es posible

utilizar la informacion recibida del entorno para mejorar y reparar los planes

en ejecucion. El numero de contingencias que se pueden manejar ası es mucho

mayor que en la planificacion off-line y, al no tener que prever anticipadamente

dichas contingencias, el esfuerzo de planificacion es mucho menor.

Los planificadores on-line, por su naturaleza, forman parte de la arqui-

tectura de sistemas de ejecucion y monitorizacion mas complejos. Algunos de

estos sistemas son sistemas reactivos hıbridos, en los que el planificador se

emplea para mejorar la probabilidad de exito de un modulo reactivo, capaz

de actuar por sı solo. Otros sistemas son totalmente deliberativos. Para me-

jorar la reactividad, estos sistemas recurren generalmente a mecanismos de

replanificacion y/o al uso de algoritmos anytime. Los planificadores on-line

anytime son, probablemente, una de las soluciones mas completas dentro de la

planificacion practica pues, ademas de abordar las principales simplificaciones

clasicas, ofrecen un alto grado de reactividad y la posibilidad de trabajar con

plazos de tiempo limitados.

Page 93: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 4

Arquitectura del sistema

Este capıtulo se centra en la arquitectura del sistema de planificacion Sim-

Planner v3.0 [Sapena et al. 2004] [Sapena y Onaindia 2004]. Este sistema, al

igual que otros sistemas on-line existentes, integra un componente de plani-

ficacion dentro de una arquitectura que permite llevar a cabo (o simular) la

ejecucion y monitorizacion de los planes. Mientras que en los siguientes capıtu-

los de esta tesis se describe el algoritmo de planificacion, en este capıtulo se

ofrece una vision general del sistema, definiendo los modulos que lo componen

y como se comunican entre ellos.

4.1. Introduccion

El proyecto inicial de SimPlanner surgio de la necesidad de integrar un pla-

nificador en un sistema multiagente [Soler et al. 2000]. La aplicacion practica

de este sistema consistıa en el control de varios robots moviles (ver Figura 4.1)

que debıan ser capaces de desplazarse por una planta de despachos, realizando

tareas tales como el reparto del correo.

Figura 4.1: Robot movil (modelo Pioneer 2) empleado en el sistema.

71

Page 94: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

72 4.1. Introduccion

La idea inicial fue desarrollar un agente basado en un planificador clasico,

al estilo de FF, STAN o 4SP (un planificador de orden parcial desarrollado en

nuestro grupo de investigacion [Onaindia et al. 2000]). Los primeros tenıan la

ventaja de ser planificadores muy competitivos y robustos, ya que habıan sido

ampliamente probados en gran variedad de dominios. El ultimo, sin embargo,

podıa ser facilmente adaptable pues se disponıa del codigo y de las especifi-

caciones de diseno. Independientemente de la opcion escogida, la inclusion de

un planificador clasico en un entorno dinamico provocaba ciertos problemas

adicionales:

• El robot no era capaz de conocer el estado de toda la planta de despachos.

Aunque disponıa de un mapa de la planta, sus sensores solo le permitıan

conocer determinadas circunstancias, como el hecho de que una puerta

estuviera cerrada, solo cuando estaba suficientemente proximo.

• La comprobacion de la veracidad de un hecho mediante sensorizacion no

indicaba que dicho hecho fuera a mantenerse permanentemente. La exis-

tencia de agentes externos que alteraban el entorno (como, por ejemplo,

el personal del departamento, el viento, etc.) hacıan que la informacion

que mantenıa el robot en su base de hechos no fuera cierta durante mucho

tiempo.

• Los efectos de las acciones no ocurrıan siempre como estaba previsto. Una

accion realizada por el robot para abrir una puerta podıa no tener exito

si, por ejemplo, la puerta estaba cerrada con llave o atascada. El robot

no podıa seguir ejecutando el plan original, sino que debıa modificarlo

para, o bien volver a intentar abrir la puerta, o bien buscar una ruta

alternativa.

• Existıa tambien la posibilidad de que un objetivo particular fuera tempo-

ralmente inalcanzable. Por ejemplo, uno de los objetivos del robot podıa

ser la entrega de una carta en un despacho y que dicho despacho estu-

viera cerrado. Un planificador clasico no intentarıa entonces resolver el

resto de objetivos, sino que no devolverıa ningun plan.

• Los objetivos en el problema que estabamos abordando eran bastante

dinamicos. Un robot podıa llegar a un despacho para entregar o recoger

Page 95: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 73

una carta y recibir la orden de realizar un nuevo encargo.

Ante cada una de estas contingencias era necesario volver a calcular un plan

completamente nuevo desde el inicio, lo que producıa grandes sobrecargas en

el sistema. El primer trabajo consistio, pues, en agilizar esta labor mediante

el diseno de un modulo de replanificacion. Este modulo se integro en una

herramienta de simulacion de ejecucion de planes denominada SimPlanner v1.0

[Sapena et al. 2001]. Dada una especificacion de un dominio y de un problema,

esta herramienta es capaz de generar un plan mediante un planificador clasico.

El usuario puede hacer entonces una simulacion de la ejecucion del plan y, en

cualquier momento, puede introducir cambios en el estado, simulando ası la

ocurrencia de eventos inesperados en el entorno. Es el usuario, por lo tanto,

el que gestiona la monitorizacion del plan, decidiendo que hechos son los que

capta el agente de planificacion y en que momento. Cuando se detecta un

evento inesperado, el modulo de replanificacion se encarga de adaptar el plan

a la nueva situacion.

A pesar de los buenos resultados obtenidos, la herramienta de replanifica-

cion no representa una forma natural de abordar los problemas en entornos

dinamicos. El empleo de un planificador clasico hace que ciertos problemas

no se puedan manejar con sencillez: no es posible generar planes cuando se

desconoce cierta informacion o cuando algun objetivo no es alcanzable tem-

poralmente. Tampoco permite modificar de forma dinamica los objetivos del

problema de una forma sencilla.

Para resolver estos problemas se opto por implementar un planificador on-

line, que pudiera trabajar de una forma mas natural en entornos dinamicos.

La idea principal era desarrollar un planificador incremental, que decidiera la

siguiente accion a ejecutar en lugar de calcular un plan completo. De esta forma

el sistema serıa capaz de reaccionar rapidamente ante situaciones inesperadas y

de adaptarse a los nuevos requerimientos que pudieran surgir. Este planificador

on-line se integro en SimPlanner v2.0, una segunda version de la herramienta

de simulacion [Sapena y Onaindia 2002c].

Aunque SimPlanner v2.0 mejora notablemente la reactividad respecto a

la primera version, carece, sin embargo, de muchas caracterısticas necesarias

para trabajar en entornos reales. La tercera version de SimPlanner [Sapena y

Onaindia 2003], objeto de esta tesis, parte de las ideas de la version anterior

Page 96: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

74 4.2. Descripcion del sistema

e incorpora importantes mejoras que facilitan su integracion en aplicaciones

reales. Entre estas mejoras destacan:

• Mejoras en el algoritmo de planificacion para obtener planes de mayor

calidad. La implementacion del algoritmo sigue una aproximacion any-

time que permite, ademas, trabajar en situaciones en las que el tiempo

de respuesta es limitado.

• Incluye soporte para funciones numericas, acciones de sensorizacion e

incertidumbre.

• Integracion del planificador en una arquitectura que permite la concu-

rrencia entre los procesos de planificacion y ejecucion (en las versiones

anteriores, las etapas de planificacion y ejecucion se suceden de forma

alternada).

Los siguientes apartados de este capıtulo se destinan a describir con mayor

detalle esta arquitectura.

4.2. Descripcion del sistema

A diferencia de los sistemas de planificacion clasicos, los sistemas de plani-

ficacion on-line tienen que tener en cuenta el concepto de entorno. El entorno

describe el estado del mundo, el cual puede ser observado y modificado me-

diante las acciones ejecutadas por un conjunto de agentes (ver figura 4.2). El

concepto de agente no se usa aquı dentro del marco de Agentes en Inteligen-

cia Artificial [Wooldridge 2000], sino que se emplea para hacer referencia a

cualquier fenomeno capaz de alterar el entorno.

En el problema del reparto de correo en una planta de despachos, los agen-

tes serıan, por ejemplo, los robots encargados de repartir el correo, las personas

que trabajan en los despachos, fenomenos naturales (como el viento, capaz de

cerrar la puerta de un despacho), etc. Los robots moviles, sin embargo, se

diferencian del resto de agentes por el hecho de ser agentes software que, me-

diante tecnicas de planificacion, son capaces de calcular planes y ejecutarlos

para alcanzar sus objetivos. Siguiendo este criterio, clasificamos a los agentes

en dos grupos: agentes de planificacion y agentes externos.

Page 97: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 75

Figura 4.2: El entorno actua como un recurso compartido sobre el que variosagentes pueden actuar simultaneamente.

La arquitectura software de los agentes de planificacion se describe con

detalle en el siguiente apartado. A continuacion, se comenta tambien la funcion

de los agentes externos y su influencia sobre los agentes de planificacion. Esta

vision esquematica de SimPlanner v3.0 se completa con la descripcion de la

herramienta empleada para simular una gran diversidad de entornos diferentes:

VirtualRobot [Sapena et al. 2004].

4.2.1. Agentes de planificacion

La arquitectura propuesta en SimPlanner v3.0 es similar a otras propues-

tas existentes, como TCA (Task Control Architecture, [Simmons 1994]), 3T

(Three-tiered architecture, [Bonasso et al. 1997]) o CLARAty [Volpe et al.

2001]. Todas estas arquitecturas siguen, de hecho, los mismos principios de

diseno:

• Modularidad. La division del sistema en componentes con una funcio-

nalidad bien definida reduce la complejidad del sistema.

• Concurrencia. Diversos procesos, como la monitorizacion del entorno,

la ejecucion y la planificacion, se llevan a cabo de forma concurrente.

• Jerarquıa. La reactividad del sistema se ve favorecida por una arqui-

tectura organizada en niveles, en la que los niveles mas altos poseen

un comportamiento mas complejo y representan la informacion con un

mayor grado de abstraccion.

Page 98: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

76 4.2. Descripcion del sistema

En todas las propuestas arriba mencionadas, los niveles mas bajos de la

arquitectura proporcionan un conjunto de comportamientos predefinidos que

permiten al sistema actuar con rapidez ante determinadas situaciones. En Sim-

Planner v3.0, sin embargo, no existen dichos niveles puramente reactivos. Los

agentes de planificacion en SimPlanner v3.0 son completamente deliberativos,

pues todas las decisiones que toman parten de los planes generados por el pla-

nificador. La reactividad, entonces, se logra limitando el tiempo de computo

ante las situaciones que lo requieran. La calidad de la respuesta puede, conse-

cuentemente, no ser tan buena como en otros sistemas reactivos pero, de esta

forma, se evita la costosa tarea de calcular un conjunto de reglas de compor-

tamiento para cada posible situacion (o, al menos, para las situaciones mas

probables).

La estructura general de un agente de planificacion se muestra en la figura

4.3. Inicialmente, un agente de planificacion dispone de un cierto conocimiento,

generalmente incompleto e impreciso, sobre el estado del mundo (modelo del

entorno). Este conocimiento se expresa mediante hechos y variables numericas,

con un nivel de abstraccion que permita al planificador manejar el problema

eficientemente. El planificador, de acuerdo con este conocimiento, trata de ave-

riguar cuales son las mejores acciones a ejecutar para alcanzar los objetivos.

Estas acciones tambien tienen cierto grado de abstraccion, por lo que su eje-

cucion no puede realizarse directamente sobre el sistema hardware (o software,

si se trata de una simulacion) a manejar. El modulo encargado de traducir

estas acciones de alto nivel en primitivas comprensibles por el sistema es el

ejecutor. El ejecutor es, por consiguiente, un modulo dependiente del sistema

a manejar, pues debe definir una serie de algoritmos especıficos que le permita

llevar a cabo las siguientes tareas:

• Ejecucion de las acciones de alto nivel. Cuando el ejecutor reci-

be del planificador una accion de alto nivel para ejecutar (como, por

ejemplo, mover un robot de un punto a otro), traduce dicha accion en

un conjunto de acciones comprensibles por el sistema (como establecer

la velocidad de giro de las ruedas). Esta labor es, a menudo, compleja,

necesitando la implementacion de algoritmos especıficos de navegacion,

rodeo de obstaculos, control de colisiones, etc.

• Recuperacion frente a fallos. Las acciones de planificacion no pueden

Page 99: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 77

Figura 4.3: Arquitectura de un agente de planificacion.

considerarse atomicas, puesto que se descomponen en un conjunto de

acciones de bajo nivel. El ejecutor, por lo tanto, debe disponer de un

mecanismo que le permita alcanzar un estado valido cuando una accion

falla en mitad de su ejecucion. Un estado valido es aquel que puede

representarse correctamente mediante el modelo abstracto del problema

con el que trabaja el planificador.

• Sensorizacion y monitorizacion del entorno. El ejecutor debe ser

capaz de recibir informacion de bajo nivel sobre el entorno a traves de

los sensores disponibles. Debe poder ejecutar las acciones de sensoriza-

cion enviadas por el planificador, ası como monitorizar automaticamente

aquellos hechos que, de acuerdo con el problema, sean relevantes. El eje-

cutor tambien debe convertir la informacion de bajo nivel obtenida en

hechos de alto nivel comprensibles por el planificador. Estos hechos se

contrastan con las creencias del planificador en busca de discrepancias.

En caso de discrepancias, el ejecutor actualiza las creencias y notifica el

cambio al planificador.

• Restricciones temporales. En muchos problemas reales existen limi-

taciones sobre el tiempo que el sistema puede emplear deliberando antes

de actuar. El ejecutor conoce estas restricciones y se encarga de soli-

citar una accion al planificador cuando el tiempo disponible expira. El

planificador, por lo tanto, debe tener en todo momento una respues-

ta preparada para ser capaz de proporcionarla inmediatamente una vez

recibe la peticion.

Page 100: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

78 4.2. Descripcion del sistema

Para que el ejecutor pueda desempenar estas tareas, el modulo de planifica-

cion debe poder trabajar con informacion incompleta (o incorrecta), programar

acciones de sensorizacion y calcular una respuesta dentro de un intervalo de

tiempo limitado. El algoritmo de planificacion utilizado se describe con detalle

en los dos siguientes capıtulos.

4.2.2. Agentes externos

Para diferenciar a los agentes de planificacion del resto de agentes capaces

de actuar sobre el entorno empleamos la nomenclatura de agentes externos.

Un agente externo es, por lo tanto, todo aquel fenomeno capaz de actuar

sobre el entorno (personas, animales, fenomenos naturales, etc.) sobre el que el

planificador no posee ningun control. Esta falta de control y la gran diversidad

de los agentes externos hace que un estudio de estos agentes resulte de poca

utilidad. Sin embargo, los cambios que producen los agentes externos en el

entorno son una de las principales causas de los eventos inesperados que detecta

un agente de planificacion durante la ejecucion de un plan. Otras causas de la

aparicion de eventos inesperados son los fallos en la ejecucion de las acciones

del plan y la posesion de informacion incorrecta sobre el entorno.

4.2.3. Simulacion del entorno

En muchas ocasiones es conveniente probar el comportamiento del planifi-

cador antes de integrarlo en un sistema real. De esta forma es posible descubrir

anticipadamente los posibles problemas que puedan surgir, evitando gran par-

te de la compleja tarea de depurar el sistema en su entorno de aplicacion

real. Como herramienta de simulacion grafica hemos escogido la herramien-

ta VirtualRobot [Mellado 2003] [Mellado et al. 2003]. La versatilidad de esta

herramienta permite la simulacion de numerosos problemas de planificacion

y dispone de una sencilla interfaz que facilita su integracion con aplicaciones

externas.

El simulador VirtualRobot

VirtualRobot (VR) es un conjunto de programas disenados para la simula-

cion de aplicaciones roboticas. Entre estos programas destacan el VirtualRobot

Page 101: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 79

Modeller (VRM ), para crear y editar modelos geometricos y cinematicos, y

el VirtualRobot Translator (VRT ), que permite importar y exportar modelos

almacenados en otros formatos, como AutoCADr DXF, VRML y 3DStudio

Maxr. VirtualRobot Simulator (VRS ), sin embargo, es la plataforma principal

para las simulaciones. Como muestra la figura 4.4, esta aplicacion se divide en

cuatro partes diferenciadas:

• El nucleo de VRS. El nucleo de este programa se encarga de gestionar

las acciones solicitadas por el usuario o por aplicaciones externas. Para

realizar esta labor, el nucleo incluye una interfaz grafica para controlar la

visualizacion de la simulacion, una estructura jerarquica de clases para

almacenar la informacion de los objetos presentes en la simulacion, y un

conjunto de threads para procesar las ordenes recibidas.

• Componentes externos. VRS dispone de un conjunto de componentes

para modelar los distintos aspectos de la simulacion, como la cinematica

de los robots, el funcionamiento de los sensores o el calculo de distancias

hasta los obstaculos. El usuario puede reemplazar estos componentes por

los suyos propios para adaptar la simulacion a sus requerimientos.

• VREAL. Esta librerıa externa permite la interaccion de las aplicaciones

externas (clientes) con VRS. VREAL define un conjunto de funciones

y estructuras de datos que permite a las aplicaciones externas enviar

ordenes y recuperar informacion sobre la simulacion.

• Aplicaciones externas. Estas aplicaciones conforman la interfaz de

usuario real para una aplicacion especıfica.

VRS puede emplearse para simular cualquier tipo de robot, como brazos

robot, cintas transportadoras, plataformas giratorias, sistemas de sensores,

robots moviles, etc. Todos estos robots pueden acoplarse entre sı para formar

robots mucho mas complejos.

Simulaciones mediante VirtualRobot Simulator

Para realizar una simulacion mediante VRS es necesario, en primer lugar,

inicializar el entorno. La inicializacion consiste en la carga en memoria del VRS

Page 102: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

80 4.2. Descripcion del sistema

Figura 4.4: Arquitectura de VirtualRobot Simulator.

- en caso de que dicha aplicacion no este abierta -, y en la creacion de todos

los objetos que forman parte del modelo del entorno. Para no desarrollar una

nueva aplicacion, es el propio agente de planificacion (SimPlanner v3.0 ) el que

realiza esta tarea. Ademas de recibir los ficheros que describen el dominio y el

problema a resolver, SimPlanner v3.0 puede recibir tambien un fichero con la

descripcion del entorno. Este fichero contiene la siguiente informacion:

• Informacion estatica del entorno. Esta informacion describe geometri-

camente todos aquellos objetos que permanecen inalterables durante to-

da la simulacion. Siguiendo el ejemplo del reparto de correo en una planta

de despachos, la informacion estatica corresponderıa con la descripcion

de las paredes que delimitan los despachos (posicion, dimensiones, color

y textura). Algunos elementos del mobiliario, como las mesas o los arma-

rios, podrıan considerarse estaticos si se descarta la posibilidad de que

puedan ser trasladados.

• Informacion dinamica del entorno. VRS define dos tipos diferentes

de objetos dinamicos: las partes moviles y los robots. Las partes moviles

son todos aquellos objetos que pueden ser trasladados, girados o de-

formados de alguna forma, pero que no pueden hacerlo por sı mismos.

Partes moviles son, por ejemplo, las cartas a entregar o las puertas de los

despachos. Los robots, por el contrario, son objetos con capacidad para

Page 103: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 81

moverse autonomamente. Los robots, ademas de un modelo geometrica,

necesitan una descripcion de su cinematica (numero de ejes, tipo de los

ejes, parametros, etc.). En una simulacion, diversos elementos como per-

sonas o automatismos (ascensores, puertas automaticas, etc.) tambien se

modelan como robots.

Una vez se han creado todos los elementos que forman el entorno, los dis-

tintos agentes que tomaran parte en la simulacion se conectan con el VRS, tal

como muestra la figura 4.5. Cada agente se encarga de simular el comporta-

miento de uno o mas robots. Los agentes externos son, generalmente, progra-

mas muy sencillos que requieren, a menudo, de la intervencion del usuario. Un

agente externo puede, por ejemplo, encargarse de simular el comportamiento

de un ascensor, desplazandolo entre los pisos en respuesta a las pulsaciones

de los botones. El usuario puede intervenir para simular situaciones especiales

como, por ejemplo, la averıa o el mal funcionamiento del ascensor.

Figura 4.5: Simulacion del problema de reparto de correo en una planta dedespachos mediante VirtualRobot Simulator.

Los agentes de planificacion, por el contrario, son sistemas mas complejos.

Funcionan de forma autonoma, ya que el usuario solo interviene para estable-

cer las condiciones iniciales del problema. Ocasionalmente, el usuario tambien

puede introducir modificaciones en los objetivos de un agente de planificacion

durante la simulacion. Ademas de los problemas que supone deducir y ejecutar

planes partiendo de informacion incompleta y sujeta a continuos cambios, los

Page 104: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

82 4.3. Lenguaje de modelizacion

agentes de planificacion deben estar preparados para trabajar en tiempo real.

Para que un agente de planificacion pueda trabajar en tiempo real, debe ser

capaz de resolver las siguientes dificultades:

• Restricciones de tiempo. Para que la ejecucion de un plan sea fluida

deben establecerse plazos en los tiempos de respuesta del planificador.

En algunos dominios, estos lımites de tiempo son aun mas estrictos, pues

una accion tardıa puede carecer de utilidad o, incluso, ser perjudicial para

el sistema.

• Ejecuciones infinitas. La posibilidad de anadir y modificar los obje-

tivos de un agente de planificacion hace que la ejecucion pueda llegar

a ser potencialmente infinita. Esta posibilidad contrasta con los princi-

pios de la planificacion clasica, donde la labor del planificador termina

una vez se ha generado un plan para alcanzar los objetivos. La realidad

es, sin embargo, muy diferente, y son muchas las aplicaciones practicas

en las que los sistemas se mantienen en continuo funcionamiento. Una

simulacion, por lo tanto, no termina hasta que el usuario no lo decide.

• Tiempos de espera. Como consecuencia del punto anterior, un agen-

te de planificacion tiene a menudo que esperar. Una espera se produce

cuando el agente ya ha alcanzado todos sus objetivos (y espera nuevos ob-

jetivos), o cuando los objetivos restantes son (al menos temporalmente)

inalcanzables. En SimPlanner v3.0, este problema se resuelve median-

te la definicion de la accion ficticia NOP (no operacion), con la que el

planificador le indica al ejecutor que no es conveniente realizar ninguna

accion. Una situacion de espera finaliza cuando el usuario le proporciona

al agente nuevos objetivos alcanzables, cuando sucede un evento ines-

perado que permite alcanzar un objetivo antes inaccesible, o cuando el

usuario da por concluida la ejecucion.

4.3. Lenguaje de modelizacion

Al igual que la mayorıa de planificadores clasicos, los agentes de planifica-

cion necesitan una descripcion del dominio y del problema, almacenada gene-

ralmente en dos ficheros de texto. El fichero del dominio muestra las primitivas

Page 105: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 83

necesarias - tipos, constantes, hechos y funciones - para poder representar los

estados del mundo, ası como una descripcion de las posibles acciones que pue-

den realizarse. El fichero del problema, por el contrario, define una instancia

particular de problema, proporcionando una descripcion del estado actual del

mundo y de los objetivos a conseguir.

La seleccion del lenguaje de modelizacion es, por lo tanto, una decision

importante, pues la expresividad del lenguaje limitara la variedad de domi-

nios que el planificador podra manejar. Como lenguaje de modelizacion para

SimPlanner v3.0 hemos optado por el lenguaje PDDL (comentado en el apar-

tado 2.2.3) ya que, ademas de su aceptable expresividad, es actualmente un

estandar para la descripcion de dominios de planificacion. PDDL, no obstan-

te, no dispone de los mecanismos necesarios para representar las acciones de

sensorizacion ni la incertidumbre sobre el estado del mundo, aunque algunos

trabajos recientes presentan varias propuestas para soportar estas caracterısti-

cas (ver apartado 3.2.2). Estas propuestas, sin embargo, suponen importantes

modificaciones sobre la sintaxis original del PDDL y, aunque expresivas, au-

mentan notablemente la complejidad del modelo. Por este motivos, hemos

definido nuestras propias extensiones para representar la incertidumbre y las

acciones de sensorizacion. Estas extensiones, descritas a continuacion, intentan

mantener la sintaxis original de PDDL para evitar costosos cambios tanto en

el analizador sintactico como en el algoritmo de planificacion.

4.3.1. Incertidumbre sobre el estado inicial

PDDL describe las condiciones iniciales del problema mediante un conjunto

conjuntivo de literales y funciones numericas, pero no permite expresar el

desconocimiento del agente sobre determinados hechos del estado inicial. Por

lo tanto, para expresar este conocimiento parcial sobre las condiciones iniciales,

hemos definido una logica trivaluada sobre el conjunto de literales que definen

un estado:

• Si el agente de planificacion conoce el valor de verdad de un literal, dicho

literal debe aparecer explıcitamente en la especificacion del estado. Si

dicho literal no se satisface en el estado, debe aparecer precedido de la

clausula not.

Page 106: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

84 4.3. Lenguaje de modelizacion

• Si el agente de planificacion desconoce un determinado hecho, este no

debe aparecer en la especificacion del estado. Esta solucion contrasta

con otras muchas representaciones propuestas, en las que los literales

desconocidos se marcan con un clausula unknown (o similar). Nuestra

representacion, sin embargo, es mas compacta, evitando la tediosa labor

de enumerar todos los hechos desconocidos en un estado.

Ejemplo. El siguiente ejemplo muestra la descripcion de un estado parcial-

mente especificado para un problema de planificacion del dominio del mundo

de bloques (descrito en el apendice A). En este ejemplo el agente de planifi-

cacion sabe que los bloques A y C se encuentran sobre la mesa. Desconoce, sin

embargo, la posicion del bloque B, aunque sabe que no esta situado encima del

C. El estado real del entorno se corresponderıa, por consiguiente, con uno de

los tres posibles estados representados en la figura 4.6. En general, el numero

de posibles estados crece de forma exponencial en funcion de la cantidad de

informacion que se desconoce [Bonet y Geffner 2000].

(:objects A B C - block)

(:init

(ontable A)

(ontable C)

(not (on B C))

)

Figura 4.6: Posibles estados iniciales derivados de una especificacion inicialincompleta.

La logica aquı presentada no permite, sin embargo, representar incerti-

dumbre sobre los valores de las variables numericas. En muchas ocasiones, las

variables numericas representan recursos internos del sistema controlado por

Page 107: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 85

el agente de planificacion (como la baterıa de un robot), por lo que sus valores

son sencillos de obtener. No obstante, tambien es posible que el agente desco-

nozca los valores de algunas variables, como la distancia entre dos puntos o

algun tipo de medida sobre un recurso externo.

La version actual del agente de planificacion (SimPlanner v3.0 ) no permi-

te trabajar con este tipo de incertidumbre y necesita, como mınimo, un valor

estimado de dichas variables. Es necesario, sin embargo, comprobar periodi-

camente la validez de estas aproximaciones (si, por ejemplo, el consumo de

baterıa del robot ha sido superior al esperado en la ejecucion de una accion,

el robot puede quedarse sin baterıa antes de poder iniciar una recarga). El

ejecutor del agente de planificacion es, por lo tanto, responsable de la monito-

rizacion de los valores de las variables, y de avisar al planificador si encuentra

alguna discrepancia. Esta previsto, sin embargo, que esta limitacion para tra-

bajar con incertidumbre sobre las variables numericas se supere en las futuras

versiones del agente de planificacion.

4.3.2. Acciones de sensorizacion

El lenguaje PDDL no permite tampoco representar acciones de sensoriza-

cion. La sintaxis que hemos escogido para definir este tipo de acciones consiste

simplemente en marcarlas con el identificador sensing. De esta forma, la sin-

taxis original del PDDL apenas sufre modificaciones. La semantica de una

accion de sensorizacion ası definida es la siguiente:

• Los efectos proposicionales de una accion de sensorizacion representan

la informacion que se quiere verificar.

• Es posible incluir efectos numericos para representar, por ejemplo, el cos-

te de ejecutar una accion de sensorizacion. Sin embargo, en esta version

del agente de planificacion, las acciones de sensorizacion no pueden em-

plearse para verificar los valores numericos de las variables. La razon de

esta limitacion, tal como se comento en el apartado anterior, es que el

agente de planificacion no esta preparado para trabajar con incertidum-

bre sobre los valores de las variables numericas.

• La sensorizacion imperfecta, debido a la falta de fiabilidad en la lectura

de los sensores, no puede expresarse en PDDL: las lecturas incorrectas de

Page 108: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

86 4.3. Lenguaje de modelizacion

los sensores son difıciles de predecir y de modelar. Los errores de sensori-

zacion proporcionan informacion incorrecta al planificador, lo que puede

ocasionar fallos en la ejecucion de posteriores acciones. Estos problemas

se descubren, por lo tanto, a traves del mecanismo de monitorizacion de

las acciones.

La principal diferencia entre una accion normal y una accion de sensoriza-

cion en un sistema on-line es que la primera consigue sus efectos proposiciona-

les si sus precondiciones se cumplen: Pre −→ Eff (en caso, claro esta, de que

su ejecucion tenga exito). Por el contrario, una accion de sensorizacion, o bien

consigue sus efectos proposicionales, o bien confirma que estos no se cumplen:

Pre −→ Eff ∨¬ Eff. El planificador, por lo tanto, siempre preferira una ac-

cion normal para conseguir un determinado hecho, ya que la probabilidad de

lograrlo es mucho mayor. El planificador empleara acciones de sensorizacion

unicamente cuando la falta de informacion le impida conseguir sus objetivos

mediante acciones normales.

Ejemplo. En este ejemplo se muestra la especificacion de una accion de

sensorizacion. Mediante esta accion, un robot comprueba si una persona p

se encuentra en el punto loc. Esta accion necesita que el robot se encuentre

tambien en el punto loc, y consume una unidad de baterıa.

(:sensing action CHECK-PERSON

:parameters

(?robot - robot

?p - person

?loc - location)

:precondition

(at ?robot ?loc)

:effect

(and (at ?p ?loc)

(decrease (battery ?robot) 1)))

4.3.3. Acciones no deterministas

Las acciones no deterministas son aquellas acciones que, aplicadas sobre

un mismo estado, pueden producir diferentes resultados. Algunas tecnicas de

Page 109: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 87

planificacion representan las acciones no deterministas de una forma explıcita.

En la planificacion probabilıstica, por ejemplo, se describen todos los posibles

efectos de las acciones no deterministas. Estos efectos se etiquetan, ademas,

con la probabilidad de ocurran, de forma que la suma de estas probabilidades

sea uno.

Hay, sin embargo, varios motivos por los que hemos decidido no utilizar

una representacion explıcita de las acciones no deterministas:

• En muchos entornos reales, todas las acciones pueden considerarse no

deterministas, pues la ejecucion de cualquiera de ellas puede producir un

resultado no deseado. Los efectos inesperados, ademas, pueden ser extre-

madamente numerosos o incluso imprevisibles, por lo que su enumeracion

no es a menudo factible.

• La representacion explıcita de los efectos no deterministas de las ac-

ciones es util cuando se realiza una planificacion contingente, es decir,

cuando se preparan uno o mas planes alternativos en prevision de los

posibles resultados que pueda tener la accion. Sin embargo, la planifica-

cion contingente requiere un gran esfuerzo computacional, generalmente

demasiado elevado para permitir la planificacion en tiempo real.

Los agentes de planificacion de SimPlanner v3.0, por consiguiente, no tra-

tan explıcitamente el no determinismo. Todas las acciones (excepto las de

sensorizacion) se consideran como acciones deterministas, por lo que la pla-

nificacion trabaja unicamente con los efectos esperados de las acciones. El no

determinismo se maneja durante la ejecucion: el ejecutor se encarga de verifi-

car el resultado real de cada accion mediante el mecanismo de monitorizacion

de acciones. En caso de detectar un resultado inesperado, el planificador se

encarga de reparar el plan para adaptarlo a la nueva situacion.

4.4. Conclusiones

El proyecto de SimPlanner surgio inicialmente de la necesidad de inte-

grar un sistema de planificacion en un entorno practico real, con el objetivo

permitir a un conjunto de robots moviles razonar sobre sus acciones. Estos ro-

bots debıan realizar una serie de tareas en una planta de despachos como, por

Page 110: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

88 4.4. Conclusiones

ejemplo, el reparto de correo. Los problemas derivados de la ejecucion de los

planes un entorno como este, muy dinamico y parcialmente observable, hacen

desaconsejable la utilizacion de planificadores clasicos.

Las sucesivas versiones de SimPlanner hacen uso de tecnicas de planifica-

cion practica, como la replanificacion o la planificacion on-line, para superar

cada vez un mayor numero de problemas. La ultima version, SimPlanner v3.0,

sigue una aproximacion de planificacion y ejecucion concurrente (descrita en el

apartado 3.3.4) y, por lo tanto, el planificador se encuentra integrado dentro de

la arquitectura de un sistema de ejecucion y monitorizacion mas complejo. En

SimPlanner v3.0, este sistema consta de tres elementos principales: los agentes

de planificacion - aplicaciones software capaces de calcular y ejecutar planes

-, los agentes externos - el resto de agentes, de diversa naturaleza, capaces de

actuar sobre el entorno -, y el entorno.

La estructura de un agente de planificacion se divide en dos niveles. El

nivel mas alto esta formado por el planificador que, empleando un cierto nivel

de abstraccion, razona sobre las acciones que el agente debe realizar para

alcanzar sus objetivos. Este nivel de abstraccion permite que el planificador

sea un modulo independiente del dominio. En el nivel inferior se encuentra el

ejecutor. Este modulo se encarga la ejecucion y monitorizacion de las acciones

recibidas del planificador. La labor del ejecutor es dependiente del dominio en

el que trabaja y, por lo tanto, debe disenarse un ejecutor distinto para cada

nuevo dominio.

La arquitectura de los agentes de planificacion ofrece un buen soporte pa-

ra el manejo de muchas de las caracterısticas necesarias para la planificacion

en entornos reales. Pero es necesario, tambien, que el lenguaje empleado para

describir el dominio y el problema sea lo suficientemente expresivo. Hoy en

dıa, PDDL es un estandar dentro de los lenguajes de especificacion para pro-

blemas de planificacion, y ofrece un buen nivel de expresividad. Este hecho nos

motivo para escoger este lenguaje como lenguaje de especificacion para Sim-

Planner v3.0. No obstante, ciertas caracterısticas, como la incertidumbre en

las condiciones iniciales del problema o las acciones de sensorizacion, no estan

todavıa soportadas en PDDL, por lo que ha sido necesario definir nuestras

propias extensiones al lenguaje para poder modelarlas.

Page 111: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

4. Arquitectura del sistema 89

Una arquitectura apropiada es importante en cualquier sistema de planifi-

cacion on-line para conseguir un funcionamiento correcto y eficiente, y minimi-

zar el esfuerzo necesario para aplicar el mismo sistema en diferentes dominios.

El elemento mas complejo de la arquitectura de SimPlanner v3.0 - presentada

en este capıtulo - es, sin lugar a dudas, el planificador. Todo el razonamiento

sobre las acciones a realizar se lleva a cabo mediante una serie de algoritmos

de planificacion, que funcionan independientemente del dominio de aplicacion.

La descripcion de este planificador es, por lo tanto, el objetivo de los siguientes

capıtulos.

Page 112: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas
Page 113: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 5

Planificacion heurıstica en

tiempo real

Este capıtulo ofrece una descripcion del algoritmo de planificacion integra-

do en los agentes de planificacion de SimPlanner v3.0. Este algoritmo trabaja

en paralelo con la ejecucion del plan, adquiriendo ası informacion del entorno

que le permita resolver las situaciones inesperadas que puedan aparecer du-

rante la ejecucion. Estos continuos cambios (tanto en las creencias sobre el

entorno como en los objetivos) a los que esta sometido el planificador, hacen

que la planificacion sea un proceso relativamente complejo. En primer lugar,

realizar una busqueda para encontrar un plan completo supone, en muchas

ocasiones, un gasto excesivo de tiempo, pues cualquier cambio en el entorno

o en los objetivos puede invalidar dicho plan. El algoritmo de planificacion

trata, por lo tanto, de calcular unicamente la siguiente accion a ejecutar. De

esta forma se reduce el esfuerzo de planificacion y se evita tener que tomar

decisiones sobre acciones lejanas en el tiempo.

En segundo lugar, el tiempo de deliberacion del planificador puede estar

limitado por el sistema controlado que, en ocasiones, debe actuar sobre el

entorno dentro de un corto espacio de tiempo. Este es el caso de diversas

aplicaciones, como la inteligencia artificial en los juegos de ordenador y simu-

ladores, aunque tambien se puede limitar artificialmente el tiempo de respuesta

de un sistema para que la ejecucion se lleve a cabo de una forma fluida. Para

lograr este objetivo, el algoritmo de planificacion se ha disenado siguiendo los

principios de los algoritmos anytime. Ası, el planificador dispone en cualquier

91

Page 114: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

92 5.1. Motivacion del algoritmo propuesto

momento de una respuesta (accion a ejecutar), que se va refinando mientras

quede tiempo disponible.

Por ultimo, tambien es necesario que el planificador pueda tomar decisiones

a partir de una descripcion incompleta del entorno. Para ello debe centrarse en

lograr aquellos objetivos que, segun la informacion disponible, son alcanzables,

y en programar acciones de sensorizacion para obtener la informacion necesaria

para lograr el resto de objetivos.

La estructura de este capıtulo es la siguiente: en primer lugar se describe

la motivacion del algoritmo propuesto. A continuacion se establece la nota-

cion basica que se utilizara. Seguidamente se proporciona un esquema general

del algoritmo de planificacion y una descripcion detallada de las cuatro eta-

pas principales que lo componen. Finalmente, se presentan las conclusiones

extraıdas sobre el algoritmo de planificacion.

5.1. Motivacion del algoritmo propuesto

La idea basica de diseno del algoritmo propuesto es obtener un planifica-

dor independiente del dominio, capaz de generar planes incrementalmente y

de forma totalmente deliberativa en dominios reactivos y con restricciones de

tiempo real. Para ello hemos recurrido a un esquema funcional propio de la

planificacion reactiva, aunque sin necesidad de disponer de informacion pre-

compilada especıfica del dominio: partiendo de un estado el algoritmo trata de

averiguar, dentro de un intervalo de tiempo limitado, que accion puede ser la

mas adecuada para alcanzar los objetivos (ver figura 5.1).

Este esquema es muy flexible en entornos dinamicos pues permite aprove-

char el tiempo de ejecucion para tomar mejores decisiones sobre la siguiente

accion del plan. El plazo en el tiempo de respuesta puede establecerse tambien

para limitar el tiempo de reaccion tras un evento inesperado (es decir, cuando

el estado del mundo difiere del estado esperado). Este modo de operacion on-

line puede observarse en el diagrama de la figura 5.2, en la que los plazos de

tiempo vienen establecidos por las peticiones de accion que solicita el ejecutor.

Para lograr este comportamiento es necesario que el algoritmo de planifi-

cacion tenga las siguientes caracterısticas:

• Debe poder tomar una primera decision muy rapida sobre la siguiente

Page 115: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 93

Figura 5.1: Esquema funcional del algoritmo de planificacion.

accion para permitir reacciones casi reflejo en las situaciones que lo re-

quieran y para reducir al maximo el tiempo que el ejecutor permanece

en espera. En estas primeras decisiones se prima, consecuentemente, la

rapidez frente a la optimalidad.

Para conseguir este objetivo, se ha utilizado la descomposicion de ob-

jetivos, tecnica comentada en el apartado 2.3.5. La descomposicion de

objetivos permite reducir la complejidad del problema original al no con-

siderar (inicialmente) las interacciones entre los objetivos del problema.

Tambien se ha recurrido a tecnicas comunes en la planificacion heurıstica

(ver apartado 2.3.3) ya que permiten guiar la busqueda de una forma mas

eficiente. Como resultado, el algoritmo propuesto es capaz de tomar una

primera decision en tiempo polinomico (en problemas sin precondiciones

numericas).

• El algoritmo de planificacion debe poder seleccionar mejores acciones

conforme aumenta el tiempo de computo. Una accion se considera una

mejor decision que otra cuando permite alcanzar los objetivos con un

coste menor (considerando que el resto de acciones del plan son optimas).

Para lograr este objetivo, el algoritmo de planificacion dispone de un

mecanismo de refinamiento iterativo que permite seleccionar la siguiente

accion de una manera cada vez mas informada.

Page 116: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

94 5.1. Motivacion del algoritmo propuesto

Figura 5.2: Diagrama de secuencia del funcionamiento on-line de los agentesde planificacion.

Debido a la componente heurıstica del algoritmo, sin embargo, las de-

cisiones mas informadas no siempre son mejores que las tomadas mas

rapidamente. Aunque en las decisiones individuales (siguiente accion)

no podamos asegurar un incremento en la calidad, sı podemos hacerlo

con el plan final. El algoritmo es, en general, lo suficientemente rapido

para generar diferentes planes completos y seleccionar el de mejor cali-

dad. El capıtulo 6 muestra un estudio de la mejora obtenida en la calidad

de los planes conforme aumenta el tiempo de computo empleado.

Estas dos caracterısticas, representativas de la planificacion anytime, junto

con el soporte para trabajar con un cierto grado de incertidumbre y funciones

numericas, hacen de SimPlanner v3.0 un planificador apropiado para entornos

dinamicos con fuertes restricciones temporales. El resto de este capıtulo ofrece

una vision mas detallada y algorıtmica del proceso de planificacion.

Page 117: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 95

5.2. Notacion y terminologıa

Antes de comenzar con la descripcion del algoritmo de planificacion, es

necesario resumir la notacion que utilizaremos para su formalizacion. Para

representar expresiones simples emplearemos letras minusculas del alfabeto,

mientras que para representar conjuntos utilizaremos letras mayusculas.

Definicion 5.2.1. Un problema numerico de planificacion se define como una

tupla 〈F , L, A, I, G, m〉, donde:

• F es un conjunto de variables numericas.

• L es un conjunto de literales (o hechos).

• A es un conjunto de acciones posibles.

• I es el estado inicial del problema.

• G es el conjunto de objetivos del problema.

• m es el criterio de optimizacion (metrica del problema).

5.2.1. Extensiones numericas

Las extensiones numericas de PDDL 2.1 implican que, ademas de los lite-

rales L, se tiene tambien un conjunto de variables numericas F . Para poder

manejar estas variables es necesario definir, en primer lugar, ciertos conceptos.

Definicion 5.2.2. Una expresion numerica es una funcion aritmetica sobre

F y el conjunto de los numeros racionales, empleando los operadores de suma

(+), resta (-), multiplicacion (*) y division (/).

Definicion 5.2.3. Una restriccion numerica es una terna 〈exp, comp, exp′〉,donde exp y exp′ son expresiones numericas, y comp ∈ {<,≤, =,≥, >} es un

operador de comparacion.

Definicion 5.2.4. Un efecto numerico es una terna 〈fi, ass, exp〉, donde fi

∈ F es una variable numerica, ass ∈ {:=, +=, -=, *=, /= } es un operador

de asignacion, y exp es una expresion numerica.

Page 118: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

96 5.2. Notacion y terminologıa

5.2.2. Estados

Un estado es una representacion abstracta del mundo en un determinado

momento. Un estado puede modelarse como una asignacion de valores a los

literales y variables numericas. La siguiente definicion muestra formalmente

este concepto.

Definicion 5.2.5. Un estado se define como una asignacion de valores, tanto

al conjunto de literales (L) como al conjunto de variables numericas (F ). Em-

pleando una logica trivaluada, un literal puede ser verdadero (V), falso (F)

o desconocido (D) en un estado. Los valores de las variables numericas son

numeros racionales.

S = 〈SL, SF 〉/SL = {(li, vi)} : li ∈ L, vi ∈ {V,F ,D}SF = {(fj , wj)} : fj ∈ F, wj ∈ Q

(5.2.1)

Por comodidad, vamos a definir dos funciones que devuelvan el valor de

los literales y de las variables numericas en un estado: lvalue : L × {S} −→{V ,F ,D} y fvalue : F × {S} −→ Q respectivamente. Estas funciones se

definen de la siguiente forma:

lvalue(li, S) = vi ←→ (li, vi) ∈ SL, S = 〈SL, SF 〉fvalue(fj , S) = wj ←→ (fj , wj) ∈ SF, S = 〈SL, SF 〉 (5.2.2)

Supongamos, por ejemplo, que tenemos un estado S = {(l1,V), (l2,F)}.En el estado S, por lo tanto, se satisface el literal l1, pero no el l2. Puede

considerarse tambien que la expresion ¬l2 es cierta en el estado S. Durante la

formalizacion del algoritmo de planificacion se trabajara frecuentemente con

literales y literales negados indistintamente. Para facilitar esta labor introdu-

ciremos el concepto de proposicion logica.

Definicion 5.2.6. Una proposicion logica, p, es un literal (p = l ∈ L) o

un literal negado (p = ¬l/l ∈ L). Al conjunto de proposiciones logicas lo

denominaremos PL.

Page 119: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 97

Diremos, por lo tanto, que una proposicion logica p ∈ PL se satisface en

un estado S, satisfy(p, S), si:

satisfy(p, S) = V −→{

lvalue(l, S) = V , si p = l ∈ L

lvalue(l, S) = F , si p = ¬l/l ∈ L(5.2.3)

De forma similar, diremos que una proposicion logica p ∈ PL no se satisface

en un estado S cuando:

satisfy(p, S) = F −→{

lvalue(l, S) = F , si p = l ∈ L

lvalue(l, S) = V , si p = ¬l/l ∈ L(5.2.4)

Del mismo modo que el valor de un determinado literal puede ser desco-

nocido en un estado, tambien puede ser desconocida la satisfaccion de una

proposicion p ∈ PL en un estado S:

satisfy(p, S) = D −→{

lvalue(l, S) = D , si p = l ∈ L

lvalue(l, S) = D , si p = ¬l/l ∈ L(5.2.5)

Por ultimo, definiremos tambien otras funciones que nos permitan trabajar

facilmente con expresiones numericas:

• El valor de una expresion numerica exp en un estado S, evalue(exp, S),

se calcula sustituyendo las variables numericas en la expresion por sus

respectivos valores en dicho estado.

• Tambien es posible comprobar si una restriccion numerica, r = 〈exp,

comp, exp′〉, se satisface en un estado S. Esta funcion, que denotare-

mos como rvalue(r, S), devuelve el valor de verdadero si se satisface la

comparacion comp entre los valores de ambas expresiones en S.

• Finalmente, la funcion nresult(n, S), donde n = 〈fi, ass, exp〉 es un

efecto numerico, devuelve el nuevo valor de la variable fi. Este valor se

calcula como el valor de fi en el estado S modificado con el valor de la

expresion (evalue(exp, S)), utilizando el operador de asignacion ass.

Page 120: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

98 5.2. Notacion y terminologıa

5.2.3. Acciones

Las acciones se definen mediante un conjunto de precondiciones, que deben

satisfacerse antes de su ejecucion, y un conjunto de efectos, que describen

las consecuencias que la ejecucion de la accion tendra sobre el mundo. Las

precondiciones y los efectos de una accion pueden ser tanto proposicionales

como numericos.

Definicion 5.2.7. Una accion se define como una tupla 〈Lprec, Fprec, Leff ,

Feff〉, donde:

• Lprec es un conjunto de proposiciones logicas que representa las precon-

diciones proposicionales de la accion. Denominaremos Lprec+ y Lprec−al subconjunto de literales y literales negados de Lprec respectivamente.

• Fprec es un conjunto de restricciones numericas que representa las pre-

condiciones numericas de la accion.

• Leff es un conjunto de proposiciones logicas que representa los efectos

proposicionales de la accion. Denominaremos Leff+ y Leff− al subcon-

junto de literales y literales negados de Leff respectivamente.

• Feff es el conjunto de los efectos numericos de la accion.

Para referirnos a cada una de estas componentes emplearemos la nota-

cion de funcion, indicando entre parentesis la accion a la que pertenecen. Por

ejemplo, para referirnos a las precondiciones proposicionales de una accion a,

usaremos la notacion Lprec(a).

Hay dos conceptos importantes referentes a las acciones que conviene for-

malizar. El primero de ellos es la aplicabilidad (o ejecutabilidad) de una accion

en un determinado estado. El segundo hace referencia a los cambios que la

ejecucion de una accion produce en el estado sobre el que se aplica. Ambos

conceptos se definen a continuacion.

Definicion 5.2.8. Una accion a es aplicable (o ejecutable) en un estado S si

se satisfacen sus precondiciones:

exec(a, S) = V ←→ satisfy(pi, S) = V, ∀pi ∈ Lprec(a) ∧rvalue(r, S) = V, ∀r ∈ Fprec(a)

(5.2.6)

Page 121: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 99

Por el contrario, una accion a no es aplicable en un estado S cuando alguna

de sus precondiciones no se satisface:

exec(a, S) = F ←→ ∃pi ∈ Lprec(a)/satisfy(pi, S) = F ∨∃r ∈ Fprec(a)/rvalue(r, S) = F (5.2.7)

Por ultimo, es posible que, debido a la falta de informacion disponible, no

se pueda decidir si una accion a es aplicable en un estado S o no. Puesto que,

como se indico en el apartado 4.3.1, asumimos que no hay incertidumbre en

los valores de las variables numericas, este ultimo caso solo aparecera cuando

alguna de las precondiciones proposicionales de a sea desconocida:

exec(a, S) = D ←→ ∃pi ∈ Lprec(a)/satisfy(pi, S) = D (5.2.8)

El segundo concepto que vamos a formalizar describe el resultado de una

accion cuando se aplica sobre un estado. La ejecucion de una accion sobre un

estado provoca una transicion a otro estado. En las aproximaciones clasicas de

planificacion, esta funcion de transicion es determinista, tal como se muestra

en la ecuacion 2.2.1. Sin embargo, en la mayorıa de aplicaciones practicas hay

dos factores que provocan que esta funcion sea no determinista:

• La ejecucion de una accion puede fracasar y, por consiguiente, no pro-

ducir los efectos esperados.

• La existencia de agentes externos, capaces de alterar el entorno, pueden

crear diferencias entre el estado real del mundo y la representacion in-

terna del planificador. El planificador solo intenta ejecutar acciones que,

de acuerdo con sus creencias, son aplicables en el estado actual. Por lo

tanto, la ejecucion de una accion puede fallar si sus precondiciones no se

satisfacen realmente en el mundo.

Estos factores no controlables los denominaremos con el sımbolo δ. De

esta forma y, estableciendo δ como un parametro de la funcion de transicion,

podemos expresar esta funcion de una forma determinista.

Definicion 5.2.9. El resultado de aplicar una accion a sobre un estado S =

〈SL, SF 〉 es un nuevo estado S ′ que se calcula de la siguiente manera:

Page 122: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

100 5.2. Notacion y terminologıa

• Si a es aplicable en S y no hay factores externos que puedan impedir

la correcta ejecucion de a, entonces S ′ es igual que S excepto que los

valores de los efectos proposicionales de a se sustituyen por verdadero, si

son efectos positivos, o por falso, si son negativos. Las variables numericas

tambien cambian su valor de acuerdo a los efectos numericos de a.

result(a, S, δ) = 〈SL′, SF ′〉 /

SL′ = {(li, vi) ∈ SL / li 6∈ Leff+(a) ∧ li 6∈ Leff−(a)} ⋃

{(lj ,F)/lj ∈ Leff−(a)} ⋃ {(lk,V)/lk ∈ Leff+(a)}SF ′ = SF − {(fl, vl)}

⋃ {(fl, nresult(nl, S))}, nl = 〈fl, assl, expl〉 ∈ Feff(a), si exec(a, S) = V ∧ δ = ∅

(5.2.9)

• Si la accion a no es aplicable en S, o bien hay factores externos que

puedan influir en la ejecucion de a, el estado resultante es indefinido.

result(a, S, δ) = indefinido, si exec(a, S) 6= V ∨ δ 6= ∅ (5.2.10)

Ejemplo. La figura 5.3 muestra la transicion del estado S al S ′ que se

produce al aplicar una accion a, ejecutable en S, en ausencia de situaciones

inesperadas (δ = ∅).

5.2.4. Sensorizacion

Las acciones de sensorizacion - que denominaremos con la letra α para

diferenciarlas del resto - son similares a las acciones normales, en el sentido de

que se componen tambien de precondiciones y efectos, tanto numericos como

proposicionales. Respecto a las precondiciones de una accion de sensorizacion,

estas son equivalentes a las precondiciones de las acciones normales. Una accion

de sensorizacion, por lo tanto, es ejecutable en un estado bajo las mismas

circunstancias que una accion normal (ver definicion 5.2.8).

Los efectos de una accion de sensorizacion, sin embargo, son diferentes de

los de una accion normal. Los efectos proposicionales de una accion de sen-

sorizacion, Leff , son un conjunto de literales (no de proposiciones logicas).

Page 123: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 101

Figura 5.3: Ejemplo de transicion entre estados producida por la ejecucion deuna accion y en ausencia de eventos inesperados. Puede observarse tambienque la accion a es aplicable en S.

Semanticamente, estos literales representan los hechos cuyo valor de verdad

sera obtenido a traves de la sensorizacion del entorno. Por el contrario, los

efectos numericos de una accion de sensorizacion son, al igual que en las ac-

ciones normales, un conjunto de efectos numericos.

El desconocimiento de los valores de verdad de los efectos proposicionales

de una accion de sensorizacion hace que, incluso en ausencia de eventos inespe-

rados o fallos, el resultado de la ejecucion de dicha accion sea no determinıstico.

El resultado esta en funcion del estado real del mundo, el cual solo es conocido

en dominios en los que el mundo es completamente observable (dominios, por

consiguiente, en los que las acciones de sensorizacion son totalmente inutiles).

Hay que tener en cuenta, tambien, que en la ejecucion de acciones de sensori-

zacion, aparece un nuevo factor que puede afectar al resultado de la ejecucion:

la falta de fiabilidad de los sensores. La sensorizacion imperfecta es otro factor

no controlable que incluiremos en δ.

Definicion 5.2.10. El resultado de aplicar una accion de sensorizacion α

sobre un estado S = 〈SL, SF 〉 es un nuevo estado S ′. Este nuevo estado

depende del estado real del mundo, Sreal, tal como se describe a continuacion:

• Si α es aplicable en S y no hay factores externos que impidan la correcta

ejecucion de α, entonces S ′ es igual que S excepto que los valores de

los efectos proposicionales de α se sustituyen por verdadero o por fal-

so, dependiendo de su valor de verdad real en el mundo. Las variables

Page 124: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

102 5.2. Notacion y terminologıa

numericas tambien cambian su valor de acuerdo a los efectos numericos

de α.

result(α, S, δ) = 〈SL′, SF ′〉/SL′ = {(li, vi) ∈ SL/li 6∈ Leff(α)} ⋃

{(lj ,F)/lj ∈ Leff(α) ∧ lvalue(lj , Sreal) = F} ⋃

{(lk,V)/lk ∈ Leff(α) ∧ lvalue(lk, Sreal) = V}SF ′ = SF − {(fl, vl)}

⋃ {(fl, nresult(nl, S))}, nl = 〈fl, assl, expl〉 ∈ Feff(α), si exec(α, S) = V ∧ δ = ∅

(5.2.11)

• Al igual que ocurrıa con las acciones normales, si α no es ejecutable en

S, o bien hay factores externos que puedan influir en su ejecucion, el

estado resultante es indefinido (ver ecuacion 5.2.10).

Ejemplo. La figura 5.4 muestra la transicion producida por una accion de

sensorizacion que permite comprobar el valor de un literal, l4, en el estado real

del mundo (Sreal). En ausencia de situaciones inesperadas, δ = ∅, el estado

resultante dependera del valor real de l4.

5.2.5. Planes

Antes de definir el concepto de plan dentro de este marco de planificacion

practica, es necesario describir en que consisten los objetivos del problema.

Los objetivos G = {gi / gi ∈ PL} son un conjunto de proposiciones logi-

cas. Actualmente, algunos planificadores como Metric-FF o LPG son capaces

tambien de manejar objetivos numericos. Esta caracterıstica, sin embargo, no

se va a tratar en este trabajo y se deja como una futura ampliacion de la

funcionalidad del planificador.

La meta del planificador es alcanzar un estado del mundo en el que todos

los objetivos se satisfagan. En entornos dinamicos y parcialmente observables,

sin embargo, no es posible tener la certeza de que todos los objetivos se han

alcanzado. Un agente malicioso, por ejemplo, podrıa ir deshaciendo todos los

objetivos que el agente de planificacion va alcanzando. Ante la imposibilidad,

Page 125: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 103

Figura 5.4: Ejemplo de transicion entre estados producida por la ejecucion deuna accion de sensorizacion en ausencia de eventos inesperados.

en muchas ocasiones, de verificar el cumplimiento de todos los objetivos si-

multaneamente, consideraremos que el agente de planificacion ha alcanzado

sus objetivos cuando sus creencias sobre el mundo ası lo indiquen.

Definicion 5.2.11. Un estado S es un estado objetivo si todos los objetivos

del problema, G, se satisfacen en S:

goalstate(S, G) = V ←→ satisfy(gi, S) = V, ∀gi ∈ G (5.2.12)

Definicion 5.2.12. Un plan es una secuencia de acciones P = {a0, a1, . . . , an}que, aplicada sobre el estado inicial del problema I esta orientada a la con-

secucion de los objetivos G. Por comodidad, emplearemos tambien la funcion

result para calcular el estado resultante de ejecutar una secuencia de acciones

P :

result(P, S, {δ0, δ1, . . . , δn}) = S′ ←→ result(a0, I, δ0) = S1, result(a1, S1, δ1) =S2, . . . , result(an, Sn, δn) = S′

(5.2.13)

Definicion 5.2.13. Un plan P tiene exito (valid plan(P, I, G, {δi})) cuando,

ejecutado sobre un estado inicial I, alcanza un estado objetivo:

Page 126: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

104 5.2. Notacion y terminologıa

valid plan(P, I, G, {δi}) = V ←→ result(P, I, {δi}) = S′ ∧ goalstate(S′, G) = V(5.2.14)

Aunque hemos considerado unicamente planes secuenciales, el ejecutor pue-

de solicitar al planificador varias acciones y, si es posible, ejecutarlas en pa-

ralelo. La paralelizacion de planes es un proceso con un coste computacional

muy bajo y que permite obtener planes paralelos de gran calidad [Valero et al.

2004]. Generar planes secuenciales es, generalmente, mas eficiente, por lo que

existen varios planificadores, como SAPA [Do y Kambhampati 2003] o LPG

[Gerevini et al. 2003], que recurren a tecnicas de paralelizacion.

La secuencia {δ0, δ1, . . . , δn} define la sucesion de situaciones imprevistas

que han ocurrido durante la ejecucion del plan. Esta secuencia hace que la

ejecucion de un mismo plan para resolver un mismo problema no siempre

obtenga el mismo resultado. Este hecho destaca la importancia de disponer

de un mecanismo de monitorizacion de la ejecucion, ası como la desventaja

de realizar un gran esfuerzo para generar un plan completo que, en muchas

ocasiones, no tendra exito.

Por ultimo, es importante definir tambien el concepto de metrica del pro-

blema.

Definicion 5.2.14. La metrica del problema m es una expresion numerica

que el planificador debe tratar de optimizar (maximizar o minimizar). Por

simplicidad consideraremos siempre que la metrica debe minimizarse. Esto no

supone una perdida de generalidad, pues es posible transformar el criterio de

optimizacion multiplicando por -1 la expresion.

La metrica permite evaluar la bondad de un plan y decidir cual es la mejor

opcion entre varios planes posibles. Un plan P1 es de mejor calidad que un

plan P2 si:

1. La ejecucion de P1 y P2 conducen a los estados S1 y S2 respectivamente,

y S1 y S2 son estados objetivo.

2. El valor de la metrica en S1 es menor que en S2: evalue(m, S1) <

evalue(m, S2).

Page 127: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 105

Evidentemente, la aparicion de imprevistos durante la ejecucion de un plan

hace imposible asegurar que el estado final que se alcance sera el optimo de

acuerdo a la metrica. La metrica, no obstante, puede emplearse para seleccio-

nar entre diversas soluciones parciales aquella que tenga mayores posibilidades

de conducir a un plan final de mejor calidad.

Operaciones sobre planes

El planificador necesita realizar ciertas operaciones sobre los planes durante

su construccion y reparacion. Estas operaciones se emplearan en la formaliza-

cion del algoritmo de planificacion. Sea un plan P = {a0, a1, . . . , an}:

• first(P ) devuelve la primera accion de P , es decir, a0.

• removefirst(P ) devuelve el plan resultante de eliminar la primera accion

de P , es decir, {a1, . . . , an}.

• Emplearemos el operador de concatenacion ⊗ para unir varias secuencias

de acciones. El resultado de P ⊗ {an+1} serıa, por lo tanto, la secuencia

{a0, . . . , an, an+1}.

5.3. Esquema general del algoritmo de plani-

ficacion

El algoritmo de planificacion se basa en la idea de descomponer el pro-

blema de planificacion original PP = 〈F , L, A, I, G, m〉 en n subproblemas

independientes PPi = 〈F , L, A, I, gi, m〉, i = 1 . . . n, donde n es el numero de

objetivos del problema (n = |G|). Se genera, por lo tanto, un plan Pi distin-

to para cada uno de los subproblemas. Finalmente, se estudian los conflictos

existentes entre dichos planes para decidir cual es la primera accion que debe

ejecutarse a continuacion (anext).

El planificador envıa anext al ejecutor cuando este se lo solicita. El planifi-

cador actualiza entonces su representacion interna del mundo. Puesto que el

estado varıa continuamente durante la ejecucion de un plan, introduciremos el

termino S0 (estado actual) para hacer referencia al modelo que el planificador

Page 128: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

106 5.3. Esquema general del algoritmo de planificacion

tiene del mundo en el instante actual. En el comienzo del proceso de planifi-

cacion, el estado actual coincide con el estado inicial del problema (S0 = I).

El nuevo estado actual se calcula como result(anext, S0, ∅). La modificacion

del estado actual, por lo tanto, se lleva a cabo considerando que la ejecucion de

anext tendra los efectos esperados, es decir, asumiendo que δ = ∅. Este modelo

de operacion se denomina planificacion basada en asunciones (assumption-

based planning [Koenig et al. 2003]): las acciones se consideran deterministas

para simplificar el problema de planificacion, y se replanifica cuando el efecto

real de las acciones no coincide con el esperado.

Cuando se trata de una accion de sensorizacion se asume tambien que los

efectos proposicionales de la accion se cumplen en el mundo (lvalue(li, Sreal) =

V ,∀li ∈ Leff(αnext)). Si alguna de estas asunciones resulta ser falsa, el meca-

nismo de monitorizacion del ejecutor debera notificarle este hecho al planifi-

cador, el cual se encargara de calcular nuevos planes para el nuevo estado.

Todo este proceso se repite continuamente, hasta que el usuario decide

detener la ejecucion del agente de planificacion. Cuando el agente ha alcanzado

todos los objetivos, el planificador devuelve una accion especial: NOP (no

operacion). NOP es una accion sin precondiciones ni efectos que le permite

al agente esperar cierto tiempo sin realizar ninguna accion. El planificador

volvera a calcular nuevos planes solo cuando el usuario le introduzca nuevos

objetivos, o en el caso de que el ejecutor descubra que alguno de los objetivos

previamente alcanzados ya no se satisface.

El esquema del algoritmo de planificacion puede verse en la figura 5.5. El

algoritmo consta de cuatro etapas principales:

1. Etapa de preproceso. En esta etapa, la informacion sobre el proble-

ma y el dominio se procesa y se organiza para agilizar los calculos en

las etapas posteriores. El preproceso consiste principalmente en realizar

una instanciacion de los operadores y de los predicados proporciona-

dos en la especificacion del dominio. El resultado de la instanciacion

es el conjunto de todas las acciones y literales posibles. El trabajo con

acciones completamente instanciadas es, en general, mas eficiente que

trabajar directamente con operadores. Por esta razon, la mayorıa de los

planificadores actuales [Younes y Simmons 2002] incluyen una etapa de

preproceso similar a la aquı comentada.

Page 129: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 107

Figura 5.5: Esquema general del algoritmo de planificacion. El ejecutor in-teracciona con el planificador para solicitarle acciones y para notificarle lainformacion adquirida del entorno.

En la figura 5.5 se puede observar que la etapa de preproceso puede rea-

lizarse mas de una vez durante el proceso de planificacion. Esto ocurre

cuando el sistema de monitorizacion detecta una situacion inesperada en

el entorno que afecta al conjunto de acciones posibles. Considerando, por

ejemplo, el problema del reparto de correo mediante un robot movil, el

ejecutor podrıa descubrir la presencia de una nueva carta en un despa-

cho. El proceso de instanciacion deberıa entonces repetirse para generar

nuevas acciones para coger, transportar y entregar dicha carta.

2. Grafo relajado de planificacion. El grafo relajado proporciona la

informacion heurıstica necesaria para la construccion de los planes. El

problema de planificacion se relaja, ignorando los efectos negativos y las

precondiciones numericas de las acciones. Partiendo del estado actual

S0, el grafo relajado de planificacion (RPG) expande por orden de coste

todas las posibles acciones hasta alcanzar los objetivos. De esta forma se

obtiene una aproximacion del coste de alcanzar un determinado literal,

ası como el conjunto de acciones que permiten alcanzar dicho literal con

el menor coste estimado.

Page 130: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

108 5.3. Esquema general del algoritmo de planificacion

Cada vez que cambia el estado actual, el planificador debe recalcular el

RPG. Un cambio de estado puede aparecer en dos casos:

• Cuando el planificador envıa la accion calculada anext al ejecutor.

El estado se actualiza con los efectos esperados de anext.

• Cuando el mecanismo de monitorizacion detecta un evento inespe-

rado.

El calculo de los costes estimados se realiza sobre un estado de partida

determinado, por lo que cualquier cambio en dicho estado disminuye la

calidad de las estimaciones. La alternativa para no tener que calcular un

nuevo RPG en cada estado es emplear tecnicas de planificacion regresiva,

es decir, planificar a partir de los objetivos. Esta alternativa, que ya se

probo con la version regresiva del planificador HSP2 [Bonet y Geffner

2001c], presenta, sin embargo, dos inconvenientes:

• Un planificador de tiempo real no dispone muchas veces del tiem-

po necesario para calcular un plan completo. Debe centrarse, por

lo tanto, en tomar las decisiones mas inminentes, es decir, en las

siguientes acciones a ejecutar. Esta forma de trabajar entra en con-

flicto con la planificacion regresiva, pues esta ultima comienza a

razonar a partir de los objetivos.

• La planificacion regresiva no produce necesariamente mejores re-

sultados. De hecho, el planificador regresivo HSPr obtenıa incluso

peores resultados que su homologo progresivo. Los autores indican

en [Bonet y Geffner 2001c] que esto se debe en gran parte a que la

informacion adicional que se obtiene al recalcular el RPG resulta

beneficiosa.

Debido a estos inconvenientes hemos optado por realizar una implemen-

tacion progresiva, en la que se calcula un RPG cada vez que se produce

un cambio de estado.

3. Calculo de planes mono-objetivo. El desarrollo de un planificador

anytime, apto para trabajar con restricciones en los tiempos de respuesta,

requiere la capacidad de trabajar con planes parciales (o incompletos).

Page 131: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 109

En la literatura se puede observar que esta capacidad se consigue de dos

formas distintas:

• Planificacion de orden parcial. Los algoritmos POCL, descritos

en el apartado 2.3.1 permiten una construccion incremental de los

planes mediante la instanciacion progresiva de los parametros de las

acciones y los metodos de resolucion de amenazas. El planificador

IXTET -EXEC [Lemai y Ingrand 2004], por ejemplo, deja inalte-

rada la parte del plan que se ha ejecutado ya mientras repara el

resto plan. Los planificadores basados en MDPs, como PASCALE-2

[Thiebaux et al. 1995], proceden de una forma similar para respetar

las restricciones temporales.

• Tecnicas de descomposicion. Estas tecnicas consisten en des-

componer un problema en varios subproblemas, generalmente mas

sencillos de resolver. Luego, las soluciones de los subproblemas se

combinan para formar una solucion al problema original. Entre

las tecnicas de descomposicion existentes destacan la planificacion

jerarquica, la ordenacion de objetivos y la descomposicion de obje-

tivos, descritas en el apartado 2.3.5.

Generalmente la planificacion de orden parcial es menos eficiente que la

de orden total, por lo que hemos decidido emplear esta ultima aproxima-

cion. Tampoco hemos optado por realizar una planificacion jerarquica,

con la intencion de proporcionar un funcionamiento lo mas independien-

te del dominio posible. Las tecnicas de descomposicion y ordenacion de

objetivos resultan muy apropiadas para el tipo de planificacion que de-

seamos realizar y, ademas, pueden utilizarse conjuntamente. La tecnica

de ordenacion de objetivos, sin embargo, no se ha implementado todavıa,

aunque queda como una futura ampliacion para mejorar la eficiencia del

planificador.

Utilizando la tecnica de descomposicion de objetivos, el algoritmo de

planificacion calcula un plan Pi por separado para cada uno de los obje-

tivos del problema gi ∈ G. El calculo de cada plan Pi se realiza de forma

incremental, partiendo de un plan inicial posiblemente incompleto. Es-

tos planes se van refinando concurrentemente mientras el planificador

Page 132: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

110 5.4. Etapa de preproceso

disponga de tiempo.

4. Ordenacion de planes. El principal inconveniente de la tecnica de

descomposicion de objetivos es el elevado coste de la combinacion de los

planes obtenidos para formar un plan final correcto.

Nuestro algoritmo evita este problema, ya que no trata de combinar

los distintos planes Pi generados. Cuando el ejecutor solicita una accion

al planificador, el planificador detiene el refinamiento de los planes Pi.

Comienza entonces un proceso de ordenacion que decide que plan es

el que debe comenzar a ejecutarse en primer lugar. Esta ordenacion se

realiza mediante un estudio de los conflictos y las interacciones que hay

entre los distintos planes Pi.

La siguiente accion a ejecutar anext corresponde con la primera accion

del plan que se ha ordenado en primer lugar. La accion anext se envıa

entonces al ejecutor y el planificador actualiza su base de hechos con los

resultados esperados de dicha accion. Los planes Pi que comienzan con

la accion anext se reutilizan para la siguiente iteracion. Para ello, solo es

necesario eliminar la primera accion de dichos planes puesto que ya se

esta ejecutando. Por el contrario, los planes que no comienzan con anext

se descartan. Aunque cabe la posibilidad de que dichos planes puedan

ser reparados facilmente, es conveniente volver a calcularlos desde cero.

De esta forma se aprovecha la informacion actualizada que proporciona

el nuevo grafo relajado de planificacion.

En los siguientes apartados de este capıtulo se ofrece una vision detallada

de estas cuatro etapas que componen algoritmo de planificacion. Se analiza

tambien la complejidad de cada una de estas etapas para estudiar el impacto

que producen en el proceso completo de planificacion. Los resultados empıricos

que se presentan en estos apartados se han obtenido empleando un Pentium

4 a 2 Ghz., con 256 Mbytes de memoria.

5.4. Etapa de preproceso

La informacion sobre el problema y el dominio se le proporciona al pla-

nificador en forma de ficheros PDDL. Este lenguaje, ası como las extensiones

Page 133: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 111

propias introducidas, se comentan en los apartados 2.2.3 y 4.3. El dominio

describe, mediante operadores y predicados, las operaciones que pueden rea-

lizarse en el mundo. Esta informacion, sin embargo, no esta instanciada, es

decir, que se emplean variables para representar de una forma compacta todas

las operaciones posibles. Actualmente hay muy pocos planificadores capaces

de trabajar directamente sobre los operadores. Trabajar sobre operadores es

generalmente mas complejo, aunque resulta apropiado para las aproximacio-

nes de planificacion de menor compromiso (least commitment planning), en

las que la instanciacion de variables se retrasa tanto como sea posible [Younes

y Simmons 2002].

La etapa de preproceso, por lo tanto, esta presente en la mayorıa de los

planificadores actuales. En nuestro algoritmo, esta etapa se divide en tres

importantes tareas:

1. Instanciacion de las acciones y literales. Mediante la sustitucion

de los parametros de los operadores por valores concretos se generan

todas las acciones posibles. Del mismo modo, los literales se obtienen

de instanciar los parametros de los predicados. El algoritmo trabajara a

partir de ahora solo con acciones y literales, lo que resulta mas eficiente.

Normalmente, la fase de instanciacion se realiza una sola vez en todo el

proceso de planificacion. Sin embargo, en entornos dinamicos, es posible

la aparicion de nuevos objetos o, lo que es lo mismo, que sea posible

asignar nuevos valores a los parametros de los operadores. Como conse-

cuencia, la instanciacion debe volverse a realizar para obtener las nuevas

acciones posibles. El ejecutor se encarga de avisar al planificador cuando

el sistema de monitorizacion detecta una situacion como la descrita.

2. Analisis de alcanzabilidad. En el proceso de instanciacion se gene-

ran muchas acciones que no son alcanzables, es decir, que ningun plan

puede conducir a un estado en el que se satisfagan sus precondiciones.

Esta comprobacion tiene un coste exponencial, por lo que relajamos el

problema ignorando las precondiciones numericas y negadas de las accio-

nes. El analisis de alcanzabilidad elimina una gran cantidad de acciones,

acelerando considerablemente el proceso de construccion del plan.

Page 134: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

112 5.4. Etapa de preproceso

Este analisis tiene, sin embargo, un inconveniente: alguna de las accio-

nes eliminadas puede convertirse en una accion alcanzable si el entorno

evoluciona de una forma inesperada. Si el mecanismo de monitorizacion

detecta esta situacion, el analisis de alcanzabilidad tendra que volver a

repetirse.

3. Acceso optimizado a las estructuras de datos. Toda la informa-

cion del dominio y del problema (literales, acciones, objetivos, el estado

inicial, etc.) se almacenan en diversas estructuras de datos. Partiendo de

dichas estructuras es posible obtener, con un cierto coste, nueva informa-

cion, como cuales son las acciones que producen un literal o que acciones

modifican una determinada variable numerica. Esta informacion se utili-

za con mucha frecuencia durante el resto de etapas de planificacion, por

lo que es conveniente tenerla almacenada para un acceso mas rapido. Las

nuevas estructuras de datos, generadas en esta fase, permiten recuperar

esta informacion con un coste computacional constante.

En nuestra implementacion particular de esta etapa del algoritmo, hemos

unificado las fases de instanciacion y de analisis de alcanzabilidad. De esta

forma, solo instanciamos las acciones que son alcanzables, reduciendo la com-

plejidad del proceso. Inicialmente, se comparan los literales de la situacion

inicial con las precondiciones de los operadores. Cuando un literal casa con

una precondicion, en los parametros del operador se almacenan los valores

correspondientes. Al final de este proceso obtenemos una lista de operadores

semi-instanciados, en los que cada parametro del operador tiene un conjunto

de valores posibles. Probando todas las posibles combinaciones de asignacion

de valores a los parametros obtenemos un conjunto de acciones, aunque solo

algunas seran alcanzables. Los efectos de las acciones alcanzables se anaden a

la lista de literales. Este proceso finaliza cuando, a partir de los nuevos literales,

no es posible instanciar ninguna nueva accion.

El coste computacional de la obtencion de los operadores semi-instanciados

es, en el peor de los casos, del orden de |O| × |Lprec+| × |L|, donde |O| es el

numero de operadores, |Lprec+| es el numero medio de precondiciones por

operador, y |L| es el numero de literales instanciados. Por otra parte, la ins-

tanciacion de las acciones a partir de los operadores semi-instanciados tiene

un coste del orden de |Os| × vpnp × |Lprec+|, donde:

Page 135: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 113

• |Os| es el numero de operadores semi-instanciados. Este valor suele ser

bastante menor que el numero total de acciones finalmente instanciadas.

• vp representa el numero medio de valores asignados a cada parametro.

Este numero depende del problema, pero suele ser bastante pequeno

(generalmente, entre 1 y 4).

• np es el numero medio de parametros de un operador. Este valor es, tam-

bien, muy reducido. Un operador no suele tener mas de cinco parametros.

Finalmente, el coste de la fase de optimizacion del acceso a las estructuras

de datos es polinomico, del orden de |L|×|A|, pues es suficiente con un recorrido

(anidado) de los literales y de las acciones instanciadas.

Aunque de coste teoricamente exponencial en el peor de los casos, la etapa

de preproceso no supone un esfuerzo computacional significativo. De hecho,

tal como demuestran los resultados experimentales presentados en la tabla

5.1, este algoritmo es capaz de instanciar varios miles de acciones en solo unos

milisegundos. Esta tabla muestra el tiempo empleado en el preproceso para

cuatro dominios de planificacion: Depots, DriverLog, Rovers y Satellite. Estos

dominios, presentados en la competicion del 2002 [IPC 2002], se comentan en

el apendice A.

5.5. Grafo relajado de planificacion

Como ya se comento en el apartado 2.3.3, el principio general para calcular

heurısticas es generar una version simplificada del problema. Y, probablemen-

te, una de las relajaciones que mejores resultados produce es ignorar los efectos

negativos de las acciones (Leff−). Diversos planificadores actuales, como Sa-

pa [Do y Kambhampati 2003] y Metric-FF [Hoffman 2003], han utilizado esta

tecnica como base para el calculo de sus funciones heurısticas.

Para resolver este problema relajado se construye un grafo mediante una

expansion similar a la que realiza el planificador Graphplan. Este grafo, tam-

bien llamado grafo relajado de planificacion (RPG), se genera en tiempo poli-

nomial [Hoffman y Nebel 2001] y proporciona informacion util para el proceso

de planificacion.

Page 136: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

114 5.5. Grafo relajado de planificacion

Tabla 5.1: Tiempo de computo de la etapa de preproceso. El numero de literalesy acciones instanciadas ofrecen una medida de la complejidad del problema.

Dominio Problema |L| |A| Tiempo (ms.)

1 44 72 15 228 792 10

Depots 10 192 816 1015 629 3990 4020 734 5894 60

1 46 88 15 75 168 10

DriverLog 10 173 516 515 488 2592 2020 1588 15696 160

1 70 63 15 111 144 1

Rovers 10 244 382 515 371 751 2020 1249 3976 160

1 62 53 15 209 506 10

Satellite 10 514 1795 2015 1040 5651 4020 1150 4466 30

El algoritmo tradicional para la construccion de un RPG genera niveles de

literales y niveles de acciones de forma alternada. El primer nivel, L0, es un

nivel de literales que contiene todos los literales que son ciertos en el estado

actual S0. Los niveles de acciones, At, contienen todas las acciones que son

aplicables en el nivel anterior Lt. El siguiente nivel de literales, Lt+1, se extiende

mediante la inclusion de los efectos positivos de dichas acciones. La expansion

del RPG termina cuando se alcanza un nivel de literales que contiene todos

los objetivos del problema, o cuando ya no es posible aplicar ninguna nueva

accion. La figura 5.6 muestra este proceso.

La expansion tradicional del RPG presenta, sin embargo, varios incon-

venientes, pues no tiene en cuenta caracterısticas importantes del problema,

Page 137: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 115

t = 0; L0 = S0 // Inicializacion

while ∃gi ∈ G/gi 6∈ Lt do // Nueva expansion

At = {a ∈ A/Lprec+(a) ∈ Lt} // Nivel de accion

Lt+1 = Lt⋃

Leff+(a), ∀a ∈ At // Nivel de literales

if Lt+1 = Lt then fail endift = t + 1

endwhile

Figura 5.6: Expansion tradicional del RPG.

como la incertidumbre, los objetivos numericos, la funcion de optimizacion

(metrica) y las acciones de sensorizacion. Los siguientes apartados describen

las extensiones que se han desarrollado para incluir estas caracterısticas en el

grafo relajado.

5.5.1. Incertidumbre sobre el estado actual

En la expansion tradicional del RPG, los niveles de literales unicamente

contienen literales positivos. Esto se debe a que, de acuerdo con una asun-

cion de STRIPS, si un literal no se incluye explıcitamente en la descripcion de

un estado, entonces dicho literal es falso en dicho estado. Sin embargo, esta

asuncion no es posible en nuestro modelo, ya que empleamos una logica triva-

luada para representar problemas con informacion incompleta. Por lo tanto,

hemos optado por un establecer un criterio diferente: denominaremos niveles

proposicionales a los niveles de literales, ya que estos contendran proposiciones

logicas en lugar de literales. De esta forma, el primer nivel proposicional, L0,

contendra todas las proposiciones logicas que se satisfacen en el estado actual.

Los niveles de acciones, At, contienen, de este modo, aquellas acciones cuyas

precondiciones proposicionales, tanto positivas como negativas, se encuentran

en el nivel proposicional anterior Lt. El siguiente nivel proposicional Lt+1 ex-

tiende Lt con los efectos, positivos y negativos, de las acciones en At. Este

algoritmo se describe en la figura 5.7.

De esta forma, un nivel proposicional puede contener dos proposiciones

que representen un mismo literal, pero uno en forma positiva y el otro en

forma negativa. Esta situacion es posible puesto que los niveles proposicionales

Page 138: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

116 5.5. Grafo relajado de planificacion

t = 0 // Inicializacion

Lt = {pi ∈ PL/satisfy(pi, S0) = V}while ∃gi ∈ G/gi 6∈ Lt do // Nueva expansion

At = {a ∈ A/Lprec(a) ∈ Lt} // Nivel de accion

Lt+1 = Lt⋃

Leff(a), ∀a ∈ At // Nivel proposicional

if Lt+1 = Lt then fail endift = t + 1

endwhile

Figura 5.7: Algoritmo de expansion del RPG considerando la incertidumbreen los valores logicos de las proposiciones.

del grafo no representan estados validos, sino conjuntos de proposiciones que

pueden alcanzarse con un cierto coste (en este caso, el coste se mide en numero

de pasos de tiempo). Ası, si en t pasos de tiempo podemos conseguir que una

puerta, doorA, este tanto abierta como cerrada, Lt contendra entonces las

proposiciones open doorA y ¬ open doorA.

5.5.2. Manejo de funciones numericas

Cuando se trabaja con problemas de planificacion numericos es necesario

considerar tambien como se van a relajar la parte numerica del problema, es

decir, las precondiciones y los efectos numericos de las acciones, y el criterio

de optimizacion. Respecto a las precondiciones y efectos numericos, hemos se-

guido la misma aproximacion que el planificador Sapa [Do y Kambhampati

2003], es decir, ignorarlos en el problema simplificado. Metric-FF [Hoffman

2003], por el contrario, sigue una aproximacion diferente, ignorando unica-

mente los efectos numericos decrecientes de las acciones. Esta aproximacion

proporciona una mayor cantidad de informacion, pero requiere que las varia-

bles numericas cumplan ciertas propiedades (en el problema de planificacion,

debe ser preferible que las variables numericas tengan valores altos).

Ignorar las precondiciones y los efectos numericos de las acciones nos permi-

te trabajar de una forma mas sencilla con el problema de planificacion relajado.

Por lo demas, esta decision no tiene mayor trascendencia, pues el algoritmo

que se presenta en este apartado es totalmente compatible con otras aproxima-

ciones y, por lo tanto, podrıa utilizarse en otros planificadores heurısticos. Del

Page 139: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 117

mismo modo, tambien es posible incorporar en nuestro algoritmo de expansion

la extension que Metric-FF propone para considerar los efectos numericos de

las acciones.

Por otra parte, falta por considerar la funcion de optimizacion o metrica del

problema. Tradicionalmente, los niveles del RPG proporcionan informacion

sobre el numero de pasos de tiempo (time steps) necesarios para alcanzar

una determinada proposicion o para alcanzar un estado en el que una accion

pueda ser ejecutada. Sin embargo, muchos planificadores actuales permiten

especificar un criterio de optimizacion (o metrica del problema) diferente. De

esta forma se permite al usuario seleccionar un criterio de optimizacion mas

acorde con el problema a resolver, como, por ejemplo, minimizar el consumo

de combustible o la distancia recorrida en un problema de transporte. Esta

caracterıstica resulta muy interesante en un gran numero de problemas, por

lo que hemos optado por modificar el algoritmo de expansion del RPG para

asociar los diferentes niveles del grafo con costes estimados de acuerdo con la

metrica del problema.

La idea basica para tener en cuenta el criterio de optimizacion en la etapa

del RPG es incluir en el grafo cierta informacion sobre el coste de las acciones

respecto a la metrica del problema. Sin embargo, considerar todos los posibles

estados diferentes que pueden alcanzarse debido a modificaciones en los valores

de las variables numericas es impracticable. Por lo tanto, nuestra propuesta

consiste en calcular una estimacion del coste de las acciones en el estado actual

(S0). Esta simplificacion es totalmente aceptable en problemas en los que los

costes y el consumo de recursos no es muy dependiente del estado en el que

se aplican las acciones. La mayorıa de los problemas de planificacion cumplen

este requerimiento. Por ejemplo, el consumo de combustible de un avion de-

pende fuertemente de informacion estatica, como la longitud del recorrido. La

informacion dependiente del estado, como el numero de pasajeros en un vuelo

determinado, solo tiene un pequeno efecto en el coste.

La principal diferencia de nuestra propuesta respecto al RPG tradicional

es que los niveles del grafo no representan el numero de acciones aplicadas,

sino costes relativos a la metrica del problema (m). Por ello, para calcular los

niveles del grafo debemos estimar el coste de ejecutar una accion a:

Page 140: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

118 5.5. Grafo relajado de planificacion

cost(a) = evalue(m, result(a, S0, ∅))− evalue(m,S0) + ε

if cost(a) < ε then cost(a) = ε endif(5.5.1)

El coste de una accion a se calcula como el incremento en el valor de la

metrica causado por la ejecucion de a en S0. Es necesario puntualizar, sin

embargo, que los efectos numericos de a se aplican sobre el estado actual,

independientemente de si la accion es ejecutable o no en dicho estado. La

constante ε incluido en el coste representa que todas las acciones, incluso

aquellas cuya ejecucion no afecta al valor de la metrica, tienen un coste. El

valor de ε es un numero muy pequeno para evitar que influya significativamente

sobre el coste estimado de las acciones. De esta forma, si no hay una metrica

definida en el problema, nuestro RPG es equivalente al mostrado en la figura

5.7.

Finalmente, se comprueba que el coste de la accion sea positivo. Ignoramos,

por lo tanto, el coste de las acciones que decrementan el valor de la metrica,

ya que, de otro modo, se producirıa una expansion desordenada del grafo. Se

considera, entonces, que estas acciones tienen el coste mınimo (ε). La expansion

del grafo se realiza ası en un orden incremental de coste, en el que cada nivel

Ai contiene acciones que, de una forma estimada, cuestan mas de alcanzar que

las de los niveles anteriores (Aj, j < i).

Tras estas consideraciones, el algoritmo de expansion del RPG puede for-

malizarse como muestra la figura 5.8. El primer paso de este algoritmo consiste

en inicializar los costes estimados de las proposiciones logicas: las proposiciones

que se satisfacen en S0 tienen coste cero. Al resto de proposiciones se les asocia

inicialmente un coste infinito. El coste de una proposicion logica p, cost(p), se

actualiza cuando se inserta en el grafo alguna accion a que produce (o elimina)

p. El nuevo coste de p se calcula como el mınimo entre:

• El coste actual de la proposicion, cost(p).

• El coste de alcazar p mediante la ejecucion de a. Es posible que obtener

p mediante la ejecucion de a sea una opcion menos costosa que la que

tenıamos hasta el momento. Este nuevo coste se calcula como la suma

de:

Page 141: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 119

– El coste estimado de alcanzar desde S0 un estado en el que las

precondiciones proposicionales de a se satisfagan. Este coste, deno-

minado cost reach(a), se obtiene como la suma de los costes de las

precondiciones de a.

– El coste de ejecutar a, cost(a) (ver la ecuacion 5.5.1).

1. // Inicializacion de los costes

2. cost(p) ={

0 , if satisfy(p, S0) = V∞ , otherwise

, ∀p ∈ PL

3. // Primer nivel proposicional

4. t = 0; Lt = {p ∈ PL/cost(p) = 0}5. New Prop = ∅6. // Expansion del RPG hasta alcanzar todos los objetivos

7. while ∃g ∈ G/g 6∈ Lt do8. // Nivel de acciones

9. At = {a ∈ A/Lprec(a) ∈ Lt)10. cost reach(a) =

∑p∈Lprec(a) cost(p), ∀a ∈ At

11. // Coste de los efectos de las acciones de At

12. for all pi ∈ Leff(a), a ∈ At do13. new cost = mın(cost reach(ai) + cost(ai)),∀ai ∈ At/pi ∈ Leff(ai)14. cost(pi) = mın(cost(pi), new cost)15. endfor16. // Nuevas proposiciones alcanzadas

17. New Prop = New Prop ∪ Leff(a) − Lt, ∀a ∈ At

18. if New Prop = ∅ then fail endif19. // Siguiente nivel proposicional

20. next t = min(cost(p)),∀p ∈ New Prop21. Lnext t = Lt ∪ {p ∈ New Prop / cost(p) = next t}22. New Prop = New Prop− Lnext t

23. t = next t24. endwhile

Figura 5.8: Expansion del RPG considerando la metrica del problema.

La expansion del grafo comienza con la generacion del primer nivel pro-

posicional L0, que contiene todas las proposiciones de coste cero, es decir, las

que se satisfacen en S0. La expansion, que termina cuando se alcanza un nivel

proposicional que contiene todos los objetivos, se lleva a cabo de forma similar

Page 142: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

120 5.5. Grafo relajado de planificacion

al algoritmo tradicional, es decir, generando niveles de acciones y de proposi-

ciones de forma alternada. Los niveles de acciones At se calculan de la misma

forma que en la figura 5.7, insertando aquellas acciones cuyas precondiciones

se satisfacen en el nivel proposicional previo Lt.

Los niveles proposicionales, Lt, estan indexados mediante el coste sus pro-

posiciones, por lo que todas las proposiciones pertenecientes a un mismo nivel

tienen un coste t o menor. Tras generar un nivel de acciones At es necesario,

por lo tanto, calcular cual sera el coste, next t, del siguiente nivel proposicio-

nal. Para ello se mantiene una lista New Prop con las proposiciones que ya

han sido alcanzadas (y que son, por lo tanto, efecto de alguna accion del grafo),

pero que todavıa no se han insertado en el grafo. Para lograr una expansion del

RPG ordenada por coste, next t se calcula como el menor de los costes de las

proposiciones en New Prop. El nuevo nivel proposicional, Lnext t, extiende el

nivel anterior con las proposiciones de la lista New Prop que tienen un coste

next t.

Las proposiciones insertadas en el RPG se extraen de la lista New Prop.

Si New Prop queda vacıa, el nuevo nivel generado sera igual que el anterior,

Lnext t = Lt, lo que supone que no habra ningun progreso en la expansion. Esta

situacion ocurrira cuando el planificador no disponga de suficiente informacion

para lograr los objetivos del problema o, simplemente, cuando algun objetivo

sea inalcanzable desde el estado actual.

El algoritmo de expansion presentado en este apartado puede utilizarse

para mejorar la calidad de los planes obtenidos, puesto que la informacion

heurıstica proporcionada esta enfocada a optimizar la metrica del problema.

En el Capıtulo 6 se realiza un estudio empırico comparando los resultados

obtenidos dependiendo del tipo de grafo relajado utilizado, lo que permite

observar las ventajas del RPG propuesto frente al tradicional.

5.5.3. Manejo de acciones de sensorizacion

En este apartado mostramos las modificaciones que es necesario realizar en

el proceso de expansion del RPG cuando el problema de planificacion define

acciones de sensorizacion. Para describir estos cambios, y al igual que hicimos

en la seccion 5.2, utilizaremos la nomenclatura a y α para referirnos a acciones

normales y a acciones de sensorizacion respectivamente.

Page 143: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 121

El primer paso para calcular un RPG que contemple las acciones de sen-

sorizacion es realizar una primera expansion mediante el algoritmo presentado

en el apartado anterior (ver figura 5.8). Como podemos observar, este algo-

ritmo solo incluye acciones normales en los niveles de acciones, por lo que es

necesario modificar el calculo de estos niveles. Las acciones de sensorizacion

son aplicables bajo las mismas condiciones que las acciones normales, tal y

como se indico en el apartado 5.2.4. Los niveles de acciones At se calculan, por

lo tanto, como se muestra a continuacion:

At = {a ∈ A/Lprec(a) ∈ Lt} ∪ {α ∈ A/Lprec(α) ∈ Lt} (5.5.2)

Ninguna otra modificacion es necesaria en esta primera expansion del RPG

ya que los efectos de las acciones de sensorizacion no se insertan en el grafo y,

consecuentemente, el coste de estas proposiciones tampoco se calcula. De este

modo, el RPG obtenido solo incluira aquellas proposiciones que sean alcan-

zables mediante la ejecucion de acciones normales, es decir, sin recurrir a la

sensorizacion.

Si en la primera expansion se han alcanzado todos los objetivos proposi-

cionales del problema, entonces no es necesario adquirir nueva informacion a

traves de acciones de sensorizacion. En caso contrario, es necesario incluir los

posibles efectos de las acciones de sensorizacion en el grafo. Como comenta-

mos en el apartado 5.2.4, los efectos de una accion de sensorizacion son un

conjunto de literales cuyo valor de verdad se desconoce. Por lo tanto, si l ∈ L

es un efecto de una accion de sensorizacion α, en el grafo habra que incluir

tanto l como la proposicion ¬l. El objetivo de esta segunda expansion es el

de obtener, en un orden incremental de coste, toda la informacion necesaria

para satisfacer los objetivos. Si algun objetivo del problema continua siendo

inalcanzable tras esta segunda expansion, el problema no tendra solucion.

El algoritmo para insertar los efectos de las acciones de sensorizacion, o

lo que hemos denominado como segunda expansion del RPG, se muestra en

la figura 5.9. En primer lugar se calcula una lista, Lsens, con las acciones de

sensorizacion que se han insertado en el RPG. Sin embargo, en Lsens solo

incluiremos aquellas acciones que produzcan nuevas proposiciones, es decir,

proposiciones que no se hayan insertado todavıa en el grafo y que, por lo tanto,

Page 144: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

122 5.5. Grafo relajado de planificacion

tengan un coste infinito. Los efectos de las acciones de sensorizacion se van

anadiendo por orden de coste por lo que, en cada iteracion, se seleccionara de

Lsens la accion de sensorizacion, α, cuyos efectos tengan el menor coste.

1. // Expansion del RPG hasta alcanzar los objetivos

2. while ∃g ∈ G/cost(g) = ∞ do3. // Calculo de la lista de acciones de sensorizacion

4. Lsens = {α ∈ At /∃li ∈ Leff(α) ∧ (cost(li) = ∞∨ cost(¬li) = ∞)}5. if Lsens = ∅ then fail endif6. // Accion de sensorizacion de menor coste

7. α = arg mın(cost reach(αi) + cost(αi)), ∀αi ∈ Lsens

8. // Calculo de los nuevos efectos que produce α

9. New Eff = {li ∈ Leff(α) / cost(li) = ∞}∪{¬lj / lj ∈ Leff(α) ∧ cost(¬lj) = ∞}

10. // Insercion de los efectos de α en el RPG

11. t = cost reach(α) + cost(α)12. cost(p) = t, ∀p ∈ New Eff13. Lk = Lk ∪ New Eff, k ≥ t14. // Re-expansion del RPG (lıneas 5-24 de la figura 5.8)15. call expansion-RPG16. endwhile

Figura 5.9: Algoritmo para la insercion en el RPG de los efectos de las accionesde sensorizacion.

Todos los nuevos efectos que puede producir α, tanto positivos como nega-

tivos, se insertan en el nivel del RPG correspondiente, Lt (donde t es el coste

de los efectos de α), tal y como se hacıa en el algoritmo de la figura 5.8. La

unica diferencia consiste en que Lt no es ahora necesariamente el ultimo nivel

del grafo, por lo que deberemos incluir los efectos de α tambien en los niveles

de mayor coste. Finalmente, el RPG vuelve a expandirse, a partir del nivel

Lt, para insertar en el grafo todas las acciones y proposiciones que ahora sı es

posible alcanzar gracias a la informacion que α ha proporcionado. Por ejemplo,

si consideramos que α es una accion que le permite a un robot comprobar si

la puerta de un despacho esta abierta o no, ahora seremos capaces de incluir

en el grafo nuevas acciones para entrar en dicho despacho y para navegar por

su interior.

Todo este proceso termina cuando se alcanzan los objetivos del problema

o cuando ya no queda ninguna accion de sensorizacion capaz de obtener nueva

Page 145: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 123

informacion, es decir, cuando la lista Lsens queda vacıa. En este ultimo caso los

objetivos seran inalcanzables. En el capıtulo 6 se realiza un estudio empırico,

mediante la ejecucion del planificador en diversos entornos simulados, para

evaluar los planes obtenidos en presencia de informacion incompleta. Esta

evaluacion permite apreciar el buen comportamiento que se obtiene siguiendo

esta aproximacion.

5.5.4. Coste computacional de las extensiones propues-

tas

El algoritmo de expansion tradicional del RPG tiene un coste polinomial

respecto al numero de proposiciones y acciones del problema, tal y como se

demuestra en [Hoffman y Nebel 2001]. La nueva extension que hemos introdu-

cido para el calculo de costes en funcion de la metrica del problema supone un

incremento en el coste computacional, debido principalmente a dos factores:

• Puesto que las proposiciones deben insertarse en el grafo por orden de

coste, es conveniente mantener ordenada la lista de nuevas proposiciones,

New Prop. Esta ordenacion, innecesaria en el RPG tradicional, tiene

un coste computacional lineal en funcion del numero de proposiciones

almacenadas para su insercion en el grafo.

• El calculo de los costes asociados a las acciones tambien supone un pe-

queno incremento en el tiempo de computo. El coste de una accion,

cost(a), implica la evaluacion numerica de la funcion de optimizacion,

tal como se muestra en la ecuacion 5.5.1. En muchos dominios, sin em-

bargo, este calculo puede realizarse una unica vez en todo el proceso de

planificacion. Esto ocurre cuando los costes de las acciones no dependen

del estado actual del mundo, sino de informacion estatica, es decir, de

variables numericas cuyo valor no varıa durante la ejecucion.

Por otro lado, tambien es necesario calcular el coste para poder ejecutar

una determinada accion, cost reach(a). Este coste se calcula como la su-

ma de los costes de las precondiciones de dicha accion. Este calculo tiene,

por lo tanto, un coste lineal en funcion del numero de precondiciones de

la accion.

Page 146: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

124 5.5. Grafo relajado de planificacion

Aunque mas costoso que el RPG tradicional, el RPG propuesto sigue te-

niendo un coste polinomico, pues hemos visto que los calculos adicionales que

se realizan son de coste lineal. Aun ası, y al igual que otros planificadores

como FF, el tiempo empleado en la generacion de los RPGs supone un alto

porcentaje del tiempo total de planificacion (ver figura 5.2).

Tabla 5.2: Numero de grafos relajados y tiempo medio empleado en su cons-truccion para distintos problemas de planificacion. La ultima columna muestrael porcentaje del tiempo total de planificacion que supone la generacion de es-tos grafos.

Dominio Problema # RPGs Promedio (ms.) % del total

1 101 0,001 10%5 7721 0,111 22%

Depots 10 1296 0,062 55%15 24736 1,066 68%20 27801 1,905 78%

1 8 0,001 10%5 268 0,037 33%

DriverLog 10 1137 0,062 5 %15 1773 0,209 64%20 20573 2,374 69%

1 90 0,001 10%5 252 0,040 25%

Rovers 10 349 0,086 36%15 1316 0,190 61%20 4389 1,242 75%

1 45 0,001 10%5 204 0,049 40%

Satellite 10 2083 0,360 73%15 1285 0,833 77%20 9178 0,852 90%

Pese a que la construccion de un RPG no suele consumir mas que unos

pocos milisegundos, son muchos los grafos que se generan durante el proceso

de planificacion. Como se comenta en el siguiente apartado, el refinamiento de

los planes obtenidos requiere la construccion de una gran cantidad de RPGs

Page 147: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 125

adicionales. Cuanto mayor es el problema a resolver, mas costosa es la cons-

truccion de los RPGs, y mayor es el numero de grafos que es necesario construir

(debido al mayor numero de etapas de refinamiento necesarias). Este hecho se

puede constatar facilmente observando la figura 5.2, que muestra, para diver-

sos problemas, el numero total de RPGs que se generan, y el tiempo medio

empleado para su construccion.

5.6. Calculo de planes mono-objetivo

El objetivo de esta etapa es la construccion de un plan Pi independiente

para cada objetivo del problema (gi ∈ G). La construccion de estos planes

se realiza de forma incremental para permitir la interrupcion de este proce-

so en cualquier instante. Se calcula, por lo tanto, un plan incompleto ini-

cial que se ira refinando progresivamente (ver figura 5.10). Esta caracterıstica

es la que le permite al planificador conseguir un comportamiento anytime.

El refinamiento de un plan Pi termina cuando se alcanza un plan valido,

valid plan(Pi, S0, {gi}, ∅), - suponiendo, por lo tanto, que no apareceran si-

tuaciones inesperadas -, o cuando el ejecutor interrumpe al planificador, bien

para solicitarle una accion, o bien para notificarle una situacion inesperada.

Figura 5.10: Calculo incremental de un plan Pi independiente para cada obje-tivo del problema.

Page 148: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

126 5.6. Calculo de planes mono-objetivo

En el apartado 5.6.1 se describe el algoritmo para la generacion de los planes

iniciales incompletos. En el apartado 5.6.2 se describe la fase de refinamiento,

en la que se intenta reparar estos planes para conseguir planes validos. Es

necesario, sin embargo, introducir previamente una serie de conceptos que se

utilizaran en estos apartados.

Definicion 5.6.1. Dos acciones a1 y a2 son inversas, inverse(a1, a2), si una

elimina los efectos proposicionales positivos de la otra y viceversa:

inverse(a1, a2) = V ←→ Leff+(a1) ⊆ Leff−(a2) ∧ Leff+(a2) ⊆ Leff−(a1)(5.6.1)

Definicion 5.6.2. Una proposicion logica p es necesaria para una secuencia de

acciones P y un conjunto de objetivos proposicionales G si p debe satisfacerse

en cualquier estado inicial Si para el que el plan P sea valido:

necessay(p, P,G) ←→ satisfy(p, Si) = V, ∀Si/valid plan(P, Si, G, ∅) (5.6.2)

Comprobar si una proposicion p es necesaria se puede calcular mediante la

funcion detallada en la figura 5.11.

function necessay(p, P, G) return boolean isS = G; i = |P |while i ≥ 1 do

i = i− 1S = S − Leff(ai)

⋃Lprec(ai)

end whilereturn satisfy(p, S) = V

end function

Figura 5.11: Funcion para comprobar si p es una proposicion necesaria paraun plan P = {a0, . . . , an} y un conjunto de objetivos G.

5.6.1. Calculo de un plan inicial mono-objetivo

El proposito del calculo de los planes iniciales esta estrechamente relaciona-

do con los principios de los algoritmos de planificacion anytime: el planificador

Page 149: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 127

debe poder proporcionar una respuesta en cualquier instante, y la calidad de

dicha respuesta mejora cuanto mayor es el tiempo de computo disponible. Por

ello, los planes iniciales tienen las siguientes caracterısticas:

• El calculo de un plan inicial Pi es un proceso muy rapido. Ademas, la pri-

mera accion de dicho plan es directamente ejecutable en el estado actual

(exec(first(Pi), S0) = V), por lo que podrıa ser una posible respuesta

del planificador. De hecho, la siguiente accion a ejecutar se correspon-

dera con la primera accion de uno (o mas) de los planes Pi.

• Los planes iniciales son, en muchas ocasiones, planes incompletos. Sirven,

por lo tanto, como punto de partida para posteriores refinamientos, que

se realizaran mientras haya tiempo disponible.

El algoritmo descrito en la figura 5.12 muestra el proceso de construccion

de un plan inicial Pi para alcanzar un objetivo proposicional (positivo o negati-

vo) gi. Se parte inicialmente de un plan vacıo y de un conjunto de subobjetivos

proposicionales, SG, que contiene unicamente el objetivo que se pretende al-

canzar (gi). Evidentemente, no es necesario construir ningun plan cuando gi

ya se satisface en el estado actual, es decir, si satisfy(gi, S0) = V .

Pi = ∅SG =

{ {gi} , if satisfy(gi, S0) 6= V∅ , otherwise

while SG 6= ∅ dop = arg max(cost(pj)), ∀pj ∈ SGa = arg mın(action evaluation(aj , p, Pi, {gi})),∀aj/p ∈ Leff(aj)SG = {pj/pj ∈ Lprec(a) ∧ satisfy(pj , S0) 6= V}Pi = {a} ⊗ Pi

endwhile

Figura 5.12: Proceso de calculo de un plan inicial para un objetivo proposicio-nal.

Tras la inicializacion, el primer paso consiste en escoger una proposicion p

del conjunto de subobjetivos SG. La proposicion que se selecciona es la que,

de acuerdo con el RPG calculado, tiene un mayor coste asociado. Recordando

el algoritmo de expansion del RPG (ver figura 5.8), se puede comprobar que el

Page 150: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

128 5.6. Calculo de planes mono-objetivo

coste de una proposicion se calcula como la suma de los costes de las acciones

necesarias para alcanzar dicha proposicion en el problema relajado. De este

modo, seleccionando en cada iteracion el subobjetivo de mayor coste se obtiene,

en general, un plan inicial mas completo y, por lo tanto, susceptible de un

menor numero de fases de refinamiento.

Una vez hemos seleccionado el siguiente subobjetivo a resolver, p, escoge-

mos una accion a que nos permita alcanzar p, es decir, que p se encuentre

entre sus efectos. Esta accion se insertara al principio del plan Pi. Entre todo

el conjunto de acciones que producen p, seleccionamos aquella que minimice

la funcion de evaluacion action evaluation. Esta funcion utiliza un conjunto

de criterios para evaluar la bondad de emplear una determinada accion para

conseguir la proposicion p en el plan Pi. Cada uno de estos criterios esta ponde-

rado mediante una constante que representa la importancia que dicho criterio

tiene dentro de la funcion de evaluacion:

action evaluation(aj , p, Pi, {gi}) =∑

k

Ctek ∗ criterionk(aj , p, Pi, {gi}) (5.6.3)

Los criterios que se aplican, de mayor a menor relevancia, son los siguientes:

1. Inversa de la primera accion de Pi. Como muestra la figura 5.12, la

accion seleccionada pasara a ser la primera accion de Pi. Con este criterio

se pretende, por lo tanto, evitar que en Pi aparezcan dos acciones inversas

consecutivas. Formalmente:

criterion1(aj , p, Pi, {gi}) =

{1 , if inverse(aj , first(Pi)) = V0 , otherwise

(5.6.4)

La constante asociada a este criterio es Cte1 = ∞, puesto que es nece-

sario evitar este tipo de situaciones.

2. Coste de aj. Con este criterio se tiene en cuenta tanto el coste que

supone alcanzar un estado en el que aj sea ejecutable (cost reach(aj)),

como el coste de ejecucion de aj (cost(aj)). Ambos son costes estimados

extraıdos del RPG (ver figura 5.8). Puesto que la unidad de medida de

Page 151: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 129

estos costes depende de la metrica del problema, es necesario normalizar

esta funcion para que sus valores esten entre 0 y 1. Para ello se divide el

coste obtenido entre el maximo coste de las acciones que producen p:

max cost = max(cost reach(ak) + cost(ak)), ∀ak/p ∈ Leff(ak)criterion2(aj , p, Pi, {gi}) = (cost reach(aj) + cost(aj))/max cost

(5.6.5)

La constante asociada a este criterio es Cte2 = 5. Este valor se ha es-

tablecido mediante experimentacion, observando que valores dan lugar

planes de mayor calidad. Los valores de las constantes para los siguien-

tes criterios tambien se han obtenido mediante el estudio de numerosas

pruebas experimentales.

3. Proposiciones necesarias que aj elimina. Una proposicion necesaria

se corresponde con una precondicion no satisfecha de alguna accion de

Pi (o con gi, el objetivo del plan). Insertar al principio de Pi una ac-

cion que elimine una proposicion necesaria implica que posteriormente

sera necesario reparar Pi para reponer la proposicion eliminada. En este

criterio se penaliza, por lo tanto, el numero de proposiciones necesarias

que elimina aj (ver ecuacion 5.6.6). La constante asociada a este criterio

es Cte3 = 2.

criterion3(aj , p, Pi, {gi}) = |{pk/¬pk ∈ Leff(aj) ∧ necessay(pk, Pi, {gi})}|(5.6.6)

4. Precondiciones de aj no satisfechas. El numero de precondiciones no

satisfechas de una accion (ver ecuacion 5.6.7) es tambien una medida de

lo que costara alcanzar dicha accion. La constante asociada a este criterio

es Cte4 = 1, menor que en los criterios anteriores ya que la informacion

que proporciona es menos significativa.

criterion4(aj , p, Pi, {gi}) = |{pk ∈ Lprec(aj) / satisfy(pk, S0) 6= V}| (5.6.7)

Page 152: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

130 5.6. Calculo de planes mono-objetivo

5. Relacion con la primera accion de Pi. En algunos problemas es po-

sible que la accion que tiene un menor coste y que provoca un menor

numero de conflictos no sea la mas apropiada. Este hecho es especial-

mente frecuente en aquellos dominios, como el mundo de bloques, donde

hay un recurso, handempty, del que hacen uso un elevado numero o de

acciones. Por ejemplo, cuando la proposicion que se desea alcanzar es

p = handempty, es posible utilizar cualquier accion put-down o stack.

En estos casos, y como muestra la ecuacion 5.6.8, favoreceremos aquellas

acciones que, aparte de p, produzcan algun otro efecto que la primera

accion de Pi requiera. La constante asociada a este criterio es Cte5 = 1.

criterion5(aj , p, Pi, {gi}) =

1 , if @pk ∈ Leff(aj) / pk 6= p ∧pk ∈ Lprec(first(Pi))

0 , otherwise

(5.6.8)

La accion a seleccionada se inserta al principio del plan Pi. De esta forma,

Pi se va construyendo regresivamente. El conjunto de subobjetivos SG se sus-

tituye entonces por el conjunto de precondiciones proposicionales de a, excepto

por aquellas que ya se satisfacen en el estado actual S0. En el momento en que

SG queda vacıo, termina la construccion del plan inicial.

El coste de generar de esta manera un plan Pi es muy reducido, concre-

tamente polinomico en funcion del numero de acciones de Pi por el numero

medio de acciones que generan una determinada proposicion. Sin embargo,

este algoritmo presenta dos problemas:

• En ciertas ocasiones, el algoritmo de la figura 5.12 puede entrar en un

bucle infinito. Esto ocurre cuando en el plan Pi aparece una misma accion

mas de una vez. Este problema, no obstante, puede solucionarse de forma

muy sencilla: en lugar de evaluar todas las posibles acciones que generan

la proposicion p, se tienen en cuenta unicamente aquellas acciones que

producen p con el mınimo coste, es decir:

a = arg mın(action evaluation(aj , p, Pi, {gi})),∀aj/p ∈ Leff(aj) ∧ cost reach(aj) < cost(p)

(5.6.9)

Page 153: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 131

Este metodo es el que emplea tambien el planificador FF a la hora de

generar la solucion al problema relajado. Sin embargo, los planes obteni-

dos de esta forma son generalmente de peor calidad que evaluando todas

las posibles acciones, por lo que recurriremos a esta solucion unicamente

cuando se detecte un bucle durante la generacion de un plan Pi.

• Con el algoritmo de la figura 5.12 nos aseguramos que las precondicio-

nes proposicionales de la primera accion de Pi se satisfacen en S0. Esta

primera accion puede, sin embargo, no ser ejecutable en el estado actual

debido a que sus precondiciones numericas pueden no cumplirse en S0.

El segundo problema expuesto no tiene una solucion tan sencilla como el

primero. La solucion mas natural consiste en tratar de forma similar las pre-

condiciones proposicionales y numericas, pero para ello es necesario incluir

informacion sobre los valores de las variables numericas en el RPG, tal y como

se propone, por ejemplo, en [Hoffman 2003]. Aunque probablemente sea esta

la solucion que se implemente en posteriores versiones de SimPlanner, actual-

mente se resuelve este problema estudiando los planes que resultan al forzar

que la primera accion de dichos planes sea ejecutable en S0 (ver figura 5.13).

Figura 5.13: Tomando como primera accion las acciones ejecutables en el es-tado actual (ai1, . . . , a1n) se escoge el plan resultante que mejor calidad ofrece.

Este metodo es factible debido a que, en general, el numero de acciones

ejecutables en un determinado estado no es muy elevado. Supongamos, por

ejemplo, que ai1 es una accion ejecutable en S0 (exec(ai1, S0) = V). Deno-

minamos S ′0 al estado resultante de aplicar ai1 en el estado actual, es decir,

S ′0 = result(ai1, S0, ∅). El plan (incompleto) que debemos calcular ahora, Pi1,

Page 154: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

132 5.6. Calculo de planes mono-objetivo

comienza en el estado S ′0. Para ello se emplea el mismo algoritmo que hemos

descrito para calcular los planes iniciales (ver figura 5.12). El principal incon-

veniente de este metodo es que el estado inicial para cada plan Pij es distinto.

Es necesario, por lo tanto, calcular un nuevo RPG para cada estado inicial,

circunstancia que ralentiza el proceso de calculo de los planes iniciales.

De todos los planes Pij calculados se selecciona uno de ellos. Puesto que,

generalmente, son planes incompletos, es complejo deducir cual de ellos resul-

tara en un plan de mayor calidad. Como criterio aproximado escogemos aquel

que presenta un menor numero de precondiciones no resueltas, es decir:

Pi = aij ⊗ Pij/

j = arg mınnk=1(|{p/necessary(p, aik ⊗ Pik, {gi}) ∧ satisfy(p, S0) 6= V}|)

(5.6.10)

En caso de que sean varios los planes que presentan el menor numero de

conflictos, se selecciona el plan de menor coste. El coste de estos planes se

calcula sumando el coste de las acciones que los componen, de acuerdo con la

ecuacion 5.5.1.

5.6.2. Fase de refinamiento

Una vez se han obtenido los planes iniciales Pi para cada objetivo, comienza

la fase de refinamiento. Estos planes se mejoran iterativamente mientras el

ejecutor no requiera una accion del planificador y no se detecte una situacion

inesperada. Puesto que el refinamiento se aplica de igual forma a todos los

planes mono-objetivo, describiremos el funcionamiento de este proceso para

un unico plan Pi.

El algoritmo de refinamiento se compone de dos etapas: la validacion del

plan Pi y la seleccion de un conflicto, y la resolucion de dicho conflicto. Este

algoritmo se repite tantas veces como sea necesario hasta que el plan sea valido

(aunque, como indicamos en el parrafo anterior, el ejecutor puede interrumpir

este proceso).

Page 155: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 133

Validacion y seleccion de un conflicto

El objetivo de esta etapa es verificar la validez de la secuencia de acciones

Pi = {a0, a1, . . . , an} o, lo que es lo mismo, comprobar si Pi es aplicable en el

estado actual y si alcanza su objetivo (valid plan(Pi, S0, {gi}, ∅)). Desafortu-

nadamente, en muchas ocasiones Pi no es un plan valido. Esto ocurre cuando

alguna precondicion de alguna accion de Pi no se satisface, o bien cuando no

se alcanza el objetivo gi. Para emplear una misma nomenclatura en ambos

casos, supondremos que Pi contiene una accion ficticia, an+1, sin efectos y con

la proposicion gi como unica precondicion.

Si Pi resulta no ser valido, se selecciona entonces una de las precondiciones

no satisfechas del plan. Dicha precondicion tratara de resolverse en la siguiente

etapa. Las precondiciones no satisfechas que se reparan en primer lugar son

las pertenecientes a las primeras acciones, dando preferencia por lo tanto a la

parte del plan que se ejecutara en primer lugar. Si denominamos Sj al estado

sobre el cual se aplica cada una de las acciones aj del plan Pi (ver figura 5.14),

entonces la primera accion no ejecutable, afail, sera la que cumpla:

afail = aj ∈ Pi / exec(aj , Sj) 6= V ∧ @k < j : exec(ak, Sk) 6= V (5.6.11)

Figura 5.14: Representacion grafica de las acciones de Pi y de los estados sobrelos que se aplican, de forma que result(aj, Sj, ∅) = Sj+1, ∀aj ∈ Pi.

El ultimo paso en la etapa de validacion consiste en escoger una precondi-

cion no satisfecha de afail, precondicion que se resolvera en la siguiente etapa.

En este punto, existen sin embargo dos posibles casos que es necesario dife-

renciar:

a) afail tiene precondiciones proposicionales no satisfechas. Se intenta re-

solver en primer lugar las precondiciones proposicionales de una accion,

ya que la resolucion es mas rapida y sencilla que cuando se trata de una

precondicion numerica.

Page 156: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

134 5.6. Calculo de planes mono-objetivo

De todas las precondiciones proposicionales de afail se intenta resolver

aquella con el mayor coste (de acuerdo con el RPG). A esta proposicion

la denominaremos pfail (ver ecuacion 5.6.12). En general, resolver en

primer lugar las precondiciones mas costosas suele conllevar un menor

numero de etapas de refinamiento.

pfail = arg max(cost(pj)), ∀pj ∈ Lprec(afail) ∧ satisfy(pfail, Sfail) 6= V(5.6.12)

b) afail tiene unicamente precondiciones numericas no satisfechas. La re-

solucion de una precondicion numerica es compleja, pues no es sencillo

descubrir que acciones permiten alcanzar un estado en el que dicha con-

dicion se cumpla.

La forma de resolver el conflicto es diferente dependiendo del caso en el

que nos encontremos. Los siguientes apartados muestran como se realiza la

reparacion del plan en ambos casos.

Reparacion de una precondicion proposicional no satisfecha

En esta etapa se intenta resolver la precondicion proposicional pfail de la

accion afail. Con este fin, se calcula un plan desde todos los estados previos a

afail que permita alcanzar pfail (ver figura 5.15). A estos planes los hemos de-

nominado Pi,j, j ≤ fail, donde i hace referencia al plan que estamos reparando

y j indica el estado de partida.

Los planes Pi,j se calculan del mismo modo que los planes iniciales mono-

objetivo (ver figura 5.12), solo que el estado de partida no es S0 sino Sj, y

que el objetivo a alcanzar no es gi sino pfail. Los planes Pi,j son, por lo tanto,

planes incompletos muchas veces. El objetivo de estos planes, sin embargo, es

proporcionar una estimacion del coste de alcanzar pfail a partir de cada uno

de los estados de Pi anteriores al conflicto.

El resultado de aplicar un plan Pi,j sobre el estado Sj conduce a un nuevo

estado S ′j en el que pfail se satisface: satisfy(pfail, S′j) = V . Puesto que el

plan Pi,j puede no ser un plan ejecutable, el estado S ′j se obtiene considerando

Page 157: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 135

Figura 5.15: Primer paso en la resolucion de una precondicion proposicionalno satisfecha pfail: se genera un plan Pi,j para alcanzar pfail desde cada estadoSj, 0 ≤ j ≤ fail.

unicamente los efectos de las acciones de Pi,j, independientemente de si sus

precondiciones se cumplen o no.

Una vez hemos alcanzado pfail, el objetivo consiste en proporcionarle dicha

precondicion a afail. Esto se consigue generando desde cada estado S ′j un nuevo

plan que permita alcanzar el estado Sfail sin eliminar pfail. Tambien se puede

conseguir generando un nuevo plan desde S ′j hasta un estado Sk situado entre

Sj y Sfail, ya que la secuencia de acciones desde Sk hasta Sfail ya esta calculada.

A estos nuevos planes los hemos denominado Pi,j,k, donde Pi es el plan que

estamos reparando, S ′j es el estado de partida y Sk, j≤k≤fail es el estado objetivo

(ver figura 5.16).

Figura 5.16: Segundo paso en la resolucion de una precondicion proposicionalno satisfecha pfail: se genera un plan Pi,j,k desde cada estado S ′j hasta un estadoSk, j≤k≤fail de Pi.

Los nuevos planes Pi,j,k se calculan de la misma forma que los planes ini-

ciales, es decir, siguiendo el algoritmo descrito en la figura 5.12. Para generar

Page 158: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

136 5.6. Calculo de planes mono-objetivo

un plan Pi,j,k, sin embargo, hay que tener en cuenta varias consideraciones:

• El estado de partida no es S0 sino S ′j. Es necesario, por lo tanto, calcular

un nuevo RPG partiendo del estado S ′j para poder evaluar el coste de

las acciones y proposiciones durante la generacion del plan Pi,j,k.

• El conjunto de objetivos, SG, contiene inicialmente las proposiciones ne-

cesarias para poder ejecutar la secuencia de acciones {ak, . . . , afail, . . . , an}(ver ecuacion 5.6.13).

SG = {p ∈ PL/necessary(p, {ak, . . . , an}, {gi})} (5.6.13)

• En la evaluacion de las acciones, se establece un nuevo criterio que pe-

naliza al maximo las acciones que eliminan pfail.

Como se puede ver en la figura 5.16, los planes Pi,j y Pi,j,k calculados

proporcionan diversas alternativas para reparar la precondicion pfail de afail.

Estas alternativas pueden observarse siguiendo las flechas (planes) entre los

estados. Formalmente, las alternativas, alt, se calculan como se muestra en la

ecuacion 5.6.14.

alt(j, k) = {a0, . . . , aj−1} ⊗ Pi,j ⊗ Pi,j,k ⊗ {ak, . . . , an}, j = 0 . . . fail, k = j . . . fail

(5.6.14)

El numero de alternativas puede ser bastante elevado en el peor de los

casos, concretamente (fail ∗ (fail + 1)/2). Sin embargo, muchas de estas al-

ternativas no se generan en la practica. Esta poda se realiza en las siguientes

circunstancias:

• Si un plan Pi,j comienza por la accion aj, entonces no se genera ningun

plan desde el estado S ′j (ver figura 5.17). Esto se debe a que la secuencia

de acciones {a0, . . . , aj−1} ⊗ Pi,j es entonces equivalente a la secuencia

{a0, . . . , aj} ⊗ Pi,j+1, por lo que las alternativas resultantes seran las

mismas.

Page 159: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 137

Figura 5.17: Los planes Pi,1,k no se generan puesto que el plan Pi,1 comienzapor la accion a1.

• Si alguna accion am elimina pfail, entonces los planes Pi,j,k, k≤m, no se

generan (ver figura 5.18). El motivo es que la precondicion pfail de la

accion afail seguirıa sin satisfacerse puesto que am la eliminarıa.

Figura 5.18: Los planes Pi,0,0, Pi,0,1 y Pi,1,1 no se generan puesto que a1 eliminael literal pfail.

De entre todas las alternativas calculadas, se selecciona una para resolver

el conflicto. Esta seleccion se realiza estudiando el numero de precondiciones

no satisfechas presentes en cada una de las alternativas. A igual numero de

precondiciones no satisfechas, se escoge la alternativa de menor coste, es decir,

aquella en la que la suma de los costes de las acciones sea menor.

El plan Pi se sustituye por la alternativa alt(j, k) seleccionada. De esta

forma, los conflictos proposicionales se van resolviendo iterativamente hasta

que se alcanza un plan Pi valido.

Page 160: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

138 5.6. Calculo de planes mono-objetivo

Reparacion de una precondicion numerica

Reparar una precondicion numerica es mucho mas complejo que reparar

una precondicion proposicional. Esto se debe a que es suficiente con observar

los efectos de una accion para comprobar si esta produce o no una determinada

proposicion. Por el contrario, para que una precondicion numerica se satisfaga

puede hacer falta calcular toda una secuencia de acciones que modifique los

valores de las variables para que la restriccion numerica se cumpla.

La dificultad de reparar una precondicion numerica hace necesaria la inclu-

sion de una etapa de busqueda, cosa que habıamos evitado hasta el momento

para poder proporcionar una respuesta en el menor tiempo posible. Aprove-

charemos esta busqueda no solo para resolver las precondiciones numericas de

afail, sino para encontrar un plan Pi valido, es decir, completamente ejecutable

y que alcance el objetivo gi. Mientras se realiza esta busqueda, disponemos del

plan Pi actual que, junto con el resto de planes mono-objetivo, se utilizaran

para seleccionar la siguiente accion (ver la seccion a ejecutar 5.7) en caso de

que el ejecutor la requiera de inmediato.

La busqueda para buscar un plan Pi valido es una busqueda en el espacio de

estados del tipo primero el mejor (best-first search [Russell y Norving 1995]).

El nodo raız se corresponde con el estado actual, S0. Los sucesores (o hijos)

de un nodo n se calculan como los estados resultantes de aplicar las acciones

ejecutables sobre n (ver ecuacion 5.6.15).

succ(n) = {n′ / ∃a ∈ A : exec(a, n) = V ∧ result(a, n, ∅) = n′} (5.6.15)

Para seleccionar que nodo se va a expandir en primer lugar se han esta-

blecido cuatro niveles de prioridad. Suponiendo que n es el nodo resultante de

ejecutar una accion a, entonces:

• La expansion de n es prioritaria si a es una accion del plan Pi que estamos

reparando (a ∈ Pi). El plan Pi, pese a no ejecutable, es habitualmente

una buena aproximacion de lo que sera el plan final valido.

• La expansion de n tiene una prioridad media-alta si a es una accion que

modifica adecuadamente el valor las variables numericas involucradas en

Page 161: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 139

las precondiciones que no se satisfacen. Por ejemplo, si la precondicion

que no se satisface es (fuel > 10) y a incrementa el valor de la va-

riable fuel, entonces n tendra prioridad media-alta. Averiguar si una

accion modifica una variable adecuadamente es sencillo para compara-

ciones del tipo >, ≥, < y ≤, pero no para comparaciones de igualdad

(=) o desigualdad ( 6=). En estos dos ultimos casos, asignaremos priori-

dad media-alta n si a modifica de alguna forma el valor de las variables

involucradas.

• La expansion de n tiene una prioridad media-baja si a pertenece a un

operador que aparece en Pi. Las acciones del plan Pi proporcionan infor-

macion acerca del tipo de acciones (operadores) necesarias para alcanzar

el objetivo.

• En el resto de casos, n tiene prioridad baja.

Debido al reducido numero de niveles de prioridad, durante la busqueda

aparecen muchos nodos con el mismo nivel de prioridad. En tal caso se selec-

ciona el nodo n que minimice el coste de la metrica (evalue(m,n)). El valor

de la metrica en un nodo n menos el valor de la metrica en el estado actual

es el coste de alcanzar n desde S0. Equivale, por lo tanto, a la funcion g(n)

en la funcion de evaluacion (f(n) = g(n) + h(n)) de un tıpico algoritmo de

busqueda informado [Russell y Norving 1995].

La funcion h(n) se define como una estimacion del coste de alcanzar los

objetivos desde el nodo n. Puesto que no disponemos de una estimacion del

coste de alcanzar gi, hemos empleado los niveles de prioridades para suplir esta

carencia. El algoritmo de busqueda que hemos presentado funciona bastante

bien debido a que los planes mono-objetivo no suelen ser planes muy largos. Sin

embargo, una funcion h(n) ayudarıa a encontrar la solucion mas rapidamente.

Como ya comentamos en la seccion 5.6.1, el planificador Metric-FF [Hoffman

2003] anade informacion en el RPG sobre los valores de las variables numericas,

lo que le permite estimar la distancia hasta el objetivo teniendo en cuenta las

precondiciones numericas de las acciones. Esta funcion de estimacion heurıstica

se incorporara en la busqueda en futuras versiones del planificador.

Una vez se alcance un nodo en el que cumpla el objetivo gi, el proceso de

busqueda terminara y el plan Pi original se sustituira por el plan encontrado.

Page 162: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

140 5.6. Calculo de planes mono-objetivo

Este plan ya es valido, pues todas las acciones que lo componen son ejecutables

y, por lo tanto, ya no seran necesarias mas etapas de refinamiento.

5.6.3. Coste computacional del calculo de los planes

mono-objetivo

El coste de generar un plan inicial Pi es polinomico pues, para cada accion

de Pi solo es necesario evaluar las acciones que producen un subobjetivo, y el

coste de esta evaluacion es lineal en funcion del numero de precondiciones y

efectos de la accion. En la practica, el tiempo empleado en calcular un plan

inicial Pi es bastante inferior a un milisegundo.

Por otra parte, es necesario considerar el coste de las etapas de refina-

miento. En caso de que no hayan precondiciones numericas, el coste de una

etapa de refinamiento es tambien polinomico pues, en el peor de los casos, se

generan (fail ∗ (fail + 1)/2) planes iniciales y (2 ∗ fail + 1) grafos relajados.

La complejidad de evaluar el coste de reparacion de un plan Pi consiste en

acotar el numero de etapas de refinamiento necesarias. El numero de etapas

necesarias depende del numero de conflictos presentes en el plan inicial y de

los nuevos conflictos que aparecen al tratar de solucionar los primeros, por lo

que depende enteramente del tipo de problema a resolver.

La tabla 5.3 muestra el numero de planes iniciales que se generan y el

numero de etapas de refinamiento realizadas para distintos problemas clasicos

de planificacion (descritos en el Apendice A). Como se puede observar, por

cada plan inicial no suelen generarse mas de cuatro etapas de refinamiento por

termino medio, lo cual no supone un coste excesivo. Tambien se puede compro-

bar que el numero de planes iniciales generados es directamente proporcional

al numero de objetivos del problema y a la longitud del plan final.

Por otra parte, cuando existen precondiciones numericas, las etapas de

refinamiento efectuan una busqueda cuyo coste es exponencial en el peor de

los casos. Afortunadamente, y tal como muestra la figure 5.4, el numero de

etapas de busqueda necesarias (lo que equivale al numero de precondiciones

numericas que no se satisfacen en los planes Pi) no es muy alto. Ademas,

el numero de nodos expandidos es, en general, muy reducido. Esto se debe

principalmente a que los planes Pi que se tratan de reparar son muy similares

a los obtenidos tras la busqueda. Los planes obtenidos, ademas, suelen ser

Page 163: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 141

Tabla 5.3: Numero total de planes iniciales y etapas de refinamiento calculadaspara diversos problemas clasicos de planificacion.

Longitud #planes #etapasDominio Problema #objetivos del plan iniciales refinamiento

1 2 12 15 285 10 56 583 1421

Depots 10 4 27 85 25615 15 124 1873 609420 14 114 1591 5429

1 4 7 25 255 8 22 166 215

DriverLog 10 8 39 341 44715 10 44 375 59820 33 162 5548 7528

1 3 12 30 415 7 24 154 199

Rovers 10 11 35 369 43415 10 46 431 66820 20 89 1714 2399

1 3 9 18 245 8 16 123 135

Satellite 10 12 35 391 59115 24 51 1232 138620 41 103 4093 5438

planes relativamente cortos.

5.7. Ordenacion de planes

Llegados a este punto, tenemos un plan Pi, que puede no ser totalmente

ejecutable, para cada objetivo gi del problema. El planificador debe ahora

decidir que accion es la debe ejecutarse en primer lugar. Dicha accion, anext,

se corresponde con la accion inicial de uno de los planes Pi (recordemos que

la primera accion de un plan Pi es ejecutable en el estado actual S0).

Cuando varios planes Pi comienzan con diferentes acciones, entonces es

Page 164: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

142 5.7. Ordenacion de planes

Tabla 5.4: Numero total de etapas de busqueda y de nodos expandidos paravarios problemas numericos de planificacion.

#etapas de #nodosDominio Problema busqueda expandidos

1 0 05 11 4316

Numeric Depots 10 1 18215 46 2295420 0 0

1 0 05 7 516

Numeric ZenoTravel 10 155 1827915 176 5661520 743 369648

necesario estudiar que plan debe comenzar a ejecutarse en primer lugar. De

esta forma, anext sera la primera accion del plan Pi que deba comenzar a

ejecutarse con mayor urgencia. Para conseguir esto, se establecen relaciones

de orden entre los planes, Pi −→ Pj, indicando que la primera accion de Pi

debe ejecutarse antes que la primera accion de Pj. Estos ordenes se establecen

de acuerdo a una serie de criterios. Supongamos que tenemos dos planes mono-

objetivo, Pi = {ai0, ai1, . . . , ain} y Pj = {aj0, aj1, . . . , ajm}, con ai0 6= aj0. Los

criterios que se aplican (ordenados por el orden en el que se aplican) son los

siguientes:

1. Comprobacion de inversas. El planificador almacena las acciones que

ya ha calculado hasta el momento. De esta forma puede detectar si al-

gunos planes Pi deshacen parte de lo conseguido hasta el momento, es

decir, si la primera accion de Pi es inversa de la ultima calculada. Si la

ultima accion consiste, por ejemplo, en conducir un vehıculo de un pun-

to A a un punto B, un plan Pi cuya primera accion sea conducir a dicho

vehıculo de B a A sera ordenado en ultimo lugar.

En muchas ocasiones no es suficiente con considerar unicamente las in-

versas de la ultima accion calculada. En un problema donde es necesario

Page 165: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 143

conducir varios camiones, por ejemplo, podrıamos tener el siguiente plan:

drive truck1 A B −→ drive truck2 A B. Ambas acciones son inde-

pendientes pues trabajan con vehıculos distintos y podrıan ejecutarse en

paralelo. Un plan Pi que comenzara conduciendo cualquiera de dichos ca-

miones de B a A estarıa deshaciendo lo que ya habıamos conseguido. Por

este motivo, en el calculo de inversas se consideraran todas las acciones

ya calculadas cuyos efectos no sean necesarios para otras acciones.

2. Secuencias de acciones compartidas. De acuerdo con este criterio,

Pi se ordenara antes que Pj (Pi −→ Pj) si las primeras acciones de Pi

pueden ejecutarse antes que el plan Pj sin ocasionar conflictos, es decir,

si ∃k ∈ 0..n / valid plan({ai0, . . . , aik, aj0, . . . , ajm}, S0, {gj}, ∅).

3. Conflictos no flexibles. Un conflicto no flexible entre Pi y Pj ocurre

cuando ambos planes tienen una accion que necesita y elimina una misma

proposicion p [Sebastia et al. 2001]. Dos acciones que necesitan y eliminan

p no pueden ordenarse entre ellas si no se incluye una accion auxiliar que

reponga p. Si dicha accion se encuentra, por ejemplo, en Pi, entonces Pi

posiblemente pueda ordenarse antes que Pj (aunque no necesariamente).

El primer paso consiste en descubrir las proposiciones que pueden oca-

sionar un conflicto no flexible. A estas proposiciones las denominaremos

proposiciones NF. Una proposicion p es NF si se cumplen las siguientes

condiciones:

• Tanto en Pi como en Pj hay una accion que necesita y elimina p, es

decir, (∃ak ∈ Pi/p ∈ Lprec(ak) ∧ ¬p ∈ Leff(ak)) ∧ (∃aq ∈ Pj/p ∈Lprec(aq) ∧ ¬p ∈ Leff(aq)).

• En uno de dichos planes (y solo en uno) hay una accion que repone

p. Supongamos que dicho plan es Pi. Entonces ∃ar ∈ Pi, r > k /p ∈Leff(ar).

• La proposicion p no debe volver a eliminarse durante el resto del

plan, es decir, @ad ∈ Pi, d > r / ¬p ∈ Leff(ad).

Poniendo el ejemplo de la anomalıa de Sussman, descrito en la figura

A.1, los planes calculados para los objetivos g1 = on A B y g2 = on B C

son los siguientes:

Page 166: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

144 5.7. Ordenacion de planes

P1: unstack C A −→ put-down C −→ pick-up A −→ stack A B

P2: pick-up B −→ stack B C

En este ejemplo hay dos proposiciones NF : clear B y clear C. La pro-

posicion clear B, por ejemplo, se necesita y se elimina en la ultima

accion de P1 y en la primera de P2, pero solo se repone en P2 (con la

accion stack B C). Lo mismo ocurre con clear C, aunque en este caso

se repone en P1.

El siguiente paso consiste en descubrir de que forma pueden ordenar-

se ambos planes de acuerdo las proposiciones NF calculadas. Para ello

dividimos los planes Pi y Pj en bloques (o secuencias de acciones), con-

siderando que:

• Los bloques comienzan cuando se encuentra una accion que necesita

y elimina una proposicion NF y terminan cuando una accion pos-

terior lo repone (si ninguna accion lo repone, entonces no se forma

un bloque).

• Dos bloques que se solapan se unen formando un solo bloque.

• Las secuencias de acciones que no pertenecen a ningun bloque se

agrupan dentro de un nuevo bloque.

La figura 5.19 muestra la division en bloques para los planes P1 y P2.

Las proposiciones situadas sobre los bloques son las proposiciones NF

necesarias para ejecutar dicho bloque (precondiciones del bloque), mien-

tras que las situadas debajo muestran los efectos proposicionales NF que

tiene la ejecucion del bloque (efectos del bloque).

El ultimo paso consiste en ordenar los bloques de forma que se satisfagan

todas las precondiciones de los mismos. Observando la figura 5.19, se pue-

de comprobar que el unico orden posible es Bloque21 −→ Bloque11 −→Bloque22. Por lo tanto, el plan que debe comenzar a ejecutarse en primer

lugar es P2 (P2 −→ P1) ya que el bloque ordenado en primer lugar le

pertenece.

4. Intercambios de primera accion. Si la primera accion de Pi puede

sustituirse por la primera accion de Pj sin causar conflictos (pero no a

Page 167: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 145

Figura 5.19: Division en bloques de los planes mono-objetivo calculados parael problema de la anomalıa de Sussman.

la inversa), entonces Pi se ordena antes que Pj. Formalmente, Pi −→ Pj

si valid plan({ai0, aj1, . . . , ajm}, S0, {gj}, ∅) ∧ ¬valid plan({aj0, ai1, . . . ,

ain}, S0, {gi}, ∅).Este criterio se puede observar mediante un ejemplo del mundo de bloques

(dominio descrito en el Apendice A). Supongamos que tenemos los dos

planes siguientes:

P1: put-down A −→ pick-up B −→ stack B C

P2: stack A B −→ pick-up C −→ stack C A

En el plan P2 se puede sustituir stack A B por put-down A sin ocasionar

conflictos, pero no al reves. Ordenamos entonces P1 delante de P2 puesto

que ejecutar put-down A sirve para los propositos de ambos planes.

5. Conflictos flexibles. Los conflictos flexibles aparecen entre dos acciones

cuando una de ellas requiere una proposicion p y no la elimina, mientras

que la otra requiere y elimina p. La primera accion puede, por lo tanto,

ordenarse antes que la segunda, pero no al reves.

Un claro ejemplo puede encontrarse en los dominios de tipo Logistics

(descrito en el Apendice A). En estos problemas se deben realizar di-

versas operaciones de carga y descarga antes de trasladar el correspon-

diente vehıculo a otro lugar. Supongamos, por ejemplo, que la primera

accion de un plan P1 consiste en cargar el objeto obj1 en el camion

tru1 en la posicion pos1 (load-truck obj1 tru1 pos1), y que la pri-

mera accion de un plan P2 consiste en desplazar dicho vehıculo de pos1

a pos2 (drive-truck pos1 pos2 cit1). La proposicion que provoca

Page 168: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

146 5.7. Ordenacion de planes

aquı el conflicto flexible es at tru1 pos1, pues es necesaria para car-

gar el camion y para su desplazamiento, y deja de ser cierta una vez

el camion se ha trasladado a otra posicion. En este caso, por lo tanto,

ordenarıamos P1 antes que P2.

Para detectar los conflictos flexibles entre dos planes Pi y Pj no solo

se deben considerar las primeras acciones de dichos planes (ai0 y aj0).

Los conflictos flexibles entre una accion aik de Pi y una accion aj0 de

Pj se estudian si la secuencia de acciones {ai0, . . . , aik, aj0} es ejecutable

sobre el estado actual. De esta forma se pueden considerar situaciones

como, por ejemplo, en las que la carga del camion no es la primera accion

del plan, sino que puede ir precedida de otras acciones probablemente

necesarias para la carga.

6. Ordenes transitivos. Supongamos que, mediante los criterios anterio-

res, hemos obtenido los siguientes ordenes: Pi −→ Pj y Pj −→ Pk. En

este caso podemos insertar el orden Pi −→ Pk aplicando la propiedad

transitiva. Estos nuevos ordenes pueden utilizarse para poder ordenar

diversos planes que, hasta el momento, no habıan podido ordenarse.

Supongamos, por ejemplo que tenemos el orden Pi −→ Pj, pero tambien

tenemos un plan Pk que no ha podido ser ordenado con los criterios

anteriores. Hay tres posibles casos en este momento:

• Si Pi y Pk comienzan con la misma accion, entonces no es necesario

establecer ordenes adicionales.

• En caso contrario, es posible que Pj y Pk comiencen por la misma

accion. Aquı, sin embargo, nos interesarıa encontrar el orden Pj −→Pk para poder ordenar indirectamente Pi −→ Pk. Puesto que Pi

y Pk comienzan con la misma accion, eliminamos la secuencia de

acciones inicial comun y aplicamos los criterios entre ambos planes

para tratar de establecer un orden entre ellos.

• Si Pi, Pj y Pk comienzan con diferentes acciones, entonces serıa ne-

cesario aplicar nuevos criterios para poder establecer ordenes adicio-

nales. Actualmente estos ordenes se generan aleatoriamente, aunque

en un futuro se espera desarrollar nuevos criterios que permitan to-

mar decisiones de una forma mas informada.

Page 169: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

5. Planificacion heurıstica en tiempo real 147

El proceso de ordenacion de los planes finaliza cuando todos los planes

ordenados en primer lugar comienzan por la misma accion, es decir, cuando

@Pi, Pj / first(Pi) 6= first(Pj) ∧ (@Pk : Pk −→ Pi) ∧ (@Pq : Pq −→ Pj). El

planificador envıa entonces esta accion, anext, al ejecutor y actualiza su modelo

del entorno con los efectos esperados de anext. De esta forma el planificador

puede comenzar a calcular la siguiente accion a ejecutar.

5.8. Conclusiones

En este capıtulo se ha hecho una descripcion detallada del algoritmo de pla-

nificacion empleado en el sistema SimPlanner v3.0. Esta descripcion comienza,

en primer lugar, con una introduccion sobre la notacion y la terminologıa uti-

lizada. Como se puede observar, la notacion es mucho mas extensa y compleja

que la presentada en el apartado 2.1, donde se describe en que consiste un

problema clasico de planificacion. Este incremento en la complejidad se debe

principalmente a tres caracterısticas de caracter practico, a las que el planifi-

cador tiene que dar soporte:

• Variables numericas. La presencia de variables numericas aumenta la

funcionalidad del planificador, ya que permite modelar el uso de recursos

en problemas de planificacion. La representacion de estos problemas,

no obstante, se complica notablemente, pues las acciones ahora tienen

tambien precondiciones y efectos numericos, y en los estados es necesario

almacenar los valores de las variables numericas.

• Incertidumbre en los estados. Representar la incertidumbre en un

estado es posible mediante el uso de una logica trivaluada. Una propo-

sicion, de esta forma, puede ser verdadera, falsa, o desconocida en un

estado. Respecto a la complejidad, esta representacion repercute princi-

palmente en una definicion de la funcion de transicion entre estados mas

compleja, dependiente de informacion desconocida como es el estado real

del mundo.

• Acciones de sensorizacion. Pese a tener una funcion de transicion

diferente del resto de acciones, las acciones de sensorizacion se incorporan

en el algoritmo de planificacion sin cambios importantes. Esto se debe a

Page 170: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

148 5.8. Conclusiones

que es el ejecutor el que se encarga de comprobar los efectos reales que

tienen las acciones de sensorizacion ejecutadas.

El algoritmo de planificacion se basa en tecnicas clasicas de planificacion,

como la descomposicion de objetivos y el calculo de heurısticas basadas en la

formulacion de un problema relajado. Estas tecnicas se combinan, sin embargo,

de una forma novedosa que permite un calculo incremental y en tiempo real

de los planes. En el Capıtulo 6 se muestra un estudio empırico donde se ponen

de relieve las ventajas de emplear este algoritmo en diversos problemas de

planificacion.

Page 171: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 6

Evaluacion y experimentacion

En este capıtulo se presenta un estudio empırico del planificador SimPlan-

ner v3.0, cuyo algoritmo de funcionamiento se describe en el Capıtulo 5. Este

estudio se centra en dos aspectos fundamentales: el soporte para las nuevas

caracterısticas incorporadas en esta version y las distintas formas de utiliza-

cion del planificador. Los resultados que se muestran en este capıtulo se han

obtenido utilizando una computadora Pentium IV a 2 Ghz. con 512 Mb. de

memoria y sistema operativo Linux.

Las nuevas caracterısticas introducidas en la version 3 de SimPlanner son,

principalmente, el manejo de variables numericas y criterios de optimizacion,

y el uso de acciones de sensorizacion. En lo referente a la parte numerica del

problema, la principal aportacion se centra en los cambios introducidos en

el calculo del grafo relajado de planificacion (RPG). La evaluacion se reali-

zara, por lo tanto, comparando la nueva expansion del RPG con la expansion

tradicional para mostrar las ventajas que ofrece.

Las acciones de sensorizacion se emplean como mecanismo para la reso-

lucion de problemas con informacion incompleta. Trabajar con acciones de

sensorizacion complica la evaluacion de los algoritmos de planificacion puesto

que el resultado real de una accion de sensorizacion no se conoce hasta su

ejecucion. Para esta evaluacion, por lo tanto, hemos sometido a nuestro plani-

ficador a un conjunto de ejecuciones simuladas para verificar que es capaz de

alcanzar los objetivos con exito.

Por otra parte, es conveniente estudiar los distintos esquemas de utilizacion

de SimPlanner v3.0. En primer lugar, SimPlanner puede utilizarse como un

149

Page 172: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

150 6.1. Variables numericas y criterios de optimizacion

planificador off-line clasico. Sin embargo, un estudio basado en este esquema

se aleja del proposito para el que ha sido disenado el planificador, es decir, pa-

ra trabajar en entornos dinamicos con restricciones en el tiempo de respuesta.

El esquema anytime es mas apropiado para este tipo de problemas. Siguiendo

este esquema el planificador es capaz de disponer de una respuesta en cual-

quier momento y de mejorarla de acuerdo con el tiempo disponible. Para la

evaluacion de este comportamiento, SimPlanner se ha comparado con LPG

1.2 [Gerevini et al. 2003]. LPG es actualmente uno de los planificadores mas

rapidos y tiene un funcionamiento similar al de un planificador anytime.

Un esquema mas apropiado incluso es el de planificacion on-line, en el que

el proceso de planificacion se realiza de forma concurrente (o alternada) con el

de ejecucion. Este esquema presenta numerosas ventajas como, por ejemplo,

que el tiempo total de planificacion y ejecucion es menor que en las aproxima-

ciones off-line, que el planificador puede utilizar informacion solo disponible

durante la ejecucion y que el planificador puede reaccionar rapidamente an-

te situaciones inesperadas. Este esquema se evaluara estudiando el tiempo de

respuesta del planificador en diferentes dominios y problemas.

La estructura de este capıtulo sigue el mismo orden que esta introduccion.

La seccion 6.1 estudia las extensiones para el manejo de variables numericas

y la seccion 6.2 evalua el comportamiento del planificador ante problemas con

informacion incompleta. Las secciones 6.3 y 6.4 estudian el funcionamiento del

SimPlanner como planificador anytime y on-line respectivamente. Finalmente,

la seccion 6.5 resume las conclusiones obtenidas.

6.1. Variables numericas y criterios de optimi-

zacion

La expansion del RPG propuesta para considerar los criterios de optimi-

zacion se compara en esta seccion con la expansion tradicional, en la que los

niveles del grafo no representan costes respecto a la metrica del problema sino

pasos de tiempo (time steps). Ambas tecnicas se han implementado en Sim-

Planner v3 para evitar que otras caracterısticas del planificador afecten a los

resultados de la comparativa.

Los dominios utilizados en esta comparativa son tres dominios introducidos

Page 173: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 151

en la tercera competicion de planificacion [IPC 2002]: Depots, DriverLog y Ze-

noTravel en su version numerica. La descripcion de estos dominios se muestra

en el Anexo A. Los resultados de esta comparativa se presentan en la tabla

6.1. Esta tabla muestra la calidad de los planes obtenidos, de acuerdo con la

metrica del problema, utilizando tanto la extension del RPG propuesta como

el metodo tradicional. La tabla 6.1 tambien muestra el tiempo de computo

empleado para ambos metodos.

Tabla 6.1: Comparacion entre la extension numerica propuesta y la aproxi-macion tradicional (siguiendo el formato propuesto/tradicional). La calidaddepende de la metrica del problema (un valor mayor representa un plan mascostoso) y el tiempo se mide en segundos.

DriverLog ZenoTravel DepotsP. Calidad Tiempo Calidad Tiempo Calidad Tiempo

1 777/777 0.01/0.01 13564/13564 0.01/0.01 32/42 0.01/0.012 999/1625 0.08/0.13 6786/6786 0.01/0.01 43/53 0.04/0,033 1406/1406 0.03/0.03 6758/6758 0.01/0.01 29/29 0.22/0.154 1119/986 0.05/0.05 27000/27000 0.01/0.01 64/50 0.54/0.445 1056/1270 0.05/0.05 3978/3978 0.02/0.02 80/259 0.92/2.546 2095/2466 0.03/0.02 25097/25097 0.03/0.03 313/313 205/1957 1876/1476 0.07/0.04 11198/11198 0.02/0.02 37/57 0.1/0.18 3418/3472 0.17/0.09 29677/55480 0.04/0.04 43/43 0.43/0.439 4091/9144 1.43/1.53 13275/12644 0.14/0.06 231/409 88.5/79.910 241/3211 0.07/0.26 177368/175218 0.36/0.2 27/27 0.27/0.2711 753/738 0.18/0.07 25505/65093 0.15/0.05 229/196 8.35/1312 6713/5346 5.86/0.7 52206/38547 0.2/0.08 299/389 34.1/27.513 2886/3556 0.83/0.76 112468/95657 0.55/0.22 27/27 1.93/214 11153/- 2.22/- 430417/183591 3.51/0.27 43/43 2.4/2.4215 3561/3464 2.79/0.59 59835/205701 1.92/1.65 237/214 28.2/34.416 16829/39771 110.6/24 64119/87530 4.14/1.48 31/32 0.29/0.2717 20655/93031 60/27.7 190845/384645 36.9/12.3 29/31 0.53/0.5318 70917/82266 283/91.3 67610/71944 20.42/7.26 108/127 37.4/36.719 -/- -/- 235378/257104 44.46/15.2 48/48 4.65/4.720 11555/27884 462/70.7 111671/355711 26.9/20.2 217/- 28.46/-

1.87 mejor 4.26 peor 1.25 mejor 2.36 peor 1.2 mejor 1.03 peor

Los resultados muestran que la extension propuesta mejora la calidad de

los planes en la mayorıa de los problemas y permite resolver un mayor numero

Page 174: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

152 6.1. Variables numericas y criterios de optimizacion

de problemas que con el metodo tradicional. Por termino medio, los planes

obtenidos son 1.87, 1.25 y 1.23 veces de mejor calidad en los dominios Dri-

verLog, ZenoTravel and Depots respectivamente. Sin embargo, y debido a la

naturaleza heurıstica de SimPlanner v3, hay algunos problemas en los que el

metodo tradicional obtiene mejores planes.

Respecto a los tiempos de computo, la tabla 6.1 muestra que la extension

propuesta requiere mas tiempo que la tradicional. Esto se debe principalmente

a dos factores:

• El numero de niveles del RPG es entre 10 y 70 veces superior en nuestra

propuesta, aunque el numero de acciones y proposiciones por nivel es

considerablemente menor. El tamano del grafo resultante es, por consi-

guiente, bastante similar en ambos metodos. Nuestra propuesta requiere,

sin embargo, mantener la lista de proposiciones a insertar en el grafo or-

denada por coste. El pequeno numero de proposiciones insertadas por

nivel ocasiona que la lista de proposiciones que quedan por insertar crez-

ca hasta tamanos considerables.

• El numero de acciones insertadas en el RPG es a menudo mayor que en

el metodo tradicional. Esto ocurre por la expansion de un gran numero

de acciones no relevantes de bajo coste en primer lugar.

Un ejemplo sencillo puede observarse en el dominio DriverLog, en el que,

debido a su bajo coste, suelen insertarse muchas acciones de caminar

(walk) innecesarias. Esta es la principal razon de los mayores tiempos

de computo obtenidos en la mayorıa de los problemas.

Estos dos factores incrementan levemente el tiempo consumido en la crea-

cion de los RPGs. Sin embargo, el elevado numero de RPGs que se construyen

para resolver un problema hacen que este incremento sea mucho mas notable

cuando se observa el tiempo de computo total. En los dominios analizados

en la tabla 6.1, el numero de RPGs generados supera por ejemplo los 105 en

algunos problemas.

Page 175: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 153

6.2. Incertidumbre y acciones de sensorizacion

Como se comento al principio de este capıtulo, la evaluacion de un algorit-

mo de planificacion capaz de trabajar con informacion incompleta y acciones

de sensorizacion es una tarea compleja: es necesario considerar la ejecucion

de los planes ya que el resultado de una accion de sensorizacion depende del

estado real del mundo. Por ello, hemos sometido a SimPlanner v3.0 a dos esce-

narios simulados en un dominio de reparto de correo mediante robots moviles.

Este dominio se describe en el apartado A.5.

Tal y como se comento en la seccion 4.2, las simulaciones se llevan a cabo

siguiendo una arquitectura cliente-servidor: el planificador calcula una serie

de acciones que envıa al ejecutor, y el ejecutor le responde informandole de

los efectos reales de dichas acciones. Esta solucion es bastante flexible pa-

ra trabajar con incertidumbre y se ha empleado, por ejemplo, en la primera

competicion de planificacion probabilıstica [Littman y Younes 2004].

En el primer escenario (ver figura 6.1) un robot tiene que entregar dos car-

tas l1 and l2 a las personas p1 y p2 respectivamente. La planta de despachos

consta unicamente de cuatro despachos y un pasillo con dos puntos de referen-

cia. En este escenario hemos definido cuatro casos diferentes, de acuerdo con

la cantidad inicial de informacion que dispone el planificador:

Figura 6.1: Estado inicial del primer escenario propuesto.

Page 176: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

154 6.2. Incertidumbre y acciones de sensorizacion

a) El planificador lo conoce todo sobre el mundo.

b) El planificador desconoce el estado de las puertas de los despachos B y

D.

c) El planificador no conoce el estado de las puertas de los despachos B, C

y D, ni la localizacion de p1. Sin embargo, sabe que p1 no se encuentra

en el despacho A.

d) El planificador no conoce el estado de las puertas de los despachos B, C

y D, ni la localizacion de p1 ni de l2. Sin embargo, sabe que ni p1 ni l2

estan en el despacho A.

Los resultados para estos cuatro casos se muestra en la tabla 6.2. La pri-

mera columna representa el caso que se esta considerando. Para cada caso,

las columnas restantes muestran el coste del plan obtenido (de acuerdo con la

metrica del problema), la longitud del plan, el numero de acciones de senso-

rizacion ejecutadas y el tiempo total empleado respectivamente. El tiempo se

mide en segundos y no tiene en cuenta el tiempo empleado en la ejecucion de

las acciones ni el empleado en la comunicacion cliente-servidor.

Tabla 6.2: Resultados para los cuatro casos definidos en el primer escenario.

Caso Coste Longitud #acciones sensorizacion Tiempo (s.)

a 9 13 0 0.01b 9 15 2 0.02c 9 19 6 0.05d 11 28 13 0.07

Los resultados de la table 6.2 muestran que la informacion adicional que

proporcionan los RPGs es util para alcanzar los objetivos a pesar de la in-

certidumbre en el estado inicial. De hecho, los planes obtenidos para los tres

primeros casos son optimos.

La complejidad del problema crece significativamente de acuerdo con la

cantidad de proposiciones desconocidas. En el ultimo caso, por ejemplo, hay

cinco sitios donde la persona p1 puede encontrarse: los despachos B, C y D,

Page 177: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 155

y los puntos de referencia E y F. Esto implica que, en el peor de los casos, el

planificador tendra que ejecutar cinco acciones de sensorizacion para encontrar

la posicion de p1, ası como las acciones necesarias para desplazar el robot y

abrir puertas.

El segundo escenario es mas complejo que el anterior (ver figura 6.2). La

planta de despachos esta compuesta por ocho despachos y un pasillo con ocho

puntos de referencia. Hay cuatro cartas l1, l2, l3 y l4 que deben ser entre-

gadas a las personas p1, p2, p3 y p4 respectivamente. Para este escenario, los

cuatro casos propuestos son los siguientes:

Figura 6.2: Estado inicial del mundo para el segundo escenario.

a) El planificador lo conoce todo sobre el mundo.

b) El estado de las puertas de los despachos D, E y F se desconoce.

c) El estado de todas las puertas, excepto la del despacho A, es desconocido.

La posicion de p2 tampoco se conoce inicialmente.

d) El estado de todas las puertas, excepto la del despacho A, es desconocido.

La posicion de p1 tampoco se conoce inicialmente.

Page 178: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

156 6.2. Incertidumbre y acciones de sensorizacion

La tabla 6.3 muestra los resultados obtenidos para este segundo escenario.

El segundo caso es bastante similar al primero, en el que el planificador tiene un

conocimiento completo del entorno. En el segundo caso, la unica informacion

que es necesario adquirir es el estado de las puertas de los despachos D y F.

Anadiendo las dos acciones de sensorizacion correspondientes al plan obtenido

en el primer caso es suficiente para alcanzar los objetivos.

Tabla 6.3: Resultados para los cuatro casos definidos en el segundo escenario.

Caso Coste Longitud #acciones sensorizacion Tiempo (s.)

a 35 33 0 0.01b 35 35 2 0.02c 48 49 13 0.05d 63 62 20 0.07

El numero de posibilidades es mucho mayor en los dos ultimos casos. Esto se

debe al hecho de que una persona puede encontrarse en dieciseis sitios distintos.

En el caso c), la persona p2 se encuentra con relativa facilidad pues el robot

debe desplazarse al despacho H para recoger la carta l3. Sin embargo, en el

ultimo caso, la persona p1 no se encuentra hasta que el robot ha visitado todos

los despachos y puntos del pasillo. Como puede observarse, el plan generado

es bastante mas costoso e incluye mas acciones que en los casos anteriores.

Esta situacion es, sin embargo, inevitable considerando la informacion inicial

disponible.

Una solucion posible para este problema consiste en asociar informacion

probabilıstica a las proposiciones, de acuerdo con la probabilidad real de que

dichas proposiciones sean ciertas en el mundo. De esta forma se podrıa indicar,

por ejemplo, que la posicion mas probable de p1 sea su propio despacho (des-

pacho B). El planificador podrıan entonces buscar a una persona empezando

por los sitios mas probables en los que pudiera encontrarse. La inclusion de in-

formacion probabilıstica, sin embargo, no se ha implementado en SimPlanner

v3.0, y queda como una ampliacion futura para mejorar el comportamiento

del planificador frente a la incertidumbre.

Page 179: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 157

6.3. Comportamiento anytime

La planificacion anytime permite afrontar problemas en los que se requiere

una respuesta en un tiempo limitado. Este esquema es, por lo tanto, se ha

utilizado en la mayorıa de los planificadores de tiempo real existentes (ver el

apartado 3.3.4).

En nuestro planificador, el comportamiento anytime se ha obtenido incre-

mentando artificialmente el tiempo disponible para calcular cada una de las

acciones del plan. En particular, hemos utilizado plazos de 5, 10, 15, 20, 50, 100,

200, 500 y 1000 milisegundos por accion (el doble para problemas numericos).

De esta forma, estableciendo un plazo de 5 ms. por accion se obtiene un plan

muy rapidamente, aunque sin una calidad excesivamente buena generalmente.

Aumentando el plazo, el planificador dispone de tiempo suficiente para llevar

a cabo un mayor numero de etapas de refinamiento. Ası, la calidad del plan

final obtenido es mayor en la mayorıa de los casos (aunque no necesariamente,

debido a la naturaleza heurıstica del SimPlanner). Cuando se encuentra un

plan de mejor calidad que el obtenido hasta el momento, el planificador lo

devuelve como una nueva solucion.

Este modo de operacion puede observarse en las figuras 6.3 y 6.4 en las que

se muestran los planes obtenidos, para un mismo problema, con tres plazos

maximos distintos en el calculo de cada una de las acciones: 10, 50 y 100 mili-

segundos. Aunque mostramos unicamente dos problemas, el comportamiento

es similar en otros problemas y dominios. Este comportamiento puede resu-

mirse mediante las siguientes caracterısticas:

• Las primeras acciones de plan son generalmente mas costosas de calcular.

Esto se debe a que el numero de objetivos a resolver es mas alto (a medida

que se van insertando acciones en el plan se van alcanzando algunos de

los objetivos) y a que la distancia hasta el estado objetivo es mayor.

• El calculo de la siguiente accion se interrumpe a veces si el plazo maxi-

mo de tiempo permitido vence antes. Estas interrupciones, que suelen

ocurrir durante el calculo de las primeras acciones del plan, provocan ge-

neralmente la toma de decisiones de peor calidad, por lo que se obtienen

planes mas costosos.

Page 180: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

158 6.3. Comportamiento anytime

Figura 6.3: Planes calculados para un problema del dominio Rovers, incremen-tando progresivamente el tiempo maximo para el calculo de cada accion.

Siguiendo este esquema, SimPlanner es capaz de devolver una primera solu-

cion en un tiempo muy reducido (el coste de la primera solucion es polinomico

si no se trabaja con precondiciones numericas). Ademas, permite mejorar la

calidad de la solucion mientras haya tiempo disponible. El punto negativo de

esta aproximacion reside en que hay un lımite en la calidad del plan final que

puede obtenerse. A partir de un plazo determinado por accion, el planificador

ya ha generado todas las etapas de refinamiento necesarias. Por ello, aunque

aumentemos el plazo a mas de un segundo por accion, la calidad del plan no

mejora.

Una solucion sencilla a este problema consiste en incluir en el algoritmo de

planificacion un proceso de busqueda que comience cuando se completen las

etapas de refinamiento de los planes mono-objetivo. De esta forma, se podrıa

buscar una solucion mejor (hasta la optima) siempre que el hubiera suficien-

te tiempo disponible. Esta solucion, sin embargo, no se ha implementado ya

que no es el objetivo principal del planificador. SimPlanner esta orientado a

trabajar en entornos dinamicos en los que se requiere reacciones rapidas.

Page 181: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 159

Figura 6.4: Planes calculados para un problema del dominio ZenoTravel, incre-mentando progresivamente el tiempo maximo para el calculo de cada accion.

Tal y como comentamos en la introduccion de este capıtulo, el planificador

seleccionado para las comparaciones ha sido LPG 1.2. LPG no permite acotar

el tiempo necesario para obtener una primera solucion, pero generalmente es

capaz de calcularla en un corto espacio de tiempo y mejorarla progresivamente.

Para la ejecucion de LPG hemos utilizado la semilla con valor 0 y, por cuestion

de espacio, hemos limitado el numero de soluciones a un maximo de 8.

Las tablas 6.4, 6.5, 6.6 y 6.7 muestran las sucesivas soluciones que nuestro

planificador y LPG han generado en los dominios del Mundo de Bloques, Sa-

tellite, Depots y ZenoTravel respectivamente. Estos dominios, descritos en el

Apendice A, han sido seleccionados ya que comparten muchas caracterısticas

de aplicaciones reales de robots moviles: calculo de rutas y manejo y trans-

porte de objetos. En estas tablas, el coste representa el numero de acciones

del plan, mientras que el tiempo expresa en segundos el tiempo total emplea-

do para obtener cada una de las soluciones. Las celdas en las que aparece un

guion (−) indican que el correspondiente planificador no ha encontrado un

plan valido dentro del plazo maximo establecido, que en estas pruebas ha sido

Page 182: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

160 6.3. Comportamiento anytime

de 20 segundos.

Como puede observarse en la tabla 6.4, SimPlanner ofrece un comporta-

miento excelente en el mundo de bloques. Este comportamiento tambien puede

verse, de forma grafica, en la figura 6.5. En esta grafica se muestra la calidad

media, en numero de acciones, y el tiempo medio, en segundos, que obtienen

LPG y SimPlanner en un tiempo de computo maximo de 10 segundos. La me-

dia se ha calculado entre la primera y la mejor solucion obtenida. La limitacion

de 10 segundos se ha establecido para estudiar el comportamiento de ambos

planificadores en circunstancias en las que es necesaria respuesta rapida.

Tabla 6.4: Soluciones encontradas en 20 segundos para problemas del Mundo deBloques. La talla del problema representa el numero de bloques en el problema.

Coste Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 64, 34 100, 36, 34 0.03, 0.06 0.28, 0.5, 2.311 128, 32 200, 40, 38, 36, 0.05, 0.12 0.7, 1.15, 1.9, 4.1,

34, 32 5.4, 6.512 56, 42, 38 154, 48, 44, 42, 40 0.03, 0.1, 0.2 0.6, 1, 1.2, 2.9, 413 72, 48, 42 174, 52, 44, 42 0.04, 0.12, 0.2 3.1, 3.4, 4.7, 10.414 86, 44 130, 64, 48, 46, 44, 0.06, 0.18 0.8, 2.4, 2.6, 3.4, 3.5,

42, 40, 38 5.4, 15.3, 19.815 100, 52, 48 172, 50, 46 0.08, 0.2, 0.3 6.2, 13.4, 13.616 188, 80, 58, 54 192, 112, 60, 58 0.2, 0.5, 0.7, 1.3 14.2, 16.1, 17.3, 17.817 236, 68, 54 352, 62 0.25, 0.5, 0.7 15.6, 2018 310, 70, 62 - 0.35, 0.6, 1.7 -19 128, 94, 86, - 0.18, 0.6, 1.3, -

68, 64 2.6, 4.420 106, 78, 66 - 0.16, 0.5, 2.7 -

En el dominio Mundo de Bloques, SimPlanner es capaz de calcular un

plan de mejor calidad y en menor tiempo que LPG. De hecho, a partir de 15

bloques, LPG no es capaz de proporcionar una respuesta en menos de 10 se-

gundos, mientras que SimPlanner consigue hacerlo en decimas de segundo. La

dificultad de este dominio consiste, principalmente, en el alto grado de inter-

accion existente entre los objetivos del problema. Planificadores actuales como

Metric-FF [Hoffman 2003] y SGPlan [Chen et al. 2004], muy competitivos en

Page 183: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 161

Figura 6.5: Calidad y tiempo promedio de las soluciones obtenidas en 10 se-gundos para problemas del dominio Mundo de Bloques.

una gran variedad de dominios, tampoco ofrecen buenos resultados en este

dominio.

El alto grado de interaccion entre los objetivos es, sin embargo, la causa

de que SimPlanner se comporte tan bien en este dominio: los planes mono-

objetivo pueden ser facilmente ordenados debido principalmente al gran nume-

ro de conflictos no flexibles que aparecen entre ellos. La correcta ordenacion

de los planes permite seleccionar buenas acciones, obteniendo como resultado

planes de alta calidad.

La tabla 6.5 y, graficamente, la figura 6.6 muestran los resultados para

el dominio Depots. Respecto a la calidad, puede observarse que los planes

generados por SimPlanner son, por termino medio, algo mas largos que los

que obtiene LPG. La principal dificultad de SimPlanner en este dominio reside

en la construccion de los planes mono-objetivo: el transporte de las cajas en

camiones supone un coste mas alto que la manipulacion de cajas dentro de los

almacenes, por lo que intenta evitar dichos traslados aun siendo, a veces, la

mejor opcion.

Por el contrario, SimPlanner es capaz de obtener soluciones a problemas

del dominio Depots mucho mas rapidamente que LPG. Mientras que SimPlan-

ner obtiene las primeras soluciones en unas pocas fracciones de segundo, LPG

emplea en algunos problemas (ver los problemas 6 y 12) mas de 10 segundos

en generar el primer resultado. La figura 6.6 tambien muestra que el compor-

tamiento de SimPlanner es mas estable y escala mejor en problemas de mayor

Page 184: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

162 6.3. Comportamiento anytime

talla.

Tabla 6.5: Soluciones encontradas en 20 segundos para problemas del dominioDepots.

Coste Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 42, 27 27, 26, 25, 24 0.06, 0.2 0.1, 2.6, 3.1, 3.311 50 63, 60, 57, 56, 0.14 0.7, 4.4, 5.7, 6.4,

55, 53 7.6, 8.412 107, 70, 63, 61 - 0.7, 3, 10.6, 18.9 -13 27, 25 28, 26, 25 0.03, 0.14 0.11, 0.21, 0.414 36, 35 37, 34, 31 0.39, 4.17 0.94, 2, 5.615 169, 116, 100 114, 89 1.3, 4.8, 20 6.4, 8.116 33, 27 32, 30, 26 0.06, 0.26 0.18, 0.5, 0.917 33, 27 28, 26, 25, 24, 23 0.16, 0.5 0.4, 0.7, 1.1, 4.3, 1818 75, 65 80, 70, 69 0.7, 12 4.4, 6, 6.819 87, 40 43, 40, 39, 38, 37 0.26, 0.8 0.4, 1.2, 3.7, 10, 1720 111, 95, 80 102, 93, 91 1.3, 3.1, 12.9 6.6, 8.9, 9.7

Figura 6.6: Calidad y tiempo promedio de las soluciones obtenidas en 10 se-

gundos para problemas del dominio Depots.

La tabla 6.6 y la figura 6.7 muestran los resultados de SimPlanner y LPG

en el dominio Satellite. Por termino medio, la calidad de ambos planificadores

es similar: LPG consigue encontrar planes mas cortos para muchos de los pro-

blemas, pero SimPlanner es capaz de obtener mejores soluciones en el mismo

Page 185: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 163

tiempo. En este dominio, las primeras soluciones que genera SimPlanner son

bastante buenas por lo que, aun concediendole mas tiempo de computo, no

consigue mejorarlas significativamente.

Tabla 6.6: Soluciones encontradas en 20 segundos para problemas del dominioSatellite.

Coste Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 32, 31 32, 31, 29 0.07, 0.5 0.09, 0.2, 4.511 35, 34 35, 34, 33, 31 0.09, 0.3 0.1, 0.16, 1.1, 1.712 43 51, 45, 43 0.15 0.21, 0.33, 0.513 58 67, 65, 59, 58, 57 0.3 0.4, 1, 2.1, 2.3, 2.514 45, 44 45, 43, 42, 41, 40 0.17, 0.8 0.23, 0.6, 0.8, 7.2, 12.515 51, 50 74, 71, 64, 57, 51, 0.27, 1.2 0.34, 0.5, 0.6, 1.1, 1.3,

50 1416 52, 49 54, 53, 51, 50 0.34, 1.2 0.33, 0.6, 1.3, 6.417 47, 46 55, 54, 53, 49, 47, 0.34, 1 0.43, 0.5, 0.9, 1.4, 5.3,

46, 43 5.9, 17.318 36 43, 41, 35, 33, 32 0.12 0.2, 0.3, 0.4, 9.9, 10.519 71, 65, 63 76, 73, 72, 69, 68, 0.34, 1.3, 2.3 0.32, 0.5, 1.1, 1.4, 1.6,

67, 64, 63 8.3, 8.6, 14.820 89 108, 105, 102, 101, 0.58 0.42, 0.7, 1, 2,

99, 94, 92, 88 3.4, 3.8, 13.9, 16.5

Figura 6.7: Calidad y tiempo promedio de las soluciones obtenidas en 10 se-

gundos para problemas del dominio Satellite.

Page 186: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

164 6.3. Comportamiento anytime

En el dominio ZenoTravel (ver tabla 6.7 y figura 6.8) la calidad de los

planes obtenidos es similar a la de LPG. Respecto al tiempo de calculo, Sim-

Planner se comporta significativamente mejor que LPG : LPG no es capaz de

calcular una primera solucion en menos de 20 segundos para los cuatro ultimos

problemas, mientras que SimPlanner lo consigue en un maximo de 6 segun-

dos. Se debe recordar tambien que, en esos 6 segundos, SimPlanner calcula

incrementalmente mas de 100 acciones, por lo que la ejecucion puede comen-

zar nada mas se ha obtenido la primera accion. Desde este punto de vista, la

diferencia de velocidad entre ambos planificadores se acentua notablemente.

Tabla 6.7: Soluciones encontradas en 20 segundos para problemas del dominioZenoTravel.

Coste Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 36 44, 40, 33, 29, 27 0.08 0.25, 0.4, 0.7, 0.8, 1.311 20 22, 20, 16, 15 0.03 0.12, 0.24, 0.35, 2.812 31 24, 23 0.04 0.17, 23.213 36 47, 40, 37, 34, 0.24 0.25, 0.4, 1.2, 3.114 43, 40 53, 50, 46, 41 0.7, 1.9 4.8, 5.8, 7, 17.615 76, 53, 51 57, 53, 49 0.5, 2, 8 5.9, 9.5, 18.616 80, 63, 61 73 0.9, 6.1, 13.4 17.417 135, 129, 113 - 2.2, 4.8, 15.2 -18 111, 87 - 1.8, 11.4 -19 166 - 3.9 -20 144, 140 - 6.2, 13.7 -

Al igual que hemos hecho hasta ahora, tambien se ha evaluado el compor-

tamiento anytime en dominios numericos. Las tablas 6.8 y 6.9 muestran los

resultados obtenidos en las versiones numericas de los dominios Depots y Ze-

noTravel respectivamente. Estos dominios tambien se describen en el Apendice

A. Para los problemas numericos, el plazo maximo de tiempo de computo para

el calculo de las distintas soluciones se ha elevado hasta 60 segundos, debido a

la mayor complejidad de estos problemas. En estos problemas, ademas, el coste

no representa el numero de acciones del plan sino la cantidad de combustible

consumido.

Page 187: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 165

Figura 6.8: Calidad y tiempo promedio de las soluciones obtenidas en 10 se-gundos para problemas del dominio ZenoTravel.

Tabla 6.8: Soluciones encontradas en 60 segundos para problemas de la version

numerica del dominio Depots.

Coste Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 66 48, 47 0.1 0.1, 0.211 160, 140, 120 159, 154, 134, 133, 0.7, 4.5, 7.9 4.1, 7.1, 9.1, 11.4,

123, 103 21.4, 28.512 227, 125 288 2.7, 5.3 9.113 56 107, 77, 68, 57 0.08 0.16, 0.2, 0.3, 0.914 89, 78 99, 80, 78, 68, 58 0.3, 1.5 1.9, 2.2, 3, 3.6, 5015 256, 134 204, 155, 144, 122 2.9, 13.2 28.6, 35.7, 38, 4016 57 79, 78, 68, 59, 0.2 0.3, 0.7, 0.8, 1,

58, 57 1.1, 6.417 46 49, 48, 38, 37 0.3 0.5, 1.4, 1.6, 55.518 409, 113, 99, 86 167, 137, 131, 122, 3.1, 7.9, 12.6, 29 5.2, 8.7, 34.6, 43,

112 44.319 98 218, 201, 181, 180, 0.5 0.9, 1.4, 1.7, 2,

150, 115, 100, 90 2.4, 5.1, 5.6, 3220 226, 213 254, 180, 154, 151, 6.2, 29 26.7, 34, 37, 42.5,

150 44

Page 188: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

166 6.3. Comportamiento anytime

Figura 6.9: Calidad y tiempo promedio de las soluciones obtenidas en 10 se-

gundos para problemas de la version numerica del dominio Depots.

En la version numerica del dominio Depots (ver tabla 6.8 y figura 6.9), la

calidad de las soluciones es comparable entre ambos planificadores: aunque los

planes que genera LPG tienen, en general, mejor calidad, disponiendo del mis-

mo tiempo, SimPlanner obtiene mejores soluciones. LPG, ademas, emplea mas

de 20 segundos en varios problemas antes de devolver una primera solucion.

En los problemas de la version numerica del dominio ZenoTravel (ver tabla

6.9 y figura 6.10), SimPlanner sigue la tonica que hemos observado hasta

ahora: aunque no es capaz en muchas ocasiones de optimizar tanto como LPG,

SimPlanner consigue mejores resultados en un menor periodo de tiempo. Las

instancias mas grandes de este dominio son particularmente complejas: los

planes obtenidos tienen en ocasiones mas de 100 acciones por lo que, aun

tardando solo unas pocas decimas de segundo en calcular cada una de las

acciones, SimPlanner emplea mas de 20 segundos en generar el plan completo.

LPG tambien encuentra dificultades al resolver estos problemas. De hecho, no

consigue resolver el ultimo problema en menos de un minuto.

De acuerdo con todas las pruebas realizadas, se puede concluir que, en

general, SimPlanner es capaz de calcular un primer plan mas rapidamente que

LPG. Es importante tambien tener en cuenta que, con nuestro planificador,

no es necesario esperar hasta que el plan completo se haya calculado antes de

comenzar la ejecucion del mismo. Debido al calculo incremental de los planes,

el ejecutor puede comenzar a ejecutar el plan nada mas se ha calculado la

primera accion. Respecto a la calidad de los planes obtenidos, LPG consigue

Page 189: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 167

un mayor nivel de refinamiento pero, empleando el mismo tiempo de computo,

las soluciones que obtiene SimPlanner suelen ser de mejor calidad.

Tabla 6.9: Soluciones encontradas en 60 segundos para problemas de la versionnumerica del dominio ZenoTravel.

Coste x 1000 Tiempo (seg.)P. SimPlanner LPG 1.2 SimPlanner LPG 1.2

10 112.7 95, 78.7, 72.7, 65.5, 0.13 0.08, 0.2, 0.3, 0.5,59, 48.6, 45.6 0.7, 1.1, 1.3

11 24.6 33.6, 29.4, 19.6, 18.6, 0.04 0.07, 0.2, 0.4, 1.1,16, 13.3 2.3, 9.5

12 43.6 77, 74.6, 67.2, 55.6, 0.13 0.08, 0.2, 0.4, 0.6,48.8, 32.1, 29.4 1, 1.7, 5

13 44 92.5, 89, 75.9, 68.6, 0.2 0.1, 0.4, 0.7, 1.3,57.3, 46.5, 42.1, 40.7 2, 3.9, 7.3, 9.2

14 270, 233 308, 299, 260, 237, 0.6, 3.9 1.3, 4.1, 7.8, 11.3,194, 179, 172, 161 14.6, 20, 25.4, 31

15 47 69, 63, 49, 48, 47.9 1.2 2.1, 11, 21, 35, 4916 100, 44.4 105.7, 85.8, 78.5, 58, 2.5, 4.5 4, 9.4, 15.4, 22.5,

56.3, 52, 46.7 31.3, 38.6, 46.817 222, 139 239, 192 7.4, 13.6 11.8, 35.118 138, 129, 58 129, 121, 115 10, 34, 47 20, 34, 5519 273, 128 285 28.8, 51.7 32.720 363, 87 - 24.4, 48.6 -

Figura 6.10: Calidad y tiempo promedio de las soluciones obtenidas en 10

segundos para problemas de la version numerica del dominio ZenoTravel.

Page 190: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

168 6.4. Planificacion on-line

6.4. Planificacion on-line

En este apartado vamos a estudiar el comportamiento de SimPlanner en

entornos dinamicos. Para ello tendremos en cuenta los eventos inesperados

que pueden ocurrir durante la ejecucion del plan y que obligan a reaccionar

rapidamente al planificador para alcanzar los objetivos con exito. Tambien

se estudiara el caso en el que los objetivos del problema cambian durante la

ejecucion del plan.

Para la realizacion de esta evaluacion hemos disenado dos dominios que

se centran en dos caracterısticas basicas de las aplicaciones de robots moviles:

calculo de rutas y manipulacion de objetos. El primer dominio es muy similar

al que se presenta en [Koenig y Likhachev 2002], aunque descrito en PDDL. Un

robot situado en una determinada posicion debe desplazarse hasta un punto

determinado. El mapa del terreno se representa en forma de una matriz por la

que el robot puede moverse en ocho direcciones distintas: horizontal, vertical

y diagonalmente. La principal dificultad en este dominio, al que hemos deno-

minado reside en que el mapa del terreno no es completamente conocido, por

lo que pueden aparecer obstaculos durante la navegacion.

El segundo dominio se centra en la utilizacion de un brazo robot para la

manipulacion de objetos, de forma similar, por lo tanto, al dominio del Mundo

de Bloques. Este ultimo dominio es, sin embargo, relativamente sencillo para

muchos planificadores actuales, por lo que lo hemos extendido con las siguientes

caracterısticas:

• En lugar de trabajar con una mesa de tamano infinito se dispone de un

conjunto de mesas en las que solo es posible formar una unica pila de

objetos.

• El objetivo no consiste en formar varias pilas de objetos en un orden

especıfico. Las mesas se utilizan unicamente como un almacen de objetos.

El objetivo consiste en ensamblar los objetos en un espacio bidimensional

alrededor de una pieza central.

• En el objetivo no se especifica la posicion absoluta de cada uno de los

objetos, sino con que otros objetos deben estar unidos. No hay, por lo

tanto, un unico estado objetivo, ya que es posible que hayan distintas

formaciones de los objetos que satisfagan los objetivos.

Page 191: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 169

Con estas modificaciones, este dominio supone un reto importante para

muchos planificadores independientes del dominio actuales. De hecho, planifi-

cadores como LPG v1.2 y SGPlan emplean 2 y 5 minutos respectivamente en

obtener una solucion (sin considerar, por su caracter off-line, eventos inespe-

rados ni cambios en los objetivos), y Metric-FF requiere mas de una hora de

proceso.

Navegacion con robots moviles

Para las pruebas en el dominio de navegacion hemos disenado dos mapas de

50x50 celdas. Los obstaculos se representan con celdas de color negro, mientras

que el espacio libre se muestra con celdas de color blanco.

Figura 6.11: Primer problema de navegacion: el robot debe moverse de la celdainicial (S) hasta la celda objetivo (G).

En el primero de ellos (ver figura 6.11) se estudia el comportamiento de

SimPlanner cuando se encuentra con nuevos obstaculos durante la navegacion

hacia el objetivo. La figura 6.12 muestra el camino que sigue el robot hasta

encontrarse con el primer obstaculo. La figura 6.13 muestra el nuevo camino

que toma el robot, comenzando desde la celda en la que se quedo, hasta topar

Page 192: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

170 6.4. Planificacion on-line

con un segundo obstaculo. Finalmente, la figura 6.14 muestra la nueva ruta

que utiliza para alcanzar la celda objetivo.

Figura 6.12: El robot se encuentra un obstaculo en la celda (26,11).

Page 193: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 171

Figura 6.13: El robot se encuentra un obstaculo en la celda (30,14).

Figura 6.14: El robot alcanza la celda objetivo.

Page 194: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

172 6.4. Planificacion on-line

La primera caracterıstica que puede observarse es que el planificador siem-

pre calcula una ruta optima para alcanzar el objetivo. SimPlanner es optimo

en este dominio porque no existe interaccion entre los objetivos y el grafo re-

lajado de planificacion (RPG) es una heurıstica admisible para este problema:

el numero de niveles del RPG representa la distancia exacta hasta el objetivo.

Respecto al tiempo de computo, el comportamiento es similar al descrito

en el apartado anterior: en general, las primeras acciones son las mas costosas

ya que la distancia al objetivo es mayor. Esta caracterıstica se acentua al

maximo en este dominio puesto que solo existe un objetivo en el problema:

una vez se ha refinado el unico plan mono-objetivo, lo que ocurre durante

las primeras acciones del plan, el calculo de las siguientes acciones tiene un

coste insignificante (de hecho, ya no es necesario calcular nuevos RPGs que

es, en este dominio, la etapa de planificacion que mayor porcentaje de tiempo

consume.)

Evidentemente, esto ocurre ası cuando todo transcurre como esta previsto.

Como se puede observar en la figura 6.15, cuando aparece un obstaculo en la

ruta, el planificador tiene que descartar el plan que actualmente esta siguiendo

y calcular uno nuevo. El coste de tratar los eventos inesperados es, por lo tanto,

equivalente al coste de calcular las primeras acciones del plan.

Figura 6.15: Tiempo de computo de cada accion para el primer problema denavegacion.

En la figura 6.15 puede comprobarse tambien que, aun tratandose de una

Page 195: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 173

matriz relativamente grande, el coste computacional es muy reducido. El plani-

ficador emplea alrededor de 50 milisegundos para calcular las primeras acciones

y para reaccionar ante eventos inesperados, y menos de 2 milisegundos para

el calculo del resto de las acciones del plan.

En el segundo problema de este dominio de navegacion, se evalua el com-

portamiento del planificador ante la modificacion de los objetivos. La figura

6.16 muestra la ruta que sigue el planificador para alcanzar la celda objetivo.

Tres celdas antes de alcanzar el objetivo, se modifica la posicion de la celda

objetivo: la figura 6.17 muestra la nueva situacion del objetivo y la nueva ruta

que calcula el planificador. De nuevo, antes de alcanzar el objetivo, este vuelve

a cambiar de posicion, esta vez a una celda mas cercana a la posicion actual del

robot. La figura 6.18 muestra la nueva ruta que sigue el robot para alcanzar,

finalmente, el objetivo.

Figura 6.16: Segundo problema de navegacion: el objetivo se modifica antes de

que el robot alcance la celda objetivo (G).

Page 196: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

174 6.4. Planificacion on-line

Figura 6.17: Nueva ruta para alcanzar el objetivo y nuevo cambio de objetivo.

Figura 6.18: El robot alcanza la celda objetivo.

Page 197: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 175

Figura 6.19: Tiempo de computo de cada accion para el segundo problema de

navegacion.

Tal como hemos indicado anteriormente, el planificador obtiene de nuevo

las rutas optimas para alcanzar los objetivos. El coste computacional de cada

una de las acciones del plan puede observarse en la figura 6.19. En esta grafica,

muy similar a la del problema anterior, se puede observar que un cambio en

los objetivos produce el mismo efecto que un evento inesperado: el tiempo de

computo en ambos casos es muy similar al del calculo de las primeras acciones

del plan. Esto se debe a que, un cambio en el objetivo, invalida el plan actual

y obliga al calculo de un nuevo plan.

Manipulacion de objetos

En los problemas del dominio de manipulacion de objetos se han definido

10 objetos (p1, . . ., p10) distribuidos sobre 5 mesas (table1, . . ., table5), tal

como muestra la figura 6.20. El objetivo consistira en ensamblar dichos objetos

alrededor de un objeto central fijo, C, situado en una plataforma separada. Un

objeto puede ensamblarse a la izquierda, a la derecha, arriba o abajo del objeto

central o de otro objeto que ya haya sido ensamblado.

Al igual que hicimos con el dominio de navegacion, vamos a proponer un

primer problema en el que se pueda observar la capacidad de reaccion de Sim-

Planner ante la aparicion de situaciones inesperadas, y un segundo problema

Page 198: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

176 6.4. Planificacion on-line

para mostrar su funcionamiento ante modificaciones en los objetivos. Las fi-

guras 6.20 y 6.21 muestran el estado inicial y el estado objetivo del primer

problema respectivamente.

Figura 6.20: Estado inicial de los problemas del dominio de manipulacion.

El primer evento inesperado sucede cuando el brazo robot ya ha ensamblado

los objetos p1, p3 y p8, y esta sosteniendo p7 para colocarlo en su posicion final

(ver figura 6.22). En dicho momento detecta que el objeto p7 se ha soltado

y ha caıdo sobre la mesa table4. El segundo evento inesperado ocurre al

ensamblar el objeto p5 a la derecha de p3. Un error provoca que p5 se ensamble

a la derecha de p2. El brazo robot, ademas de ensamblar objetos, tambien es

capaz de desensamblarlos, por lo que puede corregir esta situacion.

Figura 6.21: Estado objetivo del primer problema del dominio de manipulacion.

Page 199: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 177

Figura 6.22: Primer evento inesperado: el objeto p7 cae sobre la mesa table4.

Figura 6.23: Segundo evento inesperado: en lugar de ensamblar p5 a la derecha

de p3 se ensambla a la derecha de p2.

En primer lugar, y debido a la complejidad de este problema, hemos limi-

tado el tiempo de computo de cada accion del plan a un maximo de 1 segundo.

En la figura 6.24 puede observarse que esta limitacion afecta a practicamente

la primera mitad de las acciones del plan. A pesar de que las soluciones que ob-

tiene SimPlanner en este dominio son generalmente suboptimas, la restriccion

en el tiempo de computo tambien ocasiona la inclusion en el plan de algunas

acciones innecesarias.

Page 200: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

178 6.4. Planificacion on-line

Figura 6.24: Tiempo de computo de cada accion para el primer problema de

manipulacion.

A diferencia del anterior dominio, los eventos inesperados solo ocasionan

leves incrementos en el tiempo de computo. Este hecho se debe a que en los

problemas de navegacion solo hay un objetivo, por lo que la aparicion de un

evento inesperado invalida todo el plan en ejecucion. Los problemas de mani-

pulacion, sin embargo, constan de distintos objetivos, cada uno de los cuales

se consigue de una forma diferente. En la mayorıa de ocasiones, cada vez que

el planificador calcula una accion se invalidan todos los planes mono-objetivo

menos uno, ya que solo uno de ellos comienza con dicha accion. Cuando su-

cede un evento inesperado, todos los planes mono-objetivo se invalidan: la

diferencia, por lo tanto, entre el calculo de una accion y la respuesta ante una

situacion inesperada es mınima.

El segundo problema parte tambien del estado inicial representado en la

figura 6.20. En este problema se muestra el comportamiento del planificador

ante cambios en los objetivos. Las figuras 6.25, 6.26 y 6.27 muestran los distin-

tos cambios en los objetivos que suceden durante la ejecucion del plan: en la

parte izquierda de cada figura se muestra el estado de la plataforma de ensam-

blado cuando ocurre el cambio de objetivo, mientras que en la parte derecha

se representa el nuevo estado objetivo que se pretende alcanzar.

Page 201: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 179

Figura 6.25: Estado inicial y objetivo del segundo problema de manipulacion.

Figura 6.26: Primer cambio en el objetivo del segundo problema de manipu-

lacion.

Figura 6.27: Segundo cambio en el objetivo del segundo problema de manipu-

lacion.

La figura 6.28 muestra el tiempo de computo utilizado en el calculo de

cada accion del plan y senala los instantes en los que se producen los cambios

Page 202: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

180 6.5. Conclusiones

de objetivo. Como era de esperar, un cambio en los objetivos tiene un efecto

similar a la aparicion de un evento inesperado, es decir, un ligero incremen-

to en el tiempo de computo. Este incremento no depende de lo drastico que

sea el cambio introducido, tal como sucede en muchas herramientas de repla-

nificacion. En el caso de un evento inesperado, el incremento computacional

depende de la distancia del nuevo estado al objetivo, mientras que en el caso

de un cambio de objetivos, el incremento depende de la distancia del estado

actual al nuevo estado objetivo.

Figura 6.28: Tiempo de computo de cada accion para el segundo problema de

manipulacion.

6.5. Conclusiones

En este capıtulo se han evaluado cuatro de los aspectos mas novedosos de

SimPlanner v3.0 : las extensiones numericas anadidas al grafo relajado de pla-

nificacion, el manejo de acciones de sensorizacion, el comportamiento anytime

del planificador y, desde el punto de vista on-line, la reaccion ante eventos ines-

perados y cambios en los objetivos. Las conclusiones extraıdas de las pruebas

realizadas se resumen en los siguientes puntos:

• La generacion del grafo relajado en funcion de una estimacion del coste

de las acciones ocasiona importantes mejoras en la calidad, llegando a

Page 203: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

6. Evaluacion y experimentacion 181

duplicar la calidad de algunos planes respecto a la aproximacion tradi-

cional en varios dominios numericos. Esta mejora tiene, sin embargo, un

coste computacional adicional: en algunos dominios el coste del proceso

de planificacion es cuatro veces superior. La decision para seleccionar un

algoritmo u otro depende, por lo tanto, de la aplicacion que se le vaya a

dar.

• Las acciones de sensorizacion se incluyen en el algoritmo de planificacion

sin un incremento computacional significativo. La aproximacion que se

emplea es la de utilizar las acciones de sensorizacion para obtener in-

formacion del entorno unicamente cuando la informacion disponible no

permita alcanzar los objetivos. En los ejemplos que se muestran se puede

apreciar el buen comportamiento que se obtiene con esta aproximacion.

Sin embargo, en problemas en los que hay mucha informacion desconoci-

da, el numero de acciones de sensorizacion ejecutadas puede llegar a ser

muy alto, por lo que podrıa ser interesante entender el algoritmo para

trabajar con informacion probabilıstica.

• El comportamiento anytime de SimPlanner se obtiene incrementando

progresivamente el tiempo disponible para calcular cada accion del plan.

En general, un mayor tiempo de computo permite tomar mejores de-

cisiones, lo que conduce a generar planes menos costosos. Las pruebas

realizadas permiten comparar las soluciones de SimPlanner con las de

LPG. Puede observarse que SimPlanner es capaz de obtener soluciones

de la misma calidad que LPG en un tiempo considerablemente menor.

LPG, sin embargo, alcanza mejores soluciones si dispone del tiempo su-

ficiente.

• El comportamiento on-line se ha evaluado sometiendo al planificador a

diversas situaciones inesperadas y cambios en los objetivos en dos domi-

nios caracterısticos de aplicaciones de robots moviles: calculo de rutas y

manipulacion de objetos. Puede comprobarse que el coste de la repara-

cion del plan no supone un coste adicional elevado, ya que es comparable

al calculo de las primeras acciones del plan. De hecho, si el numero de

objetivos del problema es alto, es difıcil distinguir este incremento de

coste.

Page 204: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

182 6.5. Conclusiones

Estos resultados reflejan que el planificador desarrollado cumple los obje-

tivos de diseno planteados y que, por lo tanto, puede ser util en problemas

dinamicos de planificacion y con informacion incompleta, en los que se requie-

ren reacciones rapidas y soluciones de una calidad aceptable.

Page 205: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Capıtulo 7

Conclusiones y trabajo futuro

En este capıtulo se presentan las conclusiones generales de este trabajo de

tesis. El contenido de este capıtulo se organiza como sigue. En el primer apar-

tado se describen las caracterısticas y la necesidad de la utilizacion de tecnicas

de planificacion practica para afrontar eficientemente muchos problemas reales

de planificacion. En el segundo apartado se describe la aproximacion propues-

ta y se enumeran las aportaciones y los resultados mas relevantes. En el tercer

y ultimo apartado se proporcionan varias lıneas de trabajos futuros derivadas

directamente de este trabajo de tesis.

7.1. Introduccion

La investigacion en planificacion clasica independiente del dominio se ha

centrado en el desarrollo de tecnicas de busqueda eficientes, orientadas general-

mente a encontrar una secuencia optima (o proxima a la optima) de acciones

que conduzca al sistema desde el estado actual hasta el estado objetivo. El

problema de la planificacion independiente del dominio, sin embargo, es un

problema muy complejo. Por ello, aunque los planificadores mas recientes,

sobretodo aquellos basados en la planificacion heurıstica, son muy rapidos,

necesitan todavıa varios minutos para resolver muchos problemas de tamano

medio/grande.

Existe una gran variedad de dominios en los que un periodo de tiempo

de varios minutos, e incluso de varias horas, no resulta ningun inconvenien-

te. Estos dominios son, generalmente, problemas de optimizacion como, por

183

Page 206: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

184 7.2. Conclusiones

ejemplo, la generacion de planes para situaciones de crisis, campanas militares,

toma de decisiones logısticas, etc., en los que los planes se almacenan para su

posterior ejecucion.

Existen otro tipo de aplicaciones, como el control de robots moviles o los

agentes de inteligencia artificial en juegos de ordenador y simulaciones, en las

que un tiempo de computo excesivo no es admisible. Un tiempo de respuesta

acotable no es el unico requerimiento en este tipo de aplicaciones. Es frecuente,

por ejemplo, que el planificador no pueda acceder a toda la informacion del

entorno. Un robot movil, por ejemplo, desconoce muchos de los hechos del

mundo que estan fuera del alcance de sus sensores. Algo todavıa mas probable

es que el mundo cambie constantemente, ya que el robot movil no es el unico

agente capaz de actuar sobre el mundo y modificarlo. Estas son, entre otras,

las caracterısticas que hacen que los planificadores clasicos no sean la mejor

opcion para la resolucion de este tipo de problemas.

Las nuevas tecnicas de planificacion capaces de afrontar las dificultades de

este tipo de dominios (o, al menos, algunas de ellas) se enmarcan dentro de la

planificacion practica. Esta tesis se enmarca dentro de esta vertiente practica

de la planificacion. En las siguientes secciones se presentan las conclusiones y

las aportaciones mas destacadas de este trabajo de tesis, ası como las lıneas

de trabajo futuro que pueden desarrollarse a partir de este trabajo.

7.2. Conclusiones

El trabajo realizado en esta tesis se inicio con el objetivo de integrar un

proceso de planificacion de alto nivel dentro de una aplicacion de control de

robots moviles. Este trabajo se ha centrado en el desarrollo de un algoritmo de

planificacion independiente del dominio capaz de manejar muchos de los reque-

rimientos de este tipo de aplicaciones, como plazos en el tiempo de respuesta

o la presencia informacion incompleta, requerimientos que no son faciles de

satisfacer mediante los planificadores clasicos actuales.

Page 207: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

7. Conclusiones y trabajo futuro 185

7.2.1. Aproximacion propuesta

La solucion propuesta parte de una arquitectura basada en el modelo de

planificacion y ejecucion integrada. En esta arquitectura se define uno (o va-

rios) agentes de planificacion, capaces de elaborar y ejecutar planes autonoma-

mente sobre un mismo entorno. Cada agente de planificacion tiene su propio

objetivo definido por lo que, a diferencia de otras arquitecturas, la colabora-

cion entre los distintos agentes para alcanzar un objetivo comun no es uno

de los propositos que se desean conseguir. El objetivo principal de esta arqui-

tectura es definir un marco en el que el proceso de planificacion no sea un

proceso aislado, sino un proceso capaz de actuar sobre un entorno dinamico,

realimentarse con informacion sobre su estado y emplear dicha informacion

para emprender acciones correctoras.

Las principales aportaciones de este trabajo estan relacionadas, sin embar-

go, con el algoritmo desarrollado que se integra en los agentes de planificacion.

Este algoritmo esta estructurado en tres etapas fundamentales, de las que

podemos extraer las siguientes conclusiones:

Calculo del grafo de planificacion relajado

El calculo de un grafo relajado de planificacion es un elemento comun en

la mayorıa de los planificadores heurısticos existentes, ya que permite obtener

valiosa informacion heurıstica de una forma muy eficiente. Cualquier extension

propuesta sobre este tipo de grafos y que mejore la calidad de la informacion

que proporciona puede aplicarse a un gran numero de planificadores para mejo-

rar sus prestaciones. En este trabajo se han elaborado dos nuevas extensiones,

de gran utilidad para el tipo de problemas a los que esta destinado:

• Calculo del coste de acciones y proposiciones respecto a la funcion de

optimizacion del problema. En el algoritmo tradicional de construccion

del grafo relajado, el coste se determina en funcion del numero de pasos

de tiempo (time steps), lo que disminuye la utilidad de la informacion

extraıda del grafo cuando la funcion de optimizacion es otra muy dife-

rente. Los resultados obtenidos demuestran que, aunque esta extension

provoca un incremento en el tiempo de computo, la calidad media de los

planes mejora sensiblemente cuando se emplea esta extension.

Page 208: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

186 7.2. Conclusiones

• Manejo de acciones de sensorizacion. En el grafo relajado propuesto se

tiene en cuenta la posible incertidumbre sobre el estado del mundo, de

forma que un determinado literal pueda ser cierto o falso, pero tambien

desconocido. Las acciones de sensorizacion se incluyen en el grafo cuando

las acciones normales no permiten alcanzar los objetivos debido a la

informacion desconocida. La ejecucion de una accion de sensorizacion

permite adquirir la informacion necesaria durante la ejecucion, por lo

que resulta un mecanismo muy util cuando se trabaja en dominios con

informacion incompleta.

Calculo de los planes mono-objetivo

Una de las principales caracterısticas del algoritmo de planificacion pro-

puesto es que se calcula un plan independiente para cada objetivo, partiendo

de la informacion extraıda del grafo relajado. Con esto se consigue simplificar

notablemente el problema de planificacion, evitando resolver muchas de las

complejas interacciones que aparecen. De hecho, el calculo de un plan mono-

objetivo inicial se realiza en coste polinomico (en caso de no existir operadores

con precondiciones numericas), lo que permite al planificador tomar decisiones

muy rapidas.

Otra de las ventajas de esta aproximacion es que los planes mono-objetivo

se refinan incrementalmente, por lo que este proceso puede ser interrumpido en

cualquier momento. En general, cuanto mayor es el tiempo disponible para el

refinamiento, mejores son las decisiones que se toman. Esta es la caracterıstica

basica para proporcionar al planificador un comportamiento muy similar al de

un algoritmo anytime.

Ordenacion de los planes mono-objetivo

A diferencia de otros planificadores basados en la descomposicion de obje-

tivos, nuestro algoritmo no trata de unir los planes mono-objetivo obtenidos

para obtener un unico plan valido. El coste de resolver los conflictos que apare-

cen es normalmente demasiado alto para poder proporcionar una respuesta en

un tiempo limitado. Esta etapa consiste, por lo tanto, tratar de descubrir cual

es la mejor accion a ejecutar sobre el estado actual con el fin de aproximarse

a la consecucion de los objetivos.

Page 209: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

7. Conclusiones y trabajo futuro 187

La seleccion de la siguiente accion a ejecutar parte del hecho de que la

primera accion de un plan mono-objetivo. Es logico suponer, por lo tanto,

que la siguiente accion a ejecutar debera corresponderse con la primera accion

de uno (o mas) de los planes mono-objetivo. La principal dificultad consiste,

entonces, en averiguar que plan mono-objetivo es el que debe comenzar a

ejecutarse en primer lugar.

En esta etapa se proponen diversos criterios generales para establecer un

orden entre los distintos planes mono-objetivos. El plan ordenado en primer

lugar sera, por consiguiente, aquel que comience a ejecutarse en primer lugar.

Estos criterios no siempre consiguen establecer una relacion de orden entre

todos los planes, y no siempre obtienen la ordenacion optima. Sin embargo, en

la mayorıa de ocasiones, las decisiones que se toman son suficientemente buenas

para generar planes de buena calidad. Los resultados obtenidos demuestran que

la calidad obtenida es muy similar a la de otros planificadores clasicos, y que

el tiempo de computo es, en muchos dominios, significativamente menor.

7.2.2. Contribuciones de la tesis

El objetivo de esta tesis se ha dirigido hacia la propuesta y evaluacion de

una tecnica de planificacion practica, adecuada para la resolucion de ciertos

tipos de problemas reales, caracterizados por su dinamismo, por la falta de

informacion completa y por tiempos de reaccion muy limitados. A pesar de

la complejidad que supone trabajar bajo estos requerimientos, el planificador

desarrollado ha sido capaz de resolver satisfactoriamente numerosos problemas

con estas caracterısticas. A nuestro modo de ver, el objetivo de la tesis se

ha cumplido favorablemente. Las contribuciones mas generales de la tesis se

enumeran a continuacion:

• Definicion de una aproximacion de planificacion practica independien-

te del dominio, basada en tecnicas bien conocidas como el calculo de

heurısticas y la descomposicion de objetivos, pero combinadas de una

forma novedosa.

• Extension del grafo relajado de planificacion tradicional para incluir

nuevas caracterısticas relevantes en numerosos problemas reales, como el

calculo de costes respecto a una funcion de optimizacion arbitraria, la

Page 210: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

188 7.2. Conclusiones

ausencia de informacion completa y el soporte para acciones de sensori-

zacion.

• Diseno de un metodo para el calculo incremental de planes mono-

objetivos, que permite dotar al planificador de un comportamiento si-

milar al anytime.

• Definicion de un conjunto de criterios que permiten establecer un orden

de ejecucion entre un conjunto de planes mono-objetivo.

• Evaluacion del planificador desarrollado de acuerdo con las caracterısti-

cas que incorpora: manejo de variables numericas y acciones de sensori-

zacion, restricciones en el tiempo de respuesta, y reaccion ante eventos

inesperados y modificaciones en los objetivos.

Adicionalmente, los resultados de este trabajo de tesis han dado lugar a

una serie de publicaciones, que aparecen referenciadas a lo largo de la memoria.

De entre ellas se destacan las siguientes:

• O. Sapena, E. Onaindıa. Handling Numeric Criteria in Relaxed Plan-

ning Graphs. Advances in Artificial Intelligence, LNAI, Springer Verlag.

(IBERAMIA 2004).

• O. Sapena, E. Onaindıa. Domain Independent Anytime Planning for

Dynamic Environments. Frontiers in Artificial Intelligence and Appli-

cations. IOS Press. (CCIA 2004).

• O. Sapena, E. Onaindıa, M. Mellado, C. Correcher, E. Vendrell. Reac-

tive Planning Simulation in Dynamic Environments with VirtualRobot.

Innovations in Applied Artificial Intelligence, LNCS, Springer Verlag.

(IEA-AIE 2004).

• O. Sapena, E. Onaindıa. An Architecture to Integrate Planning and Exe-

cution in Dynamic Environments. (PLANSIG 2003).

• O. Sapena, E. Onaindıa. Planificacion Independiente del Dominio en

Entornos Dinamicos. (CAEPIA 2003).

Page 211: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

7. Conclusiones y trabajo futuro 189

• O. Sapena, E. Onaindıa. A Planning and Monitoring System for Dyna-

mic Environments. Journal of Intelligent & Fuzzy Systems. (2002).

• O. Sapena, E. Onaindıa. Domain Independent On-Line Planning for

STRIPS Domains. LNAI, Springer Verlag. (IBERAMIA 2002). Best pa-

per award.

• O. Sapena, E. Onaindıa. Execution, Monitoring and Replanning in Dy-

namic Environments. Workshop on On-Line Planning and Scheduling

(AIPS 2002).

• E. Onaindıa, O. Sapena, L. Sebastia, E. Marzal. SimPlanner: an Execution-

monitoring System for Replanning in Dynamic Worlds. LNAI, Springer

Verlag. (EPIA 2001).

• O. Sapena, E. Onaindıa, E. Argente, S. Valero. SimPlanner: una He-

rramienta para Monitorizacion de Planes y Replanificacion. (CAEPIA

2001).

7.3. Trabajos futuros

En esta seccion se introducen algunas de las extensiones que podrıan rea-

lizarse a partir de este trabajo de tesis.

A pesar de los buenos resultados que ofrece el planificador que se ha de-

sarrollado, todavıa existen numerosas extensiones que pueden mejorar nota-

blemente la eficiencia, la calidad de los planes obtenidos y las caracterısticas

que soporta. Respecto a la eficiencia, existen dos posibles ampliaciones que

podrıan producir mejoras muy importantes en el tiempo de computo. La pri-

mera de ellas consiste en combinar la tecnica de descomposicion de objetivos

con la ordenacion de objetivos. Esta ultima tecnica permite establecer un

orden entre los diversos subobjetivos de un plan, por lo que el esfuerzo del

calculo y posterior refinamiento de los planes mono-objetivo podrıa reducirse

sensiblemente.

Otra posibilidad se basa en el hecho de que un alto porcentaje del tiempo

total de planificacion se consume en el calculo de los numerosos grafos rela-

jados de planificacion. Una reduccion del numero de grafos relajados

Page 212: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

190 7.3. Trabajos futuros

necesarios, sobretodo durante el proceso de refinamiento de los planes mono-

objetivos, supondrıa un ahorro muy importante de tiempo. Adicionalmente,

se podrıa estudiar la posibilidad de generar estos grafos de forma incremental,

partiendo de un grafo ya existente: los grafos relajados se generan a partir de

un determinado estado, estado que generalmente es el resultado de aplicar una

unica accion sobre el estado de partida de otro grafo existente.

Por otro lado, la calidad de los planes obtenidos puede mejorarse de varias

formas. Una de ellas es el estudio de nuevos y mas robustos criterios de

ordenacion de los planes mono-objetivo. Establecer un orden correcto entre

diversos planes mediante la aplicacion de un conjunto de criterios generales es

un proceso complejo. Los criterios que se proponen en este trabajo abarcan

muchos casos posibles en numerosos dominios, pero no son suficientes para

tomar siempre la mejor decision. Concretamente, la ordenacion es mas difıcil

de realizar en aquellos problemas en los que hay pocas interacciones entre los

objetivos. La definicion de un conjunto mas amplio de criterios de ordenacion

podrıa dar lugar a la obtencion de planes de muy alta calidad.

Como se observo en la evaluacion del comportamiento anytime del pla-

nificador desarrollado, existe tambien un lımite en la calidad maxima de los

planes que pueden alcanzarse. Aunque el objetivo principal del algoritmo pro-

puesto no es la obtencion de soluciones optimas, puede ser interesante ampliar

el ambito de aplicacion del planificador para aprovechar sus caracterısticas y

su rapidez en otro tipo de problemas. La incorporacion de mecanismos de

busqueda adicionales cuando el tiempo disponible no es un aspecto funda-

mental permitirıa dotar al planificador de otras caracterısticas, como comple-

titud y optimalidad, sin perjuicio de las que ya posee.

Una ultima lınea de investigacion se centra en la extension del algoritmo

propuesto para dar soporte a nuevas funcionalidades, como el soporte para

objetivos numericos y la asociacion de probabilidades a ciertos hechos. El tra-

bajo con objetivos numericos es una caracterıstica fundamental de muchos

problemas donde se manejan recursos. La incorporacion de los valores de las

variables numericas en el grafo relajado de planificacion, de forma similar al

algoritmo que se propone en [Hoffman 2003], puede simplificar notablemente

esta tarea. Por otra parte, asociar valores probabilısticos a ciertos hechos

del entorno permite disminuir considerablemente el numero de acciones de

Page 213: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

7. Conclusiones y trabajo futuro 191

sensorizacion que debe incluir el planificador para resolver un problema con

informacion incompleta.

Page 214: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas
Page 215: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

Apendice A

Descripcion de dominios de

planificacion clasicos

En este capıtulo se describen algunos de los dominios mas conocidos dentro

del campo de la planificacion clasica. Estos dominios se emplean a lo largo de

este trabajo para mostrar mediante ejemplos las tecnicas y los algoritmos que

se han desarrollado.

A.1. El mundo de bloques

Este dominio consiste en construir varias pilas de bloques mediante un

brazo robot. El brazo robot puede realizar cuatro operaciones distintas: coger

un bloque que este encima de la mesa (pick-up) o sobre otro bloque (unstack),

y dejar un bloque sobre la mesa (put-down) o sobre otro bloque (stack).

La especificacion que se muestra aquı se utilizo en la segunda competi-

cion de planificacion [IPC 2000]. Es frecuente encontrar en la literatura otras

versiones con distinto numero de operadores.

Descripcion del dominio:

(define (domain BLOCKS)

(:requirements :strips :typing)

(:types block)

(:predicates (on ?x - block ?y - block)

(ontable ?x - block)

193

Page 216: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

194 A.1. El mundo de bloques

(clear ?x - block)

(handempty)

(holding ?x - block))

(:action pick-up

:parameters (?x - block)

:precondition (and (clear ?x) (ontable ?x) (handempty))

:effect (and (not (ontable ?x)) (not (clear ?x)) (not (handempty))

(holding ?x)))

(:action put-down

:parameters (?x - block)

:precondition (holding ?x)

:effect (and (not (holding ?x)) (clear ?x) (handempty)

(ontable ?x)))

(:action stack

:parameters (?x - block ?y - block)

:precondition (and (holding ?x) (clear ?y))

:effect (and (not (holding ?x)) (not (clear ?y)) (clear ?x)

(handempty) (on ?x ?y)))

(:action unstack

:parameters (?x - block ?y - block)

:precondition (and (on ?x ?y) (clear ?x) (handempty))

:effect (and (holding ?x) (clear ?y) (not (clear ?x))

(not (handempty)) (not (on ?x ?y)))))

Problema ejemplo:

Un problema tıpico del mundo de bloques es la anomalıa de Sussman [By-

lander 1994]. En este problema hay tres bloques que deben colocarse como se

muestra en la figura A.1. La especificacion en PDDL es la siguiente:

(define (problem Sussman)

(:domain Blocksworld)

(:objects A B C)

Page 217: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 195

(:init

(on C A)

(ontable A)

(ontable B)

(clear B)

(clear C)

(handempty))

(:goal (and (on A B) (on B C))))

Figura A.1: Problema del mundo de bloques: la anomalıa de Sussman

A.2. Logistics

En este dominio, el objetivo es transportar una serie de paquetes entre dis-

tintas localidades. Este transporte se puede realizar mediante camiones, dentro

de una misma ciudad, o mediante aviones, entre ciudades diferentes. Logistics

se empleo en la primera y en la segunda competicion de planificacion, con una

especificacion muy similar. La especificacion que se muestra a continuacion se

corresponda con la utilizada en la segunda competicion [IPC 2000].

Descripcion del dominio:

(define (domain logistics)

(:requirements :strips)

(:predicates (package ?obj)

(truck ?truck)

(airplane ?airplane)

(airport ?airport)

Page 218: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

196 A.2. Logistics

(location ?loc)

(in-city ?obj ?city)

(city ?city)

(at ?obj ?loc)

(in ?obj ?obj))

(:action load-truck

:parameters (?obj ?truck ?loc)

:precondition (and (package ?obj) (truck ?truck) (location ?loc)

(at ?truck ?loc) (at ?obj ?loc))

:effect (and (not (at ?obj ?loc)) (in ?obj ?truck)))

(:action load-airplane

:parameters (?obj ?airplane ?loc)

:precondition (and (package ?obj) (airplane ?airplane)

(location ?loc) (at ?obj ?loc) (at ?airplane ?loc))

:effect (and (not (at ?obj ?loc)) (in ?obj ?airplane)))

(:action unload-truck

:parameters (?obj ?truck ?loc)

:precondition (and (package ?obj) (truck ?truck) (location ?loc)

(at ?truck ?loc) (in ?obj ?truck))

:effect (and (not (in ?obj ?truck)) (at ?obj ?loc)))

(:action unload-airplane

:parameters (?obj ?airplane ?loc)

:precondition (and (package ?obj) (airplane ?airplane)

(location ?loc) (in ?obj ?airplane) (at ?airplane ?loc))

:effect (and (not (in ?obj ?airplane)) (at ?obj ?loc)))

(:action drive-truck

:parameters (?truck ?loc-from ?loc-to ?city)

:precondition (and (truck ?truck) (location ?loc-from)

(location ?loc-to) (city ?city) (at ?truck ?loc-from)

(in-city ?loc-from ?city) (in-city ?loc-to ?city))

:effect (and (not (at ?truck ?loc-from)) (at ?truck ?loc-to)))

Page 219: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 197

(:action fly-airplane

:parameters (?airplane ?loc-from ?loc-to)

:precondition (and (airplane ?airplane) (airport ?loc-from)

(airport ?loc-to) (at ?airplane ?loc-from))

:effect (and (not (at ?airplane ?loc-from))

(at ?airplane ?loc-to))))

Problema ejemplo:

El siguiente problema es uno de los mas sencillos de la segunda competicion

en el dominio Logistics. Este problema se llama logistics-4-0, donde el primer

numero indica el numero de paquetes a transportar. El segundo numero solo

identifica la serie de problemas a la que pertenece. La figura A.2 muestra grafi-

camente el estado inicial de este problema. El objetivo consiste en transportar

los paquetes obj11 y obj13 al aeropuerto apt1, y los paquetes obj21 y obj23

al almacen pos1.

(define (problem logistics-4-0)

(:domain logistics)

(:objects apn1 apt2 pos2 apt1 pos1 cit2 cit1

tru2 tru1 obj23 obj22 obj21 obj13 obj12 obj11)

(:init (package obj11) (package obj12) (package obj13)

(package obj21) (package obj22) (package obj23)

(truck tru1) (truck tru2) (city cit1) (city cit2)

(location pos1) (location apt1) (location pos2)

(location apt2) (airport apt1) (airport apt2)

(airplane apn1) (at apn1 apt2) (at tru1 pos1)

(at obj11 pos1) (at obj12 pos1) (at obj13 pos1)

(at tru2 pos2) (at obj21 pos2) (at obj22 pos2)

(at obj23 pos2) (in-city pos1 cit1) (in-city apt1 cit1)

(in-city pos2 cit2) (in-city apt2 cit2))

(:goal (and (at obj11 apt1) (at obj23 pos1) (at obj13 apt1)

(at obj21 pos1))))

Page 220: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

198 A.3. Depots

Figura A.2: Estado inicial del problema logistics-4-0 del dominio Logistics.

A.3. Depots

Este dominio reune caracterısticas del mundo de bloques y de Logistics.

En los problemas de Depots se definen un conjunto de almacenes. En cada

almacen hay uno o mas palets sobre los que se pueden apilar cajas. Las cajas

se pueden cargar y descargar de los camiones mediante gruas. Los camiones

son necesarios para el transporte de cajas entre almacenes. Este dominio, cuya

especificacion se muestra a continuacion, se introdujo en la tercera competicion

de planificacion [IPC 2002].

Descripcion del dominio:

(define (domain Depot)

(:requirements :typing)

(:types place

locatable - object

depot distributor - place

truck hoist surface - locatable

pallet crate - surface)

(:predicates (at ?x - locatable ?y - place)

(on ?x - crate ?y - surface)

(in ?x - crate ?y - truck)

(lifting ?x - hoist ?y - crate)

(available ?x - hoist)

(clear ?x - surface))

Page 221: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 199

(:action Drive

:parameters (?x - truck ?y - place ?z - place)

:precondition (and (at ?x ?y))

:effect (and (not (at ?x ?y)) (at ?x ?z)))

(:action Lift

:parameters (?x - hoist ?y - crate ?z - surface ?p - place)

:precondition (and (at ?x ?p) (available ?x) (at ?y ?p)

(on ?y ?z) (clear ?y))

:effect (and (not (at ?y ?p)) (lifting ?x ?y) (not (clear ?y))

(not (available ?x)) (clear ?z) (not (on ?y ?z))))

(:action Drop

:parameters (?x - hoist ?y - crate ?z - surface ?p - place)

:precondition (and (at ?x ?p) (at ?z ?p) (clear ?z)

(lifting ?x ?y))

:effect (and (available ?x) (not (lifting ?x ?y)) (at ?y ?p)

(not (clear ?z)) (clear ?y) (on ?y ?z)))

(:action Load

:parameters (?x - hoist ?y - crate ?z - truck ?p - place)

:precondition (and (at ?x ?p) (at ?z ?p) (lifting ?x ?y))

:effect (and (not (lifting ?x ?y)) (in ?y ?z) (available ?x)))

(:action Unload

:parameters (?x - hoist ?y - crate ?z - truck ?p - place)

:precondition (and (at ?x ?p) (at ?z ?p) (available ?x)

(in ?y ?z))

:effect (and (not (in ?y ?z)) (not (available ?x))

(lifting ?x ?y))))

Problema ejemplo:

El ejemplo que se presenta aquı corresponde con el problema mas sencillo

de Depots (pfile1 ), dentro de la competicion de planificacion del 2002. La figura

A.3 muestra graficamente el estado inicial de este problema.

Page 222: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

200 A.3. Depots

(define (problem depotprob1818)

(:domain Depot)

(:objects

depot0 - Depot

distributor0 distributor1 - Distributor

truck0 truck1 - Truck

pallet0 pallet1 pallet2 - Pallet

crate0 crate1 - Crate

hoist0 hoist1 hoist2 - Hoist)

(:init

(at pallet0 depot0) (at pallet1 distributor0)

(at pallet2 distributor1)

(clear crate1) (clear crate0) (clear pallet2)

(at truck0 distributor1) (at truck1 depot0)

(at hoist0 depot0) (at hoist1 distributor0)

(at hoist2 distributor1)

(available hoist0) (available hoist1) (available hoist2)

(at crate0 distributor0) (on crate0 pallet1)

(at crate1 depot0) (on crate1 pallet0))

(:goal (and (on crate0 pallet2) (on crate1 pallet1))))

Figura A.3: Estado inicial del problema depotprob1818 del dominio Depots.

Version numerica:

La version numerica de Depots anade pesos a las cajas y capacidades a

los camiones. Ademas, los camiones y las gruas consumen combustible. En la

Page 223: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 201

mayorıa de problemas de este dominio, la funcion a minimizar es el consu-

mo de combustible (:metric minimize (fuel-cost)). La especificacion que

aparece a continuacion muestra algunas diferencias que aparecen en la version

numerica.

(define (domain Depot)

(:requirements :typing :fluents)

...

(:functions

(load_limit ?t - truck)

(current_load ?t - truck)

(weight ?c - crate)

(fuel-cost))

...

(:action Drive

:parameters (?x - truck ?y - place ?z - place)

:precondition (and (at ?x ?y))

:effect (and (not (at ?x ?y)) (at ?x ?z)

(increase (fuel-cost) 10)))

(:action Load

:parameters (?x - hoist ?y - crate ?z - truck ?p - place)

:precondition (and (at ?x ?p) (at ?z ?p) (lifting ?x ?y)

(<= (+ (current_load ?z) (weight ?y)) (load_limit ?z)))

:effect (and (not (lifting ?x ?y)) (in ?y ?z) (available ?x)

(increase (current_load ?z) (weight ?y))))

...

A.4. DriverLog

El dominio DriverLog [IPC 2002] es una variacion del dominio Logistics.

Los camiones que se emplean para repartir los paquetes entre distintas loca-

lidades requieren un conductor. Los conductores pueden desplazarse tambien

entre localidades, pero utilizan un tipo de vıa distinto (caminos en lugar de

carreteras). La especificacion de este dominio, introducida en la tercera com-

peticion de planificacion, es la siguiente:

Page 224: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

202 A.4. DriverLog

Descripcion del dominio:

(define (domain driverlog)

(:requirements :typing)

(:types location locatable - object

driver truck obj - locatable)

(:predicates

(at ?obj - locatable ?loc - location)

(in ?obj1 - obj ?obj - truck)

(driving ?d - driver ?v - truck)

(link ?x ?y - location) (path ?x ?y - location)

(empty ?v - truck))

(:action LOAD-TRUCK

:parameters (?obj - obj ?truck - truck ?loc - location)

:precondition (and (at ?truck ?loc) (at ?obj ?loc))

:effect (and (not (at ?obj ?loc)) (in ?obj ?truck)))

(:action UNLOAD-TRUCK

:parameters (?obj - obj ?truck - truck ?loc - location)

:precondition (and (at ?truck ?loc) (in ?obj ?truck))

:effect (and (not (in ?obj ?truck)) (at ?obj ?loc)))

(:action BOARD-TRUCK

:parameters (?driver - driver ?truck - truck ?loc - location)

:precondition (and (at ?truck ?loc) (at ?driver ?loc)

(empty ?truck))

:effect (and (not (at ?driver ?loc)) (driving ?driver ?truck)

(not (empty ?truck))))

(:action DISEMBARK-TRUCK

:parameters (?driver - driver ?truck - truck ?loc - location)

:precondition (and (at ?truck ?loc) (driving ?driver ?truck))

:effect (and (not (driving ?driver ?truck)) (at ?driver ?loc)

(empty ?truck)))

Page 225: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 203

(:action DRIVE-TRUCK

:parameters (?truck - truck ?loc-from - location

?loc-to - location ?driver - driver)

:precondition (and (at ?truck ?loc-from) (driving ?driver ?truck)

(link ?loc-from ?loc-to))

:effect (and (not (at ?truck ?loc-from)) (at ?truck ?loc-to)))

(:action WALK

:parameters (?driver - driver ?loc-from - location

?loc-to - location)

:precondition (and (at ?driver ?loc-from) (path ?loc-from ?loc-to))

:effect (and (not (at ?driver ?loc-from)) (at ?driver ?loc-to))))

Problema ejemplo:

El ejemplo que se presenta aquı corresponde con el problema mas sencillo

de DriverLog (pfile1 ), dentro de la competicion de planificacion del 2002. La

figura A.4 muestra graficamente el estado inicial de este problema.

(define (problem DLOG-2-2-2)

(:domain driverlog)

(:objects

driver1 driver2 - driver

truck1 truck2 - truck

package1 package2 - obj

s0 s1 s2 p1-0 p1-2 - location)

(:init

(at driver1 s2) (at driver2 s2)

(empty truck1) (empty truck2)

(at truck2 s0) (at truck1 s0)

(at package1 s0) (at package2 s0)

(path s1 p1-0) (path p1-0 s1) (path s0 p1-0) (path p1-0 s0)

(path s1 p1-2) (path p1-2 s1) (path s2 p1-2) (path p1-2 s2)

(link s0 s1) (link s1 s0) (link s0 s2) (link s2 s0) (link s2 s1)

(link s1 s2))

(:goal (and (at driver1 s1) (at truck1 s1) (at package1 s0)

(at package2 s0))))

Page 226: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

204 A.5. MailDelivery

Figura A.4: Estado inicial del problema DLOG-2-2-2 del dominio DriverLog.

Version numerica:

En la version numerica de DriverLog se especifica el tiempo necesario

para desplazarse de una localizacion a otra, bien conduciendo un camion

(time-to-drive ?l1 ?l2 - location) como caminando (time-to-walk ?l1

?l2 - location). El tiempo total de conduccion y de desplazamiento a pie se

almacenan en las variables driven y walked respectivamente. Los operadores

DRIVE-TRUCK y WALK se encargan, por lo tanto, de incrementar dichas variables

segun el tiempo invertido en el desplazamiento.

La funcion a minimizar es una combinacion lineal entre la longitud del plan

(en pasos de tiempo), el tiempo total de conduccion y el tiempo total camina-

do: (:metric minimize (+ (+ (* Cte1 (total-time)) (* Cte2 (driven)))

(* Cte3 (walked)))).

A.5. MailDelivery

Este no es un dominio clasico pues introduce nuevas caracterısticas como

acciones de sensorizacion. La especificacion, por lo tanto, no cumple estricta-

mente el estandar PDDL ya que incluye algunas de las extensiones descritas

Page 227: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 205

en el apartado 4.3.

En este dominio se utiliza uno o mas robots moviles para repartir el correo

en una planta de despachos. Los robots pueden desplazarse por una serie de

puntos de referencia dentro de la planta, y son capaces de recoger y entregar

cartas y de abrir y cerrar las puertas de los despachos. Los robots, ademas,

pueden comprobar el estado de las puertas (abiertas o cerradas) y verificar si

una persona o una carta se encuentra en un determinado despacho.

Descripcion del dominio:

(define (domain MailDelivery)

(:requirements :typing :fluents :negative-preconditions)

(:types locatable door point - object

person letter robot - locatable)

(:predicates

(at ?x - locatable ?y - point)

(in ?l - letter ?r - robot)

(open ?d - door)

(delivered ?l - letter ?p - person)

(connected ?p1 - point ?p2 - point)

(conn-door ?p1 - point ?p2 - point ?d - door)

(next ?p - point ?d - door))

(:functions

(driven ?r - robot)

(distance ?p1 - point ?p2 - point))

(:action Open-door

:parameters (?r - robot ?d - door ?p - point)

:precondition (and ((not) open ?d) (at ?r ?p) (next ?p ?d))

:effect (and (open ?d)))

(:action Travel

:parameters (?r - robot ?p1 - point ?p2 - point)

:precondition (and (at ?r ?p1) (connected ?p1 ?p2))

:effect (and (not (at ?r ?p1)) (at ?r ?p2)

Page 228: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

206 A.5. MailDelivery

(increase (driven ?r) (distance ?p1 ?p2))))

(:action Travel-door

:parameters (?r - robot ?p1 - point ?p2 - point ?d - door)

:precondition (and (at ?r ?p1) (conn-door ?p1 ?p2 ?d) (open ?d))

:effect (and (not (at ?r ?p1)) (at ?r ?p2)

(increase (driven ?r) (distance ?p1 ?p2))))

(:action Deliver-letter

:parameters (?r - robot ?l - letter ?p - person ?x - point)

:precondition (and (at ?r ?x) (at ?p ?x) (in ?l ?r))

:effect (and (not (in ?l ?r)) (delivered ?l ?p)))

(:action Pickup-letter

:parameters (?r - robot ?l - letter ?p - point)

:precondition (and (at ?r ?p) (at ?l ?p))

:effect (and (not (at ?l ?p)) (in ?l ?r)))

(:sensing action Check-door

:parameters (?r - robot ?d - door ?p - point)

:precondition (and (at ?r ?p) (next ?p ?d))

:effect (open ?d))

(:sensing action Check-person

:parameters (?r - robot ?per - person ?p - point)

:precondition (at ?r ?p)

:effect (at ?per ?p))

(:sensing action Check-letter

:parameters (?r - robot ?l - letter ?p - point)

:precondition (at ?r ?p)

:effect (at ?l ?p)))

Problema ejemplo:

En este ejemplo, se dispone de un robot r que debe entregar la carta l a

una persona p (ver figura A.5). La especificacion de este problema se muestra

a continuacion:

Page 229: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

A. Descripcion de dominios de planificacion clasicos 207

(define (problem Problem1)

(:domain MailDelivery)

(:objects

p - person

r - robot

l - letter

A B C D E F - point

doorA doorB doorC doorD - door)

(:init

(at r A) (at p B) (at l C)

(open doorA)

(open doorB)

(not (open doorC))

(not (open doorD))

(connected E F) (= (distance E F) 3)

(connected F E) (= (distance F E) 3)

(conn-door A E doorA) (= (distance A E) 1)

(conn-door E A doorA) (= (distance E A) 1)

(conn-door E C doorC) (= (distance E C) 1)

(conn-door C E doorC) (= (distance C E) 1)

(conn-door B F doorB) (= (distance B F) 1)

(conn-door F B doorB) (= (distance F B) 1)

(conn-door D F doorD) (= (distance D F) 1)

(conn-door F D doorD) (= (distance F D) 1)

(next A doorA) (next E doorA) (next E doorC) (next C doorC)

(next F doorB) (next B doorB) (next F doorD) (next D doorD)

(= (driven r) 0))

(:goal (delivered l p))

(:metric minimize (driven r)) )

Page 230: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

208 A.5. MailDelivery

Figura A.5: Estado inicial del problema ejemplo del dominio MailDelivery.

Page 231: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 209

References

[Ambite et al. 2000] J.L. Ambite, C.A. Knoblock, y S. Minton. Learning plan

rewriting rules. Proceedings of the 5th International Conference on

Artificial Intelligence Planning and Scheduling Systems, pages 3–12,

2000.

[Ambite y Knoblock 2001] J.L. Ambite y C.A. Knoblock. Planning by rewri-

ting. Journal of Artificial Intelligence Research, 15:207–261, 2001.

[Ambros-Ingerson y Steel 1988] J.A. Ambros-Ingerson y S. Steel. Integrating

planning, execution and monitoring. Proceedings of AAAI-88, pages

83–88, 1988.

[Amir y Engelhardt 2003] E. Amir y B. Engelhardt. Factored planning. Pro-

ceedings of the 18th International Joint Conference on Artificial Inte-

lligence (IJCAI), pages 929–935, 2003.

[Amir 2002] E. Amir. Planning with nondeterministic actions and sensing.

AAAI’02 workshop on Cognitive Robotics, 2002.

[Anderson y Farley 1988] J.S. Anderson y A.M. Farley. Plan abstraction based

on operator generalization. Proceedings of the 17th National Confe-

rence on Artificial Intelligence, pages 100–104, 1988.

[Argente et al. 2003] E. Argente, S. Valero, y E. Onaindıa. Plan optimization

process. Proceedings of CAEPIA-TTIA, 2:23–26, 2003.

[Aylett et al. 1998] R.S. Aylett, D.P. Barnes, y K.G. Shin. A multi-robot

architecture for planetary rovers. Proceedings of the 5th European

Space Agency Workshop on Advanced Space Technologies for Robotics

and Automation, 1998.

[Bacchus et al. 1999] F. Bacchus, J.Y. Halpern, y H.J. Levesque. Reasoning

about noisy sensors and effectors in the situation calculus. Artificial

Intelligence, 111(1-2):171–208, 1999.

[Bacchus y Ady 2001] F. Bacchus y M. Ady. Planning with resources and

Page 232: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

210 REFERENCES

concurrency: A forward chaining approach. International Joint Con-

ference on Artificial Intelligence (IJCAI), pages 417–424, 2001.

[Barrett et al. 1995] A. Barrett, D. Christianson, M. Friedman, K. Golden, C.

Kwok, J.S. Penberthy, Y. Sun, y D. Weld. UCPOP user’s manual

(version 4.0). Technical Report 93-09-06d, University of Washington,

1995.

[Bartak 1999] R. Bartak. Constraint programming: In pursuit of the holy grail.

Proceedings of Week of Doctoral Students (WDS99), pages 555–564,

1999.

[Bayardo y Schrag 1997] R.J. Bayardo y R.C. Schrag. Using CSP look-back

techniques to solve real world SAT instances. Proceedings of the 14th

National Conference on Artificial Intelligence (AAAI), pages 203–208,

1997.

[Belker et al. 2004] Th. Belker, M. Hammel, y J. Hertzberg. Plan projection

under the APPEAL robot control architecture. Proceedings of the 8th

Conference on Intelligent Autonomous Systems (IAS-8), pages 809–

817, 2004.

[Bellman 1978] R. Bellman. An Introduction to Artificial Intelligence: Can

Computers Think? Boyd & Fraser Publishing Company, 1978.

[Bertoli et al. 2001a] P. Bertoli, A. Cimatti, y M. Roveri. Heuristic search +

symbolic model checking = efficient conformant planning. Proceedings

of the 17th International Joint Conference on Artificial Intelligence

(IJCAI), pages 467–472, 2001.

[Bertoli et al. 2001b] P. Bertoli, A. Cimatti, M. Roveri, y P. Traverso. Plan-

ning in nondeterministic domains under partial observability via sym-

bolic model checking. Proceedings of the 17th International Joint Con-

ference on Artificial Intelligence (IJCAI), 1:473–478, 2001.

[Bertoli et al. 2003] P. Bertoli, A. Cimatti, U. Dal Lago, y M. Pistore. Exten-

ding PDDL to nondeterminism, limited sensing and iterative condi-

tional. In Proc. of ICAPS’03 Workshop on PDDL, 2003.

Page 233: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 211

[Bertoli y Cimatti 2002] P. Bertoli y A. Cimatti. Improving heuristics for

planning as search in belief space. Proceedings of the Conference on

AI Planning Systems (AIPS), pages 143–152, 2002.

[Blum y Furst 1997] A. Blum y M. Furst. Fast planning through planning

graph analysis. Artificial Intelligence, 90:281–300, 1997.

[Blythe et al. 1992] J. Blythe, O. Etzioni, Y. Gil, R. Joseph, D. Kahn, C.

Knoblock, S. Minton, A. Perez, S. Reilly, M. Veloso, y X. Wang. Pro-

digy 4.0: The manual and tutorial. Technical report CMU-CS-92-150.

Carnegie Mellon University, 1992.

[Blythe 1994] J. Blythe. Planning with external events. Proceedings of the

10th Conference on Uncertainty in Artificial Intelligence, pages 94–

101, 1994.

[Blythe 1998] J. Blythe. Planning under Uncertainty in Dynamic Domains.

PhD Thesis, Computer Science Department, Carnegie Mellon Univer-

sity, Pittsburg, PA, 1998.

[Boddy 1991] M. Boddy. Anytime problem solving using dynamic program-

ming. Proceedings of the 9th National Conference on Artificial Inte-

lligence (AAAI), pages 738–743, 1991.

[Bonasso et al. 1997] R.P. Bonasso, R.J. Firby, Gat E., D. Kortenkamp, D.

Miller, y M. Slack. Experiences with an architecture for intelligent,

reactive agents. Journal of Experimental and Theoretical Artificial

Intelligence, 9(1), 1997.

[Bonet et al. 1997] B. Bonet, G. Loerincs, y H. Geffner. A robust and fast ac-

tion selection mechanism for planning. Proceedings of the 14th Natio-

nal Conference of the American Association for Artificial Intelligence

(AAAI), pages 714–719, 1997.

[Bonet y Geffner 2000] B. Bonet y H. Geffner. Planning with incomplete in-

formation as heuristic search in belief space. Proceedings of the 5th

International Conference on AI Planning and Scheduling (AIPS), pa-

ges 52–61, 2000.

Page 234: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

212 REFERENCES

[Bonet y Geffner 2001a] B. Bonet y H. Geffner. GPT: a tool for planning

with uncertainty and partial information. Proceedings of the IJCAI-

01 Workshop on Planning with Uncertainty and Partial Information,

pages 82–87, 2001.

[Bonet y Geffner 2001b] B. Bonet y H. Geffner. Heuristic Search Planer 2.0.

AI Magazine, 22(3):77–80, 2001.

[Bonet y Geffner 2001c] B. Bonet y H. Geffner. Planning as heuristic search.

Artificial Intelligence Journal, 129:5–33, 2001.

[Bonet y Geffner 2004] B. Bonet y H. Geffner. mGPT: A probabilistic plan-

ner based on heuristic search. 1st International Probabilistic-Planning

Competition / ICAPS-04, 2004.

[Boutilier 2000] C. Boutilier. Approximately optimal monitoring of plan pre-

conditions. Proceedings of the 16th Annual Conference on Uncertainty

in Artificial Intelligence, pages 54–62, 2000.

[Brafman y Hoffmann 2004] R. Brafman y J. Hoffmann. Conformant plan-

ning via heuristic forward search: A new approach. Proceedings of

the International Conference on Automated Planning and Scheduling

(ICAPS), 2004.

[Briggs y Cook 1999] W. Briggs y D.J. Cook. Anytime planning for optimal

tradeoff between deliberative and reactive planning. Proceedings of the

1999 Florida AI Research Symposium (FLAIRS-99), pages 367–370,

1999.

[Britanikand y Marefat 2004] J. Britanikand y M. Marefat. CBPOP: A

domain-independent multi-case reuse planner. Computational Inte-

lligence, 20(2):405–443, 2004.

[Bryant 1985] R.E. Bryant. Symbolic manipulation of boolean functions using

a graphical representation. Proceedings of the 22nd ACM/IEEE Con-

ference on Design Automation, pages 688–694, 1985.

Page 235: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 213

[Bryce y Kambhampati 2004] D. Bryce y S. Kambhampati. Heuristic guidan-

ce measures for conformant planning. Proceedings of the International

Conference on Automated Planning and Scheduling (ICAPS), pages

365–375, 2004.

[Bylander 1994] T. Bylander. The computational complexity of propositional

STRIPS planning. Artificial Intelligence, 69:165–204, 1994.

[Castellini et al. 2001] C. Castellini, E. Giunchiglia, y A. Tacchella. Improve-

ments to sat-based conformant planning. Proceedings of the European

Conference on Planning (ECP), 2001.

[Chen et al. 2004] Y. Chen, C.W. Hsu, y B.W. Wah. SGPlan: Subgoal parti-

tioning and resolution in planning. IPC-4 Booklet (ICAPS), 2004.

[Christensen 1991] J. Christensen. Automatic Abstraction in Planning. PhD

thesis, Department of Computer Science, Standford University, 1991.

[Chun 1999] S.B. Chun. Wargaming. Air University Library. Maxwell AFB,

AL, 1999.

[Cimatti y Roveri 2000] A. Cimatti y M. Roveri. Conformant planning via

symbolic model checking. Journal of Artificial Intelligence Research

(JAIR), 13:303–338, 2000.

[Clarke et al. 2000] E.M. Clarke, O. Grumberg, y D.A. Peled. Model Checking.

The MIT Press, 2000.

[Coddington et al. 2001] A.M. Coddington, M. Fox, y D. Long. Handling du-

rative actions in classical planning frameworks. Proceedings of the 20th

Workshop of the UK Planning and Scheduling Special Interest Group,

pages 44–58, 2001.

[Collins y Pryor 1995] G. Collins y L. Pryor. Planning under uncertainty: so-

me key issues. Proceedings of the 14th International Joint Conference

on Artificial Intelligence (IJCAI), pages 1567–1573, 1995.

[Culberson y Schaeffer 1998] J.C. Culberson y J Schaeffer. Pattern databases.

Computational Intelligence, 14(4):318–334, 1998.

Page 236: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

214 REFERENCES

[Currie y Tate 1991] K. Currie y A. Tate. O-Plan: the open planning archi-

tecture. Artificial Intelligence, 52:49–86, 1991.

[Davis et al. 1962] M. Davis, G. Logemann, y D. Loveland. A machine pro-

gram for theorem-proving. Communications of the ACM, 5(7):394–

397, 1962.

[De Giacomo et al. 1998] G. De Giacomo, M. Soutchanski, y R. Reiter. Exe-

cution monitoring of high-level robot programs. Proceedings of the 6th

International Conference on Principles of Knowledge Representation

and Reasoning, pages 453–464, 1998.

[Dean et al. 1995] T. Dean, L.P. Kaelbling, J. Kirman, y A. Nicholson. Plan-

ning under time constraints in stochastic domains. Artificial Intelli-

gence, 76(1-2):35–74, 1995.

[Do y Kambhampati 2001a] M.B. Do y S. Kambhampati. Planning as cons-

traint satisfaction: Solving the planning graph by compiling it into

CSP. Artificial Intelligence, 132(2):151–182, 2001.

[Do y Kambhampati 2001b] M.B. Do y S. Kambhampati. Sapa: A domain-

independent heuristic metric temporal planner. Recent Advances in AI

Planning, 6th European Conference on Planning (ECP), pages 109–

120, 2001.

[Do y Kambhampati 2003] M.B. Do y S. Kambhampati. Sapa: A multi-

objective metric temporal planner. Journal of Artificial Intelligence

Research (JAIR), 20:155–194, 2003.

[Draper et al. 1994] D. Draper, S. Hanks, y D. Weld. Probabilistic planning

with information gathering and contingent execution. Proceedings of

the 2nd Conference on AI Planning Systems (AIPS), pages 31–36,

1994.

[Drummond et al. 1991] M. Drummond, J. Bresina, y S. Kedar. The entropy

reduction engine: Integrating planning, scheduling and control. SI-

GART Bulletin. ACM Press, 2(4):61–65, 1991.

Page 237: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 215

[Drummond et al. 1993] M. Drummond, K. Swanson, J. Bresina, y R. Levin-

son. Reaction-first search. Proceedings of the International Joint Con-

ference on Artificial Intelligence (IJCAI), pages 1408–1414, 1993.

[Edelkamp y Helmert 2001] S. Edelkamp y M. Helmert. MIPS: the model

checking integrated planning system. AI Magazine, 22(3):67–71, 2001.

[Edelkamp 2001] S. Edelkamp. Planning with pattern databases. European

Conference on Planning , LNCS, pages 13–24, 2001.

[Edelkamp 2003] S. Edelkamp. Taming numbers and durations in the model

checking integrated planning system. Journal of Artificial Intelligence

Research (JAIR), 20:195–238, 2003.

[El-Kholy y Richards 1996] A. El-Kholy y B. Richards. Temporal and resour-

ce reasoning in planning: the parcPLAN approach. Proceedings of the

12th European Conference on Artificial Intelligence, pages 614–618,

1996.

[Ernst y Newell 1969] G. Ernst y A. Newell. GPS: A Case Study in Generality

and Problem Solving. New York: Academic Press, 1969.

[Erol et al. 1994] K. Erol, J. Hendler, y D. Nau. UCMP: A sound and complete

procedure for hierarchical task-network planning. Proceedings of the

International Conference on Artificial Intelligence Planning Systems,

pages 249–254, 1994.

[Etzioni et al. 1992] O. Etzioni, S. Hanks, D. Weld, D. Draper, N. Lesh, y

M. Williamson. An approach to planning with incomplete informa-

tion. Proceedings of the 3rd International Conference on Principles of

Knowledge Representation and Reasoning, pages 115–125, 1992.

[Etzioni 1993] O. Etzioni. Acquiring search-control knowledge via static analy-

sis. Artificial Intelligence, 62(2):255–302, 1993.

[Feng et al. 2004] Z. Feng, R. Dearden, N. Meuleau, y R. Washington. Dyna-

mic programming for structured continuous markov decision problems.

Page 238: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

216 REFERENCES

20th Conference on Uncertainty in Artificial Intelligence (UAI-2004),

2004.

[Fern et al. 2003] A. Fern, S. Yoon, y R. Givan. Approximate policy iteration

with a policy language bias. Advances in Neural Information Proces-

sing Systems. MIT Press, 2003.

[Fernandez et al. 2004] J.L. Fernandez, R. Sanz, y A.R. Dieguez. Probabilistic

models for monitoring and fault diagnosis: Application and evaluation

in a mobile robot. Applied Artificial Intelligence, 18(1):43–67, 2004.

[Fikes y Nilsson 1971] R.E. Fikes y N.J. Nilsson. STRIPS: A new approach

to the application of theorem proving to problem solving. Artificial

Intelligence, 2:189–208, 1971.

[Firby 1994] R.J. Firby. Task networks for controlling continuous processes.

Proceedings of the 2nd International Conference on Artificial Intelli-

gence Planning Systems (AIPS), pages 49–54, 1994.

[Fourman 2000] M.P. Fourman. Propositional planning. Workshop on Model

Theoretic Approaches to Planning, AIPS, 2000.

[Fox y Derek 2001] M. Fox y L. Derek. STAN4: a hybrid planning strategy

based on subproblem abstraction. AI Magazine, 22(3):81–84, 2001.

[Fox y Derek 2002] M. Fox y L. Derek. PDDL+: Modeling continuous time

dependent effects. Proceedings of the 3rd International NASA Works-

hop on Planning and Scheduling for Space, 2002.

[Fox y Derek 2003] M. Fox y L. Derek. PDDL2.1: An extension to PDDL for

expressing temporal planning domains. Journal of Artificial Intelli-

gence Research (JAIR), 20:61–124, 2003.

[Fox y Long 1998] M. Fox y D. Long. The automatic inference of state inva-

riants in TIM. Journal of Artificial Intelligence Research, 9:367–421,

1998.

Page 239: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 217

[Fox y Long 1999] M. Fox y D. Long. The detection and exploitation of sym-

metry in planning problems. Proceedings of the Sixteenth International

Joint Conference on Artificial Intelligence, pages 956–961, 1999.

[Garrido y Onaindıa 2003] A. Garrido y E. Onaindıa. On the application of

least-commitment and heuristic search in temporal planning. Procee-

dings of the International Joint Conference on Artificial Intelligence,

pages 942–947, 2003.

[Geffner 2000] H. Geffner. Functional STRIPS: a more flexible language for

planning and problem solving. Logic-Based Artificial Intelligence, Jack

Minker (Ed.), Kluwer, 2000.

[Gerevini et al. 2003] A. Gerevini, A. Saetti, y I. Serina. Planning through

stochastic local search and temporal action graphs in LPG. Journal

of Artificial Intelligence Research (JAIR), 20:239–290, 2003.

[Gerevini y Schubert 1998] A. Gerevini y L. Schubert. Inferring state cons-

traints for domain-independent planning. Proceedings of the 15th Na-

tional Conference on Artificial Intelligence, pages 905–912, 1998.

[Gerevini y Serina 2000] A. Gerevini y I. Serina. Fast plan adaptation through

planning graphs: Local and systematic search techniques. Proceedings

of the Conference on AI Planning Systems (AIPS), pages 112–121,

2000.

[Gervasio et al. 1998] M. Gervasio, W. Iba, P. Langley, y S. Sage. Interactive

adaptation for crisis response. AIPS-98 Workshop on Interactive and

Collaborative Planning, pages 29–36, 1998.

[Ghallab et al. 1998] M. Ghallab, A. Howe, C. Knoblock, D. McDermott, A.

Ram, M. Veloso, D. Weld, y D. Wilkins. PDDL - the planning domain

definition language. AIPS-98 Planning Committee, 1998.

[Ghallab et al. 2004] M. Ghallab, D. Nau, y P. Traverso. Automated Task

Planning. Theory and Practice. Morgan Kaufmann, 2004.

Page 240: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

218 REFERENCES

[Ghallab y Laruelle 1994] M. Ghallab y H. Laruelle. Representation and con-

trol in IxTeT, a temporal planner. International Conference on AI

Planning and Scheduling, pages 61–67, 1994.

[Gil et al. 2004] Y. Gil, E. Deelman, J. Blythe, C. Kesselman, y H. Tang-

munarunkit. Artificial intelligence and grids: Workflow planning and

beyond. IEEE Intelligent Systems, special issue on e-science, pages

26–33, 2004.

[Ginsberg 1989] M.L. Ginsberg. Universal planning: An (almost) universally

bad idea. AI Magazine, 10(4):40–44, 1989.

[Giunchiglia y Traverso 1999] F. Giunchiglia y P. Traverso. Planning as model

checking. Proceedings of the 5th European Conference on Planning

(ECP), pages 1–20, 1999.

[Golden et al. 1994] K. Golden, O. Etzioni, y D. Weld. Omnipotence wit-

hout omniscience: Efficient sensor management for planning. National

Conference on Artificial Intelligence (AAAI), pages 1048–1054, 1994.

[Golden y Weld 1996] K. Golden y D. Weld. Representing sensing actions: The

middle ground revisited. Knowledge Representation and Reasoning,

pages 174–185, 1996.

[Golden 1998] K. Golden. Leap before you look: Information gathering in the

PUCCINI planner. Proceedings of the International Conference on AI

Planning Systems (AIPS), pages 70–77, 1998.

[Goldman y Boddy 1994a] R.P. Goldman y M.S. Boddy. Conditional linear

planning. Proceedings of the Second International Conference on AI

Planning Systems (AIPS), pages 80–85, 1994.

[Goldman y Boddy 1994b] R.P. Goldman y M.S. Boddy. Epsilon-safe plan-

ning. Proceedings of the 10th International Conference on Uncertainty

in Artificial Intelligence, pages 253–261, 1994.

Page 241: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 219

[Goodwin 1994] R. Goodwin. Reasoning about when to start acting. Pro-

ceedings of the 2nd International Conference on Artificial Intelligence

Planning Systems (AIPS), pages 86–91, 1994.

[Green 1969] C. Green. Applications of theorem proving to problem solving.

Proceedings of the First International Joint Conference on Artificial

Intelligence (IJCAI-69), pages 741–747, 1969.

[Gretton et al. 2003] C. Gretton, D. Price, y S. Thiebaux. NMRDPP: A

system for decision-theoretic planning with non-markovian rewards.

ICAPS-03 Workshop on Planning under Uncertainty and Incomplete

Information, 2003.

[Haigh y Veloso 1996] K.Z. Haigh y M.M. Veloso. Planning with dynamic

goals for robot execution. Proceedings of the AAAI Fall Symposium

“Plan Execution: Problems and Issues”, pages 65–71, 1996.

[Hammond 1986] K.J. Hammond. CHEF: A model of case-based plan-

ning. Proceedings of the National Conference on Artificial Intelligence

(AAAI), pages 267–271, 1986.

[Hanks y Weld 1995] S. Hanks y D. Weld. A domain-independent algo-

rithm for plan adaptation. Journal of Artificial Intelligence Research

(JAIR), 2:319–360, 1995.

[Haslum y Geffner 2000] P. Haslum y H. Geffner. Admissible heuristics for

optimal planning. International Conference on AI Planning and Sche-

duling, pages 140–149, 2000.

[Hawes 2001] N. Hawes. Anytime planning for agent behaviour. Proceedings

of the 12th Workshop of PLANSIG, pages 157–166, 2001.

[Hernadvogyi y Holte 2000] I.T. Hernadvogyi y R.C. Holte. Experiments with

automatic created memory-based heuristics. Proceedings of the Sym-

posium on Abstraction, Reformulation and Approximation (SARA),

LNAI, 1864:281–290, 2000.

[Hoffman y Nebel 2001] J. Hoffman y B. Nebel. The FF planning system: Fast

Page 242: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

220 REFERENCES

planning generation through heuristic search. Journal of Artificial

Intelligence Research, 14:253–302, 2001.

[Hoffman 2003] J. Hoffman. The Metric-FF planning system: Translating ’ig-

noring delete lists’ to numeric state variables. Journal of Artificial

Intelligence Research, 20:291–341, 2003.

[Hoffmann 2000] J. Hoffmann. A heuristic for domain independent planning

and its use in an enforced hill-climbing algorithm. Proceedings of the

12th International Symposium of Methodologies for Intelligent Systems

(ISMIS), pages 216–227, 2000.

[Holldobler y Skvortsova 2004] S. Holldobler y O. Skvortsova. A logic-based

approach to dynamic programming. AAAI-04 Workshop on Learning

and Planning in Markov Processes - Advances and Challenges, 2004.

[Holldobler y Storr 2000] S. Holldobler y H. Storr. Solving the entailment

problem in the fluent calculus using binary decision diagrams. Pro-

ceedings of the 1st International Conference on Computational Logic

(CL), pages 747–760, 2000.

[Ihrig y Kambhampati 1997] L.H. Ihrig y S. Kambhampati. Storing and inde-

xing plan derivations through explanation-based analysis of retrieval

failures. Journal of Artificial Intelligence Research (JAIR), 7:161–198,

1997.

[IPC 2000] IPC. International planning competition.

http://www.cs.toronto.edu/aips2000, 2000.

[IPC 2002] IPC. International planning competition.

http://www.dur.ac.uk/d.p.long/competition.html, 2002.

[IPC 2004] IPC. International planning competition. http://ls5-www.cs.uni-

dortmund.de/ edelkamp/ipc-4/, 2004.

[Jonsson et al. 2000] A.K. Jonsson, P.H. Morris, N. Muscettola, K. Rajan, y

B.D. Smith. Planning in interplanetary space: Theory and practice.

Page 243: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 221

Proceedings of the International Conference on Artificial Intelligence

Planning Systems, pages 177–186, 2000.

[Kambhampati y Hendler 1992] S. Kambhampati y J.A Hendler. A

validation-structure-based theory of plan modification and reuse. Ar-

tificial Intelligence, 55:193–258, 1992.

[Kautz y Selman 1992] H.A. Kautz y B. Selman. Planning as satisfiability.

Proceedings of the 10th European Conference on Artificial Intelligence,

pages 359–363, 1992.

[Kautz y Selman 1996] H.A. Kautz y B. Selman. Pushing the envelope: Plan-

ning, propositional logic and stochastic search. Proceedings of the

National Conference on Artificial Intelligence (AAAI), 2:1194–1201,

1996.

[Kautz y Selman 1998] H.A. Kautz y B. Selman. The role of domain-specific

knowledge in the planning as satisfiability framework. Proceedings of

the International Conference on Artificial Intelligence Planning Sys-

tems, pages 181–189, 1998.

[Kautz y Selman 1999] H.A. Kautz y B. Selman. Unifying SAT-based and

graph-based planning. Proceedings of the 16th International Joint

Conference on Artificial Intelligence (IJCAI), pages 318–325, 1999.

[Knoblock 1991] C.A. Knoblock. Automatically search reduction in hierarchi-

cal problem solving. Proceedings of the 9th National Conference on

Artificial Intelligence, pages 686–691, 1991.

[Knoblock 1994] C.A. Knoblock. Automatically generating abstractions for

planning. Artificial Intelligence, 68(2):243–302, 1994.

[Knoblock 1995] C.A. Knoblock. Planning, executing, sensing, and replanning

for information gathering. Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI), pages 1686–1693, 1995.

[Knoblock 2003] C.A. Knoblock. Deploying information agents on the Web.

Page 244: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

222 REFERENCES

Proceedings of the 18th International Joint Conference on Artificial

Intelligence (IJCAI), pages 1580–1586, 2003.

[Koehler et al. 1997] J. Koehler, B. Nebel, J. Hoffmann, y Y. Dimopoulos.

Extending planning graphs to an ADL subset. Proceedings of the

Fourth European Conference in Planning, pages 273–285, 1997.

[Koehler y Hoffmann 2000] J. Koehler y J. Hoffmann. On reasonable and for-

ced goal orderings and their use in an agenda-driven planning algo-

rithm. Journal of Artificial Intelligence Research (JAIR), 12, 2000.

[Koehler 1993] J. Koehler. Flexible plan reuse in a formal framework. Procee-

dings of the 2nd European Workshop on AI Planning (EWSP), pages

171–184, 1993.

[Koenig et al. 2002] S. Koenig, D. Furcy, y C. Bauer. Heuristic search-based

replanning. Proceedings of the Conference on AI Planning Systems

(AIPS), pages 294–301, 2002.

[Koenig et al. 2003] S. Koenig, C.A. Tovey, y Y.V. Smirnov. Performance

bounds for planning in unknown terrain. Artificial Intelligence, 147(1-

2):253–279, 2003.

[Koenig y Likhachev 2002] S. Koenig y M. Likhachev. Improved fast replan-

ning for robot navigation in unknown terrain. Proceedings of the In-

ternational Conference on Robotics and Automation, 2002.

[Koenig 2002] S. Koenig. Agent-centered search. Artificial Intelligence Maga-

zine, 22(4):109–131, 2002.

[Kurien et al. 2002] J.A. Kurien, P.P. Nayak, y D.E. Smith. Fragment-based

conformant planning. Proceedings of the Conference on AI Planning

Systems (AIPS), pages 153–162, 2002.

[Kushmerick et al. 1995] N. Kushmerick, S. Hanks, y D. Weld. An algorithm

for probabilistic planning. Artificial Intelligence, 76:239–286, 1995.

Page 245: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 223

[Kvarnstrom y Magnusson 2003] J. Kvarnstrom y M. Magnusson. TALplan-

ner in IPC-2002: Extensions and control rules. Journal of Artificial

Intelligence Research (JAIR), 20:343–377, 2003.

[Kwok y Weld 1996] C. Kwok y D. Weld. Planning to gather information. Pro-

ceedings of the National Conference on Artificial Intelligence (AAAI),

1:32–39, 1996.

[Lemai y Ingrand 2004] S. Lemai y F. Ingrand. Interleaving temporal plan-

ning and execution in robotics domains. Proceedings of the National

Conference on Artificial Intelligence (AAAI), 2004.

[Li y Anbulagan 1997] C.M. Li y Anbulagan. Heuristics based on unit pro-

pagation for satisfiability problems. Proceedings of 15th International

Joint Conference on Artificial Interlligence (IJCAI), pages 366–371,

1997.

[Littman y Younes 2004] M.L. Littman y H.L.S. Younes. Introduction to the

probabilistic planning track. Online Proceedings for The Probablistic

Planning Track of IPC-04, 2004.

[Long et al. 2002] D. Long, M. Fox, y M. Hamdi. Reformulation in planning.

Proceedings of 5th International Symposium on Abstraction, Reformu-

lation and Approximation (SARA), pages 18–32, 2002.

[Long y Fox 1999] D. Long y M. Fox. Efficient implementation of the plan

graph in STAN. Journal of Artificial Intelligence Research, 10:87–

115, 1999.

[Long y Fox 2002] D. Long y M. Fox. Progress in AI planning research and

applications. UPGRADE. The European Online Magazine for the IT

Professional, 3(5):10–24, 2002.

[Lopez y Bacchus 2003] A. Lopez y F. Bacchus. Generalizing GraphPlan by

formulating planning as a CSP. Proceedings of the International Joint

Conference on Artificial Intelligence (IJCAI), pages 954–960, 2003.

[Majercik y Littman 1998] S. Majercik y M. Littman. MAXPLAN: A new

Page 246: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

224 REFERENCES

approach to probabilistic planning. Proceedings of 4th International

Conference on Artificial Intelligence Planning and Scheduling (AIPS),

pages 86–93, 1998.

[Matellan y Borrajo 1998] V. Matellan y D. Borrajo. Combining classical and

reactive planning: the ABC2 model. AIPS’98 Workshop on Integra-

ting Planning, Scheduling and Execution in Dynamic and Uncertain

Environments, pages 121–126, 1998.

[McAllester y Rosenblitt 1991] D.A. McAllester y D. Rosenblitt. Systematic

nonlinear planning. Proceedings of the Ninth National Conference on

Artificial Intelligence, pages 634–639, 1991.

[McCarthy y Hayes 1969] J. McCarthy y P.J. Hayes. Some philosophical pro-

blems from the standpoint of artificial intelligence. Machine Intelli-

gence, 4:463–502, 1969.

[McCarthy y Pollack 2000] C.E. McCarthy y M.E. Pollack. Towards focused

plan monitoring: A technique and an application to mobile robots.

Autonomous Robots, 9(1):71–81, 2000.

[McCluskey et al. 2003] T.L. McCluskey, D. Liu, y R. Simpson. GIPO II: HTN

planning in a tool-supported knowledge engineering environment. Pro-

ceedings of the International Conference on Automated Planning and

Scheduling (ICAPS), pages 92–101, 2003.

[McDermott 1992] D. McDermott. Transformational planning of reactive

behaviour. Tecnical Report YALE/CSD/RR#941, Computer Science

Department, Yale University, 1992.

[McDermott 1996] D. McDermott. A heuristic estimator for means-ends

analysis in planning. Proceedings of the International Conference on

Artificial Intelligence Planning Systems, 3:142–149, 1996.

[McDermott 1999] D. McDermott. Using regresion-match graphs to control

search in planning. Artificial Intelligence, 109(1-2):111–159, 1999.

Page 247: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 225

[McDermott 2000] D. McDermott. The 1998 AI planning systems competi-

tion. AI Magazine, 21(2):35–55, 2000.

[Mellado et al. 2003] M. Mellado, C. Correcher, J.V. Catret, y D. Puig. Vir-

tualRobot: An open general-purpose simulation tool for robotics. Eu-

rosis International Conference ESMc’2003, 2003.

[Mellado 2003] M. Mellado. Simulacion en Robotica Mediante Virtual Robot.

Universidad Politecnica de Valencia. Ref.: 2003.443, 2003.

[Minton et al. 1994] S. Minton, J. Bresina, y M. Drummond. Total-order and

partial-order planning: A comparative analysis. Journal of Artificial

Intelligence Research, 2:227–261, 1994.

[Minton 1988] S. Minton. Learning Search Control Knowledge: An

Explanation-Based Approach. Kluwer, Boston, MA, 1988.

[Myers 1996] K.L. Myers. A procedural knowledge approach to task-level con-

trol. Proceedings of the 3rd International Conference on AI Planning

Systems (AIPS), pages 158–165, 1996.

[Nareyek y Sandholm 2003] A. Nareyek y T. Sandholm. Planning in dyna-

mic worlds: More than external events. Proceedings of the IJCAI-03

Workshop on Agents and Automated Reasoning, pages 30–35, 2003.

[Nareyek 2004] A. Nareyek. Artificial intelligence in computer games - state

of the art and future directions. ACM Queue, 1(10):58–65, 2004.

[Nau et al. 2003] D. Nau, T.C. Au, O. Ilghami, U. Kuter, W. Murdock, D. Wu,

y F. Yaman. SHOP2: an HTN planning system. Journal of Artificial

Intelligence Research (JAIR), 20:379–404, 2003.

[Nebel y Koehler 1995] B. Nebel y J. Koehler. Plan reuse versus plan gene-

ration: A theoretical and empirical analysis. Artificial Intelligence,

76(1-2):427–454, 1995.

[Newell y Simon 1963] A. Newell y H. Simon. GPS, a program that simulates

human thought. Computers and Thought, pages 279–293, 1963.

Page 248: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

226 REFERENCES

[Nguyen et al. 2002] X. Nguyen, S. Kambhampati, y R.S. Nigenda. Planning

graph as the basis for deriving heuristics for plan synthesis by state

space and CSP search. Artificial Intelligence, 135(1-2):73–124, 2002.

[Nguyen y Kambhampati 2001] X. Nguyen y S. Kambhampati. Reviving par-

tial order planning. Proceedings of the International Joint Conference

on Artificial Intelligence, pages 459–466, 2001.

[Nilsson 1994] N.J. Nilsson. Principles of Artificial Intelligence. Morgan Kauf-

mann Publishers, 1994.

[Onaindia et al. 2000] E. Onaindia, L. Sebastia, y E. Marzal. 4SP: A four-

stage incremental planning approach. Proceedings of ECAI-00 Works-

hop on New Results in Planning, Scheduling and Design, pages 115–

129, 2000.

[Onaindia et al. 2001] E. Onaindia, O. Sapena, L. Sebastia, y E. Marzal. Sim-

Planner: an execution-monitoring system for replanning in dynamic

worlds. Proceedings of EPIA-01, Lecture Notes in Computer Science,

pages 393–400, 2001.

[Onder et al. 2004] N. Onder, G.C. Whelan, y L. Li. Probapop: Probabilistic

partial-order planning. 1st International Probabilistic-Planning Com-

petition / ICAPS-04, 2004.

[Paolucci et al. 2000] M Paolucci, O. Shehory, y K. Sycara. Interleaving plan-

ning and execution in a multiagent team planning environment. Tech-

nical report CMU-RI-TR-00-01, Robotics Institute, Carnegie Mellon

University, 2000.

[Pearl 1984] J. Pearl. Heuristics: Intelligent Search Strategies for Computer

Problem Solving. Addison-Wesley, 1984.

[Pednault 1989] E.P.D. Pednault. ADL: exploring the middle ground between

STRIPS and the situation calculus. Proceedings of the first interna-

tional conference on Principles of knowledge representation and rea-

soning, pages 324–332, 1989.

Page 249: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 227

[Penberthy y Weld 1992] J.S. Penberthy y D.S. Weld. UCPOP: A sound, com-

plete, partial order planner for ADL. Proceedings of the 3rd Interna-

tional Conference on the Principles of Knowledge Representation and

Reasoning, pages 103–114, 1992.

[Penberthy y Weld 1994] J.S. Penberthy y D.S. Weld. Temporal planning with

continuous change. Proceedings of the Twelfth National Conference on

Artificial Intelligence, 2:1010–1015, 1994.

[Peot y Smith 1992] M. Peot y D. Smith. Conditional nonlinear planning.

Proceedings of the Conference on AI Planning Systems (AIPS), pages

189–197, 1992.

[Peot y Smith 1993] M. Peot y D. Smith. Threat-removal strategies for

partial-order planning. Proceedings of the AAAI National Conference,

pages 492–499, 1993.

[Peot 1998] M. Peot. Decision-Theoretic Planning. PhD thesis, Department

of Engineering-Economic Systems and Operations Research, Stanford

University, 1998.

[Pollack y Horty 1999] M.E. Pollack y J.F. Horty. There’s more to life than

making plans: Plan management in dynamic, multi-agent environ-

ments. AI Magazine, 20(4):71–84, 1999.

[Pryor y Collins 1996] L. Pryor y G. Collins. Planning for contingencies: A

decision-based approach. Journal of Artificial Intelligence Research,

4:287–339, 1996.

[Rao y Georgeff 1991] A.S. Rao y M.P. Georgeff. Modeling rational agents

within a BDI architecture. Proceedings of the 2nd Conference on

Knowledge Representation and Reasoning, pages 473–484, 1991.

[Refanidis y Vlahavas 1999] I. Refanidis y I. Vlahavas. GRT: a domain in-

dependent heuristic for STRIPS worlds based on greedy regression

tables. Recent Advances in AI Planning, 5th European Conference on

Planning (ECP), pages 47–59, 1999.

Page 250: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

228 REFERENCES

[Refanidis y Vlahavas 2001] I. Refanidis y I. Vlahavas. The GRT planning

system: Backward heuristic construction in forward state-space plan-

ning. Journal of Artificial Intelligence Research (JAIR), 15:115–161,

2001.

[Rich y Knight 1991] E. Rich y K. Knight. Introduction to Artificial Intelli-

gence. McGraw-Hill, 1991.

[Rintanen 1999a] J. Rintanen. Improvements to the evaluation of quantified

boolean formulae. Proceedings of the 16th Iinternational Joint Confe-

rence on Artificial Intelligence (IJCAI), pages 1192–1197, 1999.

[Rintanen 1999b] J. Rintanen. An iterative algorithm for synthesizing inva-

riants. Proceedings of the 17th National Conference on Artificial In-

telligence, pages 806–811, 1999.

[Russell y Norving 1995] S. Russell y P. Norving. Artificial Intelligence: A

Modern Approach. Prentice Hall, 1995.

[Sacerdoti 1974] E. Sacerdoti. Planning in a hierarchy of abstraction spaces.

Artificial Intelligence, 5:115–135, 1974.

[Sacerdoti 1975] E. Sacerdoti. The nonlinear nature of plans. Proceedings

of the International Joint Conference on Artificial Intelligence (AI),

pages 206–214, 1975.

[Sapena et al. 2001] O. Sapena, E. Onaindia, E. Argente, y S. Valero. Sim-

Planner: una herramienta para monitorizacion de planes y replanifi-

cacion. Proceedings of CAEPIA-TTIA, 2:873–882, 2001.

[Sapena et al. 2004] O. Sapena, E. Onaindia, M. Mellado, C. Correcher, y E.

Vendrell. Reactive planning simulation in dynamic environments with

VirtualRobot. Innovations in Applied Artificial Intelligence, LNCS,

Springer-Verlag, pages 699–707, 2004.

[Sapena y Onaindia 2002a] O. Sapena y E. Onaindia. Domain independent

on-line planning for STRIPS domains. Proceedings of IBERAMIA,

LNAI, Springer-Verlag, 2527:825–834, 2002.

Page 251: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 229

[Sapena y Onaindia 2002b] O. Sapena y E. Onaindia. Execution, monitoring

and replanning in dynamic environments. Workshop on On-Line Plan-

ning and Scheduling (AIPS-02), 2002.

[Sapena y Onaindia 2002c] O. Sapena y E. Onaindia. A planning and moni-

toring system for dynamic environments. Journal of Intelligent and

Fuzzy Systems, 12(3-4):151–162, 2002.

[Sapena y Onaindia 2003] O. Sapena y E. Onaindia. An architecture to inte-

grate planning and execution in dynamic environments. Proceedings

of PLANSIG-03, pages 184–193, 2003.

[Sapena y Onaindia 2004] O. Sapena y E. Onaindia. Domain independent

anytime planning for dynamic environments. Proceedings of CCIA.

To appear, 2004.

[Schoppers 1987] M.J. Schoppers. Universal plans for reactive robots in un-

predictable domains. Proceedings of the 10th International Joint Con-

ference on Artificial Intelligence (IJCAI), pages 1039–1046, 1987.

[Sebastia et al. 2001] L. Sebastia, E. Onaindia, y E. Marzal. STeLLa: An op-

timal sequential and parallel planner. Proceedings of EPIA, LNAI,

Springer-Verlag, pages 409–416, 2001.

[Sebastia et al. 2002] L. Sebastia, E. Onaindia, y E. Marzal. STeLLa v2.0:

Planning with intermediate goals. Proceedings of IBERAMIA, LNAI,

Springer-Verlag, pages 805–814, 2002.

[Selman et al. 1994] B. Selman, H.A. Kautz, y B. Cohen. Noise strategies for

improving local search. Proceedings of the 12th National Conference

on Artificial Intelligence (AAAI), pages 337–343, 1994.

[Simmons 1988] R. Simmons. A theory of debugging plans and interpreta-

tions. Proceedings of the National Conference on Artificial Intelligence

(AAAI/IAAI), pages 94–99, 1988.

[Simmons 1994] R. Simmons. Structured control for autonomous robots.

IEEE Transactions on Robotics and Automation, 10(1), 1994.

Page 252: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

230 REFERENCES

[Smith et al. 2000] D. Smith, J. Frank, y A. Jonsson. Bridging the gap

between planning and scheduling. Knowledge Engineering Review,

15(1):47–83, 2000.

[Smith y Weld 1998] D.E. Smith y D.S. Weld. Conformant graphplan.

Proceedings of the National Conference on Artificial Intelligence

(AAAI/IAAI), pages 889–896, 1998.

[Smith y Weld 1999] D.E. Smith y D.S. Weld. Temporal planning with mutual

exclusion reasoning. Proceedings of the International Joint Conference

on Artificial Intelligence, pages 326–337, 1999.

[Soler et al. 2000] J. Soler, V. Julian, C. Carrascosa, y V. Botti. Applying the

ARTIS agent architecture to mobile robot control. Proceedings of the

IBERAMIA, LNAI, pages 359–368, 2000.

[Son y Baral 2001] T.C. Son y C. Baral. Formalizing sensing actions - a tran-

sition function based approach. Artificial Intelligence, 125(1-2):19–91,

2001.

[Tate 1974] A. Tate. INTERPLAN: A plan generation system which can deal

with interactions between goals. Machine Intelligence Research Me-

morandum MIP-R-109, University of Edinburgh, Edinburgh, 1974.

[Teichteil-Konigsbuch y Fabiani 2004] F. Teichteil-Konigsbuch y P. Fabiani.

Une approche hybride en planification probabiliste d’exploration au-

tonome. Quatorzieme congres francophone de Reconnaissance des For-

mes et Intelligence Artificielle (RFIA-2004), 2004.

[Thiebaux et al. 1995] S. Thiebaux, J. Hertzberg, W. Shoaff, y M. Schneider.

A stochastic model of actions and plans for anytime planning under

uncertainty. International Journal of Intelligent Systems, 10(2):155–

183, 1995.

[Valero et al. 2004] S. Valero, E. Argente, y E. Onaindıa. Proceso de paraleli-

zacion y optimizacion de planes secuenciales, paralelos y temporales.

Technical Report, DSIC-II/03/04, pages 1–104, 2004.

Page 253: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 231

[van Beek y Chen 1999] P. van Beek y X. Chen. CPlan: a constraint pro-

gramming approach to planning. Proceedings of the 16th National

Conference on Artificial Intelligence (AAAI), pages 585–590, 1999.

[Veloso et al. 1995] M.M. Veloso, J. Carbonell, A. Perez, D. Borrajo, E. Fink,

y J. Blythe. Integrating planning and learning: The PRODIGY archi-

tecture. Journal of Experimental and Theoretical Artificial Intelligen-

ce, 7(1):81–120, 1995.

[Veloso et al. 1998] M.M. Veloso, M.E. Pollack, y M.T. Cox. Rationale-based

monitoring for continuous planning in dynamic environments. Procee-

dings of the Fourth International Conference on Artificial Intelligence

Planning Systems (AIPS), pages 171–179, 1998.

[Veloso 1994] M.M. Veloso. PRODIGY/ANALOGY: Analogical reasoning in

general problem solving. Proceedings of the First European Workshop

on Case-Based Reasoning (EWCBR), LNAI, Springer-Verlag, 837:33–

50, 1994.

[Verma et al. 2003] V. Verma, G. Gordon, y R. Simmons. Efficient monitoring

for planetary rovers. Proceedings of the International Symposium on

Artificial Intelligence and Robotics in Space (iSAIRAS), 2003.

[Volpe et al. 2001] R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras, y H.

Das. The CLARAty architecture for robotic autonomy. Proceedings

of the 2001 IEEE Aerospace Conference, 2001.

[Waldinger 1981] R. Waldinger. Achieving several goals simultaneously. In

Nilsson, N.J. and Webber, B., editors. Readings in Artificial Intelli-

gence, pages 250–271, 1981.

[Warren 1974] D. Warren. Warplan: A system for generating plans. Memo 76,

Computational Logic Dept., School of AI, Univ. of Edinburgh, 1974.

[Warren 1976] D. Warren. Generating conditional plans and programs. Pro-

ceedings of the Summer Conference on Artificial Intelligence and Si-

mulation on Behavior, pages 344–354, 1976.

Page 254: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

232 REFERENCES

[Washington 1995] R. Washington. Incremental planning for truly integrated

planning and reaction. Proceedings of the Scandinavian Conference

on AI (SCAI), 28:305–316, 1995.

[Washington 2000] R. Washington. On-board real-time state and fault identi-

fication for rovers. Proceedings of the IEEE International Conference

on Robotics and Automation (ICRA), pages 1175–1181, 2000.

[Weld et al. 1998] D.S. Weld, C.R. Anderson, y D.E. Smith. Extending

graphplan to handle uncertainty and sensing actions. Proceedings of

AAAI’98, pages 897–904, 1998.

[Weld 1994] D.S. Weld. An introduction to least commitment planning. AI

Magazine, 15(4), 1994.

[Weld 1999] D.S. Weld. Recent advances in AI planning. AI Magazine,

20(2):93–123, 1999.

[Wilkins 1988] D.E. Wilkins. Practical Planning: Extending the Classical AI

Planning Paradigm. Morgan Kaufmann, 1988.

[Wilkins 1990] D. Wilkins. Can AI planners solve practical problems? Compu-

tational Intelligence, 6(4):232–246, 1990.

[Wilkins 1999] D.E. Wilkins. Using the SIPE-2 Planning System: A Manual

for Version 6.1. SRI International Artificial Intelligence Center, Menlo

Park, CA, 1999.

[Williams y Nayak 1996] B.C. Williams y P.N. Nayak. A model-based approa-

ch to reactive self-configuring systems. Proceedings of the National

Conference on Artificial Intelligence (AAAI), 2:971–978, 1996.

[Wolfman y Weld 1999] S.A. Wolfman y D.S. Weld. The LPSAT engine and

its application to resource planning. Proceedings of the 16th Inter-

national Joint Conference on Artificial Intelligence (IJCAI), pages

310–316, 1999.

[Wooldridge 2000] M. Wooldridge. Reasoning about Rational Agents (Intelli-

gent Robotics and Autonomous Agents). MIT Press, 2000.

Page 255: PLANIFICACION INDEPENDIENTE DEL DOMINIO¶ EN ENTORNOS ...€¦ · un operador) mediante un algoritmo POP. Las l¶‡neas continuas representan enlaces causales, mientras que las discontinuas

REFERENCES 233

[Yang 1997] Q. Yang. Intelligent Planning. A Decomposition and Abstraction

Based Approach. Spinger-Verlag. Berlin, Heidelberg, 1997.

[Younes y Simmons 2002] H.L.S. Younes y R.G. Simmons. On the role of

ground actions in refinement planning. Proceedings of the 6th Inter-

national Conference on Artificial Intelligence Planning and Scheduling

Systems (AIPS), pages 54–61, 2002.

[Younes y Simmons 2003] H.L.S. Younes y R.G. Simmons. VHPOP: Versa-

tile heuristic partial order planner. Journal of Artificial Intelligence

Research (JAIR), 20:405–430, 2003.

[Younes 2003] H.L.S. Younes. Extending PDDL to model stochastic decision

processes. Proceedings of the ICAPS-03 Workshop on PDDL, pages

95–103, 2003.

[Zhang y Gratch 1999] W. Zhang y J. Gratch. An analysis of CFOR planner.

Report available at http://citeseer.ist.psu.edu/245609.html, 1999.

[Zilberstein y Russell 1996] S. Zilberstein y S.J. Russell. Optimal composition

of real-time systems. Artificial Intelligence, 82(1-2):181–213, 1996.