Академический Документы
Профессиональный Документы
Культура Документы
Tema 8: Planicacin
Jos Luis Ruiz Reina
Departamento de Ciencias de la Computacin e Inteligencia Articial Universidad de Sevilla
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ndice
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin de orden parcial: POP Grafo de planicacin: GRAPHPLAN
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Planicacin en IA
Planicar: encontrar una secuencia de acciones que
Planning vs Scheduling
Planning se reere a la secuenciacin de acciones para
conseguir un objetivo y Scheduling pone ms nfasis en la utilizacin eciente de los recursos disponibles, por parte de las acciones
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
El problema de la planicacin en IA
Posibles cuestiones a abordar:
Representacin del mundo y de las acciones que lo
transforman 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
especicacin
Tiempo implcito: los acciones actan sin duracin La planicacin se realiza a priori Hiptesis del mundo cerrado
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
extremadamente compleja
Gran cantidad de posibles acciones, muchas de ellas
necesidad de que se haya decidido las acciones previas (compromiso mnimo) A veces es aconsejable descomponer en subproblemas ms simples Idea: usar la lgica para representar estados, acciones y
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Una supercie 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.
B C A D
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 una variable (no hay smbolos de funcin) Literales: tomos o negacin de tomos (usaremos el smblo - para la negacin) Atomos y literales cerrados: sin variables Estados: conjuncin de tomos cerrados
Hiptesis del mundo cerrado: los tomos que no se
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
B C A D
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Representacin de objetivos
Objetivos: descripcin de los estados nales. Los objetivos se representan como conjuncin de literales
variables del objetivo por constantes de manera que el estado contiene todos los literales positivos del objetivo instanciado y ninguno de los negativos Un estado es estado nal si satisface el objetivo requerido Importante: vericar si un estado satisface un objetivo es
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
D D
B A
Estado 2
Ejemplos de objetivos:
SOBRE(B,A), SOBRELAMESA(A), -SOBRE(C,B) es
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
O(x1 , . . . , xn )
Precondicin: lista de literales que deben cumplirse para
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ser ciertos
Efectos negativos (o lista de borrado): tomos que dejarn
por constantes, tenemos una accin concreta (una instancia del operador)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Aplicabilidad de un operador
precondicin
Si aparecen variables en la precondicin, la aplicabilidad se
dene respecto de la sustitucin usada para satisfacer la precondicin Por abreviar, a veces la sustitucin usada aparecer implcita al hablar del operador Por ejemplo, hablaremos de DESAPILAR(A,B) para referirnos a DESAPILAR(x,y) con la sustitucin [x/A,y/B] Un mismo operador puede dar lugar a distintas acciones que son aplicables al mismo estado
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
correspondiente a la lista de efectos negativos (si estuvieran) Aadir a E los tomos, instanciados por , correspondientes a la lista de efectos positivos (si no estuvieran)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
B C A D
B C A D
* 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 planicacin Planicacin d
* 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 planicacin Planicacin d
Planes y soluciones
aplicable al resultado de la anterior Solucin: plan que a partir del estado inicial obtiene un
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Lenguaje:
Objetos: RUEDA-REPUESTO, RUEDA-PINCHADA, EJE, MALETERO, SUELO Predicado: EN(-,-)
Estado inicial:
EN(RUEDA-PINCHADA,EJE),EN(RUEDA-REPUESTO,MALETERO)
Estado nal:
EN(RUEDA-REPUESTO,EJE)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
franqueables
Objetivo
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
verticales
Predicados: ROBOT-EN(-,-) y LIBRE(-,-)
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)
que el test de satisfacibilidad maneje las nociones de numero siguiente y anterior (extendemos la semntica)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
representacin 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
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
algoritmos de bsqueda ya vistos en los temas anteriores: anchura, profundidad, primero el mejor, A*,. . .
El uso del formalismo lgico permite el uso de heursticas
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Clculo de sucesores
B C
APILAR(x,y) [x=B,y=C]
APILAR(x,y) [x=B,y=A]
B C A D
B C A D
APILAR(x,y) [x=B,y=D]
B C A D
BAJAR(x) [x=B]
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 preferible a primero el mejor y a A , salvo que se busque la solucin ms corta y se disponga de una H admisible) En la prctica, su eciencia depende de la bondad de la
heurstica
Comentaremos ms sobre heursticas posteriormente
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
para el objetivo
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
el caso con variables). Decimos que una accin A es relevante para G si:
Al menos, uno de los efectos (positivo o negativo) de la
G como positivo
Ninguno de los efectos positivos de la accin aparece en G
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
B C
A
DEJAR(x) [x=A]
B C A D
D B C A
DEJAR(x) [x=D]
Ejemplo de accin no relevante para el mismo objetivo: APILAR(A,D) (aunque tiene a DESPEJADO(A) como efecto
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Clculo de predecesores
Si A es una accin relevante para un objetivo G (sin
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ORDENA-POR-HEURISTICA
Se va a denir a traves de una heurstica H sobre los
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Propiedades
Correcto, completo y siempre termina. No se garantiza la
solucin ms corta
Complejidad terica: como en la bsqueda hacia adelante
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
aparecen variables
Para ello, usaremos unicadores de mxima generalidad
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
orden:
Sustitucin (de las variables de s y de t) tales que
variables se concretan lo mnimo necesario para hacer iguales los dos trminos Ejemplo: unicacin de P(x1,A,x2,x3) y de Q(x4,x5,B,x5)
[x1/B, x2/B, x3/A, x4/B, x5/A] es unicador 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 planicacin Planicacin d
relevante para G)
Un umg es la sustitucin 1 =[y1/B] (es decir, x1 no se
instancia)
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)}
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
relevante 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()}
DESAPILAR(A,A1), APILAR(A,B)
Nota: cada vez que se considera una accin, es necesario
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FUNCION BHA-H-U-REC(PLAN,VISITADOS,ESTADO-INICIAL,G-ACTUAL,OPERADORES) 1. Si ESTADO-INICIAL satisface G-ACTUAL, devolver PLAN 2. 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 relevante al operador y los correspondientes literales de G-ACTUAL * El predecesor de ACTUAL respecto del operador no es un objetivo con un subconjunto de literales que unifica con alguno de los objetivos VISITADOS 3. Hacer RELEVANTES-ORDENADOS igual a ORDENA-POR-HEURISTICA(RELEVANTES) 4. Para cada (O,SIGMA) en RELEVANTES-ORDENADOS 4.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 terminar 5. Devolver FALLO
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
de los anteriores algoritmos es la heurstica usada para ordenar los estados o los objetivos
Esta heurstica debe estimar distancia entre estados y
hasta el objetivo
En bsqueda hacia atrs: para cada objetivo, distancia
hasta el estado inicial Si esta estimacin est por debajo del mnimo nmero de
y operadores
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
operadores
Suponer que cada literal de un objetivo se alcanza de
manera independiente: como si el nmero de acciones necesarias para alcanzar un objetivo fuera la suma del nmero de pasos necesario para alcanzar cada literal del objetivo Suponer que el nmero de acciones necesarias para alcanzar un objetivo es el nmero de pasos mximo necesario 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 planicacin Planicacin d
La heurstica 0
Vamos a denir a continuacin una heurstica 0 basada
tiene literales positivos sin variables, denimos recursivamente 0 (e, p) y 0 (e, g) de la siguiente manera:
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 + 0 (e, g) =
qprecond + (A)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
La heurstica 0 (propiedades)
Intuitivamente:
0 (e, p) cuenta el menor nmero de pasos necesarios
para que se verique p a partir de e, suponiendo que las acciones no tienen precondiciones negativas ni efectos negativos 0 (e, g) es la suma de las anteriores estimaciones para cada tomo p g Ntese que en general, la estimacin que realiza 0 no es
admisible
Aunque en cualquier caso puede funcionar bien en la
prctica
Y adems no la usaremos con A , sino con bsqueda en
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
valor heurstico 0 (e, g+), donde g+ es el conjunto de literales positivos del objetivo y e el estado que resulta al aplicar la accin A
e0
e
0
(e,g+)
g+
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
asigna el valor 0 (e0 , g+), donde e0 es el estado inicial, g es el predecesor correspondiente a la accin A y g+ es el conjunto de literales positivos de g
g0
g
0
(e 0,g+)
e0
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 de 0 (e, p) para cada literal positivo p de g
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
se busca en un espacio de planes, no completamente especicados (planes parcialmente ordenados) Plan parcialmente ordenado: un plan en el que slo se
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 planicacin Planicacin d
ECE(IA1)
APROBADO(IA1)
INICIO
FIN
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
lleva a cabo, de entre los operadores del problema, cada una con sus precondiciones y efectos
Dos acciones especiales: INICIO (sin precondiciones y
cuyo efecto es el estado inicial) y FIN (sin efectos y cuyas precondiciones son el objetivo nal) Arcos: restricciones de orden A B entre acciones del
plan
(contina...)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
especicando la consecucin, por parte de una accin, de una de las precondiciones de otra accin del plan (lleva implcita una restriccin de orden)
AGARRADO(A) AGARRAR(A) APILAR(A,B)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
y FIN, con la restriccin INICIO FIN, sin enlaces causales y con todas las precondiciones de FIN abiertas
Planes parciales nales: planes parciales sin conictos
entre los enlaces causales, sin ciclos entre las restricciones de orden y sin precondiciones abiertas
Una accin C entra en conicto con (o amenaza) un enlace
causal A B, si C tiene a p en su lista de efectos y segn las restricciones de orden, C podra ir despus de A y antes que B
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
INICIO
Ejemplo de plan parcial nal:
ESTUDIADO(IA1)
FIN
ECE(IA1)
APROBADO(IA1)
FIN
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
una detrs de otra, sin contradecir ninguna restriccin de orden que se deduzca del plan parcial
Punto clave: cualquier secuenciacin de un plan parcial
problema original):
ESTUDIAR(IA1) IR(CASA,ETSII) ECE(IA1) IR(ETSII,CASA)
IR(CASA,ETSII)
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
parciales nales?
Idea POP: comenzar en el plan inicial y aplicar
transformaciones u operadores a los planes parciales, renndolos Bsicamente, estas transformaciones consisten en resolver precondiciones abiertas o resolver amenazas En cada punto habr varias alternativas de renamiento, y
no todas conducen hacia un plan parcial nal Problema: encontrar la secuencia de renamiento que partiendo del plan parcial inicial, llegue a un plan parcial solucin (es decir, sin ciclos, sin amenazas y sin precondiciones abiertas)
Es una bsqueda en espacios de estados!
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
claridad en la misma:
Algunas restricciones de orden no aparecern, en
Precondiciones abiertas: APROBADO(IA1), EN(CASA); vamos a resolver primero APROBADO(IA1) Una nica posibilidad: accin nueva
EXAMINARSE-CON-EXITO(IA1)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Paso 2:
INICIO
APROBADO(IA1)
ECE(IA1)
FIN
Resolvemos ahora la precondicin EN(CASA) de FIN Dos posibilidades: INICIO accin nueva IR(ETSII,CASA) Consideraremos la primera de ella en primer lugar,
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ECE(IA1)
APROBADO(IA1)
INICIO
EN(CASA)
FIN
EXAMINARSE-CON-EXITO(IA1)
Slo una posibilidad: accin nueva IR(CASA,ETSII)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ECE(IA1)
APROBADO(IA1)
EN(CASA)
INICIO
FIN
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ECE(IA1)
APROBADO(IA1)
EN(CASA)
INICIO
FIN
Degradacin:
EN(ETSII) IR(CASA,ETSII)
ECE(IA1)
APROBADO(IA1)
EN(CASA)
INICIO
FIN
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
INICIO
FIN
IR(ETSII,CASA)
EN(CASA)
EXAMINARSE-CON-EXITO(IA1)
La nica posibilidad para resolverla es accin nueva
ESTUDIAR(IA1)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
APROBADO(IA1)
INICIO
FIN
IR(ETSII,CASA)
EN(CASA)
EXAMINARSE-CON-EXITO(IA1)
La nica posibilidad para resolverla es accin nueva
IR(CASA,ETSII)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
EN(CASA)
sobre el enlace causal entre IR(CASA,ETSII) y EXAMINARSE-CON-EXITO(IA1) Intentamos resolver esa amenaza por degradacin; si no diera resultado, intentamos promocin
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
EN(CASA)
degradacin
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
EN(CASA)
Degradacin:
ESTUDIADO(IA1)
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
(paso 7), y elegir la otra alternativa: resolver la amenaza de IR(ETSII,CASA) sobre el enlace causal entre IR(CASA,ETSII) y EXAMINARSE-CON-EXITO(IA1), mediante promocin Paso 9:
ESTUDIADO(IA1)
ECE(IA1)
APROBADO(IA1)
FIN
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
IR(ETSII,CASA)
Dos alternativas: establecimiento simple con
Paso 10:
ESTUDIADO(IA1)
ECE(IA1)
APROBADO(IA1)
FIN
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
establecimiento simple con IR(ETSII,CASA) o accin nueva con IR(ETSII,CASA). Elegimos la primera, reconsiderndolo si fuera necesario Paso 11 (Plan parcial nal):
ESTUDIADO(IA1)
ECE(IA1)
APROBADO(IA1)
FIN
IR(ETSII,CASA)
EN(CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
ESTUDIAR(IA1)
ECE(IA1)
IR(CASA,ETSII)
ESTUDIAR(IA1)
ECE(IA1)
IR(ETSII,CASA)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
de renamiento de planes que a partir del plan inicial obtiene un plan parcial nal Un algoritmo POP es simplemente un algoritmo que aplica
un 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 planicacin Planicacin d
INICIO
FIN
APROBADO(IA1)
ECE(IA1)
FIN
5
ECE(IA1) APROBADO(IA1) INICIO FIN IR(ETSII,CASA) EN(CASA)
FIN
4
INICIO
EN(ETSII) IR(CASA,ETSII)
ECE(IA1)
6
APROBADO(IA1) FIN
EN(CASA)
FIN
INICIO
IR(ETSII,CASA)
EN(CASA)
FALLO
ESTUDIADO(IA1)
7
ECE(IA1) APROBADO(IA1) FIN EN(CASA)
ESTUDIAR(IA1)
IR(CASA,ETSII) INICIO
EN(ETSII)
IR(ETSII,CASA)
8
ESTUDIAR(IA1) INICIO
ESTUDIADO(IA1)
ESTUDIADO(IA1)
ECE(IA1)
ECE(IA1)
9
APROBADO(IA1) FIN
IR(CASA,ETSII)
IR(CASA,ETSII)
IR(ETSII,CASA)
EN(CASA)
IR(ETSII,CASA)
EN(CASA)
FALLO
ESTUDIAR(IA1) INICIO
ESTUDIADO(IA1)
ECE(IA1) EN(ETSII)
10
APROBADO(IA1) FIN
IR(ETSII,CASA)
ESTUDIADO(IA1)
ECE(IA1)
11
APROBADO(IA1) FIN
IR(ETSII,CASA)
EN(CASA)
SOLUCION
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
precondicin abierta p de una accin B del plan, por cada accin A que tiene a p como efecto, se puede obtener un plan sucesor (renar) aplicando alguno de los siguientes pasos (siempre que el plan resultante no tenga ciclos):
Establecimiento simple: si la accin A ya aparece en el
plan, aadir la restriccin A B y el enlace causal A B Accin nueva: si la accin A no aparece ya en el plan, aadir la accin al plan, las restricciones A B, INICIO p A y A FIN, y el enlace causal A B (es posible incluso introducir como nueva una accin igual a una que ya estuviera)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
causal A B y la accin C, se puede obtener un plan sucesor 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 planicacin Planicacin d
precondiciones abiertas
Ramicacin por las dos maneras de resolver las
precondicin abierta del plan, ni por cada amenaza existente, basta considerarlas en pasos posteriores, siguiendo un orden dado
Aunque el orden en que se haga esto s inuye en la
innita
Por eso hemos de hacer una bsqueda acotada (por un
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
(contina...)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
3. Sea P una precondicin abierta en PLAN 4. 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 acciones menor 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 planicacin Planicacin d
Falta:
Uso de unicacin Algunas variables podran quedar sin instanciar (principio
de mnimo compromiso)
Restricciones de desigualdad
amenazas que las precondiciones abiertas, pero no necesariamente tiene que ser as
Ni tampoco necesariamente hay que intentar primero
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
solucin
Hay determinadas elecciones en el algoritmo que, bien
se rena?
Si se elige cerrar una precondicin en qu orden se
promocin y degradacin?
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
renamiento
Seleccionar la amenza o precondicin abierta que puede
alternativas de renamiento
Y una precondicin abierta, tantas como acciones (nuevas
o ya existentes) la tengan como efecto Heurstica para el orden de las acciones que cierran una
precondicin abierta
Ordenarla por el tamao de sus listas de precondicin (no
muy buena)
Usar el grafo de planicacin
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
La anomala de Sussman
Problema de planicacin que mostraba las carencias de
A C A
Estado inicial
B B C
Estado final
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 planicacin Planicacin d
La anomala de Sussman
La anomala de Sussman fue un ejemplo pionero que
subplan solucin para el primer literal del objetivo SOBRE(A,B) y a continuacin le concatenara una solucin para SOBRE(B,C) sera fallido
Ya que el segundo subplan deshara lo conseguido por el
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
anomala de Sussman
Nota importante: por simplicar la presentacin, en cada
momento escogeremos los operadores de renamiento adecuados Es decir, nuestra bsqueda no tendr fallos, aunque en la prctica esto es irreal Tambin por simplicar, a veces se aplicarn varios pasos de una vez
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Plan inicial:
INICIO
FIN
INICIO
APILAR(A,B)
FIN
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FIN
INICIO
sobre(B,C) APILAR(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FIN
INICIO
sobre(B,C)
AGARRAR(B)
agarrado(B)
APILAR(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FIN
INICIO
sobre(B,C)
AGARRAR(B)
agarrado(B)
APILAR(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
despejado(A)
AGARRAR(A)
FIN
DESAPILAR(C,A) sobre(B,C)
INICIO
AGARRAR(B) agarrado(B) APILAR(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FIN
DESAPILAR(C,A)
INICIO
sobre(B,C)
agarrado(B) APILAR(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
asegura despejado(C), se ve amenazado por APILAR(B,C): resolver mediante promocin (nica opcin), colocando la restriccin de que APILAR(B,C) debe ir tras DESAPILAR(C,A)
despejado(A) AGARRAR(A) agarrado(A) APILAR(A,B) sobre(A,B)
1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 DESAPILAR(C,A) 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 despejado(C) sobre(C,A) brazolibre 11111111 00000000 11111111 00000000 11111111 00000000 INICIO 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000
brazolibre BAJAR(C) AGARRAR(B) agarrado(B) APILAR(B,C)
1111111 0000000 1111111 0000000 1111111 0000000 FIN 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000
sobre(B,C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
simple, resolver las restantes precondiciones de AGARRAR(B); igualmente mediante establecimiento simple, usar DESAPILAR(C,A) para resolver la precondicin agarrado(C) de BAJAR(C)
El enlace causal entre BAJAR(C) y AGARRAR(B) que
asegura brazolibre, se ve amenazado por AGARRAR(A): resolver mediante promocin, colocando la restriccin de que AGARRAR(A) debe ir tras AGARRAR(B) De esta manera, tambin se resuelve la amenaza de APILAR(A,B) al enlace causal entre INICIO y AGARRAR(B), ya que la anterior restriccin implica que APILAR(A,B) ocurre despus de AGARRAR(B)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
despejado(A)
AGARRAR(A)
agarrado(A) APILAR(A,B)
sobre(A,B)
FIN
INICIO
BAJAR(C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
FIN
despejado(B)
INICIO
BAJAR(C)
despejado(C)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
C A
C B A B A
BAJAR(C)
B C
AGARRAR(B)
A C
APILAR(B,C)
B A C
B C
APILAR(A,B)
A B C
DESAPILAR(C,A)
AGARRAR(A)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
en el mismo nivel
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
vez
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
L(0)
L(i1)
A(i)
L(i)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Grafo de planicacin
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 estn en el nivel i 1 (sin ser excluyentes entre s) En el nivel i, en la capa de literales , los literales que podran ser ciertos en ese momento, ya que son efectos de 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 un literal podra persistir, si no se ejecuta ninguna accin que lo cambie
Esto encaja mejor dentro del marco general si admitimos
acciones cticias de persistencia: la accin de persistencia de un literal es una accin que lo tiene como nica precondicin y como nico efecto
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 planicacin Planicacin d
hacerse a la vez?
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
la otra
Efectos inconsistentes: un efecto de una es la negacin de
un efecto de otra
Necesidades que compiten: tienen precondiciones que se
producen son mutuamente excluyentes Ntese la denicin mutuamente recursiva, que nos sirve
para propagar los enlaces mutex desde la capa de literales a la de acciones del siguiente nivel y de ah a la de literales de ese nivel, etc.
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
aunque hay una pareja de acciones mutex que las produce (SACARBASURA y COCINAR), hay otra pareja de acciones que no son mutex que tambin las produce (TRITURAR y COCINAR)
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
objetivo aparecen en el ltimo nivel (sin enlaces mutex entre ellos) Si no aparecen, pasar a la siguiente iteracin (siguiente nivel) 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 no aparece nada nuevo respecto del anterior
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 o de persistencia) que los tienen como efectos, con la restriccin de que entre esas acciones no puede haber enlaces mutex Para cada subconjunto de acciones en un nivel, buscar en la capa de literales del nivel anterior un subconjunto de literales que cumplen sus precondiciones, con la restriccin de que entre esos literales no puede haber enlaces mutex Esta bsqueda hacia atrs requiere backtracking, ya que
para cada nivel hay que intentar todas las posibles subconjuntos, tanto de acciones como de literales
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
objetivo: CENA, REGALO, -BASURA, sin enlaces mutex Hay dos subconjuntos de acciones que los tiene como efectos: {SACARBASURA, COCINAR, ENVOLVER} y {TRITURAR, COCINAR, ENVOLVER}
basura sacarbasura triturar manoslimpias cocinar silencio envolver basura manoslimpias manoslimpias silencio silencio cena regalo cena regalo L(0) A(1) cena regalo L(1) cena regalo L(0) A(1) silencio envolver manoslimpias cocinar basura basura sacarbasura triturar basura manoslimpias manoslimpias silencio silencio cena regalo cena regalo L(1) basura
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 planicacin Planicacin d
basura sacarbasura basura triturar manoslimpias manoslimpias cocinar silencio envolver silencio cena regalo
basura basura manoslimpias manoslimpias silencio silencio cena regalo cena regalo
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
proceso de bsqueda entre las distintas alternativas de subconjuntos (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 planicacin Planicacin d
Ntese que:
Una vez extraida la solucin, las acciones de persistencia
se pueden ignorar
Dentro de cada nivel, las acciones se pueden efectuar en
especica 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 planicacin Planicacin d
extraccin de la solucin puede fallar y hay que seguir iterando Propiedad 2: el proceso de expansin siempre alcanza un
punto jo
Conclusin: GRAPHPLAN es correcto, completo y siempre
termina
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
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 en el espacio de los estados, y por tanto funciona mejor en la prctica
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
planicacin (sin extraer solucin), puede ser usada para heursticas que se usen en algoritmos de bsqueda en el espacio de estados
El primer nivel del grafo en el que aparece un literal es una
informada
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 planicacin Planicacin d
proposicional
Planicacin como PSR Planicacin con recursos limitados Planicacin con tiempo explcito Planicacin mediante descomposicin jerrquica Planicacin en entornos con incertidumbre Ejecucin del plan: vigilancia y replanicacin Planicacin continua Planicacin multiagente
Introduccin El formalismo PDDL Bsqueda hacia adelante Bsqueda hacia atrs Heursticas para planicacin Planicacin d
Bibliografa
Russell, S. y Norvig, P. Articial Intelligence (A Modern
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.