planificacion de tareas

83
Sesiones de Planificaci´on Planificaci´on Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´ atica Escuela Polit´ ecnica Superior Universidad Carlos III de Madrid 22 de diciembre de 2008 Planificaci´on

Upload: fraspa

Post on 21-Nov-2015

10 views

Category:

Documents


0 download

DESCRIPTION

Prensentación sobre Planificación de tareas

TRANSCRIPT

  • 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