56
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

Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

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: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 2

Page 3: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 3

Page 4: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 4

Page 5: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 5

Page 6: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 6

Page 7: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 7

Page 8: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 8

Page 9: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 9

Page 10: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 10

Page 11: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Planificacion jerarquica

Se distingue de la planificacion clasica en:Que planifica: en vez de un conjunto de metas G, elconjunto de acciones que llevan a cabo una actividad otareaComo planifica: descomponiendo tareas en subtareas deacuerdo con la definicion de varios metodos

Se diferencian:Simple Task Networks (STNs): la descomposicion se aplicaen cumplimiento de unas precondiciones segun unajerarquıaHierarchical Task Networks (HTNs): la descomposicion serealiza en un conjunto de tareas que cumplen ciertasrestricciones

Muy eficiente si se define bien el conocimientoLos dominios son mas complicados de definir

Planificacion Automatica 11

Page 12: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Tipos de planificacion jerarquica

Los planes se van generando gradualmente deoperadores mas generales a mas concretos:

Estableciendo niveles de abstraccion en las precondicionesde los operadores: ABSTRIPS [Sacerdoti, 1974],ALPINE [Knoblock, 1994]Refinando los operadores sucesivamente:NOAH [Sacerdoti, 1977], MOLGEN [Stefik, 1981b,Stefik, 1981a]Preprogramando en que se divide cada operador:O-PLAN [Currie and Tate, 1991], SHOP2 [Nau et al., 2003]

Planificacion Automatica 12

Page 13: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

No lineal y jerarquica. NOAH

Debido a Sacerdoti [Sacerdoti, 1977]

Mezcla planificacion no lineal y jerarquicaTecnica empleada

detalla cada operador del plan construido hasta esemomentopor cada meta que no se consigue por ningun operador,genera uno, sin tener en cuenta el orden respecto a losdemasanaliza y cambia el plan utilizando un conjunto de crıticos

RepeticionesInconsistenciasConflictos

Planificacion Automatica 13

Page 14: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Simple Task Networks. STNs

Una STN es un grafo dirigido acıclico w = (U, E) donde:

Cada nodo u ∈ U tiene asociada una tarea:

Instanciada o no: si tiene o no terminos variablesPrimitiva o no: si puede descomponerse o no

Cada arco e ∈ E establece una relacion de orden entre dostareas: u ≺ v si y solo si hay un camino desde u hasta v

C

B

B

C

invertir−pila (B)

dejar (B)quitar (B,C) invertir−sobre−pila (C,B)

poner (C,B) levantar(C)

Planificacion Automatica 14

Page 15: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Simple Task Networks. STNs

C

B

B

C

invertir−pila (B)

dejar (B)quitar (B,C) invertir−sobre−pila (C,B)

poner (C,B) levantar(C)

Planificacion Automatica 15

Page 16: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Metodos STN

Un metodo STN es una tupla m = (name(m), task(m),precond(m), network(m)) donde:

name(m) es el nombre del metodotask(m) es una tarea no primitivaprecond(m) son las precondiciones del metodonetwork(m) son las subtareas del metodo

Un problema de planificacion STN es una tuplaP = (s0, w , O, M) donde:

s0 es el estado inicialw es una jerarquıa de tareasD = (O, M) es el dominio de planificacion —operadores ymetodos

Planificacion Automatica 16

Page 17: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Ejemplo STN

metodo: iniciar-inversion (b1, b2)tarea: invertir-pila (b1)preconds: libre (b1), encima (b1, b2)subtareas: quitar (b1, b2), dejar (b1),

invertir-sobre-pila (b2, b1)

metodo: invertir (b1, b2, b3)tarea: invertir-sobre-pila (b1, b2)preconds: libre (b1), libre (b2), encima (b1, b3)subtareas: quitar (b1, b3), poner (b1, b2),

invertir-sobre-pila (b3, b1)

metodo: finalizar-inversion (b1, b2)tarea: invertir-sobre-pila (b1, b2)preconds: libre (b1), libre (b2), en-mesa (b1)subtareas: levantar (b1), poner (b1, b2)

Planificacion Automatica 17

Page 18: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Ejemplo STN (cont.)

quitar (A,B) dejar (A) invertir−sobre−pila (B,A)

poner (B,A)quitar (B,C) invertir−sobre−pila (C,B)

B

C

A

B

C A

poner (C,B)levantar (C)

C A

B

A

B

C

iniciar−inversion (A,B)

invertir−pila (A)

invertir (B,A,C)

finalizar−inversion (C,B)

Planificacion Automatica 18

Page 19: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Resolucion

Un plan π = 〈a1, . . . , an〉 es una solucion del problemaP = (s0, w , O, M) si y solo si:

w = ∅ y π = ∅Dada una tarea no primitiva u ∈ w , π es una solucion de Psi a1 es aplicable en s0 y π = 〈a2, . . . , an〉 es una solucionde P ′ = (γ(s0, a1), w − u, O, M)Dada una tarea no primitiva u ∈ w , π es una solucion de Psi existe una jerarquıa w ′ a la que se llega con un metodom de modo que π es una solucion de (s0, w ′, O, M)

Los modelos jerarquicos recorren los estadosexplıcitamenteGeneran planes secuencialesDe la definicion de los metodos pueden derivarse planesen orden total o parcial

Planificacion Automatica 19

Page 20: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Hierarchical Task Networks (HTN)

Tipos de tareas: compuestas o primitivasEntradas: estado inicial, tareas compuestas, orden en elque se deben conseguir y teorıa del dominio (metodos yacciones)Metodos: estan formados por

tarea compuestasprecondiciones para poder realizar la descomposicionconjunto de subtareas en las que se puede descomponerrestricciones que se deben cumplir en esas subtareas

Acciones:consiguen las tareas primitivasson semejantes a los operadores de planificacion STRIPSformadas por: tarea primitiva, precondiciones y efectos

Planificacion Automatica 20

Page 21: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Mas sobre HTNs

Una HTN se define como w = (U, C) donde C es unconjunto de restricciones:

de precedencia: u ≺ vantes-de: before (U ′,l) establece que en cualquier planπ solucion de P, l debe ser cierto antes de U ′

despues-de: after (U ′,l) establece que en cualquierplan π solucion de P, l debe ser cierto despues de U ′

en-medio-de: between (U ′,U ′′,l) establece que l debeser cierto despues de U ′ y mantenerse ası al menos hastael estado anterior a U ′′

Los metodos HTN se describen entonces como:m = (name(m), task(m), precond(m), network(m))

Planificacion Automatica 21

Page 22: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Ejemplo HTN

metodo: iniciar-inversion (b1, b2)tarea: invertir-pila (b1)subtareas: u1 =quitar (b1, b2), u2 = dejar (b1),

u3 = invertir-sobre-pila (b2, b1)restriccs: u1 ≺ u2, u2 ≺ u3, before ({u1}, libre (b1)),

before ({u1}, encima (b1,b2)), before ({u1}, brazo-libre),before ({u3}, libre (b1))

metodo: invertir (b1, b2, b3)tarea: invertir-sobre-pila (b1, b2)subtareas: u1 = quitar (b1, b3), u2 = poner (b1, b2),

u3 = invertir-sobre-pila (b3, b1)restriccs: u1 ≺ u2, u2 ≺ u3, before ({u3}, libre (b1))

before ({u1}, encima (b1,b3)), before ({u1}, brazo-libre),before ({u3}, libre (b1))

metodo: finalizar-inversion (b1, b2)tarea: invertir-sobre-pila (b1, b2)subtareas: u1 = levantar (b1), u2 = poner (b1, b2)restriccs: u1 ≺ u2

Planificacion Automatica 22

Page 23: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Ejemplo de teorıa del dominio (acciones)

(defdomain logistics((:operator (!load-truck ?obj ?truck ?loc)

((obj-at ?obj ?loc)(:protection (truck-at ?truck ?loc)))((in-truck ?obj ?truck)))

(:operator (!unload-truck ?obj ?truck ?loc)((in-truck ?obj ?truck)(:protection (truck-at ?truck ?loc)))((obj-at ?obj ?loc)))

. . .))

Planificacion Automatica 23

Page 24: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Metodos (same-city-deliver)

(:method (obj-at ?obj ?loc-goal) same-city-deliver((in-city ?loc-goal ?city-goal) (obj-at ?obj ?loc-now)(in-city ?loc-now ?city-goal) (truck ?truck ?city-goal))((:task in-city-delivery ?truck ?obj ?loc-now ?loc-goal))different-city-deliver((in-city ?loc-goal ?city-goal) (obj-at ?obj ?loc-now)(in-city ?loc-now ?city-now) (different ?city-goal ?city-now)(truck ?truck-now ?city-now) (truck ?truck-goal ?city-goal)(airport ?airport-now) (in-city ?airport-now ?city-now)(airport ?airport-goal) (in-city ?airport-goal ?city-goal))(:ordered (:task in-city-delivery ?truck-now ?obj ?loc-now ?airport-now)

(:task air-deliver-obj ?obj ?airport-now ?airport-goal)(:task in-city-delivery ?truck-goal ?obj ?airport-goal ?loc-goal)))

Planificacion Automatica 24

Page 25: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Resolucion de problemas con HTN

Proceso: descomposicion de tareas compuestas en tareasmas sencillas hasta que todas sean tareas primitivasPlan: composicion de todas las acciones relativas a lastareas primitivas, conservando restricciones de orden

Planificacion Automatica 25

Page 26: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Variantes

SIPE, O-PLAN, UMCP

permiten ordenes parciales entre subtareasdifieren en el tipo de restricciones que pueden definir

SHOP

orden total en las subtareasmas eficiente, menos rico en representacion

Planificacion Automatica 26

Page 27: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

SHOP2

SHOP2 es un planificador HTN independiente del dominiocuyos metodos deben ser especializados en cada dominioComo otros planificadores HTN, SHOP2 planifica las tareasen el orden en que seran ejecutadasAdemas de tareas, metodos y operadores, SHOP2 aceptaaxiomas como clausulas de Horn e invocaciones afunciones externas

Planificacion Automatica 27

Page 28: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Algoritmo SHOP2 (s, T , D)

1 Escoger una tarea t ∈ T que no tenga predecesoras deacuerdo con las restricciones

2 Si t es una tarea primitiva:

Elegir una accion a que unifique con t mediante θ y cuyasprecondiciones se cumplan en sActualizar s borrando del(a) y anadiendo add(a)Eliminar t de T y aplicar θ

3 Si t es una tarea no primitiva (o compuesta):

Elegir un metodo m que descomponga t en subtareassegun θEliminar t de T y anadir las subtareas de m propagando lasrestricciones

4 Volver al principio

Planificacion Automatica 28

Page 29: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Redes de tareas jerarquicas

Aplicaciones

SIPE: fabrica de cervezaO-PLAN: operaciones militaresBRIDGE-BARON: campeon del mundo de bridgecomputacional 1997

Planificacion Automatica 29

Page 30: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Conocimiento de control

Planificacion necesita heurısticasTipos

Independientes del dominio: HSP, FF, LPG, . . .Dependientes del dominio

Formas de codificar conocimiento de controlreglas de control o de reescriturajerarquıa de tareasprecondiciones de operadores (funciones, nuevospredicados, . . . )macro-operadores, casos, polıticas, . . .

Planificacion Automatica 30

Page 31: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Reglas de control

Representacion declarativa del conocimiento de controlSi Condiciones Entonces DecisionCondiciones: sobre el meta-estado de la busquedaDecisiones: sobre las alternativas en la busquedaTipos de decision: seleccion, rechazo, preferenciaPRODIGY [Veloso et al., 1995] fue la primera arquitecturaen definir un lenguaje para las reglas de control

Planificacion Automatica 31

Page 32: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Ejemplo de regla de control

(control-rule selecciona-unload-airplane(if (and (current-goal (en <objeto> <sitio1>))

(true-in-state (en <objeto> <sitio2>))(true-in-state (localizada-en <sitio1> <ciudad1>))(true-in-state (localizada-en <sitio2> <ciudad2>))(different-vars-p)(type-of-object <objeto> OBJECT)(type-of-object <sitio1> AEROPUERTO))

(then select operator unload-airplane)))

Planificacion Automatica 32

Page 33: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Condiciones (meta-predicados)

que cosas son ciertas sobre el estado(true-in-state (dentro <objeto> <avion>))

que (sub)meta se intenta conseguir(current-goal (en <objeto> <aeropuerto>))

que operador se ha seleccionado(current-operator descargar-avion)

que metas hay pendientes(some-candidate-goals ((en <objeto1> <aeropuerto>)))

de que tipo es un objeto(type-of-object <objeto> OBJETO)

Planificacion Automatica 33

Page 34: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Puntos de decision (no deterministas)

planificacion en espacio de estados: metas, operador,instanciacionplanificacion en espacio de planes: operador, amenaza,forma de solucionar amenazasplanificacion jerarquica (HTN): metodo a utilizarplanificacion heurıstica: instanciacion de operador(progresion) o meta (regresion)planificacion basada en grafos de planes: instanciacion deoperador, terminacion de primera fase

Planificacion Automatica 34

Page 35: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Tipos de reglas en PRODIGY

DecisionesMeta: 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

Forma de tomar la decision: seleccion, rechazo ypreferencia

Planificacion Automatica 35

Page 36: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Ejemplos en mundo de los bloques

(CONTROL-RULE SELECT-OP-UNSTACK-FOR-HOLDING(if (and (current-goal (holding <x>))

(true-in-state (on <x> <y>))))(then select operator UNSTACK))

(CONTROL-RULE SELECT-BINDINGS-UNSTACK-HOLDING(if (and (current-goal (holding <x>))

(current-operator UNSTACK)(true-in-state (on <x> <y>))))

(then select bindings ((<ob> . <x>) (<underob> . <y>))))

(CONTROL-RULE SELECT-OP-PUTDOWN-FOR-ARMEMPTY(if (and (current-goal (arm-empty))

(true-in-state (holding <ob>))))(then select operator PUT-DOWN))

Planificacion Automatica 36

Page 37: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Ejemplo de arbol sin reglas

Planificacion Automatica 37

Page 38: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Ejemplo de arbol con reglas

Planificacion Automatica 38

Page 39: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Logicas temporales simples

Extienden la logica de predicados con operadoresmodales:

φ1 ∪ φ2: φ1 debe ser cierto hasta que lo es φ2φ: φ debe ser cierto siempre desde este momento

�φ: φ debe ser cierto en algun estado desde este momento◦φ: φ debe ser cierto en el siguiente estado

Luego, propagan este conocimiento de control de unestado al siguiente mediante progresionEjemplos: TLPLAN [Bacchus and Kabanza, 2000],TALPLANNER [Kvarnstrom, 2002]

Planificacion Automatica 39

Page 40: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Formulas temporales

Lenguaje natural: “siempre es cierto que si un objeto estadentro de un avion en un estado y el avion no esta en laciudad destino del objeto, entonces en el siguiente estadoel objeto debe quedarse en el avion”Formalmente:

(∀[p : airplane(p)]∃[l :at(p, l)]∀ [o : in-wrong-city(o, l)]in(o, p) ⇒ ◦ in(o, p))

Planificacion Automatica 40

Page 41: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Programa

(always (forall (?p) (airplane ?p)(exists (?l) (at ?p ?l)

(forall (?o) (in-wrong-city ?o ?l)(implies (in ?o ?p)

(next (in ?o ?p)))))))

Planificacion Automatica 41

Page 42: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Ejemplo en el mundo de los bloques

(def-defined-predicate (above ?x ?y)(or (on ?x ?y)

(exists (?z) (on ?z ?y) (above ?x ?z))))

(def-defined-predicate (in-final-position ?x)(or (and (on-table ?x)

(not (exists (?y) (goal (on ?x ?y)))))(exists (?y) (on ?x ?y)

(and (not (goal (on-table ?x)))(forall (?z) (goal (on ?x ?z))

(= ?z ?y))(forall (?z) (goal (on ?z ?y))

(= ?z ?x))(in-final-position ?y)))))

Planificacion Automatica 42

Page 43: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Conocimiento de control

(always (forall (?x) (clear ?x)(and (implies

(in-final-position ?x)(next (and (not (holding ?x))

(forall (?y) (on ?y ?x)(in-final-position ?y)))))

(implies(bad-tower ?x)(next (not (exists (?y) (on ?y ?x)))))

(implies(and (on-table ?x)

(not (exists (?y) (goal (on ?x ?y))(good-tower ?y))))

(next (not (holding ?x)))))))

Planificacion Automatica 43

Page 44: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Tambien en precondiciones

(def-adl-operator (fly ?p ?from ?to)(pre (?p) (airplane ?p) (?from) (at ?p ?from)

(?to) (airport ?to)(and (not (= ?from ?to))

(not (exists (?obj) (at ?obj ?from)(move-by-plane ?obj ?from)))

(not (exists (?obj) (in ?obj ?p)(unload-from-plane ?obj ?from)))

(or (goal ?obj ?to)(exists (?obj) (at ?obj ?to)

(move-by-plane ?obj ?to))(exists (?obj) (in ?obj ?p)

(unload-from-plane ?obj ?to)))))(add (at ?p ?to))(del (at ?p ?from)))

Planificacion Automatica 44

Page 45: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Reglas de reescritura

(define-rule :name avoid-move-twice:if (:operators ((?n1 (unstack ?b1 ?b2))

(?n2 (stack ?b1 ?b3 Table))):links (?n1 (on ?b1 Table) ?n2):constrains ((possibly-adjacent ?n1 ?n2)

(:neq ?b2 ?b3))):replace (:operators (?n1 ?n2)):with (:operators (?n3 (stack ?b1 ?b3 ?b2))))

(define-rule :name avoid-undo:if (:operators ((?n1 (unstack ?b1 ?b2))

(?n2 (stack ?b1 ?b2 Table))):constrains ((possibly-adjacent ?n1 ?n2)))

:replace (:operators (?n1 ?n2)):with nil)

Planificacion Automatica 45

Page 46: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Conocimiento de control en funciones

(OPERATOR LOAD-TRUCK(params <obj> <truck> <loc>)(preconds ((<obj> OBJECT)

(<truck> TRUCK)(<loc> (and LOCATION

(in-truck-city-p <truck> <loc>))))(and (at-obj <obj> <loc>)

(at-truck <truck> <loc>)))(effects ()((add (inside-truck <obj> <truck>))(del (at-obj <obj> <loc>)))))

Planificacion Automatica 46

Page 47: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Conocimiento de control en precondiciones

(OPERATOR STACK(params <ob> <underob>)(preconds ((<ob> OBJECT)

(<underob> (and OBJECT(diff <ob> <underob>))))

(and (good-tower <underob>)(clear <underob>)(holding <ob>)))

(effects ()((del (holding <ob>))(del (clear <underob>))(add (arm-empty))(add (clear <ob> ))(add (on <ob> <underob>)))))

Planificacion Automatica 47

Page 48: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Macro-operadores

Secuencias de operadores

(:action load*fly-airplane*unload:parameters (?p - airplane ?s - airport

?d - airport ?o - package):precondition (and (at ?p ?s)

(at ?o ?s)(not (= ?s ?d)))

:effect (and (at ?p ?d)(at ?o ?d)(not (at ?o ?s))(not (at ?p ?s))))

Planificacion Automatica 48

Page 49: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Casos de plan

(inside−truck ob4 tr9)

(load−truck ob4 tr9 p3) (load−truck ob4 tr9 a3)

(at−truck tr9 p3)

(drive−truck tr9 a3 p3)

APPLY(drive−truck tr9 a3 p3)

(load−truck ob4 tr9 p3)APPLY

(at−obj ob4 a3)

(unload−airplane ob4 pl1 a3)

(inside−airplane ob4 pl1)

(load−airplane ob4 pl1 a3)

(at−obj ob4 a3)

(unload−truck ob4 tr9 a3)

(inside−truck ob4 tr9)

Failuregoal loop

Failuregoal loop

n1

n8

n9

n10

n11

n12

n2

n3

n4

n5

n6

n7

(load−truck ob4 tr9 p3)

((load−truck ob4 tr9 a3)

(inside−truck ob4 tr9)(at−obj ob4 a3)))

(at−truck tr9 p3)

(inside−truck ob4 tr9):precond−of user

:relevant−to:sibling−ops

cn1

(goal−loop

cn2:precond−of

(drive−truck tr9 a3 p3):relevant−to

APPLY(drive−truck tr9 a3 p3)

APPLY(load−truck ob4 tr9 p3)

cn1

cn2

cn3

cn4

cn5

cn6

cn3

(state (and (at-obj ob4 p3) (at-obj ob7 a3) (at-truck tr9 a3)(at-airplane pl1 a3) (same-city a3 p3)))

(goal (inside-truck ob4 tr9))

Planificacion Automatica 49

Page 50: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Aprender planificadores

Reescribir el planificador: DSPLANNER [Winner andVeloso, 2002,Winner and Veloso, 2003]

Ejemplo de plan en el dominio GripperIf (in-goal(at(?3:ball ?1:room)) and

true-in-state(at(?3:ball ?2:room)) andtrue-in-state(at-robby(?1:room))) Then

Move(?1 ?2)If (in-goal(at(?3:ball ?1:room)) and

true-in-state(at(?3:ball ?2:room)) andtrue-in-state(at-robby(?2:room)) andtrue-in-state(free-arm)) Then

Pick(?3 ?2)Move(?2 ?1)Drop(?3 ?1)

Planificacion Automatica 50

Page 51: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Conocimiento de control

Polıticas (MDP)

Tabla-Q: el refuerzo esperado en el tiempode aplicar accion a en el estado s

AccionesEstados A1 . . . An

S1 0.7 . . . 0.2. . . . . . . . . . . .Sm 0.5 . . . 0.3

Planificacion Automatica 51

Page 52: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Indice

1 Introduccion

2 Planificacion clasica

3 Planificacion neoclasica

4 HeurısticaPlanificacion heurısticaRedes de tareas jerarquicasConocimiento de controlAprendizaje automatico

5 Planificacion en el mundo real

Planificacion Automatica 52

Page 53: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Referencias

Fahiem Bacchus and Froduald Kabanza.

Using temporal logics to express search control knowledge forplanning.

Artificial Intelligence, 116:123–191, 2000.

Ken Currie and Austin Tate.

O-Plan: the open planning architecture.

Artificial Intelligence, 52(1):49–86, 1991.

Craig A. Knoblock.

Automatically generating abstractions for planning.

Artificial Intelligence, 68, 1994.

Jonas Kvarnstrom.

Applying domain analysis techniques for domain-dependentcontrol in TALplanner.

Planificacion Automatica 53

Page 54: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

In Proceedings of the Sixth International Conference onAutomated Planning and Scheduling, pages 101–110. AAAI,AAAI Press, 2002.

Dana Nau, Tsz-Chiu Au, Okhtay Ilghami, Ugur Kuter, J. WilliamMur, and Dan Wu.

SHOP2: An HTN planning system.

Journal of Artificial Intelligence Research, 20:379–404, 2003.

Earl D. Sacerdoti.

Planning in a hierarchy of abstraction spaces.

Artificial Intelligence, 5:115–135, 1974.

Earl D. Sacerdoti.

A Structure for Plans and Behavior.

American Elsevier, New York, 1977.

Mark Stefik.Planificacion Automatica 54

Page 55: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

Planning and meta-planning (MOLGEN: Part 2).Artificial Intelligence, 16:141–169, 1981.

Mark Stefik.Planning with constraints (MOLGEN: Part 1).Artificial Intelligence, 16:111–140, 1981.

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.

Elly Winner and Manuela Veloso.Analyzing plans with conditional effects.In Proceedings of the Sixth International Conference on ArtificialIntelligence Planning Systems, Toulouse, France, April 2002.

Elly Winner and Manuela Veloso.Planificacion Automatica 55

Page 56: Planificacion Autom´ atica´ocw.uc3m.es/cursos-archivados/planificacion... · 1 Introduccion´ 2 Planificacion cl´ asica´ 3 Planificacion neocl´ asica´ 4 Heur´ıstica Planificacion

Introduccion Planificacion clasica Planificacion neoclasica Heurıstica Planificacion en el mundo real

DISTILL: Towards learning domain-specific planners by example.

In Proceedings of ICML’03, Washington, DC, August 2003.

Planificacion Automatica 56