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
Logstica 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
Heursticas: 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 companas,
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,. . . )
Heursticas: para ir a San Francisco utilizar avion, utilizar lascompanas 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
Reaccin
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
Reaccin
Planificacin
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
Reaccin
Planificacin
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
Reaccin
Planificacin
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
Reaccin
Planificacin
Sentimientos
Comportamiento social
Aprendizaje
Localizacin y
planificacin de
Comunicacin
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 implcito
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 difciles
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 filosofa: 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 logstica 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/vehculo,lugar), dentro(objeto,vehculo),en-ciudad(lugar,ciudad)
y tipos
objeto(x), vehculo(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 explcitamenterepresentado en un estado es falso: suposicion del mundo cerrado
en(objeto1,x) x 6=aeropuerto1Planificacion
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 podran 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 logstica
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 logstica
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 logstica
(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 )(preconds (( BLOQUE))
(and (libre )(en-mesa )(brazo-libre)))
(effects ()((del (en-mesa ))(del (libre ))(del (brazo-libre))(add (sujeto )))))
Planificacion
IntroduccionRepresentacion y Busqueda
RepresentacionBusqueda
Dominio del mundo de los bloques
(OPERATOR dejar ...)(OPERATOR quitar
(params )(preconds (( BLOQUE)
( (and BLOQUE (diff ))))(and (libre )
(encima )(brazo-libre)))
(effects ()((del (encima ))(del (libre ))(del (brazo-libre))(add (sujeto ))(add (libre )))))
(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)))
(
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
Caractersticas
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 raz: estado inicial y conjuncion de metasHeurstica: 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
enmesa(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
enmesa(A) E0
enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(A)
E0
E0
enmesa(A)
sujeto(A)
DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
enmesa(A)
sujeto(A)
DEJAR(A)E0
Esujeto(A)
DEJAR(A)
enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(A)
E0
E0
enmesa(A)
sujeto(A)
DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
enmesa(A)
sujeto(A)
DEJAR(A)E0
Esujeto(A)
DEJAR(A)
enmesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazolibreenmesa(A) libre(A)
enmesa(A) libre(A)brazolibrebrazolibre
X
X X
X X
enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(A)
E0
E0
enmesa(A)
sujeto(A)
DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
enmesa(A)
sujeto(A)
DEJAR(A)E0
Esujeto(A)
DEJAR(A)
enmesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazolibreenmesa(A) libre(A)
enmesa(A) libre(A)brazolibrebrazolibre
X
X X
X X
enmesa(A)libre(A)
...
libre(A) brazolibreencima(A,B)
QUITAR(A,B)sujeto(A)
DEJAR(A)enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(A)
E0
E0
enmesa(A)
sujeto(A)
DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
enmesa(A)
sujeto(A)
DEJAR(A)E0
Esujeto(A)
DEJAR(A)
enmesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazolibreenmesa(A) libre(A)
enmesa(A) libre(A)brazolibrebrazolibre
X
X X
X X
enmesa(A)libre(A)
...
libre(A) brazolibreencima(A,B)
QUITAR(A,B)sujeto(A)
DEJAR(A)enmesa(A)
E0
E1sujeto(A)
DEJAR(A)enmesa(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
enmesa(A) E0
enmesa(A)DEJAR(A) E0
sujeto(A)DEJAR(A)enmesa(A)
E0
E0
enmesa(A)
sujeto(A)
DEJAR(A)
QUITAR(A,A)
QUITAR(A,B)
enmesa(A)
sujeto(A)
DEJAR(A)E0
Esujeto(A)
DEJAR(A)
enmesa(A)
0
LEVANTAR(A)
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A) E0
LEVANTAR(A)
enmesa(A)DEJAR(A)sujeto(A)
E0
metabucle de
X
brazolibreenmesa(A) libre(A)
enmesa(A) libre(A)brazolibrebrazolibre
X
X X
X X
enmesa(A)libre(A)
...
libre(A) brazolibreencima(A,B)
QUITAR(A,B)sujeto(A)
DEJAR(A)enmesa(A)
E0
E1sujeto(A)
DEJAR(A)enmesa(A) B
A
E1E2enmesa(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
MarteTierraEstado inicial
MarteMetas
no optima: no encuentra la solucion optima
Anomala 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
...
enaeropuerto(Pepe,Barajas)
cogertaxi(Pepe,CasaPepe,Barajas)
enaeropuerto(MaletasPepe,Barajas)
descargarmaletas(MaletasPepe,x,Barajas)
Expandir un grafo en el que las metas (y los operadores) sonnodos y se pueden seleccionar las metas en cualquier orden
en(MaletasPepe,CasaPepe)en(Pepe,CasaPepe)
cogertaxi(Pepe,CasaPepe,Barajas)
descargarmaletas(MaletasPepe,x,Barajas)
enaeropuerto(MaletasPepe,Barajas)
enaeropuerto(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 contnuamenteMnimo 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 explcito 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 unainstanciacin
Decide si ejecutar unejecutar operador submeta
submetaejecutar operador
operador
instanciacininstanciacin
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, conseguira 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 lmite 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 lmite (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, OiElegir un operador instanciado Oi Oi , de acuerdo a C
Si no, (se ha seleccionado un A):Asignar E al estado despues de Ejecutar A
Calcular el conjunto de metas pendientes M
Planificacion
Planificacion Lineal y No LinealPlanificacion Basada en Estados
Ejemplo de prodigy
AB
BA
MetasEstado inicial
done*finish*
enmesa(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)enmesa(A)
brazolibrelibre(A),
encima(B,A)
quitar(A,B) brazolibre
libre(B) levantar(B)
encima(A,B),libre(A),
enmesa(B),brazolibre,
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
Sesiones de PlanificacinRepresentacin y ModelizacinMtodos de Planificacin
Representacin y Modelizacin de Problemas de BsquedaIntroduccin a la Planificacin de TareasDefinicin de Planificacin Automtica de TareasMtodos de PlanificacinModelo Formal del Problema de PlanificacinArquitectura de un Sistema de Planificacin AutomticaPlanificacin Clsica
Representacin y BsquedaRepresentacinBsqueda
Mtodos de PlanificacinPlanificacin Lineal y No LinealPlanificacin Lineal: STRIPSPlanificacin No Lineal
Planificacin Basada en Estados