Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

64
Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS

Transcript of Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

Page 1: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

Planificación

Maite Urretavizcaya

Isabel Fernández

Grupo de Tutores Inteligentes de la FISS

Page 2: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

2

Planificación

Empresarios: planes de la empresa Abogados: planes de defensa del cliente Industriales: planes de movimiento de robots Arquitectos: planes de diseño de edificios Informáticos: planes de desarrollo del sistema Telecomunicaciones: planes de conexión Ejército: planes de ataque/defensa Logística de transportes: planes para llevar objetos

/sujetos de un sitio a otro

¿Qué es la planificación?

Page 3: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

3

Planificación

Planificación es el proceso de búsqueda y articulación de una secuencia de acciones que permite alcanzar un objetivo.

Los entornos de aplicación: observables, deterministas, finitos, estáticos (los cambios suceden sólo cuando actúa

el agente) y discretos (en tiempo, acciones, objetos y efectos)

PLANIFICACIÓN CLÁSICA

Page 4: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

4

Algunas cuestiones difíciles

Nuestra visión 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álidos: ejecución y replanificación No todos los planes son buenos: calidad Nos adaptamos al mundo: aprendizaje Tardamos mucho en aprender: aprendizaje La planificación y la filosofía: creencias, intenciones y deseos

Page 5: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

5

Referencias

[1] Nils Nilsson. Principios de Inteligencia Artificial. Ediciones Díaz de Santos, Madrid, 1987.

[2] Elaine Rich and Kevin Knight. Inteligencia Artificial. McGraw-Hill, Inc., 1994. Segunda edición.

[3] Stuart Russell and Peter Norvig. Inteligenci Artificial. Un enfoque moderno.n (2ª edición) Prentice Hall, 2003.

Page 6: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

6

Índice

1. Introducción2. Representación3. Orígenes de la planificación

Análisis de acciones y objetivos: STRIPS

4. Planificadores Principio del menor compromiso. Planificación de orden parcial Razonamiento por fijación de restricciones. TWEAK Razonando sobre estados, hacia delante y hacia atrás.

PRODIGY Planificación con restricciones de tiempo y recursos

5. TRABAJOS

Page 7: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

7

Agente de planificación simple

Un agente percibe su ambiente y produce un modelo del mismo. Dada una meta, llama a un algoritmo adecuado “Planificador ideal” para generar un plan de acción, el cual ejecuta cada acción del plan una a una, y una a la vez.

Entorno Modelo

Planificador

meta

PlanAcciones

1. Introducción

Page 8: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

8

Agente de planificación simple

Function SIMPLE-PLANNING-AGENT (percept) returns an actionstatic Knowledge base KB (incluye descripción de acciones) Plan p, inicialmente NoPlan, Time t, inicialmente 0 local variables Goal G, StateDescription current

TELL( KB, MAKE-PERCEPT-SENTENCE (percept, t) )current = STATE-DESCRIPTION(KB, t)if p= NoPlan then

G = ASK( KB, MAKE-GOAL-QUERY(t ) )p = IDEAL-PLANNER(current, G, KB)

end ifif p= NoPlan or p is empty then action = NoOPelse action =FIRST(p)

p = REST(p)TELL(KB, MAKE-ACTION-SENTENCE(action,t))

end if t = t+1return action

1. Introducción

Page 9: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

9

Solucionador de Problemas basado en Búsqueda, SPB

Elementos representados en un SPB: Acciones que generan descripciones de

estados nuevos Estados completamente representados,

usados en heurísticas, generar sucesores, probar metas

Metas contra las cuales probar, como cajas negras

Solución o Plan como secuencia de acciones

1. Introducción

Page 10: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

10

Ejemplo con un SPB

“Conseguir un litro de leche, plátanos y un taladro de velocidades ajustables”

Estado inicial: agente en casa, sin leche, sin plátanos y sin taladro

Conjunto de operaciones: todo lo que pueda hacerHeurística: número de cosas sin adquirir

Start

Ir al veterinario

Ir a la escuela

Ir a dormir

Ir al supermercado

Etc., etc.

Sentarse en una silla

Comprar atúnComprar lecheComprar platanos

Comprar perroHablar con loro

Seguir sentadoLeer un libro

End

1. Introducción

Page 11: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

11

Desventajas de SPB

Demasiadas acciones y estados que considerar Solo evaluar estados no permite descartar

acciones y no se tiene idea de que intentar después (adivinan)

Se fuerza al agente a decidir una acción inicial aunque las acciones relevantes no obligan a ningún orden

No es posible trabajar en partes del problema más fáciles de resolver

1. Introducción

Page 12: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

12

¿Cómo planificamos?

En función de los fines (metas) y los medios (operadores)

Descomponiendo problemas en subproblemas Jerárquicamente Basado en la experiencia Reactivamente Entre varios agentes Estableciendo prioridades

1. Introducción

Page 13: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

13

Ideas clave de la planificación

Clave 1: la representación de estados, objetivos y acciones es abierta.

Lenguaje formal (ej: lógica de primer orden)

Estados y metas (objetivos) se representan por conjuntos de sentencias lógicas

ej: en(super), tener(leche)

Las acciones se representan por descripciones lógicas de precondiciones y efectos

ej: Op(ACTION: Comprar(leche), PRECOND: en(supermercado),

EFECTO: tener(leche))

1. Introducción

Page 14: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

14

Clave 2: el planificador es libre de añadir acciones. Añaden acciones donde se necesitan y no

necesariamente en una secuencia incremental desde el estado inicial, reduciendo el factor de ramificación

Clave 3: partes del mundo son independientes entre sí. Pueden usar estrategia “divide y vencerás” cuando

partes del problema son independientes. Un Plan se divide en subplanes, un subplan puede dividirse a su vez, y después se combinan soluciones para resolver todo el problema

1. IntroducciónIdeas clave de la planificación

Page 15: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

15

Índice

1. Introducción2. Representación de estados, objetivo y operadores3. Orígenes de la planificación

Análisis de acciones y objetivos: STRIPS

4. Planificadores Principio del menor compromiso.Planificación de orden parcial Razonamiento por fijación de restricciones. TWEAK Razonando sobre estados, hacia delante y hacia atrás.

PRODIGY Planificación con restricciones de tiempo y recursos

5. TRABAJOS

Page 16: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

16

2. Representación

La mas utilizada en planificación automática es la lógica de predicados.

La lógica permite expresar información mediante: términos, predicados, conectivas y cuantificadores.

x, y es_alumno(x) es_asignatura(y) [ aprobado(x, y) matriculado(x, y)] se_matricula(x, y)

No hay una representación única. Cada persona representa los dominios de forma diferente.

Page 17: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

17

Lenguajes de planificación

Uno de los lenguajes desarrollados ha sido el de STRIPS*.

Para ciertos problemas reales se ha demostrado que STRIPS no posee suficiente expresividad.

Han surgido muchos lenguajes. Por ejemplo el lenguaje ADL: Action Description Language

Las notaciones STRIPS y ADL son adecuadas para muchos dominio reales.

2. Representación

* STandford Research Institude Problem Solver

* STandford Research Institude Problem Solver

Page 18: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

18

Características STRIPS- ADL

Lenguaje STRIPS Lenguaje ADLLos objetivos son conjunciones:

Pobre desconocido

Se permite conjunciones y disyunciones en objetivos:

Pobre (famoso inteligente)

Los efectos son conjunciones Se permiten efectos condicionales: cuando P: E, E es efecto sólo cuando P es satisfecho.

No tiene infraestructura para soportar igualdades

Predicados de igualdad admisible (x=y)

No tiene infraestructura para soportar tipos

Las variables pueden tener tipos como (a: avión)

2. Representación

Page 19: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

19

Características STRIPS- ADL

Lenguaje STRIPS Lenguaje ADLSólo literales positivos en estados: pobre, desconocido

Literales positivos y negativos: rico, generoso

Hipótesis del mundo cerrado: los literales no mencionados son falsos

Hipótesis del mundo abierto: los literales no mencionados son desconocidos

El efecto P Q, significa insertar P y eliminar Q

El efecto P Q, significa insertar P y Q, y eliminar P Q

Sólo literales simples en objetivos Variables cuantificadas:

x (en(P, x) en(Q, x)), indica que P y Q están en el mismo sitio

2. Representación

Page 20: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

20

Representación de los estados

Los estados se expresan definiendo un conjunto de predicados:tiene_dinero(x, y), vuelo_reservado(x, vuelo, dia), Vuelo(vuelo, origen, destino, hora_salida, hora_llegada), ...

Cada estado se representa por un conjunto de predicados instanciados.tiene_dinero(Pepe, 1.000), vuelo_reservado(Pepe, IB304,

3Abr06), vuelo(IB304, Madrid, New_York, 12:05, 12:30), vuelo(TWA2001, New_York, San_Francisco, 13:55,

17:20), ...

Es habitual en algunos planificadores que lo que no aparece explícitamente representado en un estado es falso: suposición del mundo cerrado.

2. Representación

Page 21: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

21

Metodología de diseño

1. ¿De qué vamos a hablar?1. ¿De qué vamos a hablar?““El mundo de los bloques”, un brazo de robot puede colocar un El mundo de los bloques”, un brazo de robot puede colocar un bloque sobre otro o moverlo a otra posición. bloque sobre otro o moverlo a otra posición. La meta es hacer una o más pilas de bloques.La meta es hacer una o más pilas de bloques.

2. Vocabulario2. VocabularioObjetos representados por constantesObjetos representados por constantesOn(b,x)On(b,x)- bloque b sobre x, x es un bloque o la mesa- bloque b sobre x, x es un bloque o la mesaMove(b,x,y)Move(b,x,y)- mover bloque b de x a y- mover bloque b de x a yRestricción Restricción Clear(x)Clear(x)- - hay un espacio libre en x para poner un bloquehay un espacio libre en x para poner un bloque

2. Representación

Page 22: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

22

Metodología

3. Codificar operadores3. Codificar operadoresOp(ACTION: Move(b,x,y), Op(ACTION: Move(b,x,y), PRECOND: On(b,x) PRECOND: On(b,x) Clear(b) Clear(b) Clear(y), Clear(y), EFFECT: On(b,y) EFFECT: On(b,y) Clear(x) Clear(x) ¬On(b,x) ¬On(b,x) ¬Clear(y)) ¬Clear(y))

Op(ACTION: MoveToTable(b,x), Op(ACTION: MoveToTable(b,x), PRECOND: On(b,x) PRECOND: On(b,x) Clear(b), Clear(b), EFFECT: On(b,Table) EFFECT: On(b,Table) Clear(x) Clear(x) ¬On(b,x)) ¬On(b,x))

Otras restricciones: b Otras restricciones: b xxyy

4. Codificar descripción específica del problema4. Codificar descripción específica del problema

5. Dar problemas al planificador para obtener planes5. Dar problemas al planificador para obtener planes

2. Representación

Page 23: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

23

Ejemplo 1- El mundo de bloques

Un conjunto de bloques, una mesa y un brazo de un robot.

Todos los bloques son iguales de tamaño, forma y color. Se diferencian en el nombre,

La mesa tiene extensión ilimitada Cada bloque puede estar encima de la mesa, encima de

un solo bloque o sujeto por el brazo del robot. La mano del robot sólo puede sujetar un bloque cada

vez. Resolver problemas supone pasar de una configuración

(estado) inicial a un estado en el que sean ciertas unas metas.

A

B

D C

Estado inicial

A

Objetivo/ meta

C

B

2. Representación

Page 24: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

24

Ejemplo 1 – objetos y restricciones

Se podrían utilizar los siguientes predicados: sobre(x, y) : el bloque x está encima del y. en_mesa(x) : el bloque x está encima de la mesa. libre(x) : el bloque x no tiene ningún bloque encima. en_mano(x) : el robot tiene en su mano el bloque x mano_libre : el robot no tiene ningún bloque en su

mano

Estado inicialsobre(A, B), sobre(B, D), en_mesa(D), en_mesa(C),

libre(A), libre(C), mano_libre Metas: en_mesa(A), sobre(C, B)

A

B

D C

Estado inicial

C

BA

Objetivo/ meta

2. Representación

Page 25: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

25

Ejemplo1- operadores

DESAPILAR(x, y)precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

2. Representación

efecto: en_mano(x) libre(y) sobre(x, y)

mano_libre libre(x)

Page 26: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

26

Ejemplo2- El mundo de Shakey

habitación 1PASILLO

habitación 2

habitación 3

habitación 4

Shakey es un robot que seShakey es un robot que sepuede mover entre varias puede mover entre varias

habitaciones,habitaciones,empujar objetos, trepar a empujar objetos, trepar a

objetos rígidos, encender yobjetos rígidos, encender yapagar las luces.apagar las luces.

Estado Inicial

Caja 1

Caja 2

Caja 3

Shakey

Interruptor 1

Interruptor 2

Interruptor 3

Interruptor 4

Puerta 1

Puerta 2

Puerta 3

Puerta 4

2. Representación

Page 27: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

27

Ejemplo 2- El mundo de Shakey

OperadoresOperadores• Ir(x, y) Ir(x, y) - ir de locación x a locación y. La precondición es - ir de locación x a locación y. La precondición es

en(Shakey,x). x e y están en la misma habitación, en(Shakey,x). x e y están en la misma habitación, en(x,r)en(x,r)en(y,r). Por convención, una puerta entre 2 en(y,r). Por convención, una puerta entre 2 habitaciones está en ambas.habitaciones está en ambas.

• Empujar(b, x, y) Empujar(b, x, y) - empujar objeto b de ubicación x a y. - empujar objeto b de ubicación x a y. Predicado caja y constantes para las cajasPredicado caja y constantes para las cajas

• Subir(b) Subir(b) - subir a una caja, y - subir a una caja, y Bajar(b) Bajar(b) - - bajar de caja bajar de caja Predicado: Predicado: sobre(Shakey, suelo)sobre(Shakey, suelo) , constante suelo , constante suelo Precondicines: Precondicines: caja(b)caja(b), en(Shakey,x) y en(b,x), en(Shakey,x) y en(b,x)

• Encender(ls) Encender(ls) - - encender luz, y encender luz, y Apagar(ls)Apagar(ls)- - apagar la luz. apagar la luz. Shakey debe estar sobre la caja en la posición del interruptor.Shakey debe estar sobre la caja en la posición del interruptor.

2. Representación

Page 28: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

28

Índice

1. Introducción2. Representación de estados, objetivo y operadores3. Orígenes de la planificación

Análisis de acciones y objetivos: STRIPS

4. Planificadores Principio del menor compromiso.Planificación de orden parcial Razonamiento por fijación de restricciones. TWEAK Razonando sobre estados, hacia delante y hacia atrás.

PRODIGY Planificación con restricciones de tiempo y recursos

5. TRABAJOS

Page 29: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

29

Planificación mediante pila de objetivos. STRIPS

Una de las primeras técnicas que se usaron para componer objetivos, pila de objetivos. STRIPS*

La pila contiene objetivos y acciones.

En cada momento se conoce la descripción del estado actual.

Un conjunto de acciones con sus listas precondición, añadido y borrado.

Inicializar la pila con el estado final

3. Orígenes ...

* STandford Research Institude Problem Solver

* STandford Research Institude Problem Solver

Page 30: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

30

Algoritmo de STRIPS

Repetir hasta que pila= OR no se puedan expandir más nodos

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

ejecutar operadorquitarlo de la pilaañadirlo al plan

Si no, se introducen sus precondiciones en la pila

• Si la cima de la pila del nodo es una conjunción de metasSi la conjunción es cierta en el estado, 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 metaSi la meta es cierta en el estado, se elimina de la pilaSi no, Si hay bucle ¿ciclo? de meta, retroceder

Si no generar un sucesor por cada instanciación de operador que añade la metaSi hay sucesores, elegir unoSi no retroceder

3. Orígenes ...

Page 31: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

31

Ejemplo STRIPS

COGER(A)en_mano(A)DEJAR(A)en_mesa(A) E0

E0

en_mesa(A), libre(A), mano_libreCOGER(A)en_mano(A)DEJAR(a)en_mesa(A)

ciclo

en_mesa(A) E0

DEJAR(A)en_mesa(A) E0

en_mano(A)DEJAR(A)en_mesa(A) E0

DESAPÌLAR(A, B)en_mano(A)DEJAR(A)en_mesa(A) E0

E1

en_mano(A)DEJAR(A)en_mesa(A)

A

B

Estado inicial

A

Objetivo/ meta DESAPILAR(x, y)

precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

DESAPILAR(x, y)precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

DESAPILAR(x, y)precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

DESAPILAR(x, y)precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

E0

B E1

A

B E2A

3. Orígenes ...

E1

DEJAR(A)en_mesa(A)

E2

en_mesa(A) E2

Page 32: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

32

Ejemplo STRIPS3. Orígenes ...

COGER(A)en_mano(A)DEJAR(A)en_mesa(A) E0

E0

en_mesa(A), libre(A), mano_libreCOGER(A)en_mano(A)DEJAR(a)en_mesa(A)

ciclo

en_mesa(A) E0

DEJAR(A)en_mesa(A) E0

en_mano(A)DEJAR(A)en_mesa(A) E0

DESAPILAR(A, B)en_mano(A)DEJAR(A)en_mesa(A) E0

en_mano(A)DEJAR(A)en_mesa(A) E1

DEJAR(A)en_mesa(A) E1

E2

A

B

Estado inicial

A

Objetivo/ metaE0

B E1

A

B E2A

en_mesa(A) E2

Page 33: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

33

Tablas Triangulares

Los planes se ejecutan en un mundo real.

Las acciones no producen los efectos deseados.

Tolerancias mecánicas y fallos de los dispositivos.

ERRORES EN LA EJECUCIÓN DEL PLAN

3. Orígenes ...

Page 34: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

34

Tablas Triangulares

SOLUCIONESGenerar un nuevo plan, basado en la

nueva descripción del estado después de cada paso. MUY COSTOSO

Control inteligente del progreso del plan, basado en la propia información del plan. COSTE EQUILIBRADO

3. Orígenes ...

Page 35: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

35

Tablas Triangulares

Creación de una tabla triangular Dado un plan de n acciones se crea una

matriz triangular de n+1 (1..n+1) filas y n+1 (0..n) columnas

0

1

n -1

n

1

2

n

n + 1

3. Orígenes ...

Page 36: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

36

Tablas Triangulares

Ejemplo

C

A B E.I.

A

B

C E.F.

Plan: {desapilar(C, A), dejar(C), coger(B), apilar(B, C), coger(A), apilar(A, B) }

0

1

2

3

4

5

6

1

2

3

4

5

6

7

E. I.

E. F.

3. Orígenes ...

Page 37: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

37

Tablas Triangulares

En la columna 0, se distribuye entre sus celdas los predicados del Estado Inicial.

La fila n+1, incluye entre sus celdas los predicados del Estado Final.

Cada columna i: 1..n, incluye en la parte superior la i-ésima acción del plan.

Cada acción i-ésima del plan contiene en la i-ésima fila, las pre de la acción y en la i-ésima columna las post.

La distribución de predicados del E.I. y de las post de las acciones, se realiza en diferentes filas. en las que son precondición de la acción

3. Orígenes ...

Page 38: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

38

Tablas Triangulares

Plan: {desapilar(C, A), dejar(C), coger(B), apilar(B, C), coger(A), apilar(A, B) }

sobre(C,A) libre(C) mano_libre

libre(B) en_mesa(B)

En_mesa(A)

0: E. I.

1: desapilar(C,A)

2: dejar(C)

3: coger(B)

4: apilar(B, C)

5: coger(A)

6: apilar(A, B)

1

2

3

4

5

6

7

C

A B E.I.

E. I.= {en_mesa(A), en_mesa(B), sobre(C,A), libre(C), libre(B), mano_libre}

7: E.F.

DESAPILAR(x, y)precondición: sobre(x,y), libre(x), mano_libreañadido: en_mano(x), libre(y)borrado: sobre(x, y), mano_libre, libre(x)

COGER(x)precondición: en_mesa(x), libre(x), mano_libreañadido: en_mano(x)borrado: en_mesa(x), mano_libre, libre(x)

APILAR(x, y)precondición: en_mano(x), libre(y)añadido: sobre(x, y), libre(x), mano_libreborrado: en_mano(x), libre(y)

DEJAR(x)precondición: en_mano(x)añadido: en_mesa(x), libre(x), mano_libreborrado: en_mano(x)

3. Orígenes ...

Page 39: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

39

Tablas Triangulares

Ejecución del PlanObtención del estado actual del

entorno.Búsqueda del núcleo concordante, isi i= n+1 entonces FIN

sino ejecutar acción i-ésima

3. Orígenes ...

Page 40: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

40

Tablas Triangulares

Búsqueda del núcleo concordanteencontrado=falso, i= n+1, tope=imientras no encontrado y i/=0 hacer

j=0, seguir=cierto, mientras j/=tope and seguir hacer

si TT(i, j) EstadoActual entoncestope=j-1, seguir=falso

sino j= j+1 finsifinmientrassi i = tope and j=tope entonces encontrado cierto finsii=i-1

Finmientras i=tope

3. Orígenes ...

Page 41: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

41

Tablas Triangulares

sobre(C,A) libre(C) mano_libre

en_mano(C)

libre(B) en_mesa(B)

mano_libre

libre(C) en_mano(B)

en_mesa(A) libre(A) mano_libre

libre(B) en_mano(A)

en_mesa(C) sobre(B, C) sobre(A, B)

0: E. I.

1: desapilar(C,A)

2: dejar(C)

3: coger(B)

4: apilar(B, C)

5: coger(A)

6: apilar(A, B)

1

2

3

4

5

6

7 7: E.F.

Núcleos de la tabla triangular, contiene la información que se necesita para la ejecución del plan. En particular, para la ejecución de cada acción del plan.

3. Orígenes ...

encontrado=falso, i= n+1, tope= imientras no encontrado y i/=0 hacer

j=0, seguir=ciertomientras j/=tope and seguir hacer

si TT(i, j) EstadoActual entoncestope:= j-1, seguir=falso

sino j:= j+1finsi

finmientrassi i=tope and j=tope entonces encontrado cierto finsii:= i-1

Finmientras i=tope

Page 42: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

42

Planificación lineal. Problemas

• 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 (problema del cohete chino): existe solución pero no la encuentra; y

• No óptima (anomalía de Susman): no encuentra la solución óptima

C

A B

Estado inicial

A

B

C

Objetivo/ meta

3. Orígenes ...

Page 43: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

43

Índice

1. Introducción2. Representación3. Orígenes de la planificación

Análisis de acciones y objetivos: STRIPS

4. Planificadores Principio del menor compromiso. Planificación de orden

parcial Razonamiento por fijación de restricciones. TWEAK Razonando sobre estados, hacia delante y hacia atrás.

PRODIGY Planificación con restricciones de tiempo y recursos

5. TRABAJOS

Page 44: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

44

Clasificación de Planificadores

Según espacio de problemas:

Estados (STRIPS, PRODIGY): nodos del árbol representan estados.

Planes (NOAH, TWEAK, UCPOP, SNLP, O-PLAN): nodos del árbol representan planes.

Según plan generado:

Orden total, secuencia única de operadores.

Orden parcial: expresa múltiples secuencias posibles

Según toma de decisiones:

Compromiso casual: se toman decisiones continuamente.

Mínimo compromiso: sólo se toman decisiones cuando se ven forzados.

NO HAY UNA TÉCNICA MEJOR QUE OTRA

4. Planificadores

Page 45: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

45

Planificadores según Espacio del Problema

Movimientos en el espacio:• Modificar el estado del mundo mediante operador

Modelo del tiempo:• La profundidad del nodo en el espacio de búsqueda.

Plan almacenado en:• Series de transiciones de estados

Plan1

Plan2

Movimientos en el espacio:• Añadir operadores• Ordenar operadores• Ligar variables• O, en caso contrario, restringir el plan.

Modelo del tiempo:• Conjunto parcialmente ordenado de operadores.

Plan almacenado en:• Un único nodo

Estados

Planes

Plan0

4. Planificadores

Page 46: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

46

Planificadores. Algunas propuestas

Algunas referencias*

HACKER (Sussman, 1975), sistema de propagación automática.

NOAH (Sacerdoti, 1975), primer planificador no lineal.

NONLIN (Tate, 1977), mejoró

STRIPS, Algoritmo de Pila, en algoritmo de conjunto de objetivos (Nilsson, 1980).

SNLP (Soderland y Weld)

MOLGEN (Stefik, 1981) y TWEAK (Chapman, 1987), técnica fijación de restricciones.

PRODIGY (Fink & Veloso)

UCPOP (Penberthy & Weld)

WARPLAN, O-PLAN, SATPLAN, GRAPHPLAN, ...

*: pág. 466. Russell & Norvig

NOTAS BIBLIOGRÁFICAS

*: pág. 466. Russell & Norvig

NOTAS BIBLIOGRÁFICAS

4. Planificadores

Page 47: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

47

Índice

1. Introducción2. Representación3. Orígenes de la planificación

Análisis de acciones y objetivos: STRIPS

4. Planificadores Principio del menor compromiso. Planificación de

orden parcial Razonamiento por fijación de restricciones. TWEAK Razonando sobre estados, hacia delante y hacia atrás.

PRODIGY Programación con restricciones de recursos

5. TRABAJOS

Page 48: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

48

Principio del menor compromiso

Problema del calzado de los piesOp(ACTION: ZapatoDerecho, PRECOND:CalcetinDerechoPuesto, EFECTO: ZapatoDerechoPuesto)

Op(ACTION: CalcetinDerecho, EFECTO: CalcetinDerechoPuesto)

Op(ACTION: ZapatoIzquierdo, PRECOND:CalcetinIzquierdoPuesto, EFECTO: ZapatoIzquierdo Puesto)

Op(ACTION: CalcetinIzquierdo, EFECTO: CalcetinIzquierdoPuesto)

¿Qué paso va primero?

4. Planificadores

Page 49: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

49

Principio del menor compromiso

“ Sólo hay que hacer elecciones de lo que interesa en cada momento, dejando las

otras elecciones para más tarde ”

Planificador de orden parcial- algoritmo que puede representar algunas acciones ordenadas entre sí, y otras quedan sin ordenar

Planificador de orden total- genera una lista de pasos, conocido como “linealización” de un plan P al añadir restricciones de orden a P.

4. Planificadores

Page 50: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

50

Soluciones al problema de los zapatos

Plan de orden parcialPlan de orden parcial Planes de orden totalPlanes de orden totalstart

CDer

CIzq

ZDer

ZIzq

finish

start

CDer

CIzq

ZIzq

ZDer

finish

start

CIzq

CDer

ZDer

ZIzq

finish

start

CIzq

CDer

ZIzq

ZDer

finish

start

CDer

ZDer

CIzq

ZIzq

finish

start

CIzq

ZIzq

CDer

ZDer

finish

start

CDer CIzq

ZDer ZIzq

finish

4. Planificadores

Page 51: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

51

Definición formal de Plan

Es una estructura de datos que consiste en conjuntos:

Acciones o Pasos: los operadores del problema Restricciones de ordenamiento Si < Sj, Restricciones de instanciamiento de variables, de

la forma v=x, donde v es una variable y x una constante u otra variable

Enlaces causales de la forma Si c Sj, que registran el propósito de los planes, “Si alcanza Sj a través de c”

4. Planificadores

Page 52: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

52

Definición formal de Plan

El plan inicial describe el problema sin resolver, Pasos: Start y Finish Ordenamiento: Start < Finish Start no tiene precondiciones, y su efecto es añadir

todas las proposiciones verdaderas al estado inicial Finish tiene la meta como precondición y ningún efecto

Plan (STEPS: {S1: Op(ACTION: Start, EFECTO: En(casa)Vender(SM,platáno)

Vender(SM,leche) ...), S2: Op(ACTION: Finish, PRECOND: En(casa) Tener(platáno) Tener(leche)

Tener(taladro)))}, ORDERINGS. { S1<S2}, BINDINGS {}, LINKS {})

4. Planificadores

Page 53: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

53

Definición de Plan

Start

Finish

Estado Inicial

Estado Meta

Start

Finish

4. Planificadores

En(casa)Vender(SM,platáno) Vender(SM,leche) ...

En(casa) Tener(platáno) Tener(leche) Tener(taladro)

Page 54: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

54

Soluciones

¿Cúando tenemos una solución? Planes totalmente ordenados e instanciados O con un plan completo y consistente

Cada precondición se logra por otro paso. Si logra precondición c de Sj si Si < Sj y c Effects(Si) y No hay paso Sk tal que ¬c Effects(Sk) donde Si < Sk < Sj

No hay contradicciones en ordenación o instanciaciones de restricciones

Contradicción: si Si < Sk y Sk < Si o v=A, v=B y AB, donde “=“ y “<“ son transitivas

4. Planificadores

Page 55: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

55

Un plan es válido si las precondiciones de todos los operadores se satisfacen antes de ejecutar dicho operador.

Un plan válido que alcanza el objetivo G se dice que es un plan correcto.

Un plan de orden parcial es un conjunto parcialmente ordenado de operadores.

Una linearización de un plan de orden parcial es una ordenación total de los operadores consistente con el plan de orden parcial.

4. PlanificadoresSoluciones

Page 56: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

56

Ejemplo de planificación de orden parcial

Finish

Start

En(casa), Vender(SM,platáno) Vender(SM,leche) Vender(FRR,taladro)

Tener(taladro), Tener(leche) Tener(platáno),En(casa)

Op(ACCIÓN:Start, EFECTO: En(casa)Vender(SM,platáno) Vender(SM,leche) Vender(FRR,taladro))

Op(ACCIÓN:Finish, PRECOND :En(casa) Tener(platáno) Tener(leche) Tener(taladro))

Op(ACCIÓN:Ir(allí), PRECOND: En(aquí), EFECTO:En(allí) ¬En(aquí))Op(ACCIÓN:Comprar(x), PRECOND: En(tienda) Vender(tienda,x),

EFECTO:Tener(x))

4. Planificadores

Page 57: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

57

Ejemplo de POP

1. El planificador solo añadirá 1. El planificador solo añadirá acciones que logren una acciones que logren una precondición no cumplidaprecondición no cumplida

Enlaces causalesEnlaces causalestener(taladro), tener(taladro), tener(platanos), tener(platanos), tener(leche)tener(leche)

2. 2. Refinamiento:Refinamiento:

Buy(drill)

start

Buy(milk)buy(bananas)

At(s),Sells(s,milk)

At(s),Sells(s,drill) At(s),

Sells(s,bananal)

have(milk),have(drill),have(bananas),at(home)

finish

Comprar

(taladro)

Comprar

(platanos)

Comprar

(leche)

Buy(drill)

start

Buy(milk)buy(bananas)

At(SM),Sells(SM,milk)

At(HWS),Sells(HWS,drill) At(SM),

Sells(SM,bananal)

have(milk),have(drill),have(bananas),at(home)

finish

Comprar

(taladro)

Comprar

(platanos)

Comprar

(leche)

Op(ACCIÓN:Comprar(x),

PRECOND: en(tienda) vender(tienda,x)

EFECTO:Tener(x))

4. PlanificadoresOp(ACCIÓN:Start, EFECTO: En(casa)Vender(SM,platáno) Vender(SM,leche) Vender(FRR,taladro))

Op(ACCIÓN:Finish, PRECOND: En(casa) Tener(platáno) Tener(leche) Tener(taladro))

tener(taladro)

tener(platanos)

Vender(SM, leche)

tener(platanos)

Vender(SM, platanos)

Vender(FRR, taladro)

Page 58: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

58

Ejemplo de planificación de orden parcial

Buy(drill)

start

Buy(milk)buy(bananas)

At(SM),Sells(SM,milk)

At(HWS),Sells(HWS,drill) At(SM),

Sells(SM,bananal)

have(milk),have(drill),have(bananas),at(home)

finish

Go(SM)Go(HWS)

At(x) At(x)

Conflicto:Conflicto:Ir(FRR) añade la condición en(FRR) y borra en(casa)Ir(FRR) añade la condición en(FRR) y borra en(casa) Los vínculos causales de los planes parciales son vínculos protegidos. Amenazas (pasos que podrían eliminar o destruir las condición protegida) Las amenazas están ordenas de forma que aparecen antes o después del vínculo protegido.

Comprar

(taladro)

Comprar

(platanos)Compra

r

(leche)

Ir(FRR) Ir(SM)

Buy(drill)

start

Buy(milk)buy(bananas)

At(SM),Sells(SM,milk)

At(HWS),Sells(HWS,drill) At(SM),

Sells(SM,bananal)

have(milk),have(drill),have(bananas),at(home)

finish

Go(SM)Go(HWS)

At(home) At(home)

Comprar

(taladro)

Comprar

(platanos)Compra

r

(leche)

Ir(FRR) Ir(SM)

Op(ACCIÓN:Ir(allí), PRECOND: En(aquí), EFECTO:En(allí) ¬En(aquí))

4. Planificadores

Page 59: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

59

Resolución de conflictos

Ante una amenaza, los pasos que pueden borrar la condición son ordenados antes o después del enlace protegido.

S1S3

S2

¬cc

S3

¬cS1

S2c

DemociónDemoción PromociónPromoción

S3¬c

S1

S2

c

S1 logra c para S2

4. Planificadores

Page 60: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

60

Amenazas posibles

¿Es el efecto ¬en(aqui) del operador ir(FRR) una amenaza ¿Es el efecto ¬en(aqui) del operador ir(FRR) una amenaza para la precondición en(casa) del otro operador ir(SM)?para la precondición en(casa) del otro operador ir(SM)?Enfoques:Enfoques:• Resolver con una restricción de Resolver con una restricción de igualdadigualdad: aqui=FRR: aqui=FRR• Resolver con una Resolver con una desigualdaddesigualdad, aqui , aqui casa casa• Posponer Posponer hasta que sea necesariohasta que sea necesario

¿Cómo asegurar qué instanciación parcial logra la meta?¿Cómo asegurar qué instanciación parcial logra la meta?Un paso Si cumple una precondición c del paso Sj siUn paso Si cumple una precondición c del paso Sj si1.1. Si<Sj y Si tiene un efecto que necesariamente unifica con Si<Sj y Si tiene un efecto que necesariamente unifica con

cc2.2. No hay paso Sk tal que Si< Sk<Sj en alguna linearización No hay paso Sk tal que Si< Sk<Sj en alguna linearización

del plan, y Sk tiene un efecto que posiblemente unifica con del plan, y Sk tiene un efecto que posiblemente unifica con ¬c¬c

4. Planificadores

Page 61: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

61

Solución final

Buy(drill)

start

Buy(milk)buy(bananas)

At(SM),Sells(SM,milk)

At(HWS),Sells(HWS,drill) At(SM),

Sells(SM,banana)

have(milk),have(drill),have(bananas),at(home)

finish

Go(SM)

Go(HWS)

At(home)

At(HW)

Go(home)

At(SM)

Menor compromiso: solo busca donde los planes interactúan Menor compromiso: solo busca donde los planes interactúan Links causales permiten identificar un plan que deben abandonarLinks causales permiten identificar un plan que deben abandonar

Comprar

(taladro)

Comprar

(platanos)Compra

r

(leche)

Ir(FRR)

Ir(SM)

Ir(casa)

en(casa) en(FRR)

en(SM)

en(FRR)

vender(FRR, taladro)

en(SM)

vender(SM, platano)

en(SM)

vender(SM, leche)

tener(taladro), tener(platanos), tener(leche), en(casa)

4. Planificadores

Page 62: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

62

Solución final

Finish

Start

Ir(FRR)

Comprar (taladro)

Ir(SM)

Comprar(leche) Comprar(plátanos)

Ir(casa)

En(casa)

En(casa)

En(SM)En(SM)

En(SM)

En(FRR)

En(FRR) Vender(FRR,taladro)

Vender(SM,leche)Vender(SM,platáno)

Tener(taladro)

Tener(platáno)Tener(leche)

4. Planificadores

Page 63: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

63

Algoritmo Planificación Orden Parcial (POP)

Function POP (initial, goal, operators) returns plan

plan = MAKE_MINIMAL_PLAN(initial, goal)

loop do

if SOLUTION?(plan) then return plan

Sneed, c = SELECT_SUBGOAL(plan)

CHOOSE_OPERATOR(plan, operators, Sneed, c)

RESOLVE_THREATS(plan)

endFunction SELECT_SUBGOAL (plan) returns Sneed,c

pick a plan step Sneed from STEPS(plan) with precondition c not achieved

return Sneed,cProcedure CHOOSE_OPERATOR (plan, operators, Sneed, c)

choose a step Sadd from operators or STEPS(plan) with effect c

if no such step then fail

add the causal link Sadd c Sneed a LINKS(plan)

add the ordering Sadd < Sneed to ORDERINGS(plan)

if Sadd is newly added step from operators then add Sadd to STEPS(plan)

add Start < Sadd < Finish to ORDERINGS(plan)

4. Planificadores

Page 64: Planificación Maite Urretavizcaya Isabel Fernández Grupo de Tutores Inteligentes de la FISS.

64

Algoritmo Planificación Orden Parcial (POP)

Procedure RESOLVE_THREATS (plan)

for each Sthreat that threatens link Si c Sj in LINKS(plan) do

choose either

Promotion: Add Sthreat < Si to ORDERINGS (plan)

Demotion: Add Sj < Sthreat to ORDERINGS (plan)

if not CONSISTENT(plan) then fail

end

4. Planificadores