Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Sesiones de Planificacion
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
Resumen de las Sesiones de Planificacion
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
En Esta Seccion:
Representacion y ModelizacionMetodos de Planificacion
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
Representacion y Modelizacion de Problemas dePlanificacion
1 Introduccion a la Planificacion de TareasDefinicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
2 Representacion y BusquedaRepresentacionBusqueda
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
Representacion y Modelizacion de Problemas dePlanificacion
1 Introduccion a la Planificacion de TareasDefinicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
2 Representacion y BusquedaRepresentacionBusqueda
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
Metodos de Planificacion
3 Planificacion Lineal y No LinealPlanificacion Lineal: STRIPSPlanificacion No Lineal
4 Planificacion Basada en Estados
Planificacion
Sesiones de PlanificacionRepresentacion y ModelizacionMetodos de Planificacion
Metodos de Planificacion
3 Planificacion Lineal y No LinealPlanificacion Lineal: STRIPSPlanificacion No Lineal
4 Planificacion Basada en Estados
Planificacion
IntroduccionRepresentacion y Busqueda
Parte I
Representacion y Modelizacion de Problemas deBusqueda
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Introduccion a la Planificacion de Tareas
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
En Esta Seccion:
1 Introduccion a la Planificacion de TareasDefinicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
2 Representacion y BusquedaRepresentacionBusqueda
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
¿Que es planificacion?
Empresarios: establecimiento de planes de la empresa
Abogados: establecimiento de planes de defensa del cliente
Industriales: establecimiento de planes de movimiento derobots
Arquitectos: establecimiento de planes de diseno de edificios
Informaticos: establecimiento de planes de desarrollo delsistema
Telecomunicaciones: establecimiento de planes de conexion
Ejercito: establecimiento de planes de ataque/defensa
Logıstica de transportes: establecimiento de planes para llevarobjetos/sujetos de un sitio a otro
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
¿Que tienen en comun?
Busqueda en un espacio de problemas
Estado o situacion: descripcion instantanea
Accion u Operador: transformacion de un estado en otro
Estado inicial: situacion de partida
Objetivo o meta: descripcion de condiciones que se tienen quedar para considerar por terminado el proceso
Plan: secuencia de operadores que permiten pasar del estadoinicial a un estado en el que se cumplan los objetivos
Heurısticas: conocimiento que permite obtener eficientementeel plan
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Ejemplo en turismo
Estado:
situacion de una persona, restricciones de precio, tiempo, . . .precios, horarios y disponibilidad de los billetes de avion, tren,barco, autobus, hoteles, etc. . . de diferentes companıas,
Operadores: volar en un determinado vuelo, viajar en undeterminado tren, coger un taxi, ir en coche, alojarse en unhotel, alojarse en una casa rural,. . .
Estado inicial: estamos en Madrid (nuestra casa)
Meta: quiero pasar una semana en San Francisco
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Ejemplo en turismo
Plan:
coger taxi(Casa,AeropuertoBarajas)coger un vuelo(Mad,JFK,. . . )coger un vuelo(JFK,SFO,. . . )coger limusina(Aeropuerto,SFO,HotelSheraton)estar en hotel(HotelSheraton,. . . )
Heurısticas: para ir a San Francisco utilizar avion, utilizar lascompanıas aereas en las que se tienen millas,. . .
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
¿Como planificamos?
De multiples formas
En funcion de los fines (metas) y los medios (operadores)
Descomponiendo problemas en subproblemas
Jerarquicamente
Basado en la experiencia
Reactivamente
Entre varios agentes
Estableciendo prioridades
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Aproximaciones a la planificacion
Manual: herramientas que facilitan la labor (Imendio,Project)
Dependiente del dominio: programar para cada dominio unplanificador
Independiente del dominio: funcionan en todos los dominios
Ventajas e inconvenientes
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Sistemas de transicion de estados
Σ = (S ,A,E , γ)
donde
S es el conjunto finito (o recursivamente enumerable) deestados
A es el conjunto finito (o recursivamente enumerable) deacciones
E es el conjunto finito (o recursivamente enumerable) deeventos
γ : S × A× E → 2S es la funcion de transicion de estados
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Algunas consideraciones
Son representables por un grafo: estados como nodos,acciones y eventos como arcos
Pueden ser deterministas o no deterministas
Formas de definir objetivos
subconjunto de metasmetas que no pueden ser ciertas en ningun momento y otrasque deben ser ciertas siemprefuncion de utilidad con recompensas y pagos (maximizacion ominimizacion)tareas que debe conseguir el sistema (se pueden definirrecursivamente)
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Arquitectura clasica
Entorno
actuadoressensores
Controlador
Reacción
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Arquitectura clasica
Entorno
actuadoressensores
Controlador
Reacción
Planificación
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Arquitectura clasica
Entorno
actuadoressensores
Controlador
Reacción
Planificación
Sentimientos
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Arquitectura clasica
Entorno
actuadoressensores
Controlador
Reacción
Planificación
Sentimientos
Comportamiento social
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Arquitectura clasica
Entorno
actuadoressensores
Controlador
Reacción
Planificación
Sentimientos
Comportamiento social
Aprendizaje
Localización yplanificación de
Comunicación
trayectorias
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Suposiciones iniciales
Conjunto de estados finito
Completamente observable
Determinista
Estatico
Metas restringidas
Planes secuenciales
Tiempo implıcito
Planificacion off-line
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Algunas cuestiones difıciles
Nuestra vision del mundo es incompleta: racionalidad limitada
El mundo cambia constantemente: dinamismo
Las acciones tardan en ejecutarse: razonamiento temporal
Nuestras metas son contradictorias: dependencia entre metas
Nuestro modelo del mundo falla muchas veces: incertidumbre
Los planes no siempre son validos: ejecucion y replanificacion
No todos los planes son buenos: calidad
Nos adaptamos al mundo: aprendizaje
Tardamos mucho en aprender: aprendizaje
La planificacion y la filosofıa: creencias, intenciones y deseos
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
El mundo de los bloques
Un conjunto de bloques, una mesa, y un brazo de un robotTodos los bloques son iguales de tamano, forma y color,diferenciandose en el nombreLa mesa tiene extension ilimitadaCada bloque puede estar encima de la mesa, encima de unsolo bloque, o sujeto por el brazo del robotEl brazo de robot solo puede sujetar un bloque cada vezResolver problemas supone pasar de una configuracion(estado) inicial a un estado en el que sean ciertas unas metas
C
BC
B
A
D A
Estado inicial MetasPlanificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
La logıstica de transportes
Conjunto de ciudades, con aeropuertos y oficinas de correosConjunto de aviones que pueden volar entre los aeropuertosConjunto de camiones que solo pueden llevar paquetes dentrode las ciudadesConjunto de paquetes que deben ir de un sitio a otro,posiblemente situados en diferentes ciudades
Planificacion
IntroduccionRepresentacion y Busqueda
Definicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
Otros dominios
Competiciones de planificacion (1998, 2000, 2002, 2004,2006)
http://icaps-conference.org
Aplicaciones reales: DeepSpace One, Spirit+Opportunity,Gestion de ascensores, UAV de vigilancia (WITAS), Bridge,Gestion de viajes, Proveedores de informacion
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion y Busqueda
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
En Esta Seccion:
1 Introduccion a la Planificacion de TareasDefinicion de Planificacion Automatica de TareasMetodos de PlanificacionModelo Formal del Problema de PlanificacionArquitectura de un Sistema de Planificacion AutomaticaPlanificacion Clasica
2 Representacion y BusquedaRepresentacionBusqueda
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion en planificacion
Para que el ordenador pueda resolver problemas, hace faltadecirle que tiene que resolver en algun lenguaje (al igual que anosotros)
Existen muchas formas de suministrar esa informacion
La mas empleada en planificacion automatica es la logica depredicados
Ası se representan los estados y los operadores
La logica de predicados permite representar las cuestionesciertas o falsas del mundo mediante: terminos, predicados,conectivas, y cuantificadores
No hay una representacion unica y valida; cada personarepresenta los dominios de forma diferente
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion de los estados
Los estados se representan definiendo un conjunto de predicados
en(objeto/vehıculo,lugar), dentro(objeto,vehıculo),en-ciudad(lugar,ciudad)
y tipos
objeto(x), vehıculo(x)={avion(x),camion(x)},lugar(x)={aeropuerto(x),oficina-correos(x)}, ciudad(x)
Cada estado se representa por una conjuncion de predicadosinstanciados
en(objeto1,aeropuerto1),en(avion1,aeropuerto1),en(camion1,aeropuerto1),en(camion2,oficina-correos2),. . .
Normalmente, se supone que lo que no aparece explıcitamenterepresentado en un estado es falso: suposicion del mundo cerrado
en(objeto1,x) ∀x 6=aeropuerto1
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion de los operadores
Se deben representar los cambios que ocurren en el mundopor la aplicacion del operador: suposicion stripsSe definen por tres listas:
precondiciones: condiciones que se tienen que cumplir en unestado para poder ejecutar el operadoranadidos: cosas que pasan a ser ciertas por la ejecucion deloperador(hay que anadirlas al estado)borrados: cosas que dejan de ser ciertas por la ejecucion deloperador(hay que borrarlas del estado)
cargar-avion(objeto,avion,aeropuerto)precondiciones: en(objeto,aeropuerto),en(avion,aeropuerto)anadidos: dentro(objeto,avion)borrados: en(objeto,aeropuerto)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion de los operadores
Se deben representar los cambios que ocurren en el mundopor la aplicacion del operador: suposicion stripsSe definen por tres listas:
precondiciones: condiciones que se tienen que cumplir en unestado para poder ejecutar el operadoranadidos: cosas que pasan a ser ciertas por la ejecucion deloperador(hay que anadirlas al estado)borrados: cosas que dejan de ser ciertas por la ejecucion deloperador(hay que borrarlas del estado)
cargar-avion(objeto,avion,aeropuerto)precondiciones: en(objeto,aeropuerto),en(avion,aeropuerto)anadidos: dentro(objeto,avion)borrados: en(objeto,aeropuerto)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Estados en el mundo de los bloques
Se podrıan utilizar los siguientes predicados:
encima(x,y): el bloque x esta encima del yen-mesa(x): el bloque x esta encima de la mesalibre(x): el bloque x no tiene ningun bloque encimasujeto(x): el brazo del robot tiene cogido al bloque xbrazo-libre: el brazo del robot no tiene cogido a ningun bloque
Ejemplo:
Estado inicial:encima(A,B),encima(B,D),en-mesa(D),en-mesa(C),libre(A),libre(C),brazo-libre
C
BC
B
A
D A
Estado inicial MetasMetas: en-mesa(A),encima(C,B)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
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)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Representacion de operadores
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
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Ejemplos de operadores en logıstica
cargar-avion(objeto,avion,aeropuerto)precondiciones: en(objeto,aeropuerto),en(avion,aeropuerto)anadidos: dentro(objeto,avion)borrados: en(objeto,aeropuerto)
descargar-avion(objeto,avion,aeropuerto)precondiciones: dentro(objeto,aeropuerto),en(avion,aeropuerto)anadidos: en(objeto,aeropuerto)borrados: dentro(objeto,avion)
cargar-camion(objeto,camion,lugar)precondiciones: en(objeto,lugar),en(camion,lugar)anadidos: dentro(objeto,camion)borrados: en(objeto,lugar)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Ejemplos de operadores en logıstica
volar-avion(avion,aeropuerto1,aeropuerto2)precondiciones: en(avion,aeropuerto1)anadidos: en(avion,aeropuerto2)borrados: en(avion,aeropuerto1)
conducir-camion(camion,lugar1,lugar2,ciudad)precondiciones: en(camion,lugar1),en-ciudad(lugar1,ciudad),en-ciudad(lugar2,ciudad)anadidos: en(camion,lugar2)borrados: en(camion,lugar1)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Desde strips hasta pddl
El lenguaje de strips es muy simple
Se amplio el lenguaje, generando adl, que incorpora, entre otros:
cuantificacion universal y existencialefectos condicionales
Se necesitaba un lenguaje comun para poder especificar dominios yproblemas de forma comun para todos los planificadores y secreo pddl
Ha tenido varias versiones hasta pddl2.1 (hay posteriores), quepermite, entre otros:
especificacion de costes de ejecucion de operadorestipos para variables de operadoresmodelos no conservativos de acciones
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Lenguaje estandar pddl. Dominio de la logıstica
(define (domain logistics)(:requirements :strips :typing)(:types truck airplane - vehicle
package vehicle - physobjairport location - placecity place physobj - object)
(:predicates (in-city ?loc - place ?city - city)(at ?obj - physobj ?loc - place)(in ?pkg - package ?veh - vehicle))
...)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Dominio del mundo de los bloques
(create-problem-space ’bloques :current t)
(ptype-of BLOQUE :top-type)
(OPERATOR levantar(params <bloque1>)(preconds ((<bloque1> BLOQUE))
(and (libre <bloque1>)(en-mesa <bloque1>)(brazo-libre)))
(effects ()((del (en-mesa <bloque1>))(del (libre <bloque1>))(del (brazo-libre))(add (sujeto <bloque1>)))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Dominio del mundo de los bloques
(OPERATOR dejar ...)(OPERATOR quitar
(params <bloque1> <bloque2>)(preconds ((<bloque1> BLOQUE)
(<bloque2> (and BLOQUE (diff <bloque1> <bloque2>))))(and (libre <bloque1>)
(encima <bloque1> <bloque2>)(brazo-libre)))
(effects ()((del (encima <bloque1> <bloque2>))(del (libre <bloque1>))(del (brazo-libre))(add (sujeto <bloque1>))(add (libre <bloque2>)))))
(OPERATOR poner ...)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Operadores
(:action load-truck ...)(:action load-airplane ...)(:action unload-truck ...)(:action unload-airplane ...)(:action drive-truck ...)(:action fly-airplane
:parameters (?p - airplane ?s - airport ?d - airport):precondition (and (at ?p ?s)
(not (= ?s ?d))):effect (and (at ?p ?d)
(not (at ?p ?s))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Definicion del problema
(define (problem log1) (:domain logistics)(:objects (ob0 ob1 ob2 - package)
(c2 c1 c0 - city)(po2 po1 po0 - location)(a2 a1 a0 - airport)(tr2 tr1 tr0 - truck)(pl1 pl2 - airplane))
(:init (in-city a2 c2) (in-city po2 c2) (at tr2 po2)(in-city a1 c1) (in-city po1 c1) (at tr1 po1)(in-city a0 c0) (in-city po0 c0) (at tr0 po0)(at ob1 a1) (in ob0 pl0) (in ob2 tr1)(at pl2 a1) (at pl1 a2))
(:goal (at-obj ob1 a2)))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Descripcion del problema
(setf (current-problem)(create-problem (name cambia-torres)
(objects (A B C D bloque))(state (and (en-mesa A)
(en-mesa B)(encima C A)(encima D B)(libre C)(libre D)(brazo-libre)))
(goal (and (encima C B)(encima D A)))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Operadores mas ricos
(:action zoom:parameters (?a - aircraft ?c1 ?c2 - city):precondition (and (at ?a ?c1)
(>= (fuel ?a)(* (distance ?c1 ?c2) (fast-burn ?a)))
(<= (onboard ?a) (zoom-limit ?a))):effect (and (not (at ?a ?c1))
(at ?a ?c2)(increase (total-fuel-used)
(* (distance ?c1 ?c2) (fast-burn ?a)))(decrease (fuel ?a)
(* (distance ?c1 ?c2) (fast-burn ?a)))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda
Busqueda hacia adelante (progresion): se ejecutan operadoreshasta que se encuentre la solucion
Ejemplos: soar, ff, TlPlan
Busqueda hacia atras (regresion): se comienza desde lasmetas, se seleccionan operadores que las anadan y se anadenlas precondiciones de los mismos al conjunto de metas
Ejemplos: strips, ucpop, prodigy
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda
Busqueda hacia adelante (progresion): se ejecutan operadoreshasta que se encuentre la solucion
Ejemplos: soar, ff, TlPlan
Busqueda hacia atras (regresion): se comienza desde lasmetas, se seleccionan operadores que las anadan y se anadenlas precondiciones de los mismos al conjunto de metas
Ejemplos: strips, ucpop, prodigy
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda hacia adelante
C
B
A
D
B C
C
B
A
D
C
BA
A
D
Metas:
QUITAR(A,B) LEVANTAR(C)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda hacia adelante
C
B
A
D
B C
C
B
A
D
C
BA
A
D
Metas:
QUITAR(A,B) LEVANTAR(C)
C
B
C
B
C
B
A
A
AD D D
... ...
DEJAR(A)PONER(A,C)
PONER(A,B)
...
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda hacia atras
B
C
B
A
D
C
B
...
AC
Estado inicial:
A
DEJAR(A) PONER(C,B)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda hacia atras
B
C
B
A
D
C
B
...
AC
Estado inicial:
A
DEJAR(A) PONER(C,B)
A
D
...
A
B
...
A
C
...
A
QUITAR(A,D)QUITAR(A,C)QUITAR(A,B)LEVANTAR(A)
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda sin conocimiento
(:action a-1:parameters (?p - type-x ?s - type-y ?d - type-z):precondition (and (p-1 ?p ?s) (not (= ?s ?d))):effect (and (p-1 ?p ?d)
(not (p-1 ?p ?s))))(:action a-2
:parameters (?p - type-x ?s - type-y ?d - type-z):precondition (and (p-1 ?p ?d) (p-1 ?s ?d)):effect (and (p-2 ?p ?s)
(not (p-1 ?p ?d))))(:action a-3
:parameters (?p - type-x ?s - type-y ?d - type-z):precondition (and (p-2 ?p ?s) (p-1 ?s ?d)):effect (and (p-1 ?p ?d)
(not (p-2 ?p ?s))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda sin conocimiento
Amplitud vs. Profundidad
Hacia adelante vs. hacia atras vs. bidireccional
Con costes vs. sin costes
Uno vs. multiples agentes
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Busqueda con conocimiento
Escalada, en Haz
A∗, IDA∗, . . .
Alfa-beta
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Caracterısticas
Complejidad en tiempo y espacio
Completud
Optimalidad
Decidibilidad
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Parte II
Metodos de Planificacion
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Planificacion Lineal y No Lineal
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
En Esta Seccion:
3 Planificacion Lineal y No LinealPlanificacion Lineal: STRIPSPlanificacion No Lineal
4 Planificacion Basada en Estados
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
strips
Objetivo: construccion de un sistema de control para el robot Shakey
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Representacion de operadores
Problema del marco: ¿que ocurre con el contexto del mundocuando se ejecuta una accion?
Solucion (hipotesis strips): solo cambian las cosas queaparecen en las post-condiciones de cada operador
Busqueda:Nodos: estado actual y pila de metas-operadoresNodo raız: estado inicial y conjuncion de metasHeurıstica: seleccionar siempre alguno de los sucesores de cadanodo
Idea:Meter en la pila las metas por conseguir y los operadores queconsiguen dichas metasSacar de la pila las metas que sean ciertas en el estado actualy los operadores que se ejecuten
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Ejemplo de strips
A
AB
Estado inicial (E )0
Metas
en−mesa(A) E0
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Ejemplo de strips
A
AB
Estado inicial (E )0
Metas
en−mesa(A) E0
en−mesa(A)DEJAR(A) E0
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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)
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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)
...
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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−libreencima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en−mesa(A)
E0
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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−libreencima(A,B)QUITAR(A,B)sujeto(A)DEJAR(A)en−mesa(A)
E0
E1sujeto(A)DEJAR(A)en−mesa(A) B
A
E1
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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−libreencima(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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Problema: linealidad
strips asume independencia entre las metas, por lo que las tratalinealmente: 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:
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 Sussman
Estado inicial Metas
A
C
B
A
B
C
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
Planificacion no lineal
Consideracion de varias metas al mismo tiempo
Pensar con un conjunto de metas: no es necesario generarcompletamente un plan de una meta para estudiar al mismotiempo 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) sonnodos y se pueden seleccionar las metas en cualquier orden
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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Lineal: STRIPSPlanificacion No Lineal
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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Planificacion Basada en Estados
Planificacion
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
En Esta Seccion:
3 Planificacion Lineal y No LinealPlanificacion Lineal: STRIPSPlanificacion No Lineal
4 Planificacion Basada en Estados
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
prodigy
Analisis medios-fines con busqueda hacia atras (bidireccional)
Las metas se tratan como un conjunto
Decisiones:
Meta: que meta escogerOperador: que operador utilizar para obtener una metaInstanciacion de operador: que valores asignar a las variablesdel operadorEjecutar un operador o trabajar en alguna submeta
Se puede definir conocimiento de control explıcito para tomarlas decisiones
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en 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
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Algunas definiciones
Una meta esta pendiente si es una precondicion de unoperador seleccionado (incluyendo las metas iniciales) que noes cierta en el estado actual
Un operador es aplicable cuando todas sus precondiciones sonciertas en el estado actual
Operadores relevantes a una meta son aquellos que, si seejecutara una de sus instanciaciones, conseguirıa que la metafuera cierta en el estado
Camino 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
Planificacion Lineal y No LinealPlanificacion Basada en 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
Planificacion Lineal y No LinealPlanificacion Basada en 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
Planificacion Lineal y No LinealPlanificacion Basada en 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