tema-08.pdf
-
Upload
adrian-ortega -
Category
Documents
-
view
11 -
download
2
description
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