Professional Documents
Culture Documents
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Grupo PLG
Universidad Carlos III de Madrid
IA. 2008-09
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
En los comienzos...
se hicieron
Las primeras aproximaciones a la planificacion
desde el calculo
de situaciones (situation calculus)
Usado en sistemas como QA 3 [Green, 1969] o por
McCarthy-Hayes [McCarthy and Hayes, 1969]
del
Todava activo en comunidades de Representacion
conocimiento
Automatica
Planificacion
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
de los estados
Representacion
Fluent (funcion):
literal que se deca era cierto en el estado
ejemplo: holds(encima(A,B),S0)
utilizaban result(op,estado) que devolva un nuevo
estado
ejemplo:
holds(encima(A,B),result(poner(A,B),S0))
Automatica
Planificacion
10
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
de los operadores
Representacion
Automatica
Planificacion
11
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Razonamiento
Automatica
Planificacion
12
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
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, las
diferencias entre el estado inicial y las metas.
GPS (General Problem Solver) de Newell, Simon y sus
estudiantes fue el primer sistema en proponer esta
idea [Ernst and Newell, 1969]
Planificacion
13
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
de diferencias
Ejemplo de reduccion
Est(Pepe,TrabajoPepe)
Tiene(Pepe,LlavesCochePepe)
Est(CochePepe,GarageTrabajo)
GPS
Est(Pepe,GarageTrabajo)
Tiene(Pepe,LlavesCochePepe)
Est(CochePepe,GarageTrabajo)
IR(GarageTrabajo,GaragePepe)
Est(Pepe,GaragePepe)
GPS
Est(Pepe,CasaPepe)
Lee(Pepe,Quijote)
Automatica
Planificacion
14
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
GPS
Funcion
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 0 ]:=GPS(E, precondiciones(o),O);
Case P of
Verdadero: [P1 , E10 ]:=GPS(ejecuta(o,E 0 ),M, O);
0
Si solucion=Falso
Entonces devuelve [Falso,Falso]
Planificacion
15
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Ejemplo de funcionamiento
A
B
D
Subproblema 1
A
DEJAR(A)
B
D
x=A
S2
Subproblema 2
B
A
Automatica
Planificacion
16
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
A
B
D
Subproblema 1.1
A
B
B
D
S1
Subproblema 1.2
A
Automatica
Planificacion
17
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Subproblema 2.1
B
S4
Subproblema 2.2
B
A
Automatica
Planificacion
18
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Subproblema 2.1.1
B
D
QUITAR(B,D)
B
A
x=B, y=D
S
3
Subproblema 2.1.2
C
Automatica
Planificacion
19
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Tabla de diferencias
Operadores
DEJAR(x)
LEVANTAR(x)
QUITAR(x,y)
PONER(x,y)
Automatica
Planificacion
en-mesa(x)
Diferencias
encima(x,y) libre(x)
sujeto(x)
brazo-libre
20
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Automatica
Planificacion
21
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
Control en GPS
Tipos de decision:
Que diferencia reducir?
Que operador utilizar para reducir la diferencia?
de operador utilizar?]
[Que instanciacion
Automatica
Planificacion
22
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Tecnicas
iniciales
informacion
en
Mas
Automatica
Planificacion
23
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
STRIPS
de un sistema de control para el robot Shakey
Objetivo: construccion
Automatica
Planificacion
24
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
de operadores
Representacion
Problema del marco: que ocurre con el contexto del
Idea:
Meter en la pila las metas por conseguir y los operadores
que consiguen dichas metas
Sacar de la pila las metas que sean ciertas en el estado
actual y los operadores que se ejecuten
Automatica
Planificacion
25
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Algoritmo de STRIPS
nodos
Repetir hasta que pila= OR no se puedan expandir mas
de metas
Si la cima de la pila del nodo es una conjuncion
es cierta en el estado Entonces se elimina de la pila
Si la conjuncion
Si 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 pila
Si no, Si hay bucle de meta Entonces retroceder
de operador
Si no, generar un sucesor por cada instanciacion
que anade
dicha meta
Si hay sucesores Entonces elegir uno
Si no, retroceder
Si la cima de la pila del nodo es un operador instanciado
Si el operador instanciado se puede ejecutar
Automatica
Planificacion
26
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
de operadores
Representacion
QUITAR(x, y )
precondiciones: encima(x, y ),libre(x),brazo-libre
anadidos:
sujeto(x),libre(y )
borrados: encima(x, y ),brazo-libre,libre(x)
LEVANTAR(x)
precondiciones: en-mesa(x),libre(x),brazo-libre
anadidos:
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-libre
borrados: sujeto(x),libre(y )
DEJAR(x)
precondiciones: sujeto(x)
anadidos:
en-mesa(x),libre(x),brazo-libre
borrados: sujeto(x)
Automatica
Planificacion
27
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de STRIPS
en-mesa(A)
E0
A
B
Estado inicial (E )
0
Automatica
Planificacion
A
Metas
28
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de STRIPS
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
A
B
Estado inicial (E )
0
Automatica
Planificacion
A
Metas
29
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de STRIPS
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
Automatica
Planificacion
E0
A
B
Estado inicial (E )
0
A
Metas
30
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de STRIPS
LEVANTAR(A)
sujeto(A)
E0
DEJAR(A)
en-mesa(A)
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
B
Estado inicial (E )
0
QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)
QUITAR(A,A)
sujeto(A)
DEJAR(A)
en-mesa(A)
Automatica
Planificacion
E0
A
A
Metas
E0
E0
31
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de STRIPS
LEVANTAR(A)
sujeto(A)
E0
DEJAR(A)
en-mesa(A)
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
en-mesa(A)
libre(A)
brazo-libre
en-mesa(A) libre(A)brazo-libre E 0
LEVANTAR(A)
sujeto(A)
DEJAR(A)
en-mesa(A)
Automatica
Planificacion
QUITAR(A,A)
sujeto(A)
DEJAR(A)
en-mesa(A)
...
B
Estado inicial (E )
0
QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)
X
X
bucle de
meta
E0
A
A
Metas
E0
E0
32
Introduccion
clasica
Planificacion
neoclasica
Planificacion
en el mundo real
Planificacion
Heurstica
Espacio de estados
Ejemplo de STRIPS
LEVANTAR(A)
sujeto(A)
E0
DEJAR(A)
en-mesa(A)
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
en-mesa(A)
libre(A)
brazo-libre
en-mesa(A) libre(A)brazo-libre E 0
LEVANTAR(A)
sujeto(A)
DEJAR(A)
en-mesa(A)
Automatica
Planificacion
QUITAR(A,A)
sujeto(A)
DEJAR(A)
en-mesa(A)
...
E0
Estado inicial (E )
0
QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)
X
X
bucle de
meta
E0
Metas
E0
E0
33
Introduccion
clasica
Planificacion
neoclasica
Planificacion
en el mundo real
Planificacion
Heurstica
Espacio de estados
Ejemplo de STRIPS
LEVANTAR(A)
sujeto(A)
E0
DEJAR(A)
en-mesa(A)
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
en-mesa(A)
libre(A)
brazo-libre
en-mesa(A) libre(A)brazo-libre E 0
LEVANTAR(A)
sujeto(A)
DEJAR(A)
en-mesa(A)
Automatica
Planificacion
QUITAR(A,A)
sujeto(A)
DEJAR(A)
en-mesa(A)
...
E0
Estado inicial (E )
0
QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)
X
X
bucle de
meta
E0
Metas
E0
E0
X
sujeto(A)
DEJAR(A)
en-mesa(A)
A
E1
B
E1
34
Introduccion
clasica
Planificacion
neoclasica
Planificacion
en el mundo real
Planificacion
Heurstica
Espacio de estados
Ejemplo de STRIPS
LEVANTAR(A)
sujeto(A)
E0
DEJAR(A)
en-mesa(A)
en-mesa(A)
E0
DEJAR(A)
en-mesa(A)
E0
sujeto(A)
DEJAR(A)
en-mesa(A)
en-mesa(A)
libre(A)
brazo-libre
en-mesa(A) libre(A)brazo-libre E 0
LEVANTAR(A)
sujeto(A)
DEJAR(A)
en-mesa(A)
QUITAR(A,A)
sujeto(A)
DEJAR(A)
en-mesa(A)
...
E0
Estado inicial (E )
0
QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)
X
X
bucle de
meta
E0
Metas
E0
E0
X
A
sujeto(A)
DEJAR(A)
en-mesa(A)
E1
en-mesa(A)
E2
B
E1
A
E2
Automatica
Planificacion
35
Introduccion
clasica
Planificacion
neoclasica
Planificacion
en el mundo real
Planificacion
Heurstica
Espacio de estados
Problema: linealidad
asume independencia entre las metas, por lo que
las trata linealmente: hasta que no encuentra un plan para
obtener una meta, no pasa a las siguientes metas
No funciona cuando hay recursos limitados, por lo que es:
STRIPS
pero no la encuentra
incompleta: existe solucion,
C
A
Tierra
Estado inicial
Marte
Marte
Metas
optima
no optima:
no encuentra la solucion
A
Anomala de Sussman
C
A
B
B
Estado inicial
Automatica
Planificacion
C
Metas
36
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
no lineal
Planificacion
de varias metas al mismo tiempo
Consideracion
Pensar con un conjunto de metas: no es necesario generar
completamente un plan de una meta para estudiar al
mismo tiempo el resto
enaeropuerto(Pepe,Barajas)
enaeropuerto(MaletasPepe,Barajas)
cogertaxi(Pepe,CasaPepe,Barajas)
...
descargarmaletas(MaletasPepe,x,Barajas)
en(Pepe,CasaPepe)
en(MaletasPepe,CasaPepe)
enaeropuerto(MaletasPepe,Barajas)
enaeropuerto(Pepe,Barajas)
Estado inicial
Metas
cogertaxi(Pepe,CasaPepe,Barajas)
Automatica
Planificacion
37
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
no lineal
Planificacion
Segun
espacio de problemas:
arbol
representan planes
Segun
plan generado:
Orden total: secuencia unica
de operadores
Segun
toma de decisiones:
Compromiso casual: toman decisiones contnuamente
toman decisiones cuando se ven
Mnimo compromiso: solo
forzados
Automatica
Planificacion
38
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
PRODIGY
Analisis
medios-fines con busqueda
hacia atras
[
]
(bidireccional) Veloso et al., 1995
Las metas se tratan como un conjunto
Decisiones:
Meta: que meta escoger
Operador: que operador utilizar para obtener una meta
de operador: que valores asignar a las
Instanciacion
variables del operador
Ejecutar un operador o trabajar en alguna submeta
Automatica
Planificacion
39
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Arbol
de busqueda
generico
de PRODIGY
meta
operador1
instanciacin 1
ejecutar operador
ejecutar operador
4
Automatica
Planificacion
submeta
meta g
Elige una
meta
Elige un
operador
operadoro
Elige una
instanciacin
instanciacin b
Decide si ejecutar un
operador o trabajar en
una submeta
submeta
meta 1
meta g
3
40
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Algunas definiciones
de un
Una meta esta pendiente si es una precondicion
operador seleccionado (incluyendo las metas iniciales)
que no es cierta en el estado actual
Un operador es aplicable cuando todas sus
precondiciones son ciertas en el estado actual
Operadores relevantes a una meta son aquellos que, si se
ejecutara una de sus instanciaciones, conseguira que la
meta fuera cierta en el estado
Camino sin salida
Bucle de meta
Todas las opciones han sido caminos sin salida
Planificacion
41
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
de P RODIGY 4.0
Algoritmo de planificacion
Prodigy (E, M, O, C)
Mientras que las metas M no sean ciertas en el estado E Y
no se hayan sobrepasado los recursos lmite (tiempo o nodos) Y
no se hayan explorado todos los posibles nodos
Si hay un camino sin salida, entonces retroceder
Si no, Calcular el conjunto de operadores aplicables, A
Elegir una meta M M o un operador A A de acuerdo a C
Si se ha seleccionado M, entonces:
Generar el conjunto O0 O de los operadores relevantes
Elegir un operador O O0 , de acuerdo a C
Generar el conjunto de instanciaciones del operador O, Oi
Elegir un operador instanciado Oi Oi , de acuerdo a C
Si no, (se ha seleccionado un A):
de Ejecutar A
Asignar E al estado despues
Calcular el conjunto de metas pendientes M
Automatica
Planificacion
42
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Ejemplo de PRODIGY
done
enmesa(A)
dejar
dejar(A)
sujeto(A)
levantar
libre(A), brazolibre levantar(A)
enmesa(A)
encima(B,A)
*finish*
*finish*()
encima(B,A)
Estado inicial
Metas
encima(B,A)
quitar
quitar(A,B)
QUITAR(A,B)
DEJAR(A)
encima(B,A)
poner
libre(A) poner(B,A)
sujeto(B)
levantar
enmesa(B),brazolibre,libre(B) levantar(B)
LEVANTAR(B)
PONER(B,A)
*FINISH*()
Automatica
Planificacion
encima(A,B),libre(A), brazolibre
encima(B,A)
encima(B,A)
quitar
43
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Espacio de estados
Arquitectura de PRODIGY
Aprendizaje de conocimiento
de control para mejorar la eficiencia
Prodigy/EBL Static
Observe
Experiment
Dynamic
Prodigy/Analogy
Hamlet
Planificador
Apprentice
Aprendizaje de conocimiento
de dominio
Automatica
Planificacion
Alpine
Quality
Aprendizaje de conocimiento
de control para mejorar la
calidad
44
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
informacion
en
Mas
Automatica
Planificacion
45
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
46
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
47
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Indice
1
Introduccion
clasica
Planificacion
Tecnicas
iniciales
Espacio de estados
Planes de orden parcial
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Automatica
Planificacion
48
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Referencias
James F. Allen, James Hendler, and Austin Tate (eds.).
Readings in Planning.
Morgan Kaufmann, 1990.
Daniel Borrajo, Natalia Juristo, Vicente Martnez, and Juan
Pazos.
Planificacion
49
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Planificacion
50
Introduccion
clasica
Planificacion
neoclasica
Planificacion
Heurstica
en el mundo real
Planificacion
Segunda edicion.
Automatica
Planificacion
51