• No se han encontrado resultados

22 de diciembre de 2008

N/A
N/A
Protected

Academic year: 2021

Share "22 de diciembre de 2008"

Copied!
83
0
0

Texto completo

(1)

Planificaci´

on

Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´atica

Escuela Polit´ecnica Superior Universidad Carlos III de Madrid

(2)

Resumen de las 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

(3)

En Esta Secci´

on:

Representaci´on y Modelizaci´on M´etodos de Planificaci´on

(4)

Representaci´

on y Modelizaci´

on de Problemas de

Planificaci´

on

1 Introducci´on a la Planificaci´on de Tareas

Definici´on de Planificaci´on Autom´atica de Tareas M´etodos de Planificaci´on

Modelo Formal del Problema de Planificaci´on

Arquitectura de un Sistema de Planificaci´on Autom´atica Planificaci´on Cl´asica

2 Representaci´on y B´usqueda Representaci´on

(5)

Representaci´

on y Modelizaci´

on de Problemas de

Planificaci´

on

1 Introducci´on a la Planificaci´on de Tareas

Definici´on de Planificaci´on Autom´atica de Tareas M´etodos de Planificaci´on

Modelo Formal del Problema de Planificaci´on

Arquitectura de un Sistema de Planificaci´on Autom´atica Planificaci´on Cl´asica

2 Representaci´on y B´usqueda Representaci´on

(6)

etodos de Planificaci´

on

3 Planificaci´on Lineal y No Lineal Planificaci´on Lineal: STRIPS Planificaci´on No Lineal

(7)

etodos de Planificaci´

on

3 Planificaci´on Lineal y No Lineal Planificaci´on Lineal: STRIPS Planificaci´on No Lineal

(8)

Parte I

Representaci´

on y Modelizaci´

on de Problemas de

(9)

Introducci´on a la Planificaci´on de Tareas

Planificaci´

on

Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´atica

Escuela Polit´ecnica Superior Universidad Carlos III de Madrid

(10)

En Esta Secci´

on:

1 Introducci´on a la Planificaci´on de Tareas

Definici´on de Planificaci´on Autom´atica de Tareas M´etodos de Planificaci´on

Modelo Formal del Problema de Planificaci´on

Arquitectura de un Sistema de Planificaci´on Autom´atica Planificaci´on Cl´asica

2 Representaci´on y B´usqueda

Representaci´on B´usqueda

(11)

¿Qu´

e es planificaci´

on?

Empresarios: establecimiento de planes de la empresa Abogados: establecimiento de planes de defensa del cliente Industriales: establecimiento de planes de movimiento de robots

Arquitectos: establecimiento de planes de dise˜no de edificios Inform´aticos: establecimiento de planes de desarrollo del sistema

Telecomunicaciones: establecimiento de planes de conexi´on Ej´ercito: establecimiento de planes de ataque/defensa

Log´ıstica de transportes: establecimiento de planes para llevar objetos/sujetos de un sitio a otro

(12)

¿Qu´

e tienen en com´

un?

B´usqueda en un espacio de problemas

Estado o situaci´on: descripci´on instant´anea

Acci´on u Operador: transformaci´on de un estado en otro Estado inicial: situaci´on de partida

Objetivo o meta: descripci´on de condiciones que se tienen que dar para considerar por terminado el proceso

Plan: secuencia de operadores que permiten pasar del estado inicial a un estado en el que se cumplan los objetivos

Heur´ısticas: conocimiento que permite obtener eficientemente el plan

(13)

Ejemplo en turismo

Estado:

situaci´on de una persona, restricciones de precio, tiempo, . . . precios, horarios y disponibilidad de los billetes de avi´on, tren, barco, autob´us, hoteles, etc. . . de diferentes compa˜n´ıas, Operadores: volar en un determinado vuelo, viajar en un determinado tren, coger un taxi, ir en coche, alojarse en un hotel, alojarse en una casa rural,. . .

Estado inicial: estamos en Madrid (nuestra casa) Meta: quiero pasar una semana en San Francisco

(14)

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 avi´on, utilizar las compa˜n´ıas a´ereas en las que se tienen millas,. . .

(15)

¿C´

omo planificamos?

De m´ultiples formas

En funci´on de los fines (metas) y los medios (operadores) Descomponiendo problemas en subproblemas

Jer´arquicamente

Basado en la experiencia Reactivamente

Entre varios agentes Estableciendo prioridades

(16)

Aproximaciones a la planificaci´

on

Manual: herramientas que facilitan la labor (Imendio, Project)

Dependiente del dominio: programar para cada dominio un planificador

Independiente del dominio: funcionan en todos los dominios Ventajas e inconvenientes

(17)

Sistemas de transici´

on de estados

Σ = (S , A, E , γ) donde

S es el conjunto finito (o recursivamente enumerable) de estados

A es el conjunto finito (o recursivamente enumerable) de acciones

E es el conjunto finito (o recursivamente enumerable) de eventos

(18)

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 metas

metas que no pueden ser ciertas en ning´un momento y otras que deben ser ciertas siempre

funci´on de utilidad con recompensas y pagos (maximizaci´on o minimizaci´on)

tareas que debe conseguir el sistema (se pueden definir recursivamente)

(19)

Arquitectura cl´

asica

Entorno actuadores sensores Controlador Reacción

(20)

Arquitectura cl´

asica

Entorno actuadores sensores Controlador Reacción Planificación

(21)

Arquitectura cl´

asica

Entorno actuadores sensores Controlador Reacción Planificación Sentimientos

(22)

Arquitectura cl´

asica

Entorno actuadores sensores Controlador Reacción Planificación Sentimientos Comportamiento social

(23)

Arquitectura cl´

asica

Entorno actuadores sensores Controlador Reacción Planificación Sentimientos Comportamiento social Aprendizaje Localización y planificación de Comunicación trayectorias

(24)

Suposiciones iniciales

Conjunto de estados finito Completamente observable Determinista Est´atico Metas restringidas Planes secuenciales Tiempo impl´ıcito Planificaci´on off-line

(25)

Algunas cuestiones dif´ıciles

Nuestra visi´on 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 v´alidos: ejecuci´on y replanificaci´on No todos los planes son buenos: calidad

Nos adaptamos al mundo: aprendizaje Tardamos mucho en aprender: aprendizaje

(26)

El mundo de los bloques

Un conjunto de bloques, una mesa, y un brazo de un robot Todos los bloques son iguales de tama˜no, forma y color, diferenci´andose en el nombre

La mesa tiene extensi´on ilimitada

Cada bloque puede estar encima de la mesa, encima de un s´olo bloque, o sujeto por el brazo del robot

El brazo de robot s´olo puede sujetar un bloque cada vez Resolver problemas supone pasar de una configuraci´on (estado) inicial a un estado en el que sean ciertas unas metas

C B C B A D A

(27)

La log´ıstica de transportes

Conjunto de ciudades, con aeropuertos y oficinas de correos Conjunto de aviones que pueden volar entre los aeropuertos Conjunto de camiones que s´olo pueden llevar paquetes dentro de las ciudades

Conjunto de paquetes que deben ir de un sitio a otro, posiblemente situados en diferentes ciudades

(28)

Otros dominios

Competiciones de planificaci´on (1998, 2000, 2002, 2004, 2006)

http://icaps-conference.org

Aplicaciones reales: DeepSpace One, Spirit+Opportunity, Gesti´on de ascensores, UAV de vigilancia (WITAS), Bridge, Gesti´on de viajes, Proveedores de informaci´on

(29)

Representaci´on y B´usqueda

Planificaci´

on

Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´atica

Escuela Polit´ecnica Superior Universidad Carlos III de Madrid

(30)

En Esta Secci´

on:

1 Introducci´on a la Planificaci´on de Tareas

Definici´on de Planificaci´on Autom´atica de Tareas M´etodos de Planificaci´on

Modelo Formal del Problema de Planificaci´on

Arquitectura de un Sistema de Planificaci´on Autom´atica Planificaci´on Cl´asica

2 Representaci´on y B´usqueda Representaci´on

(31)

Representaci´

on en planificaci´

on

Para que el ordenador pueda resolver problemas, hace falta decirle qu´e tiene que resolver en alg´unlenguaje(al igual que a nosotros)

Existen muchas formas de suministrar esa informaci´on La m´as empleada en planificaci´on autom´atica es lal´ogica de predicados

As´ı se representan los estados y los operadores

La l´ogica de predicados permite representar las cuestiones ciertas o falsas del mundo mediante:t´erminos,predicados,

conectivas, ycuantificadores

No hay una representaci´on ´unica y v´alida; cada persona representa los dominios de forma diferente

(32)

Representaci´

on 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)={avi´on(x),cami´on(x)},

lugar(x)={aeropuerto(x),oficina-correos(x)}, ciudad(x) Cada estado se representa por una conjunci´on de predicados instanciados

en(objeto1,aeropuerto1),en(avi´on1,aeropuerto1),

en(cami´on1,aeropuerto1),en(cami´on2,oficina-correos2),. . . Normalmente, se supone que lo que no aparece expl´ıcitamente representado en un estado es falso:suposici´on del mundo cerrado en(objeto1,x) ∀x 6=aeropuerto1

(33)

Representaci´

on de los operadores

Se deben representar los cambios que ocurren en el mundo por la aplicaci´on del operador:suposici´on strips

Se definen por tres listas:

precondiciones: condiciones que se tienen que cumplir en un estado para poder ejecutar el operador

a˜nadidos: cosas que pasan a ser ciertas por la ejecuci´on del operador

(hay que a˜nadirlas al estado)

borrados: cosas que dejan de ser ciertas por la ejecuci´on del operador

(hay que borrarlas del estado)

cargar-avi´on(objeto,avi´on,aeropuerto)

precondiciones: en(objeto,aeropuerto),en(avi´on,aeropuerto) a˜nadidos: dentro(objeto,avi´on)

(34)

Representaci´

on de los operadores

Se deben representar los cambios que ocurren en el mundo por la aplicaci´on del operador:suposici´on strips

Se definen por tres listas:

precondiciones: condiciones que se tienen que cumplir en un estado para poder ejecutar el operador

a˜nadidos: cosas que pasan a ser ciertas por la ejecuci´on del operador

(hay que a˜nadirlas al estado)

borrados: cosas que dejan de ser ciertas por la ejecuci´on del operador

(hay que borrarlas del estado)

cargar-avi´on(objeto,avi´on,aeropuerto)

precondiciones: en(objeto,aeropuerto),en(avi´on,aeropuerto) a˜nadidos: dentro(objeto,avi´on)

(35)

Estados en el mundo de los bloques

Se podr´ıan utilizar los siguientes predicados: encima(x,y): el bloque x est´a encima del y en-mesa(x): el bloque x est´a encima de la mesa libre(x): el bloque x no tiene ning´un bloque encima sujeto(x): el brazo del robot tiene cogido al bloque x

brazo-libre: el brazo del robot no tiene cogido a ning´un bloque Ejemplo: Estado inicial: encima(A,B),encima(B,D),en-mesa(D), en-mesa(C),libre(A),libre(C),brazo-libre C B C B A D A

Estado inicial Metas

(36)

Representaci´

on de operadores

QUITAR(x , y )

precondiciones: encima(x , y ),libre(x ),brazo-libre a˜nadidos: sujeto(x ),libre(y )

borrados: encima(x , y ),brazo-libre,libre(x ) LEVANTAR(x )

precondiciones: en-mesa(x ),libre(x ),brazo-libre a˜nadidos: sujeto(x )

(37)

Representaci´

on de operadores

PONER(x , y )

precondiciones: sujeto(x ),libre(y )

a˜nadidos: encima(x , y ),libre(x ),brazo-libre borrados: sujeto(x ),libre(y )

DEJAR(x )

precondiciones: sujeto(x )

a˜nadidos: en-mesa(x ),libre(x ),brazo-libre borrados: sujeto(x )

(38)

Ejemplos de operadores en log´ıstica

cargar-avi´on(objeto,avi´on,aeropuerto)

precondiciones: en(objeto,aeropuerto),en(avi´on,aeropuerto) a˜nadidos: dentro(objeto,avi´on)

borrados: en(objeto,aeropuerto)

descargar-avi´on(objeto,avi´on,aeropuerto)

precondiciones: dentro(objeto,aeropuerto),en(avi´on,aeropuerto) a˜nadidos: en(objeto,aeropuerto)

borrados: dentro(objeto,avi´on)

cargar-cami´on(objeto,cami´on,lugar)

precondiciones: en(objeto,lugar),en(cami´on,lugar) a˜nadidos: dentro(objeto,cami´on)

(39)

Ejemplos de operadores en log´ıstica

volar-avi´on(avi´on,aeropuerto1,aeropuerto2)

precondiciones: en(avi´on,aeropuerto1) a˜nadidos: en(avi´on,aeropuerto2) borrados: en(avi´on,aeropuerto1)

conducir-cami´on(cami´on,lugar1,lugar2,ciudad)

precondiciones: en(cami´on,lugar1),en-ciudad(lugar1,ciudad),en-ciudad(lugar2,ciudad) a˜nadidos: en(cami´on,lugar2)

(40)

Desde strips hasta pddl

El lenguaje de strips es muy simple

Se ampli´o el lenguaje, generando adl, que incorpora, entre otros: cuantificaci´on universal y existencial

efectos condicionales

Se necesitaba un lenguaje com´un para poder especificar dominios y problemas de forma com´un para todos los planificadores y se cre´o pddl

Ha tenido varias versiones hasta pddl2.1 (hay posteriores), que permite, entre otros:

especificaci´on de costes de ejecuci´on de operadores tipos para variables de operadores

(41)

Lenguaje est´

andar pddl. Dominio de la log´ıstica

(define (domain logistics)

(:requirements :strips :typing) (:types truck airplane - vehicle

package vehicle - physobj airport location - place city place physobj - object)

(:predicates (in-city ?loc - place ?city - city) (at ?obj - physobj ?loc - place) (in ?pkg - package ?veh - vehicle)) ...)

(42)

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))

(43)

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 ...)

(44)

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)

(45)

Definici´

on 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)))

(46)

Descripci´

on 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)))))

(47)

Operadores m´

as 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)

(48)

usqueda

B´usqueda hacia adelante (progresi´on): se ejecutan operadores hasta que se encuentre la soluci´on

Ejemplos: soar, ff, TlPlan

B´usqueda hacia atr´as (regresi´on): se comienza desde las metas, se seleccionan operadores que las a˜nadan y se a˜naden las precondiciones de los mismos al conjunto de metas Ejemplos: strips, ucpop, prodigy

(49)

usqueda

B´usqueda hacia adelante (progresi´on): se ejecutan operadores hasta que se encuentre la soluci´on

Ejemplos: soar, ff, TlPlan

B´usqueda hacia atr´as (regresi´on): se comienza desde las metas, se seleccionan operadores que las a˜nadan y se a˜naden las precondiciones de los mismos al conjunto de metas Ejemplos: strips, ucpop, prodigy

(50)

usqueda hacia adelante

C B A D B C C B A D C B A A D Metas: QUITAR(A,B) LEVANTAR(C)

(51)

usqueda hacia adelante

C B A D B C C B A D C B A A D Metas: QUITAR(A,B) LEVANTAR(C) C B C B C B A A A D D D DEJAR(A) PONER(A,C) PONER(A,B) ...

(52)

usqueda hacia atr´

as

B C B A D C B ... A C Estado inicial: A DEJAR(A) PONER(C,B)

(53)

usqueda hacia atr´

as

B C B A D C B ... A C 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)

(54)

usqueda 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)

(55)

usqueda sin conocimiento

Amplitud vs. Profundidad

Hacia adelante vs. hacia atr´as vs. bidireccional Con costes vs. sin costes

(56)

usqueda con conocimiento

Escalada, en Haz A∗, IDA∗, . . . Alfa-beta

(57)

Caracter´ısticas

Complejidad en tiempo y espacio Completud

Optimalidad Decidibilidad

(58)

Parte II

(59)

Planificaci´on Lineal y No Lineal

Planificaci´

on

Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´atica

Escuela Polit´ecnica Superior Universidad Carlos III de Madrid

(60)

En Esta Secci´

on:

3 Planificaci´on Lineal y No Lineal Planificaci´on Lineal: STRIPS Planificaci´on No Lineal

(61)

strips

(62)

Representaci´

on de operadores

Problema del marco: ¿qu´e ocurre con el contexto del mundo cuando se ejecuta una acci´on?

Soluci´on(hip´otesis strips): s´olo cambian las cosas que aparecen en las post-condiciones de cada operador

B´usqueda:

Nodos: estado actual y pila de metas-operadores Nodo ra´ız: estado inicial y conjunci´on de metas

Heur´ıstica: seleccionar siempre alguno de los sucesores de cada nodo

Idea:

Meter en la pila las metas por conseguir y los operadores que consiguen dichas metas

Sacar de la pila las metas que sean ciertas en el estado actual y los operadores que se ejecuten

(63)

Algoritmo de strips

Repetir hasta que pila=φ OR no se puedan expandir m´as nodos

• Si la cima de la pila del nodo es una conjunci´on de metas

Si la conjunci´on es cierta en el estado Entonces se elimina de la pila

Si 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 pila Si no, Si hay bucle de meta Entonces retroceder

Si no, generar un sucesor por cada instanciaci´on de operador

que a˜nade dicha meta

Si hay sucesores Entonces elegir uno Si no, retroceder

• Si la cima de la pila del nodo es un operador instanciado Si el operador instanciado se puede ejecutar

Entonces ejecutar operador, quitarlo de la pila y a˜nadirlo al plan

(64)

Representaci´

on de operadores

QUITAR(x , y )

precondiciones: encima(x , y ),libre(x ),brazo-libre a˜nadidos: sujeto(x ),libre(y )

borrados: encima(x , y ),brazo-libre,libre(x )

LEVANTAR(x )

precondiciones: en-mesa(x ),libre(x ),brazo-libre a˜nadidos: sujeto(x )

borrados: en-mesa(x ),brazo-libre,libre(x )

PONER(x , y )

precondiciones: sujeto(x ),libre(y ) a˜nadidos: encima(x , y ),libre(x ),brazo-libre borrados: sujeto(x ),libre(y )

DEJAR(x )

precondiciones: sujeto(x )

a˜nadidos: en-mesa(x ),libre(x ),brazo-libre borrados: sujeto(x )

(65)

Ejemplo de strips

A

A B

Estado inicial (E )0 Metas

(66)

Ejemplo de strips

A

A B

Estado inicial (E )0 Metas

en−mesa(A) E0

en−mesa(A) DEJAR(A) E0

(67)

Ejemplo de strips

A

A B

Estado inicial (E )0 Metas

en−mesa(A) E0 en−mesa(A) DEJAR(A) E0 sujeto(A) DEJAR(A) en−mesa(A) E0

(68)

Ejemplo de strips

A

A B

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) E0 E sujeto(A) DEJAR(A) en−mesa(A) 0 LEVANTAR(A)

(69)

Ejemplo de strips

A

A B

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) E0 E 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 meta bucle de X brazo−libre en−mesa(A) libre(A)

en−mesa(A) libre(A)brazo−libre brazo−libre X X X X X en−mesa(A) libre(A) ...

(70)

Ejemplo de strips

A

A B

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) E0 E 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 meta bucle de X brazo−libre en−mesa(A) libre(A)

en−mesa(A) libre(A)brazo−libre brazo−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

(71)

Ejemplo de strips

A

A B

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) E0 E 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 meta bucle de X brazo−libre en−mesa(A) libre(A)

en−mesa(A) libre(A)brazo−libre brazo−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 E1 sujeto(A) DEJAR(A) en−mesa(A) B A E1

(72)

Ejemplo de strips

A

A B

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) E0 E 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 meta bucle de X brazo−libre en−mesa(A) libre(A)

en−mesa(A) libre(A)brazo−libre brazo−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 E1 sujeto(A) DEJAR(A) en−mesa(A) B A E1 E2 en−mesa(A) B A E 2

(73)

Problema: linealidad

strips asume independencia entre las metas, por lo que las trata linealmente: 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 soluci´on, pero no la encuentra

Problema del cohete chino

B A A B C Marte Tierra Estado inicial Marte Metas

no ´optima: no encuentra la soluci´on ´optima

Anomal´ıa de Sussman

Estado inicial Metas

A C B A B C

(74)

Planificaci´

on no lineal

Consideraci´on de varias metas al mismo tiempo

Pensar con unconjunto de metas: no es necesario generar completamente un plan de una meta para estudiar al mismo tiempo el resto ... en−aeropuerto(Pepe,Barajas) coger−taxi(Pepe,Casa−Pepe,Barajas) en−aeropuerto(Maletas−Pepe,Barajas) descargar−maletas(Maletas−Pepe,x,Barajas)

Expandir un grafoen el que las metas (y los operadores) son nodos 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)

(75)

Planificaci´

on no lineal

Seg´un espacio de problemas:

Estados (strips, prodigy): nodos del ´arbol representan estados

Planes (noah, tweak, ucpop, snlp, o-plan): nodos del ´

arbol representan planes Seg´un plan generado:

Orden total: secuencia ´unica de operadores Orden parcial: m´ultiples secuencias posibles Seg´un toma de decisiones:

Compromiso casual: toman decisiones cont´ınuamente M´ınimo compromiso: s´olo toman decisiones cuando se ven forzados

(76)

Planificaci´on Basada en Estados

Planificaci´

on

Grupo de Planificaci´on y Aprendizaje (PLG) Departamento de Inform´atica

Escuela Polit´ecnica Superior Universidad Carlos III de Madrid

(77)

En Esta Secci´

on:

3 Planificaci´on Lineal y No Lineal

Planificaci´on Lineal: STRIPS Planificaci´on No Lineal

(78)

prodigy

An´alisis medios-fines con b´usqueda hacia atr´as (bidireccional) Las metas se tratan como un conjunto

Decisiones:

Meta: qu´e meta escoger

Operador: qu´e operador utilizar para obtener una meta Instanciaci´on de operador: qu´e valores asignar a las variables del operador

Ejecutar un operador o trabajar en alguna submeta

Se puede definir conocimiento de control expl´ıcito para tomar las decisiones

(79)

´

Arbol de b´

usqueda gen´

erico de prodigy

operador o trabajar en una submeta 1 g 1 1 b 1 g 2 1 o meta meta meta meta meta Elige una Elige un operador Elige una instanciación Decide si ejecutar un ejecutar operador submeta

submeta ejecutar operador operador instanciación instanciación operador

(80)

Algunas definiciones

Una meta est´a pendiente si es una precondici´on de un operador seleccionado (incluyendo las metas iniciales) que no es cierta en el estado actual

Un operador es aplicable cuando todas sus precondiciones son ciertas en el estado actual

Operadores relevantes a una meta son aquellos que, si se ejecutara una de sus instanciaciones, conseguir´ıa que la meta fuera cierta en el estado

Camino sin salida

Bucle de meta

Todas las opciones han sido caminos sin salida No hay ninguna opci´on

(81)

Algoritmo de planificaci´

on de Prodigy4.0

Prodigy(E , M, O, C)

Mientras que las metas M no sean ciertas en el estado E Y

no se hayan sobrepasado los recursos l´ımite (tiempo o nodos) Y no se hayan explorado todos los posibles nodos

Si hay un camino sin salida, entonces retroceder Si no, Calcular el conjunto de operadores aplicables, A

Elegir una meta M ∈ M o un operador A ∈ A de acuerdo a C Si se ha seleccionado M, entonces:

Generar el conjunto O0∈ O de los operadores relevantes Elegir un operador O ∈ O0, de acuerdo a C

Generar el conjunto de instanciaciones del operador O, Oi

Elegir un operador instanciado Oi∈ Oi, de acuerdo a C

Si no, (se ha seleccionado un A):

Asignar E al estado despu´es de Ejecutar A Calcular el conjunto de metas pendientes M

(82)

Ejemplo de prodigy

A B B A Metas Estado 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) quitar levantar LEVANTAR(B) PONER(B,A) *finish*() *FINISH*() encima(B,A) levantar(A) en−mesa(A) brazo−libre libre(A), encima(B,A) quitar(A,B) brazo−libre libre(B) levantar(B) encima(A,B),libre(A), en−mesa(B),brazo−libre,

(83)

Arquitectura de prodigy

Aprendizaje de conocimiento de dominio

Aprendizaje de conocimiento de control para mejorar la

calidad Aprendizaje de conocimiento

de control para mejorar la eficiencia

Planificador

Apprentice Experiment

Observe Hamlet

Quality Prodigy/EBL Static Dynamic Alpine Prodigy/Analogy

Referencias

Documento similar

Este nuevo patr´ on se crea con la regla de transfor- maci´ on AnswerPattern por lo que toma de nombre “patronRes- pE0 glicosidos”, y se crea un nuevo elemento de la clase

Figura 5.9 Comparaci´ on del ranking la mejor soluci´ on encontrada hasta cada iteraci´ on, entre el algoritmo de b´ usqueda y su respectiva b´ usqueda aleatoria, para cada funci´

Como en el caso de los tipos enteros, los lenguajes suelen soportar varios tipos real, de modo que el programador pueda seleccionar aquel cuyo rango y precisi´on en el coeficiente

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Concretamente, el objetivo del trabajo es realizar una planificaci´on de tareas consciente del consumo en algoritmos de ´algebra lineal densa sobre mutiprocesadores y

Nuestro objetivo de partida es que se puede modelizar la representaci´on de las propiedades m´etricas de los objetos, informaci ´on que es necesaria para coger dicho objeto, mediante

Esta nueva representaci´on se define a trav´es de la curvatura, es decir, una funci´on que explica cu´anto se curva la carretera.. Si se curva hacia la derecha la curvatura