planificación clásica
DESCRIPTION
Planificación clásicaTRANSCRIPT
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Planificacion Automatica
Grupo PLG
Universidad Carlos III de Madrid
IA. 2008-09
Planificacion Automatica 1
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 2
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 3
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 4
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 5
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 6
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 7
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 8
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
En los comienzos...
Las primeras aproximaciones a la planificacion se hicierondesde el calculo de situaciones (situation calculus)Usado en sistemas como QA3 [Green, 1969] o porMcCarthy-Hayes [McCarthy and Hayes, 1969]
Todavıa activo en comunidades de Representacion delconocimiento
Planificacion Automatica 9
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Representacion de los estados
utilizaban un predicado holds(fluent,estado)Fluent (funcion): literal que se decıa era cierto en el estadoejemplo: holds(encima(A,B),S0)utilizaban result(op,estado) que devolvıa un nuevoestadoejemplo:holds(encima(A,B),result(poner(A,B),S0))
Planificacion Automatica 10
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Representacion de los operadores
holds(sujeto(x),result(quitar(x , y), s)) :-holds(encima(x , y), s),holds(libre(x), s),holds(brazo-libre,s)
holds(libre(y),result(quitar(x , y), s)) :-holds(encima(x , y), s),holds(libre(x), s),holds(brazo-libre,s)
∼holds(encima(x , y),result(quitar(x , y), s)) :-holds(encima(x , y), s),holds(libre(x), s),holds(brazo-libre,s)
∼holds(libre(x),result(quitar(x , y), s)) :-holds(encima(x , y), s),holds(libre(x), s),holds(brazo-libre,s)
∼holds(brazo-libre(x),result(quitar(x , y), s)) :-holds(encima(x , y), s),holds(libre(x), s),holds(brazo-libre,s)
holds(en-mesa(z),result(quitar(x , y), s)) :-holds(en-mesa(z), s)
Planificacion Automatica 11
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Razonamiento
Utilizan PROLOG directamenteProblema del marco (frame problem): ¿que ocurre cuandoejecutamos un operador?Solucion: axiomas de marco (frame axioms) hay queespecificar los literales que cambiaban y no cambiabanpor la ejecucion de los operadores
Planificacion Automatica 12
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Analisis de Medios-Fines. GPS
Idea Intuitiva: Para resolver un problema,analizar que fines se desean conseguir (metas),de que medios se dispone para conseguirlos(operadores),utilizar los medios para reducir, progresivamente, lasdiferencias entre el estado inicial y las metas.
GPS (“General Problem Solver”) de Newell, Simon y susestudiantes fue el primer sistema en proponer estaidea [Ernst and Newell, 1969]
El objetivo del proyecto era construir un solucionadorgeneral que simulara la forma de razonamiento humanaTenıa una fuerte componente psicologica
Planificacion Automatica 13
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Ejemplo de reduccion de diferencias
GPS
GPS
Está(Pepe,TrabajoPepe)Tiene(Pepe,LlavesCochePepe)Está(CochePepe,GarageTrabajo)
Está(Pepe,GarageTrabajo)Tiene(Pepe,LlavesCochePepe)Está(CochePepe,GarageTrabajo)
Está(Pepe,GaragePepe)
Está(Pepe,CasaPepe)Lee(Pepe,Quijote)
IR(GarageTrabajo,GaragePepe)
Planificacion Automatica 14
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Funcion GPS
Entradas: Estado inicial (E), Metas (M) y Operadores (O)Salidas: [Plan o Fallo, Estado Alcanzado o Fallo]
Si M ⊆ E Entonces devuelve [Verdadero,E ]Si no, diferencia:=elige-diferencia(E , M);
R:=operadores-relevantes(diferencia,O);solucion:=Falso;Mientras (R 6= φ) Y (solucion=Falso)
o:=elige-operador(diferencia,R);R := R − {o};[P, E ′]:=GPS(E , precondiciones(o),O);Case P of
Verdadero: [P1, E ′1]:=GPS(ejecuta(o,E ′),M, O);
Si P1 6=Falso Entonces solucion:=[o+P1,E ′1]
Falso: –Si no: (P1, E ′
1):=GPS(ejecuta(o, E ′),M, O);Si P1 6=Falso Entonces solucion:=[P+o+P1, E ′
1];Si solucion=Falso Entonces devuelve [Falso,Falso]Si no, devuelve solucion
Planificacion Automatica 15
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Ejemplo de funcionamiento
A
A
B
C
C
B
AD
C
B
A
D
S 2
DEJAR(A) x=A
Subproblema 1
Subproblema 2
Planificacion Automatica 16
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Ejemplo de funcionamiento (cont.)
B
A
C
B
D
A
C
B
D
A
ASubproblema 1
Subproblema 1.1
x=A, y=BQUITAR(A,B)
Subproblema 1.2
S1
Planificacion Automatica 17
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Ejemplo de funcionamiento (cont.)
CB
C
B
A D
CA
B
A
B
C
D
Subproblema 2.2
S4
Subproblema 2
Subproblema 2.1
x=B, y=CPONER(B,C)
Planificacion Automatica 18
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Ejemplo de funcionamiento (cont.)
B
D
C
B
A D
CA
B
CB
D
Subproblema 2.1.2
S3
Subproblema 2.1
Subproblema 2.1.1
x=B, y=DQUITAR(B,D)
Planificacion Automatica 19
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Tabla de diferencias
Operadores Diferenciasen-mesa(x) encima(x,y) libre(x) sujeto(x) brazo-libre
DEJAR(x) • • •LEVANTAR(x) •QUITAR(x,y) • •PONER(x,y) •
Planificacion Automatica 20
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Aprendizaje de la tabla de diferencias
Se inicializan todas las posiciones a (0,0)Cada vez que se intenta reducir una diferencia d con unoperador o y funciona:
si tabla[o, d]=(A,I) → tabla[o, d]:=(A+1,I+1)y, ademas, para cada o′ 6= o,
si tabla[o′, d]=(A’,I) → tabla[o′, d]:=(A’,I+1)
Planificacion Automatica 21
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Control en GPS
Tipos de decision:¿Que diferencia reducir?¿Que operador utilizar para reducir la diferencia?[¿Que instanciacion de operador utilizar?]
Se hace retroceso cuando:1 No hay operadores que puedan reducir la diferencia2 Ningun operador ha podido reducir la diferencia3 Reducir una diferencia genera subproblemas mas difıciles4 Aparece un bucle de meta5 Se llega a una profundidad maxima
Tipos de conocimiento de controlIndependiente del dominio (1, 2 y 4)Dependiente del dominio (tabla de diferencias y 5)
Planificacion Automatica 22
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Tecnicas iniciales
Mas informacion en
Referencias: [Allen et al., 1990,Borrajo et al., 1993,Newell et al., 1972,Rich and Knight, 1994]
Planificacion Automatica 23
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
STRIPS
Objetivo: construccion de un sistema de control para el robot Shakey
Planificacion Automatica 24
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Representacion de operadores
Problema del marco: ¿que ocurre con el contexto delmundo cuando se ejecuta una accion?Solucion (hipotesis STRIPS): solo cambian las cosas queaparecen en las post-condiciones de cada operador [Fikesand Nilsson, 1971]Busqueda:
Nodos: estado actual y pila de metas-operadoresNodo raız: estado inicial y conjuncion de metasHeurıstica: seleccionar siempre alguno de los sucesoresde cada nodo
Idea:Meter en la pila las metas por conseguir y los operadoresque consiguen dichas metasSacar de la pila las metas que sean ciertas en el estadoactual y los operadores que se ejecuten
Planificacion Automatica 25
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Algoritmo de STRIPS
Repetir hasta que pila=φ OR no se puedan expandir mas nodos• Si la cima de la pila del nodo es una conjuncion de metas
Si la conjuncion es cierta en el estado Entonces se elimina de la pilaSi no, generar como sucesores todas las posibles combinaciones de las metas
seleccionar una de ellas• Si la cima de la pila del nodo es una meta
Si la meta es cierta en el estado Entonces se elimina de la pilaSi no, Si hay bucle de meta Entonces retroceder
Si no, generar un sucesor por cada instanciacion de operadorque anade dicha meta
Si hay sucesores Entonces elegir unoSi no, retroceder
• Si la cima de la pila del nodo es un operador instanciadoSi el operador instanciado se puede ejecutarEntonces ejecutar operador, quitarlo de la pila y anadirlo al planSi no, se introducen sus precondiciones en la pila
Planificacion Automatica 26
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Representacion de operadores
QUITAR(x , y )precondiciones: encima(x , y ),libre(x),brazo-libreanadidos: sujeto(x),libre(y )borrados: encima(x , y ),brazo-libre,libre(x)
LEVANTAR(x)precondiciones: en-mesa(x),libre(x),brazo-libreanadidos: sujeto(x)borrados: en-mesa(x),brazo-libre,libre(x)
PONER(x , y )precondiciones: sujeto(x),libre(y )anadidos: encima(x , y ),libre(x),brazo-libreborrados: sujeto(x),libre(y )
DEJAR(x)precondiciones: sujeto(x)anadidos: en-mesa(x),libre(x),brazo-libreborrados: sujeto(x)
Planificacion Automatica 27
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 28
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 29
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 30
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 31
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 32
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 33
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1
E2en-mesa(A)
B A
E2
Planificacion Automatica 34
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de STRIPS
A
AB
Estado inicial (E )0 Metas
en-mesa(A) E0
en-mesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)en-mesa(A)
E0
E0
en-mesa(A)
sujeto(A)DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
en-mesa(A)
sujeto(A)DEJAR(A)
E0E
sujeto(A)DEJAR(A)en-mesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
en-mesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazo-libreen-mesa(A) libre(A)
en-mesa(A) libre(A)brazo-librebrazo-libre
X
X X
X X
en-mesa(A)libre(A)
...
libre(A) brazo-libre encima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en-mesa(A)
E0
E1sujeto(A)DEJAR(A)en-mesa(A) B
A
E1E2en-mesa(A)
B A
E2
Planificacion Automatica 35
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Problema: linealidad
STRIPS asume independencia entre las metas, por lo quelas trata linealmente: hasta que no encuentra un plan paraobtener una meta, no pasa a las siguientes metasNo funciona cuando hay recursos limitados, por lo que es:
incompleta: existe solucion, pero no la encuentra
Problema del cohete chinoBA A B
C
MarteTierra
Estado inicial
Marte
Metas
no optima: no encuentra la solucion optima
Anomalıa de SussmanEstado inicial Metas
A
C
B
A
B
C
Planificacion Automatica 36
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Planificacion no lineal
Consideracion de varias metas al mismo tiempoPensar con un conjunto de metas: no es necesario generarcompletamente un plan de una meta para estudiar almismo tiempo el resto
...
en−aeropuerto(Pepe,Barajas)
coger−taxi(Pepe,Casa−Pepe,Barajas)
en−aeropuerto(Maletas−Pepe,Barajas)
descargar−maletas(Maletas−Pepe,x,Barajas)
Expandir un grafo en el que las metas (y los operadores)son nodos y se pueden seleccionar las metas en cualquierorden
en(Maletas−Pepe,Casa−Pepe)
en(Pepe,Casa−Pepe)
coger−taxi(Pepe,Casa−Pepe,Barajas)
descargar−maletas(Maletas−Pepe,x,Barajas)
en−aeropuerto(Maletas−Pepe,Barajas)
en−aeropuerto(Pepe,Barajas)Estado inicial Metas
Planificacion Automatica 37
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Planificacion no lineal
Segun espacio de problemas:Estados (STRIPS, PRODIGY): nodos del arbol representanestadosPlanes (NOAH, TWEAK, UCPOP, SNLP, O-PLAN): nodos delarbol representan planes
Segun plan generado:Orden total: secuencia unica de operadoresOrden parcial: multiples secuencias posibles
Segun toma de decisiones:Compromiso casual: toman decisiones contınuamenteMınimo compromiso: solo toman decisiones cuando se venforzados
No hay una tecnica mejor que otra
Planificacion Automatica 38
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
PRODIGY
Analisis medios-fines con busqueda hacia atras(bidireccional) [Veloso et al., 1995]
Las metas se tratan como un conjuntoDecisiones:
Meta: que meta escogerOperador: que operador utilizar para obtener una metaInstanciacion de operador: que valores asignar a lasvariables del operadorEjecutar un operador o trabajar en alguna submeta
Se puede definir conocimiento de control explıcito paratomar las decisiones
Planificacion Automatica 39
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Arbol de busqueda generico de PRODIGY
operador o trabajar enuna submeta
1 g
1
1 b
1 g
4 3
2
1
o
meta meta
meta meta
metaElige una
Elige unoperador
Elige unainstanciación
Decide si ejecutar un
ejecutar operador submeta
submetaejecutar operador
operador
instanciacióninstanciación
operador
Planificacion Automatica 40
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Algunas definiciones
Una meta esta pendiente si es una precondicion de unoperador seleccionado (incluyendo las metas iniciales)que no es cierta en el estado actualUn operador es aplicable cuando todas susprecondiciones son ciertas en el estado actualOperadores relevantes a una meta son aquellos que, si seejecutara una de sus instanciaciones, conseguirıa que lameta fuera cierta en el estadoCamino sin salida
Bucle de metaTodas las opciones han sido caminos sin salidaNo hay ninguna opcionSe ha sobrepasado el lımite de profundidad o tiempo
Planificacion Automatica 41
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Algoritmo de planificacion de PRODIGY4.0
Prodigy (E ,M,O, C)
Mientras que las metas M no sean ciertas en el estado E Yno se hayan sobrepasado los recursos lımite (tiempo o nodos) Yno se hayan explorado todos los posibles nodos
Si hay un camino sin salida, entonces retrocederSi no, Calcular el conjunto de operadores aplicables, A
Elegir una meta M ∈M o un operador A ∈ A de acuerdo a CSi se ha seleccionado M, entonces:
Generar el conjunto O′ ∈ O de los operadores relevantesElegir un operador O ∈ O′, de acuerdo a CGenerar el conjunto de instanciaciones del operador O, Oi
Elegir un operador instanciado Oi ∈ Oi , de acuerdo a CSi no, (se ha seleccionado un A):
Asignar E al estado despues de Ejecutar ACalcular el conjunto de metas pendientes M
Planificacion Automatica 42
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Ejemplo de PRODIGY
A
B
B
A
MetasEstado inicial
done
*finish*
en−mesa(A) encima(B,A)
dejar
dejar(A)
sujeto(A)
levantar
encima(B,A)
quitar
QUITAR(A,B)
encima(B,A)DEJAR(A)
encima(B,A)
poner
sujeto(B)
poner(B,A)libre(A)
quitarlevantar
LEVANTAR(B)
PONER(B,A)
*finish*()
*FINISH*()
encima(B,A)
levantar(A)
en−mesa(A)
brazo−librelibre(A),
encima(B,A)
quitar(A,B) brazo−libre
libre(B) levantar(B)
encima(A,B),libre(A),
en−mesa(B),brazo−libre,
Planificacion Automatica 43
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Espacio de estados
Arquitectura de PRODIGY
Aprendizaje de conocimientode dominio
Aprendizaje de conocimientode control para mejorar la
calidad
Aprendizaje de conocimientode control para mejorar la eficiencia
Planificador
ApprenticeExperiment
Observe Hamlet
Quality
Prodigy/EBL Static Dynamic Alpine Prodigy/Analogy
Planificacion Automatica 44
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Planes de orden parcial
Mas informacion en
Libros: [Allen et al., 1990,Ghallab et al., 2004]
Otras referencias: [Fikes and Nilsson, 1971,Newell et al., 1972,Veloso et al., 1995,Weld, 1994]
Planificacion Automatica 45
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 46
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 47
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Indice
1 Introduccion
2 Planificacion clasicaTecnicas inicialesEspacio de estadosPlanes de orden parcial
3 Planificacion neoclasica
4 Heurıstica
5 Planificacion en el mundo real
Planificacion Automatica 48
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Referencias
James F. Allen, James Hendler, and Austin Tate (eds.).Readings in Planning.Morgan Kaufmann, 1990.
Daniel Borrajo, Natalia Juristo, Vicente Martınez, and JuanPazos.Inteligencia Artificial. Metodos y Tecnicas.Centro de Estudios Ramon Areces, Madrid, 1993.
George W. Ernst and Allen Newell.GPS: A Case Study in Generality and Problem Solving.ACM Monograph Series. Academic Press, New York, NY, 1969.
Richard E. Fikes and Nils J. Nilsson.Strips: A new approach to the application of theorem proving toproblem solving.Artificial Intelligence, 2:189–208, 1971.
Planificacion Automatica 49
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Malik Ghallab, Dana Nau, and Paolo Traverso.
Automated Task Planning. Theory & Practice.
Morgan Kaufmann, 2004.
Cordell C. Green.
Application of theorem proving to problem solving.
In Proceedings of the First International Joint Conference onArtificial Intelligence, pages 219–239, Washington DC, 1969.
Also in Readings in Planning.
John McCarthy and Patrick Hayes.
Some philosophical problems from the standpoint of artificialintelligence.
Machine Intelligence, 4:463–502, 1969.
Also in Readings in Planning.
Allen Newell, Herbert A. Simon, and J. Shaw.Planificacion Automatica 50
Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real
Human Problem Solving.Prentice-Hall, Englewood Cliffs, NJ, 1972.
Elaine Rich and Kevin Knight.Inteligencia Artificial.McGraw-Hill, Inc., 1994.Segunda edicion.
Manuela Veloso, Jaime Carbonell, Alicia Perez, Daniel Borrajo,Eugene Fink, and Jim Blythe.Integrating planning and learning: The PRODIGY architecture.Journal of Experimental and Theoretical AI, 7:81–120, 1995.
Daniel S. Weld.An introduction to least commitment planning.AI Magazine, 15(4):27–61, 1994.
Planificacion Automatica 51