tema-08.pdf

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, 2011

description

Inteligencia artificial

Transcript of tema-08.pdf

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Tema 8: Planificacin

    Jos Luis Ruiz Reina

    Departamento de Ciencias de la Computacin e Inteligencia ArtificialUniversidad de Sevilla

    Inteligencia Artificial I, 2011

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    ndice

    Introduccin

    El formalismo PDDL

    Bsqueda hacia adelante

    Bsqueda hacia atrs

    Heursticas para planificacin

    Planificacin de orden parcial: POP

    Grafo de planificacin: GRAPHPLAN

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planificacin 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:

    Robtica Fabricacin mediante ensamblado de componentes Misiones espaciales

    Planning vs Scheduling Planning se refiere a la secuenciacin de acciones para

    conseguir un objetivo y Scheduling pone ms nfasis en lautilizacin eficiente de los recursos disponibles, por partede las acciones

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    El problema de la planificacin en IA Posibles cuestiones a abordar:

    Representacin del mundo y de las acciones que lotransforman

    Algoritmos de bsqueda de planes Minimizar los recursos consumidos por el plan Tiempo en el que se realiza cada accin Monitorizar la ejecucin del plan, revisndolo en caso de

    errores o contingencias Por simplificar, en este tema supondremos:

    Un nmero finito de estados Completamente observables Acciones deterministas, totalmente definidas por su

    especificacin Tiempo implcito: los acciones actan sin duracin La planificacin se realiza a priori Hiptesis del mundo cerrado

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planificacin y bsqueda en espacio de estados Problema abordable con bsqueda en espacio de estados,

    pero en problemas de escala real hay que abordaradems:

    Descripcin de los estados en el mundo realextremadamente compleja

    Gran cantidad de posibles acciones, muchas de ellasirrelevantes para la consecucin del objetivo final

    Las acciones slo cambian una pequea porcin delmundo (el problema del marco)

    Necesitamos heursticas independientes del dominio La necesidad de una accin puede detectarse sin

    necesidad de que se haya decidido las acciones previas(compromiso mnimo)

    A veces es aconsejable descomponer en subproblemasms simples

    Idea: usar la lgica para representar estados, acciones yobjetivos, y algoritmos que operan sobre estarepresentacin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo: el mundo de los bloques

    Ejemplo clsico en planificacin. Elementos que intervienen:

    Una superficie plana. Una serie de bloques cbicos. 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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Formalismo lgico: el lenguaje PDDL Un lenguaje para representar problemas de planificacin:

    Constantes: objetos del mundo (en maysculas) Variables para representar cualquier objeto (en minsculas) Smbolos de predicados (para expresar propiedades de los

    objetos) Smbolos de acciones (para representar operadores)

    Terminologa: Atomos: frmulas de la forma P(o1, . . . , on), donde P es

    un smbolo de predicado y cada oi es una constante o unavariable (no hay smbolos de funcin)

    Literales: tomos o negacin de tomos (usaremos elsmblo - para la negacin)

    Atomos y literales cerrados: sin variables Estados: conjuncin de tomos cerrados

    Hiptesis del mundo cerrado: los tomos que no semencionan se suponen falsos

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Representacin de estados en el mundo de losbloques

    Descripcin de un estado:

    C A

    B

    D

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

    Predicados lgicos usados en esta representacin:DESPEJADO(x), el bloque x est despejado.BRAZOLIBRE(), el brazo no agarra ningn 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.

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Representacin de objetivos

    Objetivos: descripcin de los estados finales. Los objetivos se representan como conjuncin de literales

    (con posibilidad de usar variables) Las variables en los objetivos se interpretan como

    existencialmente 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 es

    un clculo meramente simblico

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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) es

    satisfecho por el estado 1 y por el estado 2 SOBRE(x,A), DESPEJADO(x), BRAZOLIBRE() es

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

    pero s por el estado 2 El objetivo SOBRE(x,A), -SOBRE(C,x) es satisfecho por el

    estado 1 pero no por el estado 2

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Descripcin de esquemas de acciones (operadores)

    Para intentar solucionar el problema del marco, slo seespecifica lo que cambia por la accin del operador.

    Un operador se describe mediante: Su nombre y todas las variables involucradas:

    O(x1, . . . , xn) Precondicin: lista de literales que deben cumplirse para

    poder aplicar la accin. Efectos: lista de literales que indica los cambios que se

    producirn cuando se aplique.

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Descripcin de esquemas de acciones (operadores)

    En la lista de efectos distinguimos: Efectos positivos (o lista de adicin): tomos que pasarn a

    ser ciertos Efectos negativos (o lista de borrado): tomos que dejarn

    de ser ciertos El uso de variables hace que un operador usualmente

    represente un esquema de accin: Por cada manera de sustituir las variables de un operador

    por constantes, tenemos una accin concreta (unainstancia del operador)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Aplicabilidad de un operador

    Un operador es aplicable a un estado si ste satisface suprecondicin

    Si aparecen variables en la precondicin, la aplicabilidad sedefine respecto de la sustitucin usada para satisfacer laprecondicin

    Por abreviar, a veces la sustitucin usada aparecerimplcita al hablar del operador

    Por ejemplo, hablaremos de DESAPILAR(A,B) parareferirnos a DESAPILAR(x,y) con la sustitucin [x/A,y/B]

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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Resultado de aplicar de un operador

    El resultado de aplicar un operador aplicable (respecto deuna sustitucin ) a un estado E es el estado resultantede:

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

    Aadir a E los tomos, instanciados por ,correspondientes a la lista de efectos positivos (si noestuvieran)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo de aplicacin de operador (I)

    DCBA

    B

    DC A

    DESAPILAR(B,A)

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

    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 despus de aplicar DESAPILAR(B,A):E = (E - Efec-) U Efec+ ={DESPEJADO(C), DESPEJADO(D), SOBRELAMESA(C),SOBRELAMESA(D), SOBRELAMESA(A), AGARRADO(B), DESPEJADO(A)}

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo de aplicacin 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 despus 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)}

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planes y soluciones

    Plan: secuencia de acciones La primera aplicable al estado inicial y cada una de ellas

    aplicable al resultado de la anterior Solucin: plan que a partir del estado inicial obtiene un

    estado que satisface el objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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,MALETERO)

    Quitar la rueda pinchada del eje:QUITAR(RUEDA-PINCHADA,EJE)Prec.: EN(RUEDA-PINCHADA,EJE)Efec.: -EN(RUEDA-PINCHADA,EJE), EN(RUEDA-PINCHADA,SUELO)

    Colocar la rueda de repuesto en el eje:PONER(RUEDA-REPUESTO,EJE)Prec.: -EN(RUEDA-PINCHADA,EJE), EN(RUEDA-REPUESTO,SUELO)Efec.: -EN(RUEDA-REPUESTO,SUELO), EN(RUEDA-REPUESTO,EJE)

    Dejar el coche solo hasta la maana siguiente:DEJARSOLO()Prec.: {}Efec.: -EN(RUEDA-REPUESTO,SUELO), -EN(RUEDA-REPUESTO,EJE),

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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo: movimiento de robot por una rejilla

    Un robot ha de desplazarse por una rejilla, desde unaposicin inicial a una final

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

    franqueables

    Situacioninicialdel robot

    Objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Representacin del problema del movimiento de robot Lenguaje:

    Constantes: nmeros que indican coordenas horizontales yverticales

    Predicados: ROBOT-EN(-,-) y LIBRE(-,-) Estado inicial (casillas sin obstculos y posicin del robot):

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

    Objetivo: ROBOT-EN(10,11) Acciones (slo una, las siete restantes son anlogos):

    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 smbolos de funcin (+ y ), yque el test de satisfacibilidad maneje las nociones denumero siguiente y anterior (extendemos la semntica)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Extensiones al formalismo PDDL

    Existen sistemas de planificacin que usan un lenguaje derepresentacin ms expresivo

    Por ejemplo: Variables con tipos (no es una extensin que aumente la

    capacidad expresiva) Uso de smbolos de funcin Manejo del smbolo de igualdad Evaluacin de funciones al aplicar acciones Disyunciones en las precondiciones

    En general existe un compromiso entre expresividad dellenguaje y simplicidad de los algoritmos que manejan larepresentacin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda en el espacio de estados

    Un problema de planificacin se puede plantear como unproblema de espacio de estados:

    Estados descritos mediante listas de tomos cerrados. Operadores como listas de precondiciones y efectos. Funcin es-estado-final descrita por un objetivo.

    La bsqueda de planes podra hacerse usando losalgoritmos de bsqueda ya vistos en los temas anteriores:anchura, profundidad, primero el mejor, A*,. . .

    El uso del formalismo lgico permite el uso de heursticasindependientes del dominio

    Por ejemplo, el nmero de literales en el objetivo quequedan por satisfacer en un estado

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Clculo 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]

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Clculo 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 sustitucin 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)}

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia adelante en profundidad conheurstica

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

    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 instancias

    de un operador de OPERADORES, que sean aplicables a ACTUAL y cuyaaplicacin no resulte en un estado de VISITADOS

    3. Hacer ORD-APLICABLES igual a ORDENA-POR-HEURISTICA(APLICABLES)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(PLANACCION,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 funcinORDENA-POR-HEURISTICA

    En general, se define a traves de una heurstica H sobre losestados, que estima el nmero de pasos hasta el objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia adelante en profundidad(propiedades)

    Es un algoritmo tipo Backtracking en el que se ordenanpor heurstica los sucesores del estado actual

    Propiedades: Correcto, completo y siempre termina. No se garantiza la

    solucin ms corta Complejidad en tiempo: exponencial La complejidad en espacio es lineal respecto de la mxima

    profundidad del rbol de bsqueda (esto lo hace preferiblea primero el mejor y a A, salvo que se busque la solucinms corta y se disponga de una H admisible)

    En la prctica, su eficiencia depende de la bondad de laheurstica

    Comentaremos ms sobre heursticas posteriormente

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia atrs

    Si la heurstica no es buena, la bsqueda hacia adelantetiene el problema de la excesiva ramificacin

    Muchas acciones aplicables, pero la mayora de ellasirrelevante para el objetivo

    Alternativa a la bsqueda hacia adelante: buscar haciaatrs, 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 bsqueda: objetivos La clave: slo aplicar hacia atrs las acciones relevantes

    para el objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Accin relevante para un objetivo

    Sea G un objetivo sin variables (ms adelante trataremosel caso con variables). Decimos que una accin A esrelevante para G si:

    Al menos, uno de los efectos (positivo o negativo) de laaccin est en G con el mismo "signo"

    Ninguno de los efectos negativos de la accin aparece enG como positivo

    Ninguno de los efectos positivos de la accin aparece en Gcomo negativo

    Intuitivamente: una accin es relevante si podra ser laltima de un plan que llevara al objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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 accin no relevante para el mismo objetivo:APILAR(A,D) (aunque tiene a DESPEJADO(A) como efectopositivo sin embargo tiene como efecto negativo-DESPEJADO(D))

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Clculo de predecesores

    Si A es una accin 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 accin 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)}

    Ntese que el formalismo lgico nos permite calcularpredecesores de manera sencilla

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia atrs con heurstica (sin variables)FUNCION BUSQUEDA-HACIA-ATRS-H(ESTADO-INICIAL,OBJ,OPERADORES)Devolver BHA-H-REC({},{},ESTADO-INICIAL,OBJ,OPERADORES)

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

    de un operador de OPERADORES, que sean relevantes para ESTADOy tal que el predecesor de G-ACTUAL respecto de la accinno 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 ACCION4.2 Hacer RES igual a

    BHA-H-REC(ACCIONPLAN,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 funcinORDENA-POR-HEURISTICA

    Se va a definir a traves de una heurstica H sobre losobjetivos, que estima el nmero de pasos desde el estadoinicial al objetivo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia atrs con heurstica (propiedades) Es un algoritmo de bsqueda en profundidad en un

    espacio de estados (el de los objetivos) Incorpora heurstica para ordenar objetivos

    Propiedades Correcto, completo y siempre termina. No se garantiza la

    solucin ms corta Complejidad terica: como en la bsqueda hacia adelante

    En la prctica, y nuevamente debido a la elevadaramificacin, su eficiencia depende de la heurstica usada

    Comentaremos ms sobre esto, ms adelante Adems, en el caso de la bsqueda hacia atrs podemos

    reducir la ramificacin, instanciando slo parcialmente lasacciones

    Para ello, usaremos unificacin (similar a PROLOG)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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 entre

    otras las siguientes n + 2 acciones relevantes:{APILAR(A,B), APILAR(A1,B), ...,APILAR(An,B),APILAR(B,B)}

    Idea: podramos dejar el primer argumento de APILAR sinespecificar, para reducir la ramificacin en la bsqueda

    Pero nos obligar a tratar con objetivos en los queaparecen variables

    Para ello, usaremos unificadores de mxima generalidad

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Unificacin de mxima generalidad

    Unificador de dos trminos s y t de la lgica de primerorden:

    Sustitucin (de las variables de s y de t) tales que(s) = (t)

    Unificador de mxima generalidad (umg) Un unificador ms general que cualquier otro unificador Intuitivamente, por ms general entendemos que las

    variables se concretan lo mnimo necesario para haceriguales los dos trminos

    Ejemplo: unificacin 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 no

    es el ms general [x1/x4, x2/B, x3/A, x5/A] es un umg

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo de bsqueda hacia atrs con unificacin (I)

    Apliquemos esta idea al problema anterior Hacia atrs con unificacin, 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 sustitucin 1 =[y1/B] (es decir, x1 no seinstancia)

    Por tanto se obtiene un esquema de accin 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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo de bsqueda hacia atrs con unificacin (II) Hacia atrs con unificacin, 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 sustitucin 2 =[x2/x1] Por tanto, un esquema de accin relevante sera: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 sustitucin[x1/A,y2/A1])

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

    Nota: cada vez que se considera una accin, es necesariorenombrarla con variables nuevas (estandarizacin)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda hacia atrs con heurstica (con unificacin)FUNCION BUSQUEDA-HACIA-ATRS-H-U(ESTADO-INICIAL,OBJ,OPERADORES)Devolver BHA-H-U-REC({},{},ESTADO-INICIAL,OBJ,OPERADORES)

    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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Heursticas para planificacin basada en espacios deestados

    Una componente fundamental para la eficiencia prcticade los anteriores algoritmos es la heurstica usada paraordenar los estados o los objetivos

    Esta heurstica debe estimar distancia entre estados yobjetivos (nmero de acciones necesarias)

    En bsqueda hacia adelante: para cada estado, distanciahasta el objetivo

    En bsqueda hacia atrs: para cada objetivo, distanciahasta el estado inicial

    Si esta estimacin est por debajo del mnimo nmero deacciones real, diremos que la heurstica es admisible

    Buscamos heursticas independientes del dominio Basadas en la representacin lgica de estados, objetivos

    y operadores

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Heursticas basadas en relajar del problema Heursticas obtenidas relajando algunas restricciones del

    problema y calculando el nmero de acciones necesariasen ese problema relajado

    Algunas ideas para relajar el problema: Ignorar las precondiciones y/o efectos negativos de los

    operadores Suponer que cada literal de un objetivo se alcanza de

    manera independiente: como si el nmero de accionesnecesarias para alcanzar un objetivo fuera la suma delnmero de pasos necesario para alcanzar cada literal delobjetivo

    Suponer que el nmero de acciones necesarias paraalcanzar un objetivo es el nmero de pasos mximonecesario para alcanzar uno de sus literales

    Ignorar todas las precondiciones de los operadores Ignorar determinados predicados

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    La heurstica 0 Vamos a definir a continuacin una heurstica 0 basada

    en las dos primeras ideas anteriores Dado un estado e, un tomo p y un objetivo g que slo

    tiene 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

    accin, 0(e, p) = + En otro caso, 0(e, p) =

    minA{1 +

    qprecond+(A)0(e, q)|p efectos+(A)} 0(e, g) =

    pg 0(e, p)

    Notacin: precond+(A) y efectos+(A) denotanrespectivamente los literales positivos de la precondicin yde los efectos de una accin A

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    La heurstica 0 (propiedades) Intuitivamente:

    0(e, p) cuenta el menor nmero 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

    Ntese que en general, la estimacin que realiza 0 no esadmisible

    Aunque en cualquier caso puede funcionar bien en laprctica

    Y adems no la usaremos con A, sino con bsqueda enprofundidad

    Dado un e, los valores 0(e, p) para cada tomo p sepueden calcular con un algoritmo similar al algoritmo decaminos mnimos de Dijkstra

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Usando la heurstica 0 en las bsquedas (I) En la bsqueda hacia adelante:

    A cada accin A aplicable al estado actual se le asigna elvalor heurstico 0(e, g+), donde g+ es el conjunto deliterales positivos del objetivo y e el estado que resulta alaplicar la accin A

    e

    e

    0

    g+

    (e,g+)

    0

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Usando la heurstica 0 en las bsquedas (II) En la bsqueda hacia atrs:

    A cada accin 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 accin A y g+ es elconjunto de literales positivos de g

    g

    g

    0

    e

    (e ,g+)

    0

    0

    0

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Usando la heurstica 0 en las bsquedas (III)

    En el caso de que haya variables en los objetivos: Si p es un tomo con variables, 0(e, p) se define como el

    mnimo 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 de0(e, p) para cada literal positivo p de g

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planes parcialmente ordenados

    Recordar: en el tema anterior se han visto algoritmos pararesolver problemas de planificacin que hacen bsquedaen el espacio de los estados

    Vemos ahora una aproximacin a la bsqueda de planestotalmente diferente a las bsqueda 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 slo seespecifican algunas de las precedencias entre susacciones

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplo de plan parcial

    INICIO FIN

    IR(ETSII,CASA) EN(CASA)

    ECE(IA1) APROBADO(IA1)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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

    (contina...)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planes parcialmente ordenados: componentes (II)

    Un caso particular de arcos: enlaces causales, A p B,especificando la consecucin, por parte de una accin, deuna de las precondiciones de otra accin del plan (llevaimplcita una restriccin de orden)

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

    Un conjunto de precondiciones abiertas: aquellas que anno tienen enlaces causales que las consigan

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planes parciales inicial y final

    Plan parcial inicial: plan cuyas nicas acciones son INICIOy FIN, con la restriccin 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 accin C entra en conflicto con (o amenaza) un enlacecausal A p B, si C tiene a p en su lista de efectos ysegn las restricciones de orden, C podra ir despus de Ay antes que B

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Ejemplos de planes parciales

    Ejemplo de plan parcial inicial:INICIO FIN

    Ejemplo de plan parcial final:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    EN(ETSII)

    EN(CASA)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Secuenciaciones de planes parciales solucin

    Secuenciacin de un plan parcial: colocar las accionesuna detrs de otra, sin contradecir ninguna restriccin deorden que se deduzca del plan parcial

    Punto clave: cualquier secuenciacin de un plan parcialsolucin supone una solucin al problema original

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

    ESTUDIAR(IA1) IR(CASA,ETSII) ECE(IA1) IR(ETSII,CASA)

    IR(ETSII,CASA)ECE(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planificacin como bsqueda en el espacio de planes Cmo disear un algoritmo para encontrar planes

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

    transformaciones u operadores a los planes parciales,refinndolos

    Bsicamente, 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 parcialsolucin (es decir, sin ciclos, sin amenazas y sinprecondiciones abiertas)

    Es una bsqueda en espacios de estados! Pero ahora los estados son los planes parciales y los

    operdores son los refinamientos

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Convenios en la representacin grfica del ejemplo, por

    claridad en la misma: Algunas restricciones de orden no aparecern, en

    particular la asociadas a enlaces causales Las precondiciones y efectos no aparecern. En particular,

    no aparecern las precondiciones abiertas Cuando una accin no tenga precondiciones abiertas, sta

    aparecer sombreada Paso 1: plan inicial

    INICIO FIN

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

    Una nica posibilidad: accin nuevaEXAMINARSE-CON-EXITO(IA1)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1

    Paso 2:INICIO ECE(IA1) FIN

    APROBADO(IA1)

    Resolvemos ahora la precondicin EN(CASA) de FIN Dos posibilidades: INICIO accin 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 precondicin) una accin

    que ya est en el plan, se denomina establecimiento simple

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1

    Paso 3:

    EN(CASA)INICIO FIN

    ECE(IA1)APROBADO(IA1)

    Resolvemos ahora la precondicin EN(ETSII) deEXAMINARSE-CON-EXITO(IA1)

    Slo una posibilidad: accin nueva IR(CASA,ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Paso 4:

    IR(CASA,ETSII)

    INICIO FIN

    ECE(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 despus de FIN

    (promocin), o bien obligando a que IR(CASA,ETSII) vaya antes que INICIO

    (degradacin)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Pero en ambos casos, se creara un ciclo:

    Promocin:

    IR(CASA,ETSII)

    INICIO FIN

    ECE(IA1)

    APROBADO(IA1)

    EN(ETSII)

    EN(CASA)

    Degradacin:IR(CASA,ETSII)

    INICIO FIN

    ECE(IA1)

    APROBADO(IA1)

    EN(ETSII)

    EN(CASA)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Por tanto, hay FALLO y hemos de retroceder al anterior

    punto de alternativa, que estaba en el paso 2 Y elegir la otra alternativa: accin nueva IR(ETSII,CASA)

    para resolver la precondicin EN(CASA) de FIN Paso 5:

    INICIO FIN

    IR(ETSII,CASA) EN(CASA)

    ECE(IA1) APROBADO(IA1)

    Elegimos ahora la precondicin ESTUDIADO(IA1) deEXAMINARSE-CON-EXITO(IA1)

    La nica posibilidad para resolverla es accin nuevaESTUDIAR(IA1)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Paso 6:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    ESTUDIADO(IA1)

    Elegimos ahora la precondicin EN(ETSII) deEXAMINARSE-CON-EXITO(IA1)

    La nica posibilidad para resolverla es accin nuevaIR(CASA,ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Paso 7:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(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 degradacin; si nodiera resultado, intentamos promocin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Paso 8 (degradacin):

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(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 promocin o pordegradacin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Pero en ambos casos, se creara un ciclo:

    Promocin:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII) EN(ETSII)

    ESTUDIADO(IA1)

    Degradacin:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII) EN(ETSII)

    ESTUDIADO(IA1)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1 Por tanto, hay FALLO

    Hemos de retroceder al anterior punto de ramificacin(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 promocin

    Paso 9:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1

    Elegimos ahora la precondicin EN(ETSII) deIR(ETSII,CASA)

    Dos alternativas: establecimiento simple conIR(CASA,ETSII) o accin nueva con IR(CASA,ETSII).

    Elegimos la primera, reconsiderndolo si fuera necesario Paso 10:

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    EN(ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1

    Elegimos la precondicin EN(CASA) de IR(CASA,ETSII) Tres alternativas: establecimiento simple con INICIO,

    establecimiento simple con IR(ETSII,CASA) o accin nuevacon IR(ETSII,CASA).

    Elegimos la primera, reconsiderndolo si fuera necesario Paso 11 (Plan parcial final):

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    EN(ETSII)

    EN(CASA)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP para el ejemplo de aprobar IA1

    Finalmente, secuenciamos (dos posibilidades):

    ESTUDIAR(IA1) IR(CASA,ETSII) ECE(IA1) IR(ETSII,CASA)

    IR(ETSII,CASA)ECE(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Planificacin de orden parcial: bsqueda

    Como se ha visto en el ejemplo anterior, es posibleplantear un algoritmo de planificacin como una bsqueda

    Es decir, como bsqueda 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 bsqueda (en profundidad, por ejemplo)en el espacio de los planes parciales

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bsqueda POP para el ejemplo de aprobar IA112

    3

    4

    FALLO

    5

    6

    7

    8

    FALLO

    9

    10

    11

    SOLUCION

    INICIO FIN

    INICIO ECE(IA1) FINAPROBADO(IA1)

    EN(CASA)INICIO FIN

    ECE(IA1)APROBADO(IA1)

    IR(CASA,ETSII)

    INICIO FIN

    ECE(IA1)

    APROBADO(IA1)

    EN(ETSII)

    EN(CASA)

    INICIO FIN

    IR(ETSII,CASA) EN(CASA)

    ECE(IA1) APROBADO(IA1)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    ESTUDIADO(IA1)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII) EN(ETSII)

    ESTUDIADO(IA1)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII) EN(ETSII)

    ESTUDIADO(IA1)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    EN(ETSII)

    IR(ETSII,CASA)

    INICIO FIN

    APROBADO(IA1)

    ECE(IA1)

    EN(CASA)

    ESTUDIAR(IA1)

    IR(CASA,ETSII)

    ESTUDIADO(IA1)

    EN(ETSII)

    EN(ETSII)

    EN(CASA)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Operadores en la bsqueda (refinamiento de planesparciales)

    Resolucin de precondiciones abiertas: dada unaprecondicin abierta p de una accin B del plan, por cadaaccin 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 accin A ya aparece en elplan, aadir la restriccin A B y el enlace causal A p B

    Accin nueva: si la accin A no aparece ya en el plan,aadir la accin al plan, las restricciones A B, INICIO A y A FIN, y el enlace causal A p B (es posibleincluso introducir como nueva una accin igual a una queya estuviera)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Operadores (refinamiento de planes parciales)

    Resolucin de conflictos: dado un conflicto entre el enlacecausal A p B y la accin C, se puede obtener un plansucesor aplicando alguno de los siguientes pasos(siempre que el plan resultante no tenga ciclos):

    Aadir la restriccin B C (promocin) O aadir la restriccin C A (degradacin)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    POP como bsqueda Arbol de bsqueda:

    Nodos: planes parciales Ramificacin por la eleccin de acciones que resuelven

    precondiciones abiertas Ramificacin por las dos maneras de resolver las

    amenazas (promocin y degradacin) No es necesario considerar un sucesor por cada

    precondicin 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 bsqueda

    La bsqueda en profundidad podra entrar en una ramainfinita

    Por eso hemos de hacer una bsqueda acotada (por unnmero mximo de acciones en el plan)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP (versin recursiva)FUNCION POP(ESTADO-INICIAL,OBJ,OPERADORES,COTA)1. Hacer POP-REC(PLAN-INICIAL(ESTADO-INICIAL,OBJ),OPERADORES,COTA)

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

    entonces2.1 Sean PLANPR obtenido de PLAN mediante promocin

    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

    degradacin 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.

    (contina...)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Algoritmo POP (versin recursiva, cont.)

    3. Sea P una precondicin abierta en PLAN4. Para cada accin A de OPERADORES (nueva o ya existente)

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

    en PLAN mediante un enlace causal con A(si fueran accin nueva, aadir tambin la accin al PLAN)

    4.2 Si PLANEXT no tiene ciclos y un nmero 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 terminar

    5. Devolver FALLO

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    POP: algunas consideraciones

    Hemos presentado una versin simplificada del algoritmo.Falta:

    Uso de unificacin Algunas variables podran quedar sin instanciar (principio

    de mnimo compromiso) Restricciones de desigualdad

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

    El pseudocdigo presentado resuelve primero lasamenazas que las precondiciones abiertas, pero nonecesariamente tiene que ser as

    Ni tampoco necesariamente hay que intentar primeropromocin y luego degradacin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    POP: uso de heursticas

    Es difcil estimar la cercana de un plan parcial a unasolucin

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

    En cada paso, qu amenaza o qu precondicin abiertase refina?

    Si se elige cerrar una precondicin en qu orden seintentan las acciones que la cierran?

    Si se elige arreglar una amenaza en qu orden se intentapromocin y degradacin?

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    POP: algunas heursticas

    Heurstica para seleccionar el siguiente paso derefinamiento

    Seleccionar la amenza o precondicin abierta que puedeser resuelta con el menor nmero de alternativas

    Recurdese que una amenaza tiene dos posiblesalternativas de refinamiento

    Y una precondicin abierta, tantas como acciones (nuevaso ya existentes) la tengan como efecto

    Heurstica para el orden de las acciones que cierran unaprecondicin abierta

    Ordenarla por el tamao de sus listas de precondicin (nomuy buena)

    Usar el grafo de planificacin

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    La anomala de Sussman

    Problema de planificacin que mostraba las carencias delos primeros algoritmos de planificacin (aos 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) }

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    La anomala de Sussman

    La anomala de Sussman fue un ejemplo pionero quemostraba que planificar no era una tarea trivial

    Por ejemplo, un planificador que primero buscara unsubplan solucin para el primer literal del objetivoSOBRE(A,B) y a continuacin le concatenara una solucinpara SOBRE(B,C) sera fallido

    Ya que el segundo subplan deshara lo conseguido por elprimero

    Fue un ejemplo que sealaba la no conveniencia de losplanificadores no entrelazados (como el planificadorSTRIPS)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Veremos cmo la planificacin de orden parcial resuelve laanomala de Sussman

    Nota importante: por simplificar la presentacin, en cadamomento escogeremos los operadores de refinamientoadecuados

    Es decir, nuestra bsqueda no tendr fallos, aunque en laprctica esto es irreal

    Tambin por simplificar, a veces se aplicarn varios pasosde una vez

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Plan inicial:

    INICIO FIN

    Resolver la precondicin sobre(A,B) de FIN mediante laaccin nueva APILAR(A,B) (es la nica opcin):

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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Resolver la precondicin sobre(B,C) de FIN mediante laaccin nueva APILAR(B,C) (es la nica opcin):

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

    INICIO

    APILAR(B,C)

    sobre(B,C)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Resolver la precondicin agarrado(B) de APILAR(B,C)mediante la accin nueva AGARRAR(B)

    Tambin se podra usar DESAPILAR, opcin que habraque considerar si la eleccin realizada fallara (bsqueda)

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

    INICIO

    APILAR(B,C)

    sobre(B,C)

    AGARRAR(B) agarrado(B)

    FIN

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Resolver la precondicin agarrado(A) de APILAR(A,B)mediante la accin nueva AGARRAR(A)

    Como en el caso anterior, tambin se podra usarDESAPILAR (explorar mediante bsqueda)

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

    FIN

    sobre(B,C)

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

    INICIO

    AGARRAR(A) agarrado(A)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Resolver la precondicin despejado(A) de AGARRAR(A)mediante la accin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Resolver la precondicin brazolibre de AGARRAR(B)mediante la accin nueva bajar(C) (existen ms 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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP Usar la accin 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 promocin (nica opcin),colocando la restriccin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    Usar la accin INICIO para, mediante establecimientosimple, resolver las restantes precondiciones deAGARRAR(B); igualmente mediante establecimientosimple, usar DESAPILAR(C,A) para resolver laprecondicin agarrado(C) de BAJAR(C)

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

    De esta manera, tambin se resuelve la amenaza deAPILAR(A,B) al enlace causal entre INICIO yAGARRAR(B), ya que la anterior restriccin implica queAPILAR(A,B) ocurre despus de AGARRAR(B)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala 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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Anomala de Sussman en POP

    El plan parcial resultante es una solucin: no tieneconflictos, no tiene ciclos y no hay precondiciones abiertas

    Secuenciacin del plan:

    BA C A C

    BCB

    A

    BCA

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

    B A

    C

    A CB CBA

    Ntese que se intercalan los pasos necesarios parasolucionar los dos objetivos originales

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Grafo de planificacin (introduccin)

    Vemos ahora una tcnica distinta de las anteriores,basada en lo que llamamos el grafo de planificacin de unproblema

    A medio camino entre la bsqueda en espacio de estadosy la bsqueda en el espacio de planes

    El grafo de planificacin es un grafo por niveles En cierto modo representa un espacio de estados obtenido

    relajando alguna restricciones del problema original Unin de los estados de un rbol de bsqueda que estn

    en el mismo nivel

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Grafo de planificacin (introduccin)

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

    En cada nivel adems se marcarn una serie deemparejamientos entre acciones y emparejamientos entreliterales indicando exclusin mutua

    Lo que llamamos enlaces mutex: no pueden ocurrir a lavez

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Grafo de planificacin (representacin grfica)estadoinicial

    enlacesmutex

    L(0) L(i1) L(i)

    literalesprecondiciones

    persistencias

    efectosacciones

    A(i)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Grafo de planificacin 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

    podran realizarse gracias a que sus precondiciones estnen el nivel i 1 (sin ser excluyentes entre s)

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

    Adems, todo literal que aparezca en el nivel i 1,aparece tambin en el nivel i , para tener en cuenta que unliteral podra persistir, si no se ejecuta ninguna accin quelo cambie

    Esto encaja mejor dentro del marco general si admitimosacciones ficticias de persistencia: la accin de persistenciade un literal es una accin que lo tiene como nicaprecondicin y como nico efecto

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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,-SILENCIO

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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?

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Exclusiones mutuas entre acciones y entre literales Casos de exclusin mutua entre dos acciones

    Interferencia: Un efecto de una niega una precondicin dela otra

    Efectos inconsistentes: un efecto de una es la negacin deun efecto de otra

    Necesidades que compiten: tienen precondiciones que seexluyen mutuamente

    Casos de exclusin mutua entre dos literales Soporte inconsistente: uno es la negacin del otro Efectos excluyentes: cualquier par de acciones que los

    producen son mutuamente excluyentes Ntese la definicin mutuamente recursiva, que nos sirve

    para 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.

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Grafo problema de la cena: enlaces mutex del primernivel

    En el nivel 1 de acciones: COCINAR es mutex con SACARBASURA, por interferencia TRITURAR es mutex con ENVOLVER, por interferencia Los dems enlaces mutex son por efectos inconsistentes

    entre una accin ordinaria y otra de persistencia En el nivel 1 de literales:

    -SILENCIO es mutex con REGALO, debido al mutex entreTRITURAR y ENVOLVER

    -MANOSLIMPIAS es mutex con CENA, debido al mutex entreCOCINAR y SACARBASURA

    El resto de enlaces mutex son entre literales opuestos Nota: por ejemplo, -BASURA no es mutex con CENA, ya que

    aunque hay una pareja de acciones mutex que las produce(SACARBASURA y COCINAR), hay otra pareja de accionesque no son mutex que tambin las produce (TRITURAR yCOCINAR)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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)

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    El algoritmo GRAPHPLAN: descripcin informal

    El grafo del problema de planificacin proporciona unaherramienta fundamental para disear un nuevo algoritmode planificacin. Idea:

    Desarrollar el grafo del problema incrementalmente (encada iteracin, 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 iteracin (siguientenivel)

    Si aparecen, intentar extraer una solucin a partir del grafo;si se tiene xito, se devuelve el plan extraido y se termina

    Si no se tiene xito en la extraccin, 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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    El algoritmo GRAPHPLAN: pseudocdigoFUNCION 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) estn los literales de OBJETIVOsin enlaces mutex entre ellos:3.1.1 Sea RES el resultado de extraer un plan

    del grafo de planificacin.3.1.2 Si RES no es FALLO, devolver RES y terminar

    3.2 Hacer i=i+13.3 Crear A(i), la capa i-sima de acciones del grafo,

    con las acciones (incluyendo persistencias) cuyasprecondiciones estn en L(i-1) sin enlaces mutexentre ellas. Crear tambin 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 tambin los enlaces mutex de L(i)

    3.5 Conectar con enlaces cada accin de A(i) con susprecondiciones en L(i-1) y con sus efectos en L(i)

    HASTA que A(i), L(i) es iguala A(i-1),L(i-1) (incluyendo mutex)

    5. Devolver FALLO

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Extraccin de planes en el algoritmo GRAPHPLAN Es el proceso que se realiza en cada iteracin en la que

    aparecen en el ltimo nivel todos los literales del objetivo(sin mutex)

    Para ello se hace una bsqueda hacia atrs en el grafo: Para cada subconjunto de literales en un nivel, buscar en

    su capa de acciones un subconjunto de acciones (reales ode persistencia) que los tienen como efectos, con larestriccin 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 restriccinde que entre esos literales no puede haber enlaces mutex

    Esta bsqueda hacia atrs requiere backtracking, ya quepara cada nivel hay que intentar todas las posiblessubconjuntos, tanto de acciones como de literales

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Problema de la cena: intento de extrer solucin, 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 solucin en este nivel y

    hay que expandir grafo

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin 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

    silenciosilencio

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Problema de la cena: extraccin de una solucin, 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

    silenciosilencio

    sacarbasura

    triturar

    cocinar

    envolver

    sacarbasura

    triturar

    cocinar

    envolver

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Problema de la cena: extraccin de una solucin

    Importante: la solucin obtenida es el resultado de unproceso de bsqueda entre las distintas alternativas desubconjuntos (de acciones y literales) en cada capa

    Solucin extraida: Nivel 1: COCINAR y persistencia de SILENCIO Nivel 2: SACARBASURA, ENVOLVER y persistencia de CENA

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Problema de la cena: extraccin de una solucin

    Ntese que: Una vez extraida la solucin, las acciones de persistencia

    se pueden ignorar Dentro de cada nivel, las acciones se pueden efectuar en

    cualquier orden (ya que no son mutex) En realidad, se trata de un plan parcial, ya que no se

    especifica el orden entre las acciones de un mismo nivel Soluciones al problema original:

    COCINAR, SACARBASURA, ENVOLVER COCINAR, ENVOLVER, SACARBASURA

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Propiedades de GRAPHPLAN (I)

    Propiedad 1: si hay una solucin 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 laextraccin de la solucin puede fallar y hay que seguiriterando

    Propiedad 2: el proceso de expansin siempre alcanza unpunto fijo

    Conclusin: GRAPHPLAN es correcto, completo y siempretermina

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Propiedades de GRAPHPLAN (II)

    Complejidad: Importante: el grafo se puede construir en tiempo

    polinomial La exponencialidad la aporta la extraccin de soluciones

    (es una bsqueda) Pero como slo se busca en el grafo, el espacio de los

    estados suele ser ms pequeo que en las bsquedas enel espacio de los estados, y por tanto funciona mejor en laprctica

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    El grafo de planificacin como heurstica

    La informacin generada en la construccin del grafo deplanificacin (sin extraer solucin), puede ser usada paraheursticas que se usen en algoritmos de bsqueda en elespacio de estados

    El primer nivel del grafo en el que aparece un literal es unaestimacin 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 mximo de sus costes de nivel: admisible pero no muyinformada

    La suma de sus costes de nivel: en general no admisible,pero ms precisa

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

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Otras aproximaciones a la planificacin

    SATPLAN, uso de tcnicas basadas en lgicaproposicional

    Planificacin como PSR Planificacin con recursos limitados Planificacin con tiempo explcito Planificacin mediante descomposicin jerrquica Planificacin en entornos con incertidumbre Ejecucin del plan: vigilancia y replanificacin Planificacin continua Planificacin multiagente

  • Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planificacin Planificacin de

    Bibliografa

    Russell, S. y Norvig, P. Artificial Intelligence (A ModernApproach) (PrenticeHall, 2010). Third Edition

    Cap. 10: Planning. Russell, S. y Norvig, P. Inteligencia Artificial (un enfoque

    moderno) (Pearson Educacin, 2004). Segunda edicin) Cap. 11: Planificacin.

    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.

    IntroduccinEl formalismo PDDLBsqueda hacia adelanteBsqueda hacia atrsHeursticas para planificacinPlanificacin de orden parcial: POPGrafo de planificacin: GRAPHPLAN