tema-08

76
Inteligencia Artificial I Curso 2009–2010 Tema8:Planificaci´on Jos´ e L. Ruiz Reina Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla IA-I 2009–2010 C c I a Planificaci´ on 8.1

description

Tema 8

Transcript of tema-08

Inteligencia Artificial I Curso 2009–2010

Tema 8: Planificacion

Jose L. Ruiz Reina

Dpto. de Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

IA-I 2009–2010 CcIa Planificacion 8.1

Planificacion en IA

x Planificar: encontrar una secuencia de acciones que alcanzan un deter-minado objetivo si se ejecutan desde un determinado estado inicial.

x Plan: secuencia de acciones que consiguen el objetivo

x Aplicaciones del mundo real:

u Robotica

u Fabricacion mediante ensamblado de componentes

u Misiones espaciales

x Planning vs Scheduling

IA-I 2009–2010 CcIa Planificacion 8.2

El problema de la planificacion en IA

x Cuestiones a abordar:u Representacion del mundo y de las acciones que lo transforman

u Representacion de planes

u Algoritmos de busqueda de planes

u Minimizar los recursos consumidos por el plan

u Tiempo en el que se realiza cada accion

u Monitorizar la ejecucion del plan, revisandolo en caso de errores o contingencias

x Por simplificar, en este capıtulo supondremos:

u Acciones deterministas, totalmente definidas por su especificacion

u Hipotesis del mundo cerrado

IA-I 2009–2010 CcIa Planificacion 8.3

Planificacion y busqueda en espacio de estados

x Solucionar un problema de planificacion usando los algoritmos ya vistosde busqueda en espacio de estados no funciona en un problema deescala real, por los siguientes motivos:

u Descripcion de los estados en el mundo real extremadamente compleja

u Gran cantidad de posibles acciones, muchas de ellas irrelevantes para la consecucion

del objetivo final

u Las acciones solo cambian una pequena porcion del mundo (el problema del marco)

u Necesitamos heurısticas independientes del dominio

u La necesidad de una accion puede detectarse sin necesidad de que se haya decidido

las acciones previas (compromiso mınimo)

u A veces es aconsejable descomponer en subproblemas mas simples

x Idea: usar la logica para representar estados, acciones y objetivos

u Y algoritmos especıficos que operan sobre esta representacion

IA-I 2009–2010 CcIa Planificacion 8.4

Un formalismo logico: STRIPS

x Un lenguaje para representar problemas de planificacion:

u Constantes: objetos del mundo (en mayusculas)

u Variables para representar cualquier objeto (en minusculas)

u Sımbolos de predicados (para expresar propiedades de los objetos)

u Sımbolos de acciones (para representar operadores)

x Terminologıa:

u Atomos: formulas de la forma P (o1, . . . , on), donde P es un sımbolo de predicado y

cada oi es una constante o una variable

u Literales: atomos o negacion de atomos

u Literales cerrados: sin variables

x Estados: conjuncion de literales cerrados

u Hipotesis del mundo cerrado: las condiciones que no se mencionan se suponen falsas

IA-I 2009–2010 CcIa Planificacion 8.5

Ejemplo: el mundo de los bloques

x Ejemplo clasico en planificacion.

x Elementos que intervienen:

u Una superficie plana.

u Una serie de bloques cubicos.

u Un brazo robotizado, que puede coger un bloque cada vez.

u Un bloque puede estar sobre la mesa o apilado sobre otro bloque.

C A

B

D

IA-I 2009–2010 CcIa Planificacion 8.6

Representacion de estados en el mundo de los bloques

x Descripcion de un estado:

C A

B

D

DESPEJADO(B), DESPEJADO(C), DESPEJADO(D), BRAZOLIBRE, SOBRE(B,A)SOBRELAMESA(C), SOBRELAMESA(D), SOBRELAMESA(A)

x Predicados en el mundo de los bloques:

DESPEJADO(x), el bloque x esta despejado.BRAZOLIBRE, el brazo no agarra ningun bloque.SOBRELAMESA(x), el bloque x esta sobre la mesa.SOBRE(x,y), el bloque x esta sobre el y.AGARRADO(x), el bloque X esta sujeto por el brazo.

IA-I 2009–2010 CcIa Planificacion 8.7

Representacion de objetivos en STRIPS

x Objetivos: descripcion de los estados finales.

x Los objetivos se representan como conjuncion de literales (con posibili-dad de usar variables)

u Las variables en los objetivos se interpretan como existencialmente cuantificadas

x Satisfacer un objetivo:

u Un estado satisface un objetivo si es posible sustituir las variables del objetivo por

objetos del mundo de manera que sus literales estan incluidos en la descripcion del

estado

u Un estado es estado final si satisface el objetivo requerido

IA-I 2009–2010 CcIa Planificacion 8.8

Ejemplo de objetivos en el mundo de los bloques

C

B

DAD

A

B

C

Estado 1 Estado 2

x El objetivo SOBRE(B,A), SOBRELAMESA(A) es satisfecho por el estado 1 ypor el estado 2

x El objetivo SOBRE(x,A), DESPEJADO(x), BRAZOLIBRE es satisfecho por elestado 1 pero no por el estado 2

x El objetivo SOBRE(x,A), SOBRE(y,x) no es satisfecho por el estado 1 perosı por el estado 2

IA-I 2009–2010 CcIa Planificacion 8.9

Descripcion de acciones en STRIPS

x Representacion de operadores o acciones:

u O(x1, . . . , xn) simboliza el operador O actuando sobre los objetos x1, . . . , xn.

x Descripcion de la accion de un operador:

u Para intentar solucionar el problema del marco, solo se especifica lo que cambia

por la accion del operador.

u Usualmente, xi es variable: esquemas de operadores.

x Descripcion de la accion de un operador en estilo STRIPS, mediantetres listas:

u Precondicion: lista de literales que deben ser ciertos para que el operador pueda

ser aplicado.

u Borrado: lista de atomos que dejan de ser ciertos una vez se ha aplicado el operador.

u Adicion: lista de atomos que pasan a ser ciertos una vez se ha aplicado el operador.

u Es usual unir la lista de borrado y la de adicion en lo que se denomina una lista de

efectos (en la que los elementos de la lista de borrado aparecen negados)

IA-I 2009–2010 CcIa Planificacion 8.10

Operadores en el mundo de los bloques (I)

x Colocar un bloque sobre otro:

APILAR(x,y)P: DESPEJADO(y), AGARRADO(x)B: DESPEJADO(y), AGARRADO(x)A: BRAZOLIBRE, SOBRE(x,y), DESPEJADO(x)

x Quitar un bloque que estaba sobre otro:

DESAPILAR(x,y)P: SOBRE(x,y), DESPEJADO(x), BRAZOLIBREB: SOBRE(x,y), DESPEJADO(x), BRAZOLIBREA: AGARRADO(x), DESPEJADO(y)

IA-I 2009–2010 CcIa Planificacion 8.11

Operadores en el mundo de los bloques (II)

x Agarrar un bloque con el robot:

AGARRAR(x)P: DESPEJADO(x), SOBRELAMESA(x), BRAZOLIBREB: DESPEJADO(x), SOBRELAMESA(x), BRAZOLIBREA: AGARRADO(x)

x Bajar un bloque hasta la superficie:

BAJAR(x)P: AGARRADO(x)B: AGARRADO(x)A: SOBRELAMESA(x), BRAZOLIBRE, DESPEJADO(x)

IA-I 2009–2010 CcIa Planificacion 8.12

Aplicabilidad y aplicacion de operadores

x Un operador es aplicable a un estado si este satisface su precondicion

u Si aparecen variables en la precondicion, la aplicabilidad se define respecto de la

sustitucion θ usada para satisfacer la precondicion

u Por abreviar, a veces la sustitucion usada aparecera implıcita al hablar del operador

u Por ejemplo, hablaremos de DESAPILAR(A,B) para referirnos a DESAPILAR(x,y) con la

sustitucion {x/A,y/B}

x El resultado de aplicar un operador aplicable (respecto de una sustitu-cion θ) a un estado E es el estado resultante de:

u Eliminar de E los atomos, instanciados por θ, de la lista de borrado (si estuvieran)

u Anadir a E los atomos, instanciados por θ, de la lista de adicion (si no estuvieran)

x Plan: secuencia de operadores aplicables, completamente instanciados

x Solucion: plan que a partir del estado inicial obtiene un estado quesatisface el objetivo

IA-I 2009–2010 CcIa Planificacion 8.13

Ejemplo de aplicacion de operador (I)

DC

B

A

BDESAPILAR(B,A)

DC A

* Estado antes de aplicar DESAPILAR(B,A):

E = {DESPEJADO(B), DESPEJADO(C), DESPEJADO(D), BRAZOLIBRE, SOBRE(B,A)

SOBRELAMESA(C), SOBRELAMESA(D), SOBRELAMESA(A)}

* Precondiciones de DESAPILAR(B,A):

P = {SOBRE(B,A), DESPEJADO(B), BRAZOLIBRE}

--- Condiciones satisfechas en el estado (operador aplicable) ----

* Listas de borrado y adicion de DESAPILAR(B,A):

B = {SOBRE(B,A), DESPEJADO(B), BRAZOLIBRE}

A = {AGARRADO(B), DESPEJADO(A)}

* Estado despues de aplicar DESAPILAR(B,A):

E’ = (E-B)+A = {DESPEJADO(C), DESPEJADO(D), SOBRELAMESA(C), SOBRELAMESA(D), SOBRELAMESA(A),

AGARRADO(B), DESPEJADO(A)}

IA-I 2009–2010 CcIa Planificacion 8.14

Ejemplo de aplicacion de operador (II)

B

DC A DACB

BAJAR(B)

* Estado antes de aplicar BAJAR(B):

E = {DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D), AGARRADO(B)}

* Precondiciones de BAJAR(B):

P = {AGARRADO(B)}

--- Condiciones satisfechas en el estado (operador aplicable) ----

* Lista de borrado de BAJAR(B):

B = {AGARRADO(B)}

* Lista de adicion de DESAPILAR(B,A):

A = {SOBRELAMESA(B), BRAZOLIBRE, DESPEJADO(B)}

* Estado despues de aplicar DESAPILAR(B,A):

E’ = (E-B)+A = {DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C), SOBRELAMESA(A),

SOBRELAMESA(D),SOBRELAMESA(B), BRAZOLIBRE, DESPEJADO(B)}

IA-I 2009–2010 CcIa Planificacion 8.15

Ejemplo: cambio de rueda pinchada

x Lenguaje:

u Objetos: RUEDA-REPUESTO, RUEDA-PINCHADA, EJE, MALETERO, SUELO

u Predicado: EN(-,-)

x Estado inicial:

EN(RUEDA-PINCHADA,EJE),EN(RUEDA-REPUESTO,MALETERO)

x Estado final:

EN(RUEDA-REPUESTO,EJE)

IA-I 2009–2010 CcIa Planificacion 8.16

Acciones en el cambio de rueda pinchada

u Sacar la rueda de repuesto del maletero

QUITAR(RUEDA-REPUESTO,MALETERO)

P: EN(RUEDA-REPUESTO,MALETERO)

B: EN(RUEDA-REPUESTO,MALETERO)

A: EN(RUEDA-REPUESTO,SUELO)

u Quitar la rueda pinchada del eje

QUITAR(RUEDA-PINCHADA,EJE)

P: EN(RUEDA-PINCHADA,EJE)

B: EN(RUEDA-PINCHADA,EJE)

A: EN(RUEDA-PINCHADA,SUELO)

u Colocar la rueda de repuesto en el eje

PONER(RUEDA-REPUESTO,EJE)

P: NOT(EN(RUEDA-PINCHADA,EJE)), EN(RUEDA-REPUESTO,SUELO)

B: EN(RUEDA-REPUESTO,SUELO)

A: EN(RUEDA-REPUESTO,EJE)

u Dejar el coche solo hasta la manana siguiente

DEJARSOLO

P: {}

B: EN(RUEDA-REPUESTO,SUELO), EN(RUEDA-REPUESTO,EJE), EN(RUEDA-REPUESTO,MALETERO)

EN(RUEDA-PINCHADA,EJE), EN(RUEDA-PINCHADA,SUELO)

A: {}

IA-I 2009–2010 CcIa Planificacion 8.17

Ejemplo: movimiento de robot por una rejilla

x Un robot ha de desplazarse por una rejilla, desde una posicion inicial auna final

u 8 movimientos posibles: N, S,E,O,NO,NE,SO,SE

u En algunas de las rejillas existen obstaculos no franqueables

Situacioninicial

Objetivo

del robot

IA-I 2009–2010 CcIa Planificacion 8.18

Representacion del problema del movimiento de robot

x Lenguaje:

u Constantes: numeros que indican coordenas horizontales y verticales

u Predicados: ROBOT-EN(-,-) y LIBRE(-,-)

x Estado inicial (casillas sin obstaculos y posicion del robot):

LIBRE(1,1),...,LIBRE(6,2),LIBRE(11,2),...,LIBE(12,12),ROBOT-EN(2,3).

x Objetivo: ROBOT-EN(10,11)

x Acciones (solo una, las siete restantes son analogos):

MOVER-SE(x,y)

P: ROBOT-EN(x,y),LIBRE(x+1,y-1)

B: ROBOT-EN(x,y),LIBRE(x+1,y-1)

A: ROBOT-EN(x+1,y-1),LIBRE(x,y)

u En este caso, necesitamos sımbolos de funcion (+ y -) y que el test de satisfacibilidad

maneje las nociones de numero siguiente y anterior

IA-I 2009–2010 CcIa Planificacion 8.19

Extensiones al formalismo STRIPS

x Existen sistemas de planificacion que usan un lenguaje de representacionmas expresivo

x Ejemplo:

u Uso de sımbolos de funcion

u Manejo del sımbolo de igualdad

u Disyunciones

u Variables con tipos

x En general existe un compromiso entre expresividad del lenguaje y sim-plicidad de los algoritmos que manejan la representacion

IA-I 2009–2010 CcIa Planificacion 8.20

Busqueda de planes hacia adelante

x Un problema de planificacion se puede plantear como un problema deespacio de estados:

u Estados descritos mediante listas de literales.

u Operadores como listas de precondiciones, adicion y borrado.

u Funcion es-estado-final descrita por un objetivo.

x La busqueda de planes podrıa hacerse usando los algoritmos de busque-da ya vistos en los temas anteriores: anchura, profundidad, primero elmejor, A*,. . .

x El uso de la representacion STRIPS permite el uso de heurısticas inde-pendientes del dominio

u Por ejemplo, el numero de literales en el objetivo que quedan por satisfacer en un

estado

IA-I 2009–2010 CcIa Planificacion 8.21

Calculo de sucesores

B

DC A

DAC

DAC

DAC

DACB

B

B

B

APILAR(x,y)[x=B,y=C]

APILAR(x,y)[x=B,y=D]

APILAR(x,y)[x=B,y=A]

BAJAR(x)[x=B]

IA-I 2009–2010 CcIa Planificacion 8.22

Calculo de sucesores

x Algoritmo para generar sucesores:

FUNCION SUCESORES-ADELANTE(E)1. Hacer SUCESORES igual a vacıo2. Para cada operador O2.1 Para cada sustitucion THETA de las variables que aparecen

en O tal que THETA(PRECONDICIONES(O)) esta incluida en E, hacer:2.1.2 E’ igual a E - THETA(BORRADO(O)) + THETA(ADICION(O))2.1.3 A~nadir E’ a SUCESORES

3. Devolver SUCESORES

x Ejemplo:

E = {DESPEJADO(C), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D), AGARRADO(B)}

Cuatro posibles operadores aplicables:

1), 2) y 3): O=APILAR(x,y) con THETA=[x=B,y=C], THETA=[x=B,y=A] y THETA=[x=B,y=D], resp.

4): O=DEJAR(x) con sustitucion THETA=[x=B].

Sucesor en el caso 1):

E’= { DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C), SOBRELAMESA(A),

SOBRELAMESA(D), BRAZOLIBRE, DESPEJADO(B), SOBRE(B,C)}

IA-I 2009–2010 CcIa Planificacion 8.23

Ineficiencia de la busqueda hacia adelante

x La busqueda hacia adelante en un problema de planificacion:

u Es completa (si el conjunto de objetos es finitos)

u Es ineficiente en la practica (por las razones ya expuestas)

x El formalismo logico para representar los estados, resuelve en ciertamedida:

u El problema del marco

u La obtencion de heurısticas independientes del dominio

x Sin embargo, persisten algunos problemas

u El gran factor de ramificacion (consideracion de acciones irrelevantes)

u La busqueda del plan de manera secuencial

u Planes no jerarquicos

x Para intentar resolver el primer punto, se puede realizar una busquedahacia atras, dirigida por el objetivo

IA-I 2009–2010 CcIa Planificacion 8.24

Busqueda de planes hacia atras

x Busqueda hacia atras:

u Comienzo en un objetivo

u En cada estado se generan todos los posibles predecesores

u Finalizar cuando se alcanza un objetivo que es cierto en el estado inicial

x Predecesor de un objetivo G:

u mediante operador O y sustitucion θ

u es cualquier estado E cuyo sucesor al aplicar O y θ satisface G.

u Relevante: Al menos, en la lista de adicion del operador esta uno de los literales de

G

u Consistente: En la lista de borrado de G no aparece ningun literal de G

x Ventajas:

u Generalmente mas eficiente: menos ramificacion

u Posibilidad de aplicar heurısticas independientes del dominio (proximidad al estado

inicial)

IA-I 2009–2010 CcIa Planificacion 8.25

Calculo de predecesores

DAC

B

DAC

DC

B

AC

B

B

A

D

APILAR(x,y)[x=B,y=C]

DEJAR(x)[x=A]

DEJAR(x)[x=D]

IA-I 2009–2010 CcIa Planificacion 8.26

Calculo de predecesores

x Algoritmo para generar predecesores:

FUNCION PREDECESORES-ATRAS(G)1. Hacer PREDECESORES igual a vacıo2. Para cada operador O2.1 Para cada sustitucion THETA de las variables que aparecen en O

tal que al menos un literal L de G esta en THETA(ADICION(O)), yG no tiene elementos de THETA(BORRADO(O)), hacer:2.1.1 E igual G + THETA(PRECONDICION(O)) - THETA(ADICION(O))2.1.2 A~nadir E a PREDECESORES

3. Devolver PREDECESORESx Ejemplo:

G = {DESPEJADO(B), DESPEJADO(A), DESPEJADO(D), SOBRE(B,C), BRAZOLIBRE,

SOBRELAMESA(C), SOBRELAMESA(A), SOBRELAMESA(D)}

Tres posibles operadores aplicables (en regresion)

1): O=APILAR(x,y) con sustitucion THETA=[x=B,y=C].

2) y 3): O=DEJAR(x) con sustituciones THETA=[x=A], s=[x=D] resp.

Predecesor en el caso 1)

E = {DESPEJADO(B), DESPEJADO(A), DESPEJADO(D), SOBRELAMESA(C),

SOBRELAMESA(A), SOBRELAMESA(D), AGARRADO(B)}

IA-I 2009–2010 CcIa Planificacion 8.27

Planificacion lineal

x Tanto la busqueda de planes hacia adelante como la busqueda de planeshacia atras son ejemplos de algoritmos de planificacion lineal

x En un planificador lineal, el espacio de busqueda lo forman secuenciastotalmente ordenadas de acciones, bien desde el inicio hacia adelante obien desde el objetivo hacia atras

IA-I 2009–2010 CcIa Planificacion 8.28

La anomalıa de Sussman

x Problema de planificacion que muestra las carencias de la planificacionlineal:

A

Estado inicial Estado final

C

A B

B

C

x Estados:

Estado inicial = { SOBRELAMESA(A), SOBRELAMESA(B),DESPEJADO(B), DESPEJADO(C), BRAZOLIBRE, SOBRE(C,A) }

Objetivo = {SOBRE(A,B), SOBRE(B,C) }

IA-I 2009–2010 CcIa Planificacion 8.29

Anomalıa de Sussman con un planificador lineal

x Un plan para satisfacer SOBRE(A,B):

1. DESAPILAR(C,A) 2. BAJAR(C) 3. AGARRAR(A) 4. APILAR(A,B)

x Estado intermedio:

A

B CEstado actual

IA-I 2009–2010 CcIa Planificacion 8.30

Anomalıa de Sussman con un planificador lineal

x Un plan para satisfacer SOBRE(B,C):

5. DESAPILAR(A,B) 6. BAJAR(A) 7. AGARRAR(B) 8. APILAR(B,C)

x Estado intermedio:

Estado actual

C

B

A

x Problema: SOBRE(A,B) ha dejado de ser cierto.

u Al satisfacer SOBRE(B,C) se ha deshecho.

IA-I 2009–2010 CcIa Planificacion 8.31

Deficiencias de la planificacion lineal

x Causa del problema:

u El planificador intenta resolver un objetivo cada vez.

u En ciertos casos, hay interaccion entre objetivos, deshaciendose unos a otros.

x Este un problema general de los algoritmos de planificacion lineal.

IA-I 2009–2010 CcIa Planificacion 8.32

Alternativas a la planificacion lineal

x Busqueda de planes no lineales, entrelazando objetivos.

x Ejemplo:

La anomalıa de Sussman se pude solucionar:1. Comenzado a satisfacer SOBRE(A,B), en parte solo,

despejando A, (DESAPILAR(C,A), BAJAR(C)).2. Satisfacer SOBRE(B,C), haciendo APILAR(B,C).3. Completar SOBRE(A,B), haciendo APILAR(A,B)

x Principio de mınimo compromiso: no determinar completamente elorden entre acciones, a no ser que sea estrictamente necesario

IA-I 2009–2010 CcIa Planificacion 8.33

Planes parcialmente ordenados

x Plan parcialmente ordenado: un plan en el que solo se especifican algu-nas de las precedencias entre sus acciones

x Principio de mınimo compromiso

x Secuenciar un plan parcialmente ordenado: construir un plan secuencialque respete las precedencias obligatorias

u

Este sera el ultimo paso

IA-I 2009–2010 CcIa Planificacion 8.34

Planes parcialmente ordenados: ejemplo

x Plan parcialmente ordenado y secuenciaciones

TOMARBROCHA

TOMARBROCHA

TOMARBROCHA

TOMAR ESCALERA

TOMAR ESCALERA

TOMAR ESCALERA

PINTARTECHO

PINTARTECHO

PINTARTECHO

INICIO

INICIO

INICIO

FIN

FIN

FIN

IA-I 2009–2010 CcIa Planificacion 8.35

Planes parcialmente ordenados: componentes

x Un conjunto de acciones que constituyen los pasos que el plan lleva acabo, de entre los operadores del problema, cada una con sus precondi-ciones y efectos

u Dos acciones especiales: INICIO (sin precondiciones y cuyo efecto es el estado

inicial) y FIN (sin efectos y cuyas precondiciones son el objetivo final)

x Un conjunto de restricciones de orden A ≺ B entre acciones del plan

A B

x Un conjunto de enlaces causales, Ap→ B, especificando la consecucion,

por parte de una accion, de una de las precondiciones de otra acciondel plan (lleva implıcita una restriccion de orden)

AGARRAR(A) APILAR(A,B)AGARRADO(A)

x Un conjunto de precondiciones abiertas: aquellas que aun no tienenenlaces causales que las consigan

IA-I 2009–2010 CcIa Planificacion 8.36

Planes parciales inicial y final

x Plan parcial inicial: plan cuyas unicas acciones son INICIO y FIN, conla restriccion INICIO ≺ FIN, sin enlaces causales y con todas las pre-condiciones de FIN abiertas

x Planes parciales finales: planes parciales sin conflictos entre los enlacescausales, sin ciclos entre las restricciones de orden y sin precondicionesabiertas

u Una accion C entra en conflicto con (o amenaza) un enlace causal Ap→ B, si C tiene

a ¬p en su lista de efectos y segun las restricciones de orden, C podrıa ir despues

de A y antes que B

IA-I 2009–2010 CcIa Planificacion 8.37

Ejemplo: aprobar IA1

x Lenguaje:

u Objetos: IA1, ETSII, CASA

u Predicado: EN(-), ESTUDIADO(-), APROBADO(-)

x Estado inicial:

EN(CASA)

x Estado final:

EN(CASA), APROBADO(IA1)

x Acciones:

IR(x,y) ESTUDIAR(x) EXAMINARSE-CON-EXITO(x)

P: EN(x) P: {} P: EN(ETSII), ESTUDIADO(x)

B: EN(x) B: {} B: {}

A: EN(y) A: ESTUDIADO(x) A: APROBADO(x)

u Descartaremos acciones del tipo IR(x,x)

IA-I 2009–2010 CcIa Planificacion 8.38

Ejemplos de planes parciales

x Ejemplo de plan parcial inicial:

INICIO FIN

x Ejemplo de plan parcial:

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

IA-I 2009–2010 CcIa Planificacion 8.39

Ejemplo de planes parciales

x Ejemplo de plan parcial final:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

IA-I 2009–2010 CcIa Planificacion 8.40

Secuenciaciones de planes parciales solucion

x Secuenciacion de un plan parcial: colocar las acciones una detras deotra, sin contradecir ninguna restriccion de orden que se deduzca delplan parcial

x Punto clave: cualquier secuenciacion de un plan parcial solucion da lugara una secuencia de acciones que partiendo del estado inicial consigue elobjetivo (es decir, una solucion al problema original)

x En el ejemplo, dos posibilidades (ambas soluciones al problema original):

ESTUDIAR(IA1) IR(CASA,ETSII) E−C−E(IA1) IR(ETSII,CASA)

IR(ETSII,CASA)E−C−E(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

IA-I 2009–2010 CcIa Planificacion 8.41

Planificacion como busqueda en el espacio de planes

x ¿Como disenar un algoritmo para encontrar planes parciales finales?

u Idea: comenzar en el plan inicial y aplicar transformaciones u operadores a los

planes parciales, refinandolos

u Basicamente, estas transformaciones consisten en resolver precondiciones abiertas

o resolver amenazas

x En cada punto habra varias alternativas de refinamiento, y no todasconducen hacia un plan parcial final

x Problema: encontrar la secuencia de pasos de refinamiento que partien-do del plan parcial inicial, llegue a un plan parcial solucion (es decir,sin ciclos, sin amenazas y sin precondiciones abiertas)

u ¡Es una busqueda en espacios de estados!

x Pero ahora los estados son los planes parciales

IA-I 2009–2010 CcIa Planificacion 8.42

Operadores (refinamiento de planes parciales)

x Resolucion de precondiciones abiertas: dada una precondicion abiertap de una accion B del plan, por cada accion A que tiene a p comoefecto, se puede obtener un plan sucesor (refinar) aplicando alguno delos siguientes pasos (siempre que el plan resultante no tenga ciclos)

:

u Establecimiento simple: si la accion A ya aparece en el plan, anadir la restriccion

A ≺ B y el enlace causal Ap→ B

u Accion nueva: si la accion A no aparece ya en el plan, anadir la accion al plan, las

restricciones A ≺ B, INICIO ≺ A y A ≺ FIN, y el enlace causal Ap→ B (es posible

incluso introducir como nueva una accion igual a una que ya estuviera)

x Resolucion de conflictos: dado un conflicto entre el enlace causal Ap→ B

y la accion C, se puede obtener un plan sucesor aplicando alguno de lossiguientes pasos (siempre que el plan resultante no tenga ciclos):

u Anadir la restriccion B ≺ C (promocion)

u O anadir la restriccion C ≺ A (degradacion)

IA-I 2009–2010 CcIa Planificacion 8.43

Planificacion de orden parcial: busqueda

x Es posible plantear un algoritmo de planificacion como una busquedaen el espacio de estados anterior

u Es decir, como busqueda de una secuencia de operadores de refinamiento de planes

que a partir del plan inicial obtiene un plan parcial final

x Motivos para la ramificacion en la busqueda:

u Distintas acciones que resuelven precondiciones abiertas

u Las dos formas de resolver un conflicto (promocion y degradacion)

u Nota: no es necesario considerar un sucesor por cada precondicion abierta del plan,

ni por cada amenaza existente, basta considerarlas en pasos posteriores, siguiendo

un orden dado

x Un algoritmo POP es simplemente un algoritmo que aplica un algoritmode busqueda (en profundidad, por ejemplo) en el espacio de los planesparciales

IA-I 2009–2010 CcIa Planificacion 8.44

Algoritmo POP para el ejemplo de aprobar IA1

x Convenios en la representacion grafica del ejemplo, por claridad en lamisma:

u Algunas restricciones de orden no apareceran, en particular la asociadas a enlaces

causales

u Las precondiciones y efectos no apareceran. En particular, no apareceran las pre-

condiciones abiertas

u Cuando una accion no tenga precondiciones abiertas, esta aparecera sombreada

x Paso 1: plan inicial

INICIO FIN

u Precondiciones abiertas: APROBADO(IA1), EN(CASA); vamos a resolver primero

APROBADO(IA1)

u Una unica posibilidad: accion nueva EXAMINARSE-CON-EXITO(IA1)

IA-I 2009–2010 CcIa Planificacion 8.45

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 2:

INICIO E−C−E(IA1) FINAPROBADO(IA1)

u Resolvemos ahora la precondicion EN(CASA) de FIN

u Dos posibilidades: establecimiento simple con INICIO o accion nueva

IR(ETSII,CASA)

u Consideraremos la primera de ella en primer lugar, intentando la segunda en caso

de fallo

IA-I 2009–2010 CcIa Planificacion 8.46

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 3:

EN(CASA)INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

u Resolvemos ahora la precondicion EN(ETSII) de EXAMINRSE-CON-EXITO(IA1)

u Solo una posibilidad: accion nueva IR(CASA,ETSII)

IA-I 2009–2010 CcIa Planificacion 8.47

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 4:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

u Aparece una amenaza: de IR(CASA,ETSII) sobre el enlace causal entre INICIO y

FIN

u Intentamos resolver la amenaza por promocion o por degradacion

IA-I 2009–2010 CcIa Planificacion 8.48

Algoritmo POP para el ejemplo de aprobar IA1

x Pero en ambos casos, se crearıa un ciclo:

u Promocion:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

u Degradacion:

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

IA-I 2009–2010 CcIa Planificacion 8.49

Algoritmo POP para el ejemplo de aprobar IA1

x Por tanto, hay FALLO y hemos de retroceder al anterior punto de ra-mificacion, que estaba en el paso 2

u Y elegir la otra alternativa: accion nueva IR(ETSII,CASA) para resolver la precon-

dicion EN(CASA) de FIN

x Paso 5:

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

x Elegimos ahora la precondicion ESTUDIADO(IA1) de EXAMINARSE-CON-EXITO(IA1)

u La unica posibilidad para resolverla es accion nueva ESTUDIAR(IA1)IA-I 2009–2010 CcIa Planificacion 8.50

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 6:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

ESTUDIADO(IA1)

x Elegimos ahora la precondicion EN(ETSII) de EXAMINARSE-CON-EXITO(IA1)

u La unica posibilidad para resolverla es accion nueva IR(CASA,ETSII)

IA-I 2009–2010 CcIa Planificacion 8.51

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 7:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

u Ahora existen amenazas : por ejemplo, de IR(ETSII,CASA) sobre el enlace causal

entre IR(CASA,ETSII) y EXAMINARSE-CON-EXITO(IA1)

u Intentamos resolver esa amenaza por degradacion; si no diera resultado, intentamos

promocion

IA-I 2009–2010 CcIa Planificacion 8.52

Algoritmo POP para el ejemplo de aprobar IA1

x Paso 8 (degradacion):

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

u Otra amenaza: de IR(CASA,ETSII) sobre el enlace causal entre IR(ETSII,CASA)

y FIN

u Intentamos resolver la amenaza por promocion o por degradacion

IA-I 2009–2010 CcIa Planificacion 8.53

Algoritmo POP para el ejemplo de aprobar IA1

x Pero en ambos casos, se crearıa un ciclo:

u Promocion:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

u Degradacion:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

IA-I 2009–2010 CcIa Planificacion 8.54

Algoritmo POP para el ejemplo de aprobar IA1

x Por tanto, hay FALLO

u Hemos de retroceder al anterior punto de ramificacion (paso 7), y elegir la otra

alternativa: resolver la amenaza de IR(ETSII,CASA) sobre el enlace causal entre

IR(CASA,ETSII) y EXAMINARSE-CON-EXITO(IA1), mediante promocion

x Paso 9:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

IA-I 2009–2010 CcIa Planificacion 8.55

Algoritmo POP para el ejemplo de aprobar IA1

x Elegimos ahora la precondicion EN(ETSII) de IR(ETSII,CASA)

u Dos alternativas: establecimiento simple con IR(CASA,ETSII) o accion nueva con

IR(CASA,ETSII).

u Elegimos la primera, reconsiderandolo si fuera necesario

x Paso 10:

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

IA-I 2009–2010 CcIa Planificacion 8.56

Algoritmo POP para el ejemplo de aprobar IA1

x Elegimos la precondicion EN(CASA) de IR(CASA,ETSII)

u Tres alternativas: establecimiento simple con INICIO, establecimiento simple con

IR(ETSII,CASA) o accion nueva con IR(ETSII,CASA).

u Elegimos la primera, reconsiderandolo si fuera necesario

x Paso 11 (Plan parcial final):

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

IA-I 2009–2010 CcIa Planificacion 8.57

Algoritmo POP para el ejemplo de aprobar IA1

x Finalmente, secuenciamos:

ESTUDIAR(IA1) IR(CASA,ETSII) E−C−E(IA1) IR(ETSII,CASA)

IR(ETSII,CASA)E−C−E(IA1)ESTUDIAR(IA1)IR(CASA,ETSII)

IA-I 2009–2010 CcIa Planificacion 8.58

Algoritmo POP (version recursiva)

FUNCION POP(COTA)

1. Hacer POP-REC(PLAN-INICIAL(*ESTADO-INICIAL*,*OBJETIVOS*),COTA)

FUNCION POP-REC(PLAN,COTA)

1. Si PLAN es final, devolver SECUENCIACION(PLAN) y terminar.

2. Si existe en PLAN una amenaza de la accion C sobre A --p-->B, entonces

2.1 Sean PLANPR obtenido de PLAN mediante promocion en la amenaza anterior

2.2 Si PLANPR tiene ciclos, sea RESULTADO igual a FALLO;

en caso contrario, sea RESULTADO igual a POP-REC(PLANPR,COTA).

2.3 Si RESULTADO no es FALLO, devolver RESULTADO y terminar; en otro caso:

2.3.1 Sea PLANDEG obtenido de PLAN mediante degradacion en la amenaza anterior

2.3.2 Si PLANDEG tiene ciclos, sea RESULTADO igual a FALLO;

en caso contrario, sea RESULTADO igual a POP-REC(PLANDEG,COTA).

2.3.3 Devolver RESULTADO y terminar.

3. Sea P una precondicion abierta en PLAN

4. Para cada accion (nueva o ya existente) que tiene a P como efecto, hacer:

4.1 Hacer PLANEXT el resultado de cerrar la precondicion P en PLAN mediante un enlace

causal (si fueran accion nueva, a~nadir tambien la accion al PLAN)

4.2 Si PLANEXT no tiene ciclos y un numero de acciones menor o igual que COTA, entonces:

5.2.1 Sea RESULTADO igual POP-REC(PLANEXT,COTA)

5.2.2 Si RESULTADO no es FALLO, devolver RESULTADO y terminar

5. Devolver FALLO (* aquı solo se llegarıa si la precondicion abierta no

se puede resolver con exito mediante ninguna accion *)

IA-I 2009–2010 CcIa Planificacion 8.59

POP como busqueda

x Arbol de busqueda:

u Nodos: planes parciales

u Ramificacion por la eleccion de acciones que resuelven precondiciones abiertas

u Ramificacion por las distintas maneras de resolver las amenazas

x No es necesario considerar un sucesor por cada precondicion abiertadel plan, ni por cada amenaza existente, basta considerarlas en pasosposteriores, siguiendo un orden dado

u Aunque el orden en el que se vayan considerando puede influir en la eficiencia de

la busqueda

x La busqueda en profundidad podrıa entrar en una rama infinita

u Por eso hacemos busqueda acotada (por un numero maximo de acciones en el plan)

IA-I 2009–2010 CcIa Planificacion 8.60

Busqueda POP para el ejemplo de aprobar IA1

1

23

4

FALLO

5

6

7

8

FALLO

9

10

11

SOLUCION

INICIO FIN

INICIO E−C−E(IA1) FINAPROBADO(IA1)

EN(CASA)INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

IR(CASA,ETSII)

INICIO FIN

E−C−E(IA1)

APROBADO(IA1)

EN(ETSII)

EN(CASA)

INICIO FIN

IR(ETSII,CASA) EN(CASA)

E−C−E(IA1) APROBADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII) EN(ETSII)

ESTUDIADO(IA1)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

IR(ETSII,CASA)

INICIO FIN

APROBADO(IA1)

E−C−E(IA1)

EN(CASA)

ESTUDIAR(IA1)

IR(CASA,ETSII)

ESTUDIADO(IA1)

EN(ETSII)

EN(ETSII)

EN(CASA)

IA-I 2009–2010 CcIa Planificacion 8.61

POP: algunas consideraciones

x Por simplificar, no hemos tenido en cuenta las complicaciones quepodrıan surgir con las variables de los operadores:

u Uso de unificacion

u Algunas variables podrıan quedar sin instanciar (principio de mınimo compromiso)

u Restricciones de desigualdad

x Uso de heurısticas en POPu Difıcil estimar la “cercanıa” de un plan parcial a una solucion

x Heurıstica para seleccionar la precondicion a resolver: heurıstica masrestrictiva

u Seleccionar la condicion que puede ser resuelta por el menor numero de acciones

IA-I 2009–2010 CcIa Planificacion 8.62

Ampliacion del tema

x Existen muchas otras tecnicas de planificacion:

u GRAPHPLAN

u SATPLAN

u ...

x Otras cuestiones que aquı no vemos:

u Planificacion con recursos limitados

u Planificacion mediante descomposicion jerarquica

u Planificacion en entornos con incertidumbre

u Ejecucion del plan: vigilancia y replanificacion

u Planificacion continua

u Planificacion multiagente

IA-I 2009–2010 CcIa Planificacion 8.63

Anomalıa de Sussman en POP

x Para finalizar, veremos como la planificacion de orden parcial resuelvela anomalıa de Sussman

u Nota importante: por simplificar la presentacion, en cada momento escogeremos los

operadores de refinamiento adecuados

u Es decir, nuestra “busqueda” no tendra fallos, aunque en la practica esto es irreal

u Tambien por simplificar, a veces se aplicaran varios pasos de una vez

IA-I 2009–2010 CcIa Planificacion 8.64

Anomalıa de Sussman en POP

x Plan inicial:

INICIO FIN

x Resolver la precondicion sobre(A,B) de FIN mediante la accion nuevaAPILAR(A,B) (es la unica opcion):

INICIO FINAPILAR(A,B)sobre(A,B)

IA-I 2009–2010 CcIa Planificacion 8.65

Anomalıa de Sussman en POP

x Resolver la precondicion sobre(B,C) de FIN mediante la accion nuevaAPILAR(B,C) (es la unica opcion):

FINAPILAR(A,B)sobre(A,B)

INICIO

APILAR(B,C)

sobre(B,C)

IA-I 2009–2010 CcIa Planificacion 8.66

Anomalıa de Sussman en POP

x Resolver la precondicion agarrado(B) de APILAR(B,C) mediante laaccion nueva AGARRAR(B)

u Tambien se podrıa usar DESAPILAR, opcion que habrıa que considerar si la elec-

cion realizada fallara (busqueda)

APILAR(A,B)sobre(A,B)

INICIO

APILAR(B,C)

sobre(B,C)

AGARRAR(B) agarrado(B)

FIN

IA-I 2009–2010 CcIa Planificacion 8.67

Anomalıa de Sussman en POP

x Resolver la precondicion agarrado(A) de APILAR(A,B) mediante laaccion nueva AGARRAR(A)

u Como en el caso anterior, tambien se podrıa usar DESAPILAR (explorar mediante

busqueda)

APILAR(B,C)AGARRAR(B) agarrado(B)

FIN

sobre(B,C)

sobre(A,B)APILAR(A,B)

INICIO

AGARRAR(A)agarrado(A)

IA-I 2009–2010 CcIa Planificacion 8.68

Anomalıa de Sussman en POP

x Resolver la precondicion despejado(A) de AGARRAR(A) mediante laaccion nueva desapilar(C,A):

APILAR(B,C)AGARRAR(B) agarrado(B)

FIN

sobre(B,C)

sobre(A,B)APILAR(A,B)AGARRAR(A)

agarrado(A)

INICIO

DESAPILAR(C,A)

despejado(A)

IA-I 2009–2010 CcIa Planificacion 8.69

Anomalıa de Sussman en POP

x Resolver la precondicion brazolibre de AGARRAR(B) mediante la ac-cion nueva bajar(C) (existen mas opciones):

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

INICIO

DESAPILAR(C,A)

despejado(A)

AGARRAR(B)agarrado(B)

APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

IA-I 2009–2010 CcIa Planificacion 8.70

Anomalıa de Sussman en POP

x Usar la accion INICIO para, mediante establecimiento simple, resolvertodas las precondiciones de DESAPILAR(C,A) (existen otras opciones):

u El enlace causal entre INICIO y DESAPILAR(C,A) que asegura despejado(C),

se ve amenazado por APILAR(B,C): resolver mediante promocion (unica opcion),

colocando la restriccion de que APILAR(B,C) debe ir tras DESAPILAR(C,A)

����������������������������������������������������������������

����������������������������������������������������������������

��������������������������������������������������������������������������������

��������������������������������������������������������������������������������

����������������������������������������������������������������

����������������������������������������������������������������

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B)agarrado(B)

APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

IA-I 2009–2010 CcIa Planificacion 8.71

Anomalıa de Sussman en POP

x Usar la accion INICIO para, mediante establecimiento simple, resolverlas restantes precondiciones de AGARRAR(B); igualmente medianteestablecimiento simple, usar DESAPILAR(C,A) para resolver la pre-condicion agarrado(C) de BAJAR(C)

u El enlace causal entre BAJAR(C) y AGARRAR(B) que asegura brazolibre, se ve

amenazado por AGARRAR(A): resolver mediante promocion, colocando la restric-

cion de que AGARRAR(A) debe ir tras AGARRAR(B)

u De esta manera, tambien se resuelve la amenaza de APILAR(A,B) al enlace causal

entre INICIO y AGARRAR(B), ya que la anterior restriccion implica que API-

LAR(A,B) ocurre despues de AGARRAR(B)

IA-I 2009–2010 CcIa Planificacion 8.72

Anomalıa de Sussman en POP

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B) APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

agarrado(C)

sobrelamesa(B)despejado(B)

agarrado(B)

IA-I 2009–2010 CcIa Planificacion 8.73

Anomalıa de Sussman en POP

x Las restantes condiciones abiertas se pueden resolver mediante estable-cimiento simple, como indica la figura

FINsobre(A,B)

APILAR(A,B)AGARRAR(A)agarrado(A)

despejado(A)

AGARRAR(B) APILAR(B,C)

sobre(B,C)

BAJAR(C)brazolibre

INICIO

despejado(C)sobre(C,A)brazolibre

DESAPILAR(C,A)

agarrado(C)

sobrelamesa(B)despejado(B)

agarrado(B)

despejado(C)

despejado(B)

sobrelamesa(A)

brazolibre

IA-I 2009–2010 CcIa Planificacion 8.74

Anomalıa de Sussman en POP

x El plan parcial resultante es una solucion: no tiene conflictos, no tieneciclos y no hay precondiciones abiertas

x Secuenciacion del plan:

B

A C A CB

CB

A

BCA

DESAPILAR(C,A) BAJAR(C) AGARRAR(B) APILAR(B,C) AGARRAR(A) APILAR(A,B)

B A

C

A CB CBA

x Notese que se intercalan los pasos necesarios para solucionar los dosobjetivos originales

IA-I 2009–2010 CcIa Planificacion 8.75

Bibliografıa

x Russell, S. y Norvig, P. Artificial Intelligence (A Modern Approach)(Prentice–Hall, 2000). Second Edition

u Cap. 11: “Planning”.

x Borrajo, D., Juristo, N., Martınez, V. y Pazos, J. Inteligencia Artificial:metodos y tecnicas.1993.

x Rich, E. y Knight, K. Inteligencia Artificial (segunda edicion).1996.

x Nilsson, N. Principios de Inteligencia Artificial. 1987.

x Escolano, F. et al. Inteligencia Artificial: modelos, tecnicas y areas deaplicacion (Ed. Thomson, 2000)

IA-I 2009–2010 CcIa Planificacion 8.76