51
Introducci ´ on Planificaci ´ on cl ´ asica Planificaci ´ on neocl ´ asica Heur´ ıstica Planificaci ´ on en el mundo real Planificaci ´ on Autom´ atica Grupo PLG Universidad Carlos III de Madrid IA. 2008-09 Planificaci ´ on Autom´ atica 1

Planificación clásica

Embed Size (px)

DESCRIPTION

Planificación clásica

Citation preview

Page 1: Planificación clásica

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

Page 2: Planificación clásica

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

Page 3: Planificación clásica

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

Page 4: Planificación clásica

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

Page 5: Planificación clásica

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

Page 6: Planificación clásica

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

Page 7: Planificación clásica

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

Page 8: Planificación clásica

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

Page 9: Planificación clásica

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

Page 10: Planificación clásica

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

Page 11: Planificación clásica

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

Page 12: Planificación clásica

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

Page 13: Planificación clásica

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

Page 14: Planificación clásica

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

Page 15: Planificación clásica

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

Page 16: Planificación clásica

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

Page 17: Planificación clásica

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

Page 18: Planificación clásica

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

Page 19: Planificación clásica

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

Page 20: Planificación clásica

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

Page 21: Planificación clásica

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

Page 22: Planificación clásica

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

Page 23: Planificación clásica

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

Page 24: Planificación clásica

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

Page 25: Planificación clásica

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

Page 26: Planificación clásica

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

Page 27: Planificación clásica

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

Page 28: Planificación clásica

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

Page 29: Planificación clásica

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

Page 30: Planificación clásica

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

Page 31: Planificación clásica

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

Page 32: Planificación clásica

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

Page 33: Planificación clásica

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

Page 34: Planificación clásica

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

Page 35: Planificación clásica

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

Page 36: Planificación clásica

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

Page 37: Planificación clásica

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

Page 38: Planificación clásica

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

Page 39: Planificación clásica

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

Page 40: Planificación clásica

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

Page 41: Planificación clásica

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

Page 42: Planificación clásica

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

Page 43: Planificación clásica

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

Page 44: Planificación clásica

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

Page 45: Planificación clásica

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

Page 46: Planificación clásica

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

Page 47: Planificación clásica

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

Page 48: Planificación clásica

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

Page 49: Planificación clásica

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

Page 50: Planificación clásica

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

Page 51: Planificación clásica

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