Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan:...

115
Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación d Tema 8: Planificación José Luis Ruiz Reina Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial I, 2012

Transcript of Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan:...

Page 1: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Tema 8: Planificación

José Luis Ruiz Reina

Departamento de Ciencias de la Computación e Inteligencia ArtificialUniversidad de Sevilla

Inteligencia Artificial I, 2012

Page 2: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Índice

Introducción

El formalismo PDDL

Búsqueda hacia adelante

Búsqueda hacia atrás

Heurísticas para planificación

Planificación de orden parcial: POP

Grafo de planificación: GRAPHPLAN

Page 3: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planificación en IA

• Planificar: encontrar una secuencia de acciones quealcanzan un determinado objetivo si se ejecutan desde undeterminado estado inicial.

• Plan: secuencia de acciones que consiguen el objetivo

• Aplicaciones del mundo real:

• Robótica• Fabricación mediante ensamblado de componentes• Misiones espaciales

• Planning vs Scheduling

• Planning se refiere a la secuenciación de acciones paraconseguir un objetivo y Scheduling pone más énfasis en lautilización eficiente de los recursos disponibles, por partede las acciones

Page 4: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

El problema de la planificación en IA

• Posibles cuestiones a abordar:

• Representación del mundo y de las acciones que lotransforman

• Algoritmos de búsqueda de planes• Minimizar los recursos consumidos por el plan• Tiempo en el que se realiza cada acción• Monitorizar la ejecución del plan, revisándolo en caso de

errores o contingencias

• Por simplificar, en este tema supondremos:

• Un número finito de estados• Completamente observables• Acciones deterministas, totalmente definidas por su

especificación• Tiempo implícito: los acciones actúan sin duración• La planificación se realiza a priori• Hipótesis del mundo cerrado

Page 5: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planificación y búsqueda en espacio de estados• Problema abordable con búsqueda en espacio de estados,

pero en problemas de escala real hay que abordarademás:

• Descripción de los estados en el mundo realextremadamente compleja

• Gran cantidad de posibles acciones, muchas de ellasirrelevantes para la consecución del objetivo final

• Las acciones sólo cambian una pequeña porción delmundo (el problema del marco)

• Necesitamos heurísticas independientes del dominio• La necesidad de una acción puede detectarse sin

necesidad de que se haya decidido las acciones previas(compromiso mínimo)

• A veces es aconsejable descomponer en subproblemasmás simples

• Idea: usar la lógica para representar estados, acciones yobjetivos, y algoritmos que operan sobre estarepresentación

Page 6: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: el mundo de los bloques

• Ejemplo clásico en planificación.

• Elementos que intervienen:

• Una superficie plana.• Una serie de bloques cúbicos.• Un brazo robotizado, que puede coger un bloque cada vez.• Un bloque puede estar sobre la mesa o apilado sobre otro

bloque.

C A

B

D

Page 7: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Formalismo lógico: el lenguaje PDDL• Un lenguaje para representar problemas de planificación:

• Constantes: objetos del mundo (en mayúsculas)• Variables para representar cualquier objeto (en minúsculas)• Símbolos de predicados (para expresar propiedades de los

objetos)• Símbolos de acciones (para representar operadores)

• Terminología:

• Atomos: fórmulas de la forma P(o1, . . . , on), donde P esun símbolo de predicado y cada oi es una constante o unavariable (no hay símbolos de función)

• Literales: átomos o negación de átomos (usaremos elsímblo - para la negación)

• Atomos y literales cerrados: sin variables

• Estados: conjunción de átomos cerrados

• Hipótesis del mundo cerrado: los átomos que no semencionan se suponen falsos

Page 8: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Representación de estados en el mundo de losbloques

• Descripción de un estado:

C A

B

D

DESPEJADO(B), DESPEJADO(C), DESPEJADO(D), BRAZOLIBRE() ,SOBRE(B,A), SOBRELAMESA(C), SOBRELAMESA(D), SOBRELAMESA(A)

• Predicados lógicos usados en esta representación:DESPEJADO(x), el bloque x está despejado.BRAZOLIBRE(), el brazo no agarra ningún bloque.SOBRELAMESA(x), el bloque x está sobre la mesa.SOBRE(x,y), el bloque x está sobre el y.AGARRADO(x), el bloque X está sujeto por el brazo.

Page 9: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Representación de objetivos

• Objetivos: descripción de los estados finales.

• Los objetivos se representan como conjunción de literales(con posibilidad de usar variables)

• Las variables en los objetivos se interpretan comoexistencialmente cuantificadas

• Satisfacer un objetivo:

• Un estado satisface un objetivo si es posible sustituir lasvariables del objetivo por constantes de manera que elestado contiene todos los literales positivos del objetivoinstanciado y ninguno de los negativos

• Un estado es estado final si satisface el objetivo requerido

• Importante: verificar si un estado satisface un objetivo esun cálculo meramente simbólico

Page 10: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de objetivos en el mundo de los bloques

C

B

DAD

A

B

C

Estado 1 Estado 2

• Ejemplos de objetivos:

• SOBRE(B,A), SOBRELAMESA(A), -SOBRE(C,B) essatisfecho por el estado 1 y por el estado 2

• SOBRE(x,A), DESPEJADO(x), BRAZOLIBRE() essatisfecho por el estado 1 pero no por el estado 2

• SOBRE(x,A), SOBRE(y,x) no es satisfecho por el estado 1pero sí por el estado 2

• El objetivo SOBRE(x,A), -SOBRE(C,x) es satisfecho por elestado 1 pero no por el estado 2

Page 11: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Descripción de esquemas de acciones (operadores)

• Para intentar solucionar el problema del marco, sólo seespecifica lo que cambia por la acción del operador.

• Un operador se describe mediante:

• Su nombre y todas las variables involucradas:O(x1, . . . , xn)

• Precondición: lista de literales que deben cumplirse parapoder aplicar la acción.

• Efectos: lista de literales que indica los cambios que seproducirán cuando se aplique.

Page 12: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Descripción de esquemas de acciones (operadores)

• En la lista de efectos distinguimos:

• Efectos positivos (o lista de adición): átomos que pasarán aser ciertos

• Efectos negativos (o lista de borrado): átomos que dejaránde ser ciertos

• El uso de variables hace que un operador usualmenterepresente un esquema de acción:

• Por cada manera de sustituir las variables de un operadorpor constantes, tenemos una acción concreta (unainstancia del operador)

Page 13: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: operadores en el mundo de los bloques

• Colocar un bloque sobre otro:APILAR(x,y)

Prec.: DESPEJADO(y), AGARRADO(x)Efec.: -DESPEJADO(y), -AGARRADO(x),

BRAZOLIBRE(), SOBRE(x,y), DESPEJADO(x)

• Quitar un bloque que estaba sobre otro:DESAPILAR(x,y)

Prec.: SOBRE(x,y), DESPEJADO(x), BRAZOLIBRE()Efec.: -SOBRE(x,y), -DESPEJADO(x), -BRAZOLIBRE(),

AGARRADO(x), DESPEJADO(y),

• Agarrar un bloque con el robot:AGARRAR(x)

Prec.: DESPEJADO(x), SOBRELAMESA(x), BRAZOLIBRE()Efec.: -DESPEJADO(x), -SOBRELAMESA(x), -BRAZOLIBRE(),

AGARRADO(x)

• Bajar un bloque hasta la superficie:BAJAR(x)

Prec.: AGARRADO(x)Efec.: -AGARRADO(x),

SOBRELAMESA(x), BRAZOLIBRE(), DESPEJADO(x)

Page 14: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Aplicabilidad de un operador

• Un operador es aplicable a un estado si éste satisface suprecondición

• Si aparecen variables en la precondición, la aplicabilidad sedefine respecto de la sustitución θ usada para satisfacer laprecondición

• Por abreviar, a veces la sustitución usada apareceráimplícita al hablar del operador

• Por ejemplo, hablaremos de DESAPILAR(A,B) parareferirnos a DESAPILAR(x,y) con la sustitución [x/A,y/B]

• Un mismo operador puede dar lugar a distintas accionesque son aplicables al mismo estado

Page 15: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Resultado de aplicar de un operador

• El resultado de aplicar un operador aplicable (respecto deuna sustitución θ) a un estado E es el estado resultantede:

• Eliminar de E los átomos, instanciados por θ,correspondiente a la lista de efectos negativos (siestuvieran)

• Añadir a E los átomos, instanciados por θ,correspondientes a la lista de efectos positivos (si noestuvieran)

Page 16: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de aplicación de operador (I)

DC

B

A

B

DC A

DESAPILAR(B,A)

* Estado antes de aplicar DESAPILAR(B,A):E = {DESPEJADO(B), DESPEJADO(C), DESPEJADO(D), BRAZOLIBR E(),

SOBRE(B,A), SOBRELAMESA(C), SOBRELAMESA(D), SOBRELAMESA(A)}

* Precondiciones de DESAPILAR(B,A):Prec = {SOBRE(B,A), DESPEJADO(B), BRAZOLIBRE()}------ Condiciones satisfechas en el estado ------------- (operador aplicable) -------

* Efectos de DESAPILAR(B,A):Efec- = {SOBRE(B,A), DESPEJADO(B), BRAZOLIBRE()}Efec+ = {AGARRADO(B), DESPEJADO(A)}

* Estado después de aplicar DESAPILAR(B,A):E’ = (E - Efec-) U Efec+ ={DESPEJADO(C), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(D), SOBRELAMESA(A), AGARRADO(B), DESPEJADO(A)}

Page 17: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de aplicación de operador (II)

B

DC A DACB

BAJAR(B)

* Estado antes de aplicar BAJAR(B):E = {DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D), AGARRADO(B)}

* Precondiciones de BAJAR(B):Prec = {AGARRADO(B)}------ Condiciones satisfechas en el estado ------------- (operador aplicable) -------

* Efectos de BAJAR(B):Efec- = {AGARRADO(B)}Efec+ = {SOBRELAMESA(B), BRAZOLIBRE(), DESPEJADO(B)}

* Estado después de aplicar BAJAR(B):E’ = (E - Efec-) U Efec+ ={DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D),SOBRELAMESA(B), BRAZOLIBRE(),DESPEJADO(B)}

Page 18: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planes y soluciones

• Plan: secuencia de acciones

• La primera aplicable al estado inicial y cada una de ellasaplicable al resultado de la anterior

• Solución: plan que a partir del estado inicial obtiene unestado que satisface el objetivo

Page 19: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: cambio de rueda pinchada

• Lenguaje:

• Objetos: RUEDA-REPUESTO, RUEDA-PINCHADA, EJE,MALETERO, SUELO

• Predicado: EN(-,-)

• Estado inicial:EN(RUEDA-PINCHADA,EJE),EN(RUEDA-REPUESTO,MALETERO)

• Estado final:EN(RUEDA-REPUESTO,EJE)

Page 20: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Acciones en el cambio de rueda pinchada

• Sacar la rueda de repuesto del maletero:QUITAR(RUEDA-REPUESTO,MALETERO)

Prec.: EN(RUEDA-REPUESTO,MALETERO)Efec.: EN(RUEDA-REPUESTO,SUELO), -EN(RUEDA-REPUESTO,M ALETERO)

• Quitar la rueda pinchada del eje:QUITAR(RUEDA-PINCHADA,EJE)

Prec.: EN(RUEDA-PINCHADA,EJE)Efec.: -EN(RUEDA-PINCHADA,EJE), EN(RUEDA-PINCHADA,SUE LO)

• Colocar la rueda de repuesto en el eje:PONER(RUEDA-REPUESTO,EJE)

Prec.: -EN(RUEDA-PINCHADA,EJE), EN(RUEDA-REPUESTO,SUE LO)Efec.: -EN(RUEDA-REPUESTO,SUELO), EN(RUEDA-REPUESTO,E JE)

• Dejar el coche solo hasta la mañana siguiente:DEJARSOLO()

Prec.: {}Efec.: -EN(RUEDA-REPUESTO,SUELO), -EN(RUEDA-REPUESTO, EJE),

-EN(RUEDA-REPUESTO,MALETERO) -EN(RUEDA-PINCHADA,EJE),-EN(RUEDA-PINCHADA,SUELO)

Page 21: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: movimiento de robot por una rejilla

• Un robot ha de desplazarse por una rejilla, desde unaposición inicial a una final

• 8 movimientos posibles: N, S,E,O,NO,NE,SO,SE• En algunas de las rejillas existen obstáculos no

franqueables

Situacioninicialdel robot

Objetivo

Page 22: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Representación del problema del movimiento de robot• Lenguaje:

• Constantes: números que indican coordenas horizontales yverticales

• Predicados: ROBOT-EN(-,-) y LIBRE(-,-)

• Estado inicial (casillas sin obstáculos y posición del robot):

LIBRE(1,1),...,LIBRE(6,2),LIBRE(11,2),...,LIBRE(12, 12),ROBOT-EN(2,3).

• Objetivo: ROBOT-EN(10,11)

• Acciones (sólo una, las siete restantes son análogos):MOVER-SE(x,y)

Prec.: ROBOT-EN(x,y), LIBRE(x+1,y-1)Efec.: -ROBOT-EN(x,y), -LIBRE(x+1,y-1),

ROBOT-EN(x+1,y-1), LIBRE(x,y)

• En este caso, necesitamos símbolos de función (+ y −), yque el test de satisfacibilidad maneje las nociones denumero siguiente y anterior (extendemos la semántica)

Page 23: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Extensiones al formalismo PDDL

• Existen sistemas de planificación que usan un lenguaje derepresentación más expresivo

• Por ejemplo:

• Variables con tipos (no es una extensión que aumente lacapacidad expresiva)

• Uso de símbolos de función• Manejo del símbolo de igualdad• Evaluación de funciones al aplicar acciones• Disyunciones en las precondiciones

• En general existe un compromiso entre expresividad dellenguaje y simplicidad de los algoritmos que manejan larepresentación

Page 24: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda en el espacio de estados

• Un problema de planificación se puede plantear como unproblema de espacio de estados:

• Estados descritos mediante listas de átomos cerrados.• Operadores como listas de precondiciones y efectos.• Función es-estado-final descrita por un objetivo.

• La búsqueda de planes podría hacerse usando losalgoritmos de búsqueda ya vistos en los temas anteriores:anchura, profundidad, primero el mejor, A*,. . .

• El uso del formalismo lógico permite el uso de heurísticasindependientes del dominio

• Por ejemplo, el número de literales en el objetivo quequedan por satisfacer en un estado

Page 25: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Cálculo de sucesores

B

DC A

DAC

DAC

DAC

DACB

B

B

B

APILAR(x,y)[x=B,y=C]

APILAR(x,y)[x=B,y=D]

APILAR(x,y)[x=B,y=A]

BAJAR(x)[x=B]

Page 26: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Cálculo de sucesores

• Ejemplo:E = {DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D), AGARRADO(B)}Cuatro posibles acciones aplicables:

1), 2) y 3): O=APILAR(x,y) con THETA=[x=B,y=C],THETA=[x=B,y=A] y THETA=[x=B,y=D], resp.

4): O=DEJAR(x) con sustitución THETA=[x=B].

Sucesores:

E1= { DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C), SOBRELAMESA(A),SOBRELAMESA(D), BRAZOLIBRE(), DESPEJADO(B), SOBRE(B,C) }

E2= { DESPEJADO(C), DESPEJADO(D), SOBRELAMESA(C), SOBRELAMESA(A),SOBRELAMESA(D), BRAZOLIBRE(), DESPEJADO(B), SOBRE(B,A) }

E3= { DESPEJADO(A), DESPEJADO(C), SOBRELAMESA(C), SOBRELAMESA(A),SOBRELAMESA(D), BRAZOLIBRE(), DESPEJADO(B), SOBRE(B,D) }

E4= { DESPEJADO(A), DESPEJADO(C), DESPEJADO(D), SOBRELAMESA(C),SOBRELAMESA(A), SOBRELAMESA(D), BRAZOLIBRE(), DESPEJADO(B),SOBRELAMESA(B)}

Page 27: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia adelante en profundidad conheurística

FUNCION BUSQUEDA-EN-PROFUNDIDAD-H(ESTADO-INICIAL,OBJETIVO,OPERADORES)Devolver BEP-H-REC({},{},ESTADO-INICIAL,OBJETIVO,OPE RADORES)

FUNCION BEP-H-REC(PLAN,VISITADOS,ACTUAL,OBJ,OPERADORES)1. Si ACTUAL satisface OBJ, devolver PLAN2. Hacer APLICABLES igual a la lista de acciones que sean inst ancias

de un operador de OPERADORES, que sean aplicables a ACTUAL y c uyaaplicación no resulte en un estado de VISITADOS

3. Hacer ORD-APLICABLES igual a ORDENA-POR-HEURISTICA(AP LICABLES)4. Para cada ACCION en ORD-APLICABLES

4.1 Hacer E’ el resultado de aplicar ACCION a ACTUAL4.2 Hacer RES igual a

BEP-H-REC(PLAN·ACCION,VISITADOS U {E’},E’,OBJ,OPERADORES)4.3 Si RES no es FALLO, devolver RES y terminar

5. Devolver FALLO

• En el algoritmo anterior, queda por especificar la funciónORDENA-POR-HEURISTICA

• En general, se define a traves de una heurística H sobre losestados, que estima el número de pasos hasta el objetivo

Page 28: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia adelante en profundidad(propiedades)

• Es un algoritmo tipo Backtracking en el que se ordenanpor heurística los sucesores del estado actual

• Propiedades:

• Correcto, completo y siempre termina. No se garantiza lasolución más corta

• Complejidad en tiempo: exponencial• La complejidad en espacio es lineal respecto de la máxima

profundidad del árbol de búsqueda (esto lo hace preferiblea primero el mejor y a A∗, salvo que se busque la soluciónmás corta y se disponga de una H admisible)

• En la práctica, su eficiencia depende de la bondad de laheurística

• Comentaremos más sobre heurísticas posteriormente

Page 29: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia atrás

• Si la heurística no es buena, la búsqueda hacia adelantetiene el problema de la excesiva ramificación

• Muchas acciones aplicables, pero la mayoría de ellasirrelevante para el objetivo

• Alternativa a la búsqueda hacia adelante: buscar haciaatrás, dirigidos por el objetivo

• Se empieza en el objetivo, se aplican las acciones a lainversa y se trata de llegar al estado inicial

• Nodos del árbol de búsqueda: objetivos

• La clave: sólo aplicar hacia atrás las acciones relevantespara el objetivo

Page 30: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Acción relevante para un objetivo

• Sea G un objetivo sin variables (más adelante trataremosel caso con variables). Decimos que una acción A esrelevante para G si:

• Al menos, uno de los efectos (positivo o negativo) de laacción está en G con el mismo "signo"

• Ninguno de los efectos negativos de la acción aparece enG como positivo

• Ninguno de los efectos positivos de la acción aparece en Gcomo negativo

• Intuitivamente: una acción es relevante si podría ser laúltima de un plan que llevara al objetivo

Page 31: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Acciones relevantes: ejemplo• Objetivo: {DESPEJADO(A), DESPEJADO(B), DESPEJADO(D),

SOBRE(B,C)}

• Acciones relevantes: APILAR(B,C) , DEJAR(A) y DEJAR(D)

DAC

B

DAC

DC

B

AC

B

B

A

D

APILAR(x,y)[x=B,y=C]

DEJAR(x)[x=A]

DEJAR(x)[x=D]

• Ejemplo de acción no relevante para el mismo objetivo:APILAR(A,D) (aunque tiene a DESPEJADO(A)como efectopositivo sin embargo tiene como efecto negativo-DESPEJADO(D))

Page 32: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Cálculo de predecesores

• Si A es una acción relevante para un objetivo G (sinvariables), entonces el objetivo predecesor de G respectoa A es (G − efectos(A)) ∪ precond(A)

• Ejemplo:G = {DESPEJADO(A), DESPEJADO(B), DESPEJADO(D), SOBRE(B,C )}

Predecesor respecto de la acción relevante APILAR(B,C)

G’ = (G - {-DESPEJADO(C), -AGARRADO(B), BRAZOLIBRE(),SOBRE(B,C), DESPEJADO(B)})

U {DESPEJADO(C), AGARRADO(B)}= {DESPEJADO(A), DESPEJADO(D), DESPEJADO(C), AGARRADO(B)}

• Nótese que el formalismo lógico nos permite calcularpredecesores de manera sencilla

Page 33: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia atrás con heurística (sin variables)FUNCION BUSQUEDA-HACIA-ATRÁS-H(ESTADO-INICIAL,OBJ,OPERADORES)

Devolver BHA-H-REC({},{},ESTADO-INICIAL,OBJ,OPERADOR ES)

FUNCION BHA-H-REC(PLAN,VISITADOS,ESTADO-INICIAL,G-AC TUAL,OPERADORES)1. Si ESTADO-INICIAL satisface G-ACTUAL, devolver PLAN2. Hacer RELEVANTES igual a la lista de acciones que sean inst ancias

de un operador de OPERADORES, que sean relevantes para ESTAD Oy tal que el predecesor de G-ACTUAL respecto de la acciónno sea un objetivo que contiene a alguno de VISITADOS

3. Hacer RELEVANTES-ORDENADOSigual a ORDENA-POR-HEURISTICA(RELEVANTES)

4. Para cada ACCION en RELEVANTES-ORDENADOS4.1 Hacer G’ el objetivo predecesor de G-ACTUAL respecto a AC CION4.2 Hacer RES igual a

BHA-H-REC(ACCION·PLAN,VISITADOS U {G’},ESTADO-INICIAL,G’,OPERADORES)

4.4 Si RES no es FALLO, devolver RES y terminar5. Devolver FALLO

• En el algoritmo anterior, queda por especificar la funciónORDENA-POR-HEURISTICA

• Se va a definir a traves de una heurística H sobre losobjetivos, que estima el número de pasos desde el estadoinicial al objetivo

Page 34: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia atrás con heurística (propiedades)

• Es un algoritmo de búsqueda en profundidad en unespacio de estados (el de los objetivos)

• Incorpora heurística para ordenar objetivos

• Propiedades

• Correcto, completo y siempre termina. No se garantiza lasolución más corta

• Complejidad teórica: como en la búsqueda hacia adelante

• En la práctica, y nuevamente debido a la elevadaramificación, su eficiencia depende de la heurística usada

• Comentaremos más sobre esto, más adelante

• Además, en el caso de la búsqueda hacia atrás podemosreducir la ramificación, instanciando sólo parcialmente lasacciones

• Para ello, usaremos unificación (similar a PROLOG)

Page 35: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de la conveniencia de no instanciarcompletamente

• Supongamos el siguiente problema:

• n + 2 bloques: A,A1,A2,..,An,B• Estado inicial:

{DESPEJADO(A),SOBRE(A,A1),SOBRE(A1,A2),...,SOBRE(A( n-1),An),DESPEJADO(B), BRAZOLIBRE()}

• Objetivo: -DESPEJADO(B), BRAZOLIBRE() }

• Si aplicamos el procedimiento anterior, tenemos entreotras las siguientes n + 2 acciones relevantes:{APILAR(A,B), APILAR(A1,B), ...,APILAR(An,B),APILAR(B ,B)}

• Idea: podríamos dejar el primer argumento de APILAR sinespecificar, para reducir la ramificación en la búsqueda

• Pero nos obligará a tratar con objetivos en los queaparecen variables

• Para ello, usaremos unificadores de máxima generalidad

Page 36: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Unificación de máxima generalidad

• Unificador de dos términos s y t de la lógica de primerorden:

• Sustitución σ (de las variables de s y de t) tales queσ(s) = σ(t)

• Unificador de máxima generalidad (umg)

• Un unificador más general que cualquier otro unificador• Intuitivamente, por más general entendemos que las

variables se concretan lo mínimo necesario para haceriguales los dos términos

• Ejemplo: unificación de P(x1,A,x2,x3) y de Q(x4,x5,B,x5)

• [x1/B, x2/B, x3/A, x4/B, x5/A] es unificador pero noes el más general

• [x1/x4, x2/B, x3/A, x5/A] es un umg

Page 37: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de búsqueda hacia atrás con unificación (I)

• Apliquemos esta idea al problema anterior

• Hacia atrás con unificación, paso 1:

• El efecto -DESPEJADO(y1) del operador APILAR(x1,y1)unifica con el literal -DESPEJADO(B) del objetivo (y esrelevante para G)

• Un umg es la sustitución σ1 =[y1/B] (es decir, x1 no seinstancia)

• Por tanto se obtiene un esquema de acción relevante:APILAR(x1,B)

• Nuevo objetivo G1:(G - efectos(APILAR(x1,B))) U precond(APILAR(x1,B))=

{DESPEJADO(B), AGARRADO(x1)}

• El estado inicial no satisface G1, así que seguimos

Page 38: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de búsqueda hacia atrás con unificación (II)

• Hacia atrás con unificación, paso 2:

• El efecto AGARRADO(x2)del operador DESAPILAR(x2,y2)

unifica con el literal AGARRADO(x1)del objetivo (y esrelevante para G1)

• Un umg es la sustitución σ2 =[x2/x1]• Por tanto, un esquema de acción relevante sería:

DESAPILAR(x1,y2)• Nuevo objetivo G2:

(G1 - efectos(DESAPILAR(x1,y2)) U precond(DESAPILAR(x1, y2))={DESPEJADO(B), SOBRE(x1,y2), DESPEJADO(x1),BRAZOLIBRE ()}

• El estado inicial satisface G2 (con la sustitución[x1/A,y2/A1] )

• Componiendo todas las sustituciones obtenemos el plan:DESAPILAR(A,A1), APILAR(A,B)

• Nota: cada vez que se considera una acción, es necesariorenombrarla con variables nuevas (estandarización)

Page 39: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda hacia atrás con heurística (con unificación)

FUNCION BUSQUEDA-HACIA-ATRÁS-H-U(ESTADO-INICIAL,OBJ, OPERADORES)Devolver BHA-H-U-REC({},{},ESTADO-INICIAL,OBJ,OPERAD ORES)

FUNCION BHA-H-U-REC(PLAN,VISITADOS,ESTADO-INICIAL,G- ACTUAL,OPERADORES)1. Si ESTADO-INICIAL satisface G-ACTUAL, devolver PLAN2. Hacer RELEVANTES igual a la lista de pares (O,SIGMA) tales que:

* O es un operador (estandarizado) de OPERADORES,relevante para ESTADO

* SIGMA es umg entre los efectos de O que hacen relevanteal operador y los correspondientes literales de G-ACTUAL

* El predecesor de ACTUAL respecto del operador no es unobjetivo con un subconjunto de literales que unifica conalguno de los objetivos VISITADOS

3. Hacer RELEVANTES-ORDENADOSigual a ORDENA-POR-HEURISTICA(RELEVANTES)

4. Para cada (O,SIGMA) en RELEVANTES-ORDENADOS4.1 Hacer G’ el objetivo predecesor de G-ACTUAL

respecto a (O,SIGMA); es decir,G’=(SIGMA(G-ACTUAL) - Efectos(SIGMA(O)))

U Precondiciones(SIGMA(O))4.2 Hacer RES igual a

BHA-H-U-REC((O,SIGMA) ·SIGMA(PLAN),VISITADOS U {G’},ESTADO-INICIAL,G’,OPERADORES)

4.3 Si RES no es FALLO, devolver RES y terminar5. Devolver FALLO

Page 40: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Heurísticas para planificación basada en espacios deestados

• Una componente fundamental para la eficiencia prácticade los anteriores algoritmos es la heurística usada paraordenar los estados o los objetivos

• Esta heurística debe estimar distancia entre estados yobjetivos (número de acciones necesarias)

• En búsqueda hacia adelante: para cada estado, distanciahasta el objetivo

• En búsqueda hacia atrás: para cada objetivo, distanciahasta el estado inicial

• Si esta estimación está por debajo del mínimo número deacciones real, diremos que la heurística es admisible

• Buscamos heurísticas independientes del dominio

• Basadas en la representación lógica de estados, objetivosy operadores

Page 41: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Heurísticas basadas en relajar del problema

• Heurísticas obtenidas relajando algunas restricciones delproblema y calculando el número de acciones necesariasen ese problema relajado

• Algunas ideas para relajar el problema:

• Ignorar las precondiciones y/o efectos negativos de losoperadores

• Suponer que cada literal de un objetivo se alcanza demanera independiente: como si el número de accionesnecesarias para alcanzar un objetivo fuera la suma delnúmero de pasos necesario para alcanzar cada literal delobjetivo

• Suponer que el número de acciones necesarias paraalcanzar un objetivo es el número de pasos máximonecesario para alcanzar uno de sus literales

• Ignorar todas las precondiciones de los operadores• Ignorar determinados predicados

Page 42: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

La heurística ∆0

• Vamos a definir a continuación una heurística ∆0 basadaen las dos primeras ideas anteriores

• Dado un estado e, un átomo p y un objetivo g que sólotiene literales positivos sin variables, definimosrecursivamente ∆0(e, p) y ∆0(e, g) de la siguientemanera:

• Si p aparece en e, ∆0(e, p) = 0• Si p no aparece en e ni en los efectos positivos de ninguna

acción, ∆0(e, p) = +∞• En otro caso, ∆0(e, p) =

minA{1 +∑

q∈precond+(A) ∆0(e, q)|p ∈ efectos+(A)}

• ∆0(e, g) =∑

p∈g ∆0(e, p)

• Notación: precond+(A) y efectos+(A) denotanrespectivamente los literales positivos de la precondición yde los efectos de una acción A

Page 43: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

La heurística ∆0 (propiedades)

• Intuitivamente:

• ∆0(e, p) cuenta el menor número de pasos necesariospara que se verifique p a partir de e, suponiendo que lasacciones no tienen precondiciones negativas ni efectosnegativos

• ∆0(e, g) es la suma de las anteriores estimaciones paracada átomo p ∈ g

• Nótese que en general, la estimación que realiza ∆0 no esadmisible

• Aunque en cualquier caso puede funcionar bien en lapráctica

• Y además no la usaremos con A∗, sino con búsqueda enprofundidad

• Dado un e, los valores ∆0(e, p) para cada átomo p sepueden calcular con un algoritmo similar al algoritmo decaminos mínimos de Dijkstra

Page 44: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Usando la heurística ∆0 en las búsquedas (I)

• En la búsqueda hacia adelante:

• A cada acción A aplicable al estado actual se le asigna elvalor heurístico ∆0(e, g+), donde g+ es el conjunto deliterales positivos del objetivo y e el estado que resulta alaplicar la acción A

e

e

0

g+

(e,g+)

0

Page 45: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Usando la heurística ∆0 en las búsquedas (II)

• En la búsqueda hacia atrás:

• A cada acción A relevante respecto del objetivo actual se leasigna el valor ∆0(e0, g+), donde e0 es el estado inicial, ges el predecesor correspondiente a la acción A y g+ es elconjunto de literales positivos de g

g

g

0

e

(e ,g+)

0

0

0

Page 46: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Usando la heurística ∆0 en las búsquedas (III)

• En el caso de que haya variables en los objetivos:

• Si p es un átomo con variables, ∆0(e, p) se define como elmínimo de entre todos los ∆0(e, σ(p)), siendo σ(p)instancia sin variables de p

• Si g es un objetivo con variables, ∆0(e, g) es la suma de∆0(e, p) para cada literal positivo p de g

Page 47: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planes parcialmente ordenados

• Recordar: en el tema anterior se han visto algoritmos pararesolver problemas de planificación que hacen búsquedaen el espacio de los estados

• Vemos ahora una aproximación a la búsqueda de planestotalmente diferente a las búsqueda en el espacio de losestados:

• En lugar de buscar en el espacio de estados o de objetivos,se busca en un espacio de planes, no completamenteespecificados (planes parcialmente ordenados)

• Plan parcialmente ordenado: un plan en el que sólo seespecifican algunas de las precedencias entre susacciones

Page 48: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: aprobar IA1

• Lenguaje:

• Objetos: IA1 , ETSII , CASA• Predicado: EN(-) , ESTUDIADO(-) , APROBADO(-)

• Estado inicial:EN(CASA)

• Objetivo:EN(CASA), APROBADO(IA1)

• Acciones:IR(x,y) ESTUDIAR(x) EXAMINARSE-CON-EXITO(x)P: EN(x) P: {} P: EN(ETSII), ESTUDIADO(x)E: -EN(x),EN(Y) E: ESTUDIADO(x) E: APROBADO(x)

• Descartaremos acciones del tipo IR(x,x)

Page 49: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo de plan parcial

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

Page 50: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planes parcialmente ordenados: componentes (I)

• Nodos: Acciones, que constituyen los pasos que el planlleva a cabo, de entre los operadores del problema, cadauna con sus precondiciones y efectos

• Dos acciones especiales: INICIO (sin precondiciones ycuyo efecto es el estado inicial) y FIN (sin efectos y cuyasprecondiciones son el objetivo final)

• Arcos: restricciones de orden A ≺ B entre acciones delplan

A B

(continúa...)

Page 51: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planes parcialmente ordenados: componentes (II)

• Un caso particular de arcos: enlaces causales, Ap→ B,

especificando la consecución, por parte de una acción, deuna de las precondiciones de otra acción del plan (llevaimplícita una restricción de orden)

AGARRAR(A) APILAR(A,B)AGARRADO(A)

• Un conjunto de precondiciones abiertas: aquellas que aúnno tienen enlaces causales que las consigan

Page 52: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planes parciales inicial y final

• Plan parcial inicial: plan cuyas únicas acciones son INICIOy FIN, con la restricción INICIO ≺ FIN, sin enlacescausales y con todas las precondiciones de FIN abiertas

• Planes parciales finales: planes parciales sin conflictosentre los enlaces causales, sin ciclos entre lasrestricciones de orden y sin precondiciones abiertas

• Una acción C entra en conflicto con (o amenaza) un enlacecausal A

p→ B, si C tiene a ¬p en su lista de efectos y

según las restricciones de orden, C podría ir después de Ay antes que B

Page 53: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplos de planes parciales

• Ejemplo de plan parcial inicial:

INICIO FIN

• Ejemplo de plan parcial final:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

Page 54: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Secuenciaciones de planes parciales solución

• Secuenciación de un plan parcial: colocar las accionesuna detrás de otra, sin contradecir ninguna restricción deorden que se deduzca del plan parcial

• Punto clave: cualquier secuenciación de un plan parcialsolución supone una solución al problema original

• En el ejemplo, dos posibilidades (ambas soluciones alproblema original):

ESTUDIAR(IA1) IR(CASA,ETSII) E−C−E(IA1) IR(ETSII,CASA)

IR(ETSII,CASA)E−C−E(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

Page 55: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planificación como búsqueda en el espacio de planes• ¿Cómo diseñar un algoritmo para encontrar planes

parciales finales?• Idea POP: comenzar en el plan inicial y aplicar

transformaciones u operadores a los planes parciales,refinándolos

• Básicamente, estas transformaciones consisten en resolverprecondiciones abiertas o resolver amenazas

• En cada punto habrá varias alternativas de refinamiento, yno todas conducen hacia un plan parcial final

• Problema: encontrar la secuencia de refinamiento quepartiendo del plan parcial inicial, llegue a un plan parcialsolución (es decir, sin ciclos, sin amenazas y sinprecondiciones abiertas)

• ¡Es una búsqueda en espacios de estados!

• Pero ahora los estados son los planes parciales y losoperdores son los refinamientos

Page 56: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Convenios en la representación gráfica del ejemplo, porclaridad en la misma:

• Algunas restricciones de orden no aparecerán, enparticular la asociadas a enlaces causales

• Las precondiciones y efectos no aparecerán. En particular,no aparecerán las precondiciones abiertas

• Cuando una acción no tenga precondiciones abiertas, éstaaparecerá sombreada

• Paso 1: plan inicial

INICIO FIN

• Precondiciones abiertas: APROBADO(IA1), EN(CASA);vamos a resolver primero APROBADO(IA1)

• Una única posibilidad: acción nuevaEXAMINARSE-CON-EXITO(IA1)

Page 57: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 2:INICIO E−C−E(IA1) FIN

APROBADO(IA1)

• Resolvemos ahora la precondición EN(CASA) de FIN• Dos posibilidades: INICIO ó acción nueva IR(ETSII,CASA)• Consideraremos la primera de ella en primer lugar,

intentando la segunda en caso de fallo• Cuando se usa (para cerrar una precondición) una acción

que ya está en el plan, se denomina establecimiento simple

Page 58: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 3:

EN(CASA)INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

• Resolvemos ahora la precondición EN(ETSII) deEXAMINARSE-CON-EXITO(IA1)

• Sólo una posibilidad: acción nueva IR(CASA,ETSII)

Page 59: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 4:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

• Aparece una amenaza: de IR(CASA,ETSII) sobre el enlacecausal entre INICIO y FIN

• Intentamos resolver la amenaza• obligando a que IR(CASA,ETSII) vaya después de FIN

(promoción), o bien• obligando a que IR(CASA,ETSII) vaya antes que INICIO

(degradación)

Page 60: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Pero en ambos casos, se crearía un ciclo:

• Promoción:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

• Degradación:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

Page 61: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Por tanto, hay FALLO y hemos de retroceder al anteriorpunto de alternativa, que estaba en el paso 2

• Y elegir la otra alternativa: acción nueva IR(ETSII,CASA)para resolver la precondición EN(CASA) de FIN

• Paso 5:

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

• Elegimos ahora la precondición ESTUDIADO(IA1) deEXAMINARSE-CON-EXITO(IA1)

• La única posibilidad para resolverla es acción nuevaESTUDIAR(IA1)

Page 62: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 6:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

ESTUDIADO(IA1)

• Elegimos ahora la precondición EN(ETSII) deEXAMINARSE-CON-EXITO(IA1)

• La única posibilidad para resolverla es acción nuevaIR(CASA,ETSII)

Page 63: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 7:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

• Ahora existen amenazas : por ejemplo, de IR(ETSII,CASA)sobre el enlace causal entre IR(CASA,ETSII) yEXAMINARSE-CON-EXITO(IA1)

• Intentamos resolver esa amenaza por degradación; si nodiera resultado, intentamos promoción

Page 64: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Paso 8 (degradación):

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

• Otra amenaza: de IR(CASA,ETSII) sobre el enlace causalentre IR(ETSII,CASA) y FIN

• Intentamos resolver la amenaza por promoción o pordegradación

Page 65: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Pero en ambos casos, se crearía un ciclo:

• Promoción:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

• Degradación:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

Page 66: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Por tanto, hay FALLO

• Hemos de retroceder al anterior punto de ramificación(paso 7), y elegir la otra alternativa: resolver la amenaza deIR(ETSII,CASA) sobre el enlace causal entreIR(CASA,ETSII) y EXAMINARSE-CON-EXITO(IA1),mediante promoción

• Paso 9:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

Page 67: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Elegimos ahora la precondición EN(ETSII) deIR(ETSII,CASA)

• Dos alternativas: establecimiento simple conIR(CASA,ETSII) o acción nueva con IR(CASA,ETSII).

• Elegimos la primera, reconsiderándolo si fuera necesario

• Paso 10:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

Page 68: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Elegimos la precondición EN(CASA) de IR(CASA,ETSII)

• Tres alternativas: establecimiento simple con INICIO,establecimiento simple con IR(ETSII,CASA) o acción nuevacon IR(ETSII,CASA).

• Elegimos la primera, reconsiderándolo si fuera necesario

• Paso 11 (Plan parcial final):

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

Page 69: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP para el ejemplo de aprobar IA1

• Finalmente, secuenciamos (dos posibilidades):

ESTUDIAR(IA1) IR(CASA,ETSII) E−C−E(IA1) IR(ETSII,CASA)

IR(ETSII,CASA)E−C−E(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

Page 70: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Planificación de orden parcial: búsqueda

• Como se ha visto en el ejemplo anterior, es posibleplantear un algoritmo de planificación como una búsqueda

• Es decir, como búsqueda de una secuencia de operadoresde refinamiento de planes que a partir del plan inicialobtiene un plan parcial final

• Un algoritmo POP es simplemente un algoritmo que aplicaun algoritmo de búsqueda (en profundidad, por ejemplo)en el espacio de los planes parciales

Page 71: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Búsqueda POP para el ejemplo de aprobar IA1

1

23

4

FALLO

5

6

7

8

FALLO

9

10

11

SOLUCION

INICIO FIN

INICIO E−C−E(IA1) FINAPROBADO(IA1)

EN(CASA)INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

Page 72: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Operadores en la búsqueda (refinamiento de planesparciales)

• Resolución de precondiciones abiertas: dada unaprecondición abierta p de una acción B del plan, por cadaacción A que tiene a p como efecto, se puede obtener unplan sucesor (refinar) aplicando alguno de los siguientespasos (siempre que el plan resultante no tenga ciclos):

• Establecimiento simple: si la acción A ya aparece en el

plan, añadir la restricción A ≺ B y el enlace causal Ap→ B

• Acción nueva: si la acción A no aparece ya en el plan,añadir la acción al plan, las restricciones A ≺ B, INICIO≺ A y A ≺ FIN, y el enlace causal A

p→ B (es posible

incluso introducir como nueva una acción igual a una queya estuviera)

Page 73: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Operadores (refinamiento de planes parciales)

• Resolución de conflictos: dado un conflicto entre el enlacecausal A

p→ B y la acción C, se puede obtener un plan

sucesor aplicando alguno de los siguientes pasos(siempre que el plan resultante no tenga ciclos):

• Añadir la restricción B ≺ C (promoción)• O añadir la restricción C ≺ A (degradación)

Page 74: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

POP como búsqueda• Arbol de búsqueda:

• Nodos: planes parciales• Ramificación por la elección de acciones que resuelven

precondiciones abiertas• Ramificación por las dos maneras de resolver las

amenazas (promoción y degradación)

• No es necesario considerar un sucesor por cadaprecondición abierta del plan, ni por cada amenazaexistente, basta considerarlas en pasos posteriores,siguiendo un orden dado

• Aunque el orden en que se haga esto sí influye en laeficiencia de la búsqueda

• La búsqueda en profundidad podría entrar en una ramainfinita

• Por eso hemos de hacer una búsqueda acotada (por unnúmero máximo de acciones en el plan)

Page 75: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP (versión recursiva)

FUNCION POP(ESTADO-INICIAL,OBJ,OPERADORES,COTA)1. Hacer POP-REC(PLAN-INICIAL(ESTADO-INICIAL,OBJ),OPE RADORES,COTA)

FUNCION POP-REC(PLAN,OPERADORES,COTA)1. Si PLAN es final, devolver SECUENCIACION(PLAN) y termina r.2. Si existe en PLAN una amenaza de la acción C sobre A --p-->B,

entonces2.1 Sean PLANPR obtenido de PLAN mediante promoción

en la amenaza anterior2.2 Si PLANPR tiene ciclos, sea RESULTADO igual a FALLO;

en caso contrario,sea RESULTADO igual a POP-REC(PLANPR,COTA).

2.3 Si RESULTADO no es FALLO, devolver RESULTADO y terminar;en otro caso:2.3.1 Sea PLANDEG obtenido de PLAN mediante

degradación en la amenaza anterior2.3.2 Si PLANDEG tiene ciclos, sea RESULTADO igual a FALLO;

en caso contrario,sea RESULTADO igual a POP-REC(PLANDEG,COTA).

2.3.3 Devolver RESULTADO y terminar.

(continúa...)

Page 76: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Algoritmo POP (versión recursiva, cont.)

3. Sea P una precondición abierta en PLAN4. Para cada acción A de OPERADORES (nueva o ya existente)

que tiene a P como efecto, hacer:4.1 Hacer PLANEXT el resultado de cerrar la precondición P

en PLAN mediante un enlace causal con A(si fueran acción nueva, añadir también la acción al PLAN)

4.2 Si PLANEXT no tiene ciclos y un número de accionesmenor o igual que COTA, entonces:

4.2.1 Sea RESULTADO igual POP-REC(PLANEXT,OPERADORES,COTA)4.2.2 Si RESULTADO no es FALLO, devolver RESULTADO y termina r

5. Devolver FALLO

Page 77: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

POP: algunas consideraciones

• Hemos presentado una versión simplificada del algoritmo.Falta:

• Uso de unificación• Algunas variables podrían quedar sin instanciar (principio

de mínimo compromiso)• Restricciones de desigualdad

• El algoritmo es correcto y completo (siempre que se tomeuna cota suficientemente grande)

• El pseudocódigo presentado resuelve primero lasamenazas que las precondiciones abiertas, pero nonecesariamente tiene que ser así

• Ni tampoco necesariamente hay que intentar primeropromoción y luego degradación

Page 78: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

POP: uso de heurísticas

• Es difícil estimar la “cercanía” de un plan parcial a unasolución

• Hay determinadas elecciones en el algoritmo que, bientomadas, pueden influir positivamente en la eficiencia:

• En cada paso, ¿qué amenaza o qué precondición abiertase refina?

• Si se elige cerrar una precondición ¿en qué orden seintentan las acciones que la cierran?

• Si se elige arreglar una amenaza ¿en qué orden se intentapromoción y degradación?

Page 79: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

POP: algunas heurísticas

• Heurística para seleccionar el siguiente paso derefinamiento

• Seleccionar la amenza o precondición abierta que puedeser resuelta con el menor número de alternativas

• Recuérdese que una amenaza tiene dos posiblesalternativas de refinamiento

• Y una precondición abierta, tantas como acciones (nuevaso ya existentes) la tengan como efecto

• Heurística para el orden de las acciones que cierran unaprecondición abierta

• Ordenarla por el tamaño de sus listas de precondición (nomuy buena)

• Usar el grafo de planificación

Page 80: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

La anomalía de Sussman

• Problema de planificación que mostraba las carencias delos primeros algoritmos de planificación (años 70):

A

Estado inicial Estado final

C

A B

B

C

• Estados:Estado inicial = { SOBRELAMESA(A), SOBRELAMESA(B),

DESPEJADO(B), DESPEJADO(C), BRAZOLIBRE(), SOBRE(C,A) }Objetivo = {SOBRE(A,B), SOBRE(B,C) }

Page 81: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

La anomalía de Sussman

• La anomalía de Sussman fue un ejemplo pionero quemostraba que planificar no era una tarea trivial

• Por ejemplo, un planificador que primero buscara unsubplan solución para el primer literal del objetivoSOBRE(A,B) y a continuación le concatenara una soluciónpara SOBRE(B,C) sería fallido

• Ya que el segundo subplan desharía lo conseguido por elprimero

• Fue un ejemplo que señalaba la no conveniencia de losplanificadores no entrelazados (como el planificadorSTRIPS)

Page 82: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Veremos cómo la planificación de orden parcial resuelve laanomalía de Sussman

• Nota importante: por simplificar la presentación, en cadamomento escogeremos los operadores de refinamientoadecuados

• Es decir, nuestra “búsqueda” no tendrá fallos, aunque en lapráctica esto es irreal

• También por simplificar, a veces se aplicarán varios pasosde una vez

Page 83: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Plan inicial:

INICIO FIN

• Resolver la precondición sobre(A,B) de FIN mediante laacción nueva APILAR(A,B) (es la única opción):

INICIO FINAPILAR(A,B)sobre(A,B)

Page 84: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Resolver la precondición sobre(B,C) de FIN mediante laacción nueva APILAR(B,C) (es la única opción):

FINAPILAR(A,B)sobre(A,B)

INICIO

APILAR(B,C)

sobre(B,C)

Page 85: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Resolver la precondición agarrado(B) de APILAR(B,C)mediante la acción nueva AGARRAR(B)

• También se podría usar DESAPILAR, opción que habríaque considerar si la elección realizada fallara (búsqueda)

APILAR(A,B)sobre(A,B)

INICIO

APILAR(B,C)

sobre(B,C)

AGARRAR(B) agarrado(B)

FIN

Page 86: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Resolver la precondición agarrado(A) de APILAR(A,B)mediante la acción nueva AGARRAR(A)

• Como en el caso anterior, también se podría usarDESAPILAR (explorar mediante búsqueda)

APILAR(B,C)AGARRAR(B) agarrado(B)

FIN

sobre(B,C)

sobre(A,B)APILAR(A,B)

INICIO

AGARRAR(A)agarrado(A)

Page 87: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Resolver la precondición despejado(A) de AGARRAR(A)mediante la acción nueva desapilar(C,A):

APILAR(B,C)AGARRAR(B) agarrado(B)

FIN

sobre(B,C)

sobre(A,B)APILAR(A,B)AGARRAR(A)

agarrado(A)

INICIO

DESAPILAR(C,A)

despejado(A)

Page 88: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Resolver la precondición brazolibre de AGARRAR(B)mediante la acción nueva bajar(C) (existen más opciones):

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

INICIO

DESAPILAR(C,A)

despejado(A)

AGARRAR(B)agarrado(B)

APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

Page 89: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP• Usar la acción INICIO para, mediante establecimiento

simple, resolver todas las precondiciones deDESAPILAR(C,A) (existen otras opciones):

• El enlace causal entre INICIO y DESAPILAR(C,A) queasegura despejado(C), se ve amenazado porAPILAR(B,C): resolver mediante promoción (única opción),colocando la restricción de que APILAR(B,C) debe ir trasDESAPILAR(C,A)

�������������������������������������������������

�������������������������������������������������

��������������������������������������������������������������������������������

��������������������������������������������������������������������������������

��������������������������������������������������������

��������������������������������������������������������

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B)agarrado(B)

APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

Page 90: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• Usar la acción INICIO para, mediante establecimientosimple, resolver las restantes precondiciones deAGARRAR(B); igualmente mediante establecimientosimple, usar DESAPILAR(C,A) para resolver laprecondición agarrado(C) de BAJAR(C)

• El enlace causal entre BAJAR(C) y AGARRAR(B) queasegura brazolibre, se ve amenazado por AGARRAR(A):resolver mediante promoción, colocando la restricción deque AGARRAR(A) debe ir tras AGARRAR(B)

• De esta manera, también se resuelve la amenaza deAPILAR(A,B) al enlace causal entre INICIO yAGARRAR(B), ya que la anterior restricción implica queAPILAR(A,B) ocurre después de AGARRAR(B)

Page 91: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B) APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

agarrado(C)

sobrelamesa(B)despejado(B)

agarrado(B)

Page 92: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP• Las restantes condiciones abiertas se pueden resolver

mediante establecimiento simple, como indica la figura

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B) APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

agarrado(C)

sobrelamesa(B)despejado(B)

agarrado(B)

despejado(C)

despejado(B)

sobrelamesa(A)

brazolibre

Page 93: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Anomalía de Sussman en POP

• El plan parcial resultante es una solución: no tieneconflictos, no tiene ciclos y no hay precondiciones abiertas

• Secuenciación del plan:

B

A C A CB

CB

A

BCA

DESAPILAR(C,A) BAJAR(C) AGARRAR(B) APILAR(B,C) AGARRAR(A) APILAR(A,B)

B A

C

A CB CBA

• Nótese que se intercalan los pasos necesarios parasolucionar los dos objetivos originales

Page 94: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo de planificación (introducción)

• Vemos ahora una técnica distinta de las anteriores,basada en lo que llamamos el grafo de planificación de unproblema

• A medio camino entre la búsqueda en espacio de estadosy la búsqueda en el espacio de planes

• El grafo de planificación es un grafo por niveles

• En cierto modo representa un espacio de estados obtenidorelajando alguna restricciones del problema original

• Unión de los estados de un árbol de búsqueda que estánen el mismo nivel

Page 95: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo de planificación (introducción)

• Es un grafo dividido en niveles. En cada nivel hay doscapas: una capa para acciones y otra para literales

• En cada nivel además se marcarán una serie deemparejamientos entre acciones y emparejamientos entreliterales indicando exclusión mutua

• Lo que llamamos enlaces mutex: no pueden ocurrir a lavez

Page 96: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo de planificación (representación gráfica)

estadoinicial

enlacesmutex

L(0) L(i−1) L(i)

literales

precondiciones

persistencias

efectosacciones

A(i)

Page 97: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo de planificación• En el nivel 0 del grafo, se encuentran los literales que son

ciertos en el estado inicial• En el nivel i , en la capa de acciones, las acciones que

podrían realizarse gracias a que sus precondiciones estánen el nivel i − 1 (sin ser excluyentes entre sí)

• En el nivel i , en la capa de literales , los literales quepodrían ser ciertos en ese momento, ya que son efectosde las acciones de ese nivel

• Además, todo literal que aparezca en el nivel i − 1,aparece también en el nivel i , para tener en cuenta que unliteral podría persistir, si no se ejecuta ninguna acción quelo cambie

• Esto encaja mejor dentro del marco general si admitimosacciones ficticias de persistencia: la acción de persistenciade un literal es una acción que lo tiene como únicaprecondición y como único efecto

Page 98: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Ejemplo: problema de la cena (D. Weld)

• Supongamos que una persona quiere preparar una cenade aniversario a su esposa, que está dormida

• Predicados: MANOSLIMPIAS, CENA, REGALO, SILENCIO ,BASURA

• Estado inicial:BASURA, MANOSLIMPIAS, SILENCIO

• Objetivo:CENA, REGALO, -BASURA

• Acciones:COCINAR() ENVOLVER() SACARBASURA() TRITURADORA()P: MANOSLIMPIAS P: SILENCIO P: {} P: {}E: CENA E: REGALO E: -BASURA,-MANOSLIMPIAS E: -BASURA,-SIL ENCIO

Page 99: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo para el problema de la cena: primer nivel

sacarbasura

triturar

cocinar

envolver

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

−silencio

cena

regalo

L(0) A(1) L(1)

• Faltan los enlaces mutex: ¿qué acciones no puedenhacerse a la vez?

Page 100: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Exclusiones mutuas entre acciones y entre literales

• Casos de exclusión mutua entre dos acciones

• Interferencia: Un efecto de una niega una precondición dela otra

• Efectos inconsistentes: un efecto de una es la negación deun efecto de otra

• Necesidades que compiten: tienen precondiciones que seexluyen mutuamente

• Casos de exclusión mutua entre dos literales

• Soporte inconsistente: uno es la negación del otro• Efectos excluyentes: cualquier par de acciones que los

producen son mutuamente excluyentes

• Nótese la definición mutuamente recursiva, que nos sirvepara propagar los enlaces mutex desde la capa de literalesa la de acciones del siguiente nivel y de ahí a la deliterales de ese nivel, etc.

Page 101: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo problema de la cena: enlaces mutex del primernivel

• En el nivel 1 de acciones:• COCINARes mutex con SACARBASURA, por interferencia• TRITURARes mutex con ENVOLVER, por interferencia• Los demás enlaces mutex son por efectos inconsistentes

entre una acción ordinaria y otra de persistencia

• En el nivel 1 de literales:• -SILENCIO es mutex con REGALO, debido al mutex entre

TRITURARy ENVOLVER• -MANOSLIMPIAS es mutex con CENA, debido al mutex entre

COCINARy SACARBASURA• El resto de enlaces mutex son entre literales opuestos• Nota: por ejemplo, -BASURAno es mutex con CENA, ya que

aunque hay una pareja de acciones mutex que las produce(SACARBASURAy COCINAR), hay otra pareja de accionesque no son mutex que también las produce (TRITURARyCOCINAR)

Page 102: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo problema de la cena: primer nivel y enlacesmutex

sacarbasura

triturar

cocinar

envolver

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

−silencio

cena

regalo

L(0) A(1) L(1)

Page 103: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

El algoritmo GRAPHPLAN: descripción informal

• El grafo del problema de planificación proporciona unaherramienta fundamental para diseñar un nuevo algoritmode planificación. Idea:

• Desarrollar el grafo del problema incrementalmente (encada iteración, expandir al nivel siguiente)

• Para cada nivel, se comprueba si todos los literales delobjetivo aparecen en el último nivel (sin enlaces mutexentre ellos)

• Si no aparecen, pasar a la siguiente iteración (siguientenivel)

• Si aparecen, intentar extraer una solución a partir del grafo;si se tiene éxito, se devuelve el plan extraido y se termina

• Si no se tiene éxito en la extracción, pasar al siguiente nivel• El algoritmo termina cuando se extrae un plan con éxito o

bien cuando se obtiene un nivel del grafo en el que noaparece nada nuevo respecto del anterior

Page 104: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

El algoritmo GRAPHPLAN: pseudocódigo

FUNCION GRAPHPLAN(ESTADO-INICIAL,OBJETIVO,OPERADORES)1. Crear L(0), la capa 0 de literales del grafo,

formada con el ESTADO-INICIAL2. Hacer i=03. REPETIR

3.1 Si en L(i) están los literales de OBJETIVOsin enlaces mutex entre ellos:

3.1.1 Sea RES el resultado de extraer un plandel grafo de planificación.

3.1.2 Si RES no es FALLO, devolver RES y terminar3.2 Hacer i=i+13.3 Crear A(i), la capa i-ésima de acciones del grafo,

con las acciones (incluyendo persistencias) cuyasprecondiciones están en L(i-1) sin enlaces mutexentre ellas. Crear también los enlaces mutex de A(i).

3.4 Crear L(i), la capa i-ésima de literales del grafo,con los efectos de las acciones de A(i).

Crear también los enlaces mutex de L(i)3.5 Conectar con enlaces cada acción de A(i) con sus

precondiciones en L(i-1) y con sus efectos en L(i)HASTA que A(i), L(i) es igual

a A(i-1),L(i-1) (incluyendo mutex)5. Devolver FALLO

Page 105: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Extracción de planes en el algoritmo GRAPHPLAN

• Es el proceso que se realiza en cada iteración en la queaparecen en el último nivel todos los literales del objetivo(sin mutex)

• Para ello se hace una búsqueda hacia atrás en el grafo:

• Para cada subconjunto de literales en un nivel, buscar ensu capa de acciones un subconjunto de acciones (reales ode persistencia) que los tienen como efectos, con larestricción de que entre esas acciones no puede haberenlaces mutex

• Para cada subconjunto de acciones en un nivel, buscar enla capa de literales del nivel anterior un subconjunto deliterales que cumplen sus precondiciones, con la restricciónde que entre esos literales no puede haber enlaces mutex

• Esta búsqueda hacia atrás requiere backtracking, ya quepara cada nivel hay que intentar todas las posiblessubconjuntos, tanto de acciones como de literales

Page 106: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Problema de la cena: intento de extrer solución, nivel 1• En el nivel 1 del grafo anterior aparecen los literales del

objetivo: CENA, REGALO, -BASURA, sin enlaces mutex• Hay dos subconjuntos de acciones que los tiene como

efectos: {SACARBASURA, COCINAR, ENVOLVER} y {TRITURAR,

COCINAR, ENVOLVER}

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

−silencio

cena

regalo

L(0) A(1) L(1)

sacarbasura

triturar

cocinar

envolver

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

−silencio

cena

regalo

L(0) A(1) L(1)

sacarbasura

triturar

cocinar

envolver

• Pero ambos tienen un par de acciones mutex• Por tanto, no es posible extraer una solución en este nivel y

hay que expandir grafo

Page 107: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Grafo problema de la cena: segundo nivel

triturar

envolver

sacarbasura sacarbasura

triturar

cocinarcocinar

envolver

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

cena

regalo

L(0) A(1) L(1)

basura

−basura

−manoslimpias

cena

regalo

−cena

−regalo

manoslimpias

silencio

−silencio −silencio

Page 108: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Problema de la cena: extracción de una solución, nivel2

−regalo

−cena

manoslimpias

silencio

−regalo

manoslimpias

silencio

−cena

basura basura

−basura

−manoslimpias

cena

regalo

L(0) A(1) L(1)

basura

−basura

−manoslimpias

cena

regalo

−cena

−regalo

manoslimpias

silencio

−silencio −silencio

sacarbasura

triturar

cocinar

envolver

sacarbasura

triturar

cocinar

envolver

Page 109: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Problema de la cena: extracción de una solución

• Importante: la solución obtenida es el resultado de unproceso de búsqueda entre las distintas alternativas desubconjuntos (de acciones y literales) en cada capa

• Solución extraida:

• Nivel 1: COCINARy persistencia de SILENCIO• Nivel 2: SACARBASURA, ENVOLVERy persistencia de CENA

Page 110: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Problema de la cena: extracción de una solución

• Nótese que:

• Una vez extraida la solución, las acciones de persistenciase pueden ignorar

• Dentro de cada nivel, las acciones se pueden efectuar encualquier orden (ya que no son mutex)

• En realidad, se trata de un plan parcial, ya que no seespecifica el orden entre las acciones de un mismo nivel

• Soluciones al problema original:

• COCINAR, SACARBASURA, ENVOLVER• COCINAR, ENVOLVER, SACARBASURA

Page 111: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Propiedades de GRAPHPLAN (I)

• Propiedad 1: si hay una solución al problema de nivel k ,todos los literales del objetivo aparecen en el nivel k delgrafo

• Es una propiedad necesaria pero no suficiente: por eso laextracción de la solución puede fallar y hay que seguiriterando

• Propiedad 2: el proceso de expansión siempre alcanza unpunto fijo

• Conclusión: GRAPHPLAN es correcto, completo y siempretermina

Page 112: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Propiedades de GRAPHPLAN (II)

• Complejidad:• Importante: el grafo se puede construir en tiempo

polinomial• La exponencialidad la aporta la extracción de soluciones

(es una búsqueda)

• Pero como sólo se busca en el grafo, el espacio de losestados suele ser más pequeño que en las búsquedas enel espacio de los estados, y por tanto funciona mejor en lapráctica

Page 113: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

El grafo de planificación como heurística

• La información generada en la construcción del grafo deplanificación (sin extraer solución), puede ser usada paraheurísticas que se usen en algoritmos de búsqueda en elespacio de estados

• El primer nivel del grafo en el que aparece un literal es unaestimación de la distancia entre el estado incial y el literal

• Lo llamamos coste de nivel del literal

• Para objetivos con varios literales, varias posibilidades:

• El máximo de sus costes de nivel: admisible pero no muyinformada

• La suma de sus costes de nivel: en general no admisible,pero más precisa

• El primer nivel en el que aparecen todos sin enlaces mutex:admisible

Page 114: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Otras aproximaciones a la planificación

• SATPLAN, uso de técnicas basadas en lógicaproposicional

• Planificación como PSR

• Planificación con recursos limitados

• Planificación con tiempo explícito

• Planificación mediante descomposición jerárquica

• Planificación en entornos con incertidumbre

• Ejecución del plan: vigilancia y replanificación

• Planificación continua

• Planificación multiagente

Page 115: Tema 8: Planificaci n - Dpto. Ciencias de la Computación ...determinado estado inicial. • Plan: secuencia de acciones que consiguen el objetivo • Aplicaciones del mundo real:

Introducción El formalismo PDDL Búsqueda hacia adelante Búsqueda hacia atrás Heurísticas para planificación Planificación de

Bibliografía

• Russell, S. y Norvig, P. Artificial Intelligence (A ModernApproach) (Prentice–Hall, 2010). Third Edition

• Cap. 10: “Planning”.

• Russell, S. y Norvig, P. Inteligencia Artificial (un enfoquemoderno) (Pearson Educación, 2004). Segunda edición)

• Cap. 11: “Planificación”.

• Ghallab M., Nau D. y Traverso P. Automated Planning:theory and practice (Elsevier, 2004)

• Sec. 2.3 “Classical representation”.• Cap. 4 “State space planning”.• Cap. 5 “Plan space planning”.• Cap. 6 “Planning-graph techniques”.• Cap. 9 “Heuristics in planning”.