You are on page 1of 51

Introduccion

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

utilizaban un predicado holds(fluent,estado)

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

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)

Automatica

Planificacion

11


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

Tecnicas
iniciales

Razonamiento

Utilizan PROLOG directamente


Problema del marco (frame problem): que ocurre cuando
ejecutamos un operador?
axiomas de marco (frame axioms) hay que
Solucion:
especificar los literales que cambiaban y no cambiaban
de los operadores
por la ejecucion

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]

El objetivo del proyecto era construir un solucionador


general que simulara la forma de razonamiento humana

Tena una fuerte componente psicologica


Automatica

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 P1 6=Falso Entonces solucion:=[o+P


1 ,E1 ]
Falso:
Si no: (P1 , E10 ):=GPS(ejecuta(o, E 0 ),M, O);
0

Si P1 6=Falso Entonces solucion:=[P+o+P


1 , E1 ];

Si solucion=Falso
Entonces devuelve [Falso,Falso]

Si no, devuelve solucion


Automatica

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

Ejemplo de funcionamiento (cont.)


Subproblema 1

A
B
D

Subproblema 1.1
A
B

QUITAR(A,B) x=A, y=B


A

B
D

S1

Subproblema 1.2
A

Automatica

Planificacion

17


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

Tecnicas
iniciales

Ejemplo de funcionamiento (cont.)


Subproblema 2
B
A

Subproblema 2.1
B

PONER(B,C) x=B, y=C


B
A

S4
Subproblema 2.2

B
A

Automatica

Planificacion

18


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

Tecnicas
iniciales

Ejemplo de funcionamiento (cont.)


Subproblema 2.1
B
A

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

Aprendizaje de la tabla de diferencias

Se inicializan todas las posiciones a (0,0)


Cada vez que se intenta reducir una diferencia d con un
operador o y funciona:
si tabla[o, d]=(A,I) tabla[o, d]:=(A+1,I+1)
para cada o0 6= o,
y, ademas,
si tabla[o0 , d]=(A,I) tabla[o0 , d]:=(A,I+1)

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

Se hace retroceso cuando:


1
2
3
4
5

No hay operadores que puedan reducir la diferencia


Ningun
operador ha podido reducir la diferencia
difciles
Reducir una diferencia genera subproblemas mas
Aparece un bucle de meta

Se llega a una profundidad maxima

Tipos de conocimiento de control


Independiente del dominio (1, 2 y 4)
Dependiente del dominio (tabla de diferencias y 5)

Automatica

Planificacion

22


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

Tecnicas
iniciales

informacion
en
Mas

Referencias: [Allen et al., 1990,


Borrajo et al., 1993,
Newell et al., 1972,
Rich and Knight, 1994]

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

mundo cuando se ejecuta una accion?


(hipotesis

cambian las cosas que


Solucion
STRIPS ): solo
aparecen en las post-condiciones de cada operador [Fikes
and Nilsson, 1971]
Busqueda:

Nodos: estado actual y pila de metas-operadores


de metas
Nodo raz: estado inicial y conjuncion
Heurstica: seleccionar siempre alguno de los sucesores
de cada nodo

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

Entonces ejecutar operador, quitarlo de la pila y anadirlo


al plan
Si no, se introducen sus precondiciones en la pila

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


LEVANTAR(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


LEVANTAR(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

libre(A) brazo-libre encima(A,B)


QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)

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


LEVANTAR(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

libre(A) brazo-libre encima(A,B)


QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)

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


LEVANTAR(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

libre(A) brazo-libre encima(A,B)


QUITAR(A,B)
sujeto(A)
DEJAR(A)
en-mesa(A)

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,

Problema del cohete chino

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)

Expandir un grafo en el que las metas (y los operadores)


son nodos y se pueden seleccionar las metas en cualquier
orden
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:

Estados (STRIPS , PRODIGY): nodos del arbol


representan
estados
Planes (NOAH , TWEAK , UCPOP, SNLP, O - PLAN): nodos del

arbol
representan planes

Segun
plan generado:
Orden total: secuencia unica
de operadores

Orden parcial: multiples


secuencias posibles

Segun
toma de decisiones:
Compromiso casual: toman decisiones contnuamente
toman decisiones cuando se ven
Mnimo compromiso: solo
forzados

No hay una tecnica


mejor que otra

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

Se puede definir conocimiento de control explcito para


tomar las decisiones

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

No hay ninguna opcion


Se ha sobrepasado el lmite de profundidad o tiempo
Automatica

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

Planes de orden parcial

informacion
en
Mas

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]

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.

Inteligencia Artificial. Metodos


y Tecnicas.
Areces, Madrid, 1993.
Centro de Estudios Ramon
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 to
problem solving.
Artificial Intelligence, 2:189208, 1971.
Automatica

Planificacion

49


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

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 on
Artificial Intelligence, pages 219239, Washington DC, 1969.
Also in Readings in Planning.
John McCarthy and Patrick Hayes.
Some philosophical problems from the standpoint of artificial
intelligence.
Machine Intelligence, 4:463502, 1969.
Also in Readings in Planning.
Allen Newell, Herbert A. Simon, and J. Shaw.
Automatica

Planificacion

50


Introduccion

clasica

Planificacion

neoclasica

Planificacion

Heurstica

en el mundo real
Planificacion

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:81120, 1995.
Daniel S. Weld.
An introduction to least commitment planning.
AI Magazine, 15(4):2761, 1994.

Automatica

Planificacion

51

You might also like