Vous êtes sur la page 1sur 76

Inteligencia Artificial I

Curso 20092010

Tema 8: Planificaci
on
Jos
e L. Ruiz Reina

Dpto. de Ciencias de la Computaci


on e Inteligencia Artificial

Universidad de Sevilla

IA-I 20092010

Cc Ia

Planificaci
on

8.1

Planificaci
on en IA
x

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

Plan: secuencia de acciones que consiguen el objetivo

Aplicaciones del mundo real:

Rob
otica

Fabricaci
on mediante ensamblado de componentes

Misiones espaciales

Planning vs Scheduling

IA-I 20092010

Cc Ia

Planificaci
on

8.2

El problema de la planificaci
on en IA
x

Cuestiones a abordar:
u

Representaci
on del mundo y de las acciones que lo transforman

Representaci
on de planes

Algoritmos de b
usqueda de planes

Minimizar los recursos consumidos por el plan

Tiempo en el que se realiza cada acci


on

Monitorizar la ejecuci
on del plan, revis
andolo en caso de errores o contingencias

Por simplificar, en este captulo supondremos:


u

Acciones deterministas, totalmente definidas por su especificaci


on

Hip
otesis del mundo cerrado

IA-I 20092010

Cc Ia

Planificaci
on

8.3

Planificaci
on y b
usqueda en espacio de estados
x

Solucionar un problema de planificaci


on usando los algoritmos ya vistos
de b
usqueda en espacio de estados no funciona en un problema de
escala real, por los siguientes motivos:
u

Descripci
on de los estados en el mundo real extremadamente compleja

Gran cantidad de posibles acciones, muchas de ellas irrelevantes para la consecuci


on
del objetivo final

Las acciones s
olo cambian una peque
na porci
on del mundo (el problema del marco)

Necesitamos heursticas independientes del dominio

La necesidad de una acci


on puede detectarse sin necesidad de que se haya decidido
las acciones previas (compromiso mnimo)

A veces es aconsejable descomponer en subproblemas m


as simples

Idea: usar la l
ogica para representar estados, acciones y objetivos
u

Y algoritmos especficos que operan sobre esta representaci


on

IA-I 20092010

Cc Ia

Planificaci
on

8.4

Un formalismo l
ogico: STRIPS
x

Un lenguaje para representar problemas de planificaci


on:
u

Constantes: objetos del mundo (en may


usculas)

Variables para representar cualquier objeto (en min


usculas)

Smbolos de predicados (para expresar propiedades de los objetos)

Smbolos de acciones (para representar operadores)

Terminologa:
u

Atomos: f
ormulas de la forma P (o1, . . . , on), donde P es un smbolo de predicado y
cada oi es una constante o una variable

Literales:
atomos o negaci
on de
atomos

Literales cerrados: sin variables

Estados: conjunci
on de literales cerrados
u

Hip
otesis del mundo cerrado: las condiciones que no se mencionan se suponen falsas

IA-I 20092010

Cc Ia

Planificaci
on

8.5

Ejemplo: el mundo de los bloques


x

Ejemplo cl
asico en planificaci
on.

Elementos que intervienen:


u

Una superficie plana.

Una serie de bloques c


ubicos.

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

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

B
C
IA-I 20092010

A
Cc Ia

D
Planificaci
on

8.6

Representaci
on de estados en el mundo de los bloques
x

Descripci
on de un estado:

B
C

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 est
a despejado.
BRAZOLIBRE, el brazo no agarra ning
un bloque.
SOBRELAMESA(x), el bloque x est
a sobre la mesa.
SOBRE(x,y), el bloque x est
a sobre el y.
AGARRADO(x), el bloque X est
a sujeto por el brazo.

IA-I 20092010

Cc Ia

Planificaci
on

8.7

Representaci
on de objetivos en STRIPS
x

Objetivos: descripci
on de los estados finales.

Los objetivos se representan como conjunci


on de literales (con posibilidad de usar variables)
u

Las variables en los objetivos se interpretan como existencialmente cuantificadas

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 est
an incluidos en la descripci
on del
estado

Un estado es estado final si satisface el objetivo requerido

IA-I 20092010

Cc Ia

Planificaci
on

8.8

Ejemplo de objetivos en el mundo de los bloques

C
B
C

D
D

A
Estado 2

Estado 1

El objetivo SOBRE(B,A), SOBRELAMESA(A) es satisfecho por el estado 1 y


por el estado 2

El objetivo SOBRE(x,A), DESPEJADO(x), BRAZOLIBRE es satisfecho por el


estado 1 pero no por el estado 2

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


s por el estado 2

IA-I 20092010

Cc Ia

Planificaci
on

8.9

Descripci
on de acciones en STRIPS
x

Representaci
on de operadores o acciones:
u

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

Descripci
on de la acci
on de un operador:
u

Para intentar solucionar el problema del marco, s


olo se especifica lo que cambia
por la acci
on del operador.

Usualmente, xi es variable: esquemas de operadores.

Descripci
on de la acci
on de un operador en estilo STRIPS, mediante
tres listas:
u

Precondici
on: lista de literales que deben ser ciertos para que el operador pueda
ser aplicado.

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

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

Es usual unir la lista de borrado y la de adici


on en lo que se denomina una lista de
efectos (en la que los elementos de la lista de borrado aparecen negados)

IA-I 20092010

Cc Ia

Planificaci
on

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)

Quitar un bloque que estaba sobre otro:


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

IA-I 20092010

Cc Ia

Planificaci
on

8.11

Operadores en el mundo de los bloques (II)


x

Agarrar un bloque con el robot:


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

Bajar un bloque hasta la superficie:


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

IA-I 20092010

Cc Ia

Planificaci
on

8.12

Aplicabilidad y aplicaci
on de operadores
x

Un operador es aplicable a un estado si


este satisface su precondici
on
u

Si aparecen variables en la precondici


on, la aplicabilidad se define respecto de la
sustituci
on usada para satisfacer la precondici
on

Por abreviar, a veces la sustituci


on usada aparecer
a implcita al hablar del operador

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


sustituci
on {x/A,y/B}

El resultado de aplicar un operador aplicable (respecto de una sustituci


on ) a un estado E es el estado resultante de:
u

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

A
nadir a E los
atomos, instanciados por , de la lista de adici
on (si no estuvieran)

Plan: secuencia de operadores aplicables, completamente instanciados

Soluci
on: plan que a partir del estado inicial obtiene un estado que
satisface el objetivo

IA-I 20092010

Cc Ia

Planificaci
on

8.13

Ejemplo de aplicaci
on de operador (I)
B

DESAPILAR(B,A)

B
C

* 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 adici
on de DESAPILAR(B,A):
B = {SOBRE(B,A), DESPEJADO(B), BRAZOLIBRE}
A = {AGARRADO(B), DESPEJADO(A)}
* Estado despu
es 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 20092010

Cc Ia

Planificaci
on

8.14

Ejemplo de aplicaci
on de operador (II)
BAJAR(B)

B
C

* 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 adici
on de DESAPILAR(B,A):
A = {SOBRELAMESA(B), BRAZOLIBRE, DESPEJADO(B)}
* Estado despu
es 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 20092010

Cc Ia

Planificaci
on

8.15

Ejemplo: cambio de rueda pinchada


x

Lenguaje:
u

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

Predicado: EN(-,-)

Estado inicial:
EN(RUEDA-PINCHADA,EJE),EN(RUEDA-REPUESTO,MALETERO)

Estado final:
EN(RUEDA-REPUESTO,EJE)

IA-I 20092010

Cc Ia

Planificaci
on

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 ma


nana 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 20092010

Cc Ia

Planificaci
on

8.17

Ejemplo: movimiento de robot por una rejilla


x

Un robot ha de desplazarse por una rejilla, desde una posici


on inicial a
una final
u

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

En algunas de las rejillas existen obst


aculos no franqueables

Objetivo

Situacion
inicial
del robot

IA-I 20092010

Cc Ia

Planificaci
on

8.18

Representaci
on del problema del movimiento de robot
x

Lenguaje:
u

Constantes: n
umeros que indican coordenas horizontales y verticales

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

Estado inicial (casillas sin obst


aculos y posici
on del robot):
LIBRE(1,1),...,LIBRE(6,2),LIBRE(11,2),...,LIBE(12,12),ROBOT-EN(2,3).

Objetivo: ROBOT-EN(10,11)

Acciones (s
olo una, las siete restantes son an
alogos):
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 smbolos de funci


on (+ y -) y que el test de satisfacibilidad
maneje las nociones de numero siguiente y anterior

IA-I 20092010

Cc Ia

Planificaci
on

8.19

Extensiones al formalismo STRIPS


x

Existen sistemas de planificaci


on que usan un lenguaje de representaci
on
m
as expresivo
Ejemplo:
u

Uso de smbolos de funci


on

Manejo del smbolo de igualdad

Disyunciones

Variables con tipos

En general existe un compromiso entre expresividad del lenguaje y simplicidad de los algoritmos que manejan la representaci
on

IA-I 20092010

Cc Ia

Planificaci
on

8.20

B
usqueda de planes hacia adelante
x

Un problema de planificaci
on se puede plantear como un problema de
espacio de estados:
u

Estados descritos mediante listas de literales.

Operadores como listas de precondiciones, adici


on y borrado.

Funci
on es-estado-final descrita por un objetivo.

La b
usqueda de planes podra hacerse usando los algoritmos de b
usqueda ya vistos en los temas anteriores: anchura, profundidad, primero el
mejor, A*,. . .

El uso de la representaci
on STRIPS permite el uso de heursticas independientes del dominio
u

Por ejemplo, el n
umero de literales en el objetivo que quedan por satisfacer en un
estado

IA-I 20092010

Cc Ia

Planificaci
on

8.21

C
alculo de sucesores

B
C

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

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

B
C

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

B
C

BAJAR(x)
[x=B]

IA-I 20092010

Cc Ia

Planificaci
on

8.22

C
alculo de sucesores
x

Algoritmo para generar sucesores:


FUNCION SUCESORES-ADELANTE(E)
1. Hacer SUCESORES igual a vac
o
2. Para cada operador O
2.1 Para cada sustituci
on THETA de las variables que aparecen
en O tal que THETA(PRECONDICIONES(O)) est
a 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

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 sustituci
on 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 20092010

Cc Ia

Planificaci
on

8.23

Ineficiencia de la b
usqueda hacia adelante
x

La b
usqueda hacia adelante en un problema de planificaci
on:
u

Es completa (si el conjunto de objetos es finitos)

Es ineficiente en la pr
actica (por las razones ya expuestas)

El formalismo l
ogico para representar los estados, resuelve en cierta
medida:
u

El problema del marco

La obtenci
on de heursticas independientes del dominio

Sin embargo, persisten algunos problemas


u

El gran factor de ramificaci


on (consideraci
on de acciones irrelevantes)

La b
usqueda del plan de manera secuencial

Planes no jer
arquicos

Para intentar resolver el primer punto, se puede realizar una b


usqueda
hacia atr
as, dirigida por el objetivo

IA-I 20092010

Cc Ia

Planificaci
on

8.24

B
usqueda de planes hacia atr
as
x

B
usqueda hacia atr
as:
u

Comienzo en un objetivo

En cada estado se generan todos los posibles predecesores

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

Predecesor de un objetivo G:
u

mediante operador O y sustituci


on

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

Relevante: Al menos, en la lista de adici


on del operador est
a uno de los literales de
G

Consistente: En la lista de borrado de G no aparece ning


un literal de G

Ventajas:
u

Generalmente m
as eficiente: menos ramificaci
on

Posibilidad de aplicar heursticas independientes del dominio (proximidad al estado


inicial)

IA-I 20092010

Cc Ia

Planificaci
on

8.25

C
alculo de predecesores
B
C

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

A
DEJAR(x)
[x=A]

B
C

DEJAR(x)
[x=D]

B
C
IA-I 20092010

A
Cc Ia

Planificaci
on

8.26

C
alculo de predecesores
x

Algoritmo para generar predecesores:


FUNCION PREDECESORES-ATRAS(G)
1. Hacer PREDECESORES igual a vac
o
2. Para cada operador O
2.1 Para cada sustituci
on THETA de las variables que aparecen en O
tal que al menos un literal L de G est
a en THETA(ADICION(O)), y
G 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 PREDECESORES

Ejemplo:
G = {DESPEJADO(B), DESPEJADO(A), DESPEJADO(D), SOBRE(B,C), BRAZOLIBRE,
SOBRELAMESA(C), SOBRELAMESA(A), SOBRELAMESA(D)}
Tres posibles operadores aplicables (en regresi
on)
1): O=APILAR(x,y) con sustituci
on THETA=[x=B,y=C].
2) y 3): O=DEJAR(x) con sustituci
ones 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 20092010

Cc Ia

Planificaci
on

8.27

Planificaci
on lineal
x

Tanto la b
usqueda de planes hacia adelante como la b
usqueda de planes
hacia atr
as son ejemplos de algoritmos de planificaci
on lineal

En un planificador lineal, el espacio de b


usqueda lo forman secuencias
totalmente ordenadas de acciones, bien desde el inicio hacia adelante o
bien desde el objetivo hacia atr
as

IA-I 20092010

Cc Ia

Planificaci
on

8.28

La anomala de Sussman
x

Problema de planificaci
on que muestra las carencias de la planificaci
on
lineal:

A
C
A

B
C

Estado final

Estado inicial

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

IA-I 20092010

Cc Ia

Planificaci
on

8.29

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

Estado intermedio:

A
B

C
Estado actual

IA-I 20092010

Cc Ia

Planificaci
on

8.30

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

Estado intermedio:

B
A

C
Estado actual

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


u

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

IA-I 20092010

Cc Ia

Planificaci
on

8.31

Deficiencias de la planificaci
on lineal
x

Causa del problema:


u

El planificador intenta resolver un objetivo cada vez.

En ciertos casos, hay interacci


on entre objetivos, deshaci
endose unos a otros.

Este un problema general de los algoritmos de planificaci


on lineal.

IA-I 20092010

Cc Ia

Planificaci
on

8.32

Alternativas a la planificaci
on lineal
x

B
usqueda de planes no lineales, entrelazando objetivos.

Ejemplo:
La anomal
a de Sussman se pude solucionar:
1. Comenzado a satisfacer SOBRE(A,B), en parte s
olo,
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)

Principio de mnimo compromiso: no determinar completamente el


orden entre acciones, a no ser que sea estrictamente necesario

IA-I 20092010

Cc Ia

Planificaci
on

8.33

Planes parcialmente ordenados


x

Plan parcialmente ordenado: un plan en el que s


olo se especifican algunas de las precedencias entre sus acciones
Principio de mnimo compromiso

Secuenciar un plan parcialmente ordenado: construir un plan secuencial


que respete las precedencias obligatorias
u

Este
ser
a el u
ltimo paso

IA-I 20092010

Cc Ia

Planificaci
on

8.34

Planes parcialmente ordenados: ejemplo


x

Plan parcialmente ordenado y secuenciaciones


TOMAR
BROCHA
PINTAR
TECHO

INICIO

FIN

TOMAR
ESCALERA

IA-I 20092010

INICIO

TOMAR
BROCHA

TOMAR
ESCALERA

PINTAR
TECHO

FIN

INICIO

TOMAR
ESCALERA

TOMAR
BROCHA

PINTAR
TECHO

FIN

Cc Ia

Planificaci
on

8.35

Planes parcialmente ordenados: componentes


x

Un conjunto de acciones que constituyen los pasos que el plan lleva a


cabo, de entre los operadores del problema, cada una con sus precondiciones 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)

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


A

B
p

Un conjunto de enlaces causales, A B, especificando la consecuci


on,
por parte de una acci
on, de una de las precondiciones de otra acci
on
del plan (lleva implcita una restricci
on de orden)
AGARRADO(A)
AGARRAR(A)

APILAR(A,B)

Un conjunto de precondiciones abiertas: aquellas que a


un no tienen
enlaces causales que las consigan

IA-I 20092010

Cc Ia

Planificaci
on

8.36

Planes parciales inicial y final


x

Plan parcial inicial: plan cuyas u


nicas acciones son INICIO y FIN, con
la restricci
on INICIO FIN, sin enlaces causales y con todas las precondiciones de FIN abiertas

Planes parciales finales: planes parciales sin conflictos entre los enlaces
causales, sin ciclos entre las restricciones de orden y sin precondiciones
abiertas
u

Una acci
on C entra en conflicto con (o amenaza) un enlace causal A B, si C tiene
a p en su lista de efectos y seg
un las restricciones de orden, C podra ir despu
es
de A y antes que B

IA-I 20092010

Cc Ia

Planificaci
on

8.37

Ejemplo: aprobar IA1


x

Lenguaje:
u

Objetos: IA1, ETSII, CASA

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

Estado inicial:
EN(CASA)

Estado final:
EN(CASA), APROBADO(IA1)

Acciones:
IR(x,y)
P: EN(x)
B: EN(x)
A: EN(y)
u

ESTUDIAR(x)
EXAMINARSE-CON-EXITO(x)
P: {}
P: EN(ETSII), ESTUDIADO(x)
B: {}
B: {}
A: ESTUDIADO(x)
A: APROBADO(x)

Descartaremos acciones del tipo IR(x,x)

IA-I 20092010

Cc Ia

Planificaci
on

8.38

Ejemplos de planes parciales


x

Ejemplo de plan parcial inicial:


INICIO

FIN

Ejemplo de plan parcial:


ECE(IA1)

INICIO

FIN

IR(ETSII,CASA)

IA-I 20092010

APROBADO(IA1)

Cc Ia

EN(CASA)

Planificaci
on

8.39

Ejemplo de planes parciales


x

Ejemplo de plan parcial final:


ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)
EN(CASA)

APROBADO(IA1)

IR(CASA,ETSII)

INICIO

FIN

EN(ETSII)

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

EN(CASA)

Planificaci
on

8.40

Secuenciaciones de planes parciales soluci


on
x

Secuenciaci
on de un plan parcial: colocar las acciones una detr
as de
otra, sin contradecir ninguna restricci
on de orden que se deduzca del
plan parcial

Punto clave: cualquier secuenciaci


on de un plan parcial soluci
on da lugar
a una secuencia de acciones que partiendo del estado inicial consigue el
objetivo (es decir, una soluci
on al problema original)

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


ESTUDIAR(IA1)

IR(CASA,ETSII)

ECE(IA1)

IR(ETSII,CASA)

IR(CASA,ETSII)

ESTUDIAR(IA1)

ECE(IA1)

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

Planificaci
on

8.41

Planificaci
on como b
usqueda en el espacio de planes
x

C
omo dise
nar un algoritmo para encontrar planes parciales finales?
u

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


planes parciales, refin
andolos

B
asicamente, estas transformaciones consisten en resolver precondiciones abiertas
o resolver amenazas

En cada punto habr


a varias alternativas de refinamiento, y no todas
conducen hacia un plan parcial final

Problema: encontrar la secuencia de pasos de refinamiento que partiendo del plan parcial inicial, llegue a un plan parcial soluci
on (es decir,
sin ciclos, sin amenazas y sin precondiciones abiertas)
u

Es una b
usqueda en espacios de estados!

Pero ahora los estados son los planes parciales

IA-I 20092010

Cc Ia

Planificaci
on

8.42

Operadores (refinamiento de planes parciales)


x

Resoluci
on de precondiciones abiertas: dada una precondici
on abierta
p de una acci
on B del plan, por cada acci
on A que tiene a p como
efecto, se puede obtener un plan sucesor (refinar) aplicando alguno de
los siguientes pasos (siempre que el plan resultante no tenga ciclos)
u

on A ya aparece en el plan, a
nadir la restricci
on
Establecimiento simple: si la acci
p
A B y el enlace causal A B

Acci
on nueva: si la acci
on A no aparece ya en el plan, a
nadir la acci
on al plan, las
p
restricciones A B, INICIO A y A FIN, y el enlace causal A B (es posible
incluso introducir como nueva una acci
on igual a una que ya estuviera)
p

Resoluci
on de conflictos: dado un conflicto entre el enlace causal A B
y la acci
on C, se puede obtener un plan sucesor aplicando alguno de los
siguientes pasos (siempre que el plan resultante no tenga ciclos):
u

A
nadir la restricci
on B C (promoci
on)

O a
nadir la restricci
on C A (degradaci
on)

IA-I 20092010

Cc Ia

Planificaci
on

8.43

Planificaci
on de orden parcial: b
usqueda
x

Es posible plantear un algoritmo de planificaci


on como una b
usqueda
en el espacio de estados anterior
u

Es decir, como b
usqueda de una secuencia de operadores de refinamiento de planes
que a partir del plan inicial obtiene un plan parcial final

Motivos para la ramificaci


on en la b
usqueda:
u

Distintas acciones que resuelven precondiciones abiertas

Las dos formas de resolver un conflicto (promoci


on y degradaci
on)

Nota: no es necesario considerar un sucesor por cada precondici


on abierta del plan,
ni por cada amenaza existente, basta considerarlas en pasos posteriores, siguiendo
un orden dado

Un algoritmo POP es simplemente un algoritmo que aplica un algoritmo


de b
usqueda (en profundidad, por ejemplo) en el espacio de los planes
parciales

IA-I 20092010

Cc Ia

Planificaci
on

8.44

Algoritmo POP para el ejemplo de aprobar IA1


x

Convenios en la representaci
on gr
afica del ejemplo, por claridad en la
misma:
u

Algunas restricciones de orden no aparecer


an, en particular la asociadas a enlaces
causales

Las precondiciones y efectos no aparecer


an. En particular, no aparecer
an las precondiciones abiertas

Cuando una acci


on no tenga precondiciones abiertas,
esta aparecer
a sombreada

Paso 1: plan inicial


INICIO

FIN

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


APROBADO(IA1)

Una u
nica posibilidad: acci
on nueva EXAMINARSE-CON-EXITO(IA1)

IA-I 20092010

Cc Ia

Planificaci
on

8.45

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 2:
INICIO

APROBADO(IA1)

ECE(IA1)

FIN

Resolvemos ahora la precondici


on EN(CASA) de FIN

Dos posibilidades:
IR(ETSII,CASA)

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


de fallo

IA-I 20092010

establecimiento

Cc Ia

simple

con

INICIO

acci
on

nueva

Planificaci
on

8.46

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 3:
ECE(IA1)
APROBADO(IA1)

INICIO

EN(CASA)

FIN

Resolvemos ahora la precondici


on EN(ETSII) de EXAMINRSE-CON-EXITO(IA1)

S
olo una posibilidad: acci
on nueva IR(CASA,ETSII)

IA-I 20092010

Cc Ia

Planificaci
on

8.47

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 4:
EN(ETSII)
IR(CASA,ETSII)

ECE(IA1)
APROBADO(IA1)

EN(CASA)

FIN

INICIO
u

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


FIN

Intentamos resolver la amenaza por promoci


on o por degradaci
on

IA-I 20092010

Cc Ia

Planificaci
on

8.48

Algoritmo POP para el ejemplo de aprobar IA1


x

Pero en ambos casos, se creara un ciclo:


u

Promoci
on:
EN(ETSII)
IR(CASA,ETSII)

ECE(IA1)
APROBADO(IA1)

EN(CASA)

FIN

INICIO

Degradaci
on:
EN(ETSII)
IR(CASA,ETSII)

ECE(IA1)
APROBADO(IA1)

EN(CASA)

FIN

INICIO
IA-I 20092010

Cc Ia

Planificaci
on

8.49

Algoritmo POP para el ejemplo de aprobar IA1


x

Por tanto, hay FALLO y hemos de retroceder al anterior punto de ramificaci


on, que estaba en el paso 2
u

Y elegir la otra alternativa: acci


on nueva IR(ETSII,CASA) para resolver la precondici
on EN(CASA) de FIN

Paso 5:
ECE(IA1)

INICIO

FIN

IR(ETSII,CASA)

APROBADO(IA1)

EN(CASA)

Elegimos ahora la precondici


on ESTUDIADO(IA1) de EXAMINARSECON-EXITO(IA1)
u

La u
nica posibilidad para resolverla es acci
on nueva ESTUDIAR(IA1)

IA-I 20092010

Cc Ia

Planificaci
on

8.50

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 6:
ESTUDIADO(IA1)
ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)

INICIO

FIN

IR(ETSII,CASA)

EN(CASA)

Elegimos ahora la precondici


on EN(ETSII) de EXAMINARSE-CONEXITO(IA1)
u

La u
nica posibilidad para resolverla es acci
on nueva IR(CASA,ETSII)

IA-I 20092010

Cc Ia

Planificaci
on

8.51

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 7:
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

INICIO

FIN

IR(ETSII,CASA)

EN(CASA)

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


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

Intentamos resolver esa amenaza por degradaci


on; si no diera resultado, intentamos
promoci
on

IA-I 20092010

Cc Ia

Planificaci
on

8.52

Algoritmo POP para el ejemplo de aprobar IA1


x

Paso 8 (degradaci
on):
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

INICIO

FIN

IR(ETSII,CASA)

EN(CASA)

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


y FIN

Intentamos resolver la amenaza por promoci


on o por degradaci
on

IA-I 20092010

Cc Ia

Planificaci
on

8.53

Algoritmo POP para el ejemplo de aprobar IA1


x

Pero en ambos casos, se creara un ciclo:


u

Promoci
on:
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

INICIO

FIN

EN(CASA)

IR(ETSII,CASA)

Degradaci
on:
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

INICIO

FIN

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

EN(CASA)

Planificaci
on

8.54

Algoritmo POP para el ejemplo de aprobar IA1


x

Por tanto, hay FALLO


u

Hemos de retroceder al anterior punto de ramificaci


on (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 promoci
on

Paso 9:
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)

APROBADO(IA1)

IR(CASA,ETSII)
INICIO

FIN

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

EN(CASA)

Planificaci
on

8.55

Algoritmo POP para el ejemplo de aprobar IA1


x

Elegimos ahora la precondici


on EN(ETSII) de IR(ETSII,CASA)
u

Dos alternativas: establecimiento simple con IR(CASA,ETSII) o acci


on nueva con
IR(CASA,ETSII).

Elegimos la primera, reconsider


andolo si fuera necesario

Paso 10:
ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)

APROBADO(IA1)

IR(CASA,ETSII)
INICIO

FIN

EN(ETSII)

IR(ETSII,CASA)
IA-I 20092010

Cc Ia

EN(CASA)
Planificaci
on

8.56

Algoritmo POP para el ejemplo de aprobar IA1


x

Elegimos la precondici
on EN(CASA) de IR(CASA,ETSII)
u

Tres alternativas: establecimiento simple con INICIO, establecimiento simple con


IR(ETSII,CASA) o acci
on nueva con IR(ETSII,CASA).

Elegimos la primera, reconsider


andolo si fuera necesario

Paso 11 (Plan parcial final):


ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)
EN(CASA)

APROBADO(IA1)

IR(CASA,ETSII)

INICIO

FIN

EN(ETSII)

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

EN(CASA)

Planificaci
on

8.57

Algoritmo POP para el ejemplo de aprobar IA1


x

Finalmente, secuenciamos:
ESTUDIAR(IA1)

IR(CASA,ETSII)

ECE(IA1)

IR(ETSII,CASA)

IR(CASA,ETSII)

ESTUDIAR(IA1)

ECE(IA1)

IR(ETSII,CASA)

IA-I 20092010

Cc Ia

Planificaci
on

8.58

Algoritmo POP (versi


on 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 acci
on C sobre A --p-->B, entonces
2.1 Sean PLANPR obtenido de PLAN mediante promoci
on 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 degradaci
on 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 precondici
on abierta en PLAN
4. Para cada acci
on (nueva o ya existente) que tiene a P como efecto, hacer:
4.1 Hacer PLANEXT el resultado de cerrar la precondici
on P en PLAN mediante un enlace
causal (si fueran acci
on nueva, a~
nadir tambi
en la acci
on al PLAN)
4.2 Si PLANEXT no tiene ciclos y un n
umero 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
s
olo se llegar
a si la precondici
on abierta no
se puede resolver con
exito mediante ninguna acci
on *)
IA-I 20092010

Cc Ia

Planificaci
on

8.59

POP como b
usqueda
x

Arbol de b
usqueda:
u

Nodos: planes parciales

Ramificaci
on por la elecci
on de acciones que resuelven precondiciones abiertas

Ramificaci
on por las distintas maneras de resolver las amenazas

No es necesario considerar un sucesor por cada precondici


on abierta
del plan, ni por cada amenaza existente, basta considerarlas en pasos
posteriores, siguiendo un orden dado
u

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


la b
usqueda

La b
usqueda en profundidad podra entrar en una rama infinita
u

Por eso hacemos b


usqueda acotada (por un n
umero m
aximo de acciones en el plan)

IA-I 20092010

Cc Ia

Planificaci
on

8.60

B
usqueda POP para el ejemplo de aprobar IA1
1
2
3

INICIO

FIN

APROBADO(IA1)

INICIO

ECE(IA1)

FIN

ECE(IA1)
APROBADO(IA1)

ECE(IA1)

APROBADO(IA1)

INICIO
INICIO

FIN

EN(CASA)

FIN
EN(CASA)

IR(ETSII,CASA)

ESTUDIADO(IA1)

EN(ETSII)
IR(CASA,ETSII)

ECE(IA1)
ECE(IA1)

ESTUDIAR(IA1)
APROBADO(IA1)

APROBADO(IA1)
EN(CASA)

INICIO

FIN

INICIO

FIN

EN(CASA)

IR(ETSII,CASA)

FALLO
7

ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

INICIO

FIN

IR(ETSII,CASA)

EN(CASA)

ESTUDIADO(IA1)

ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)

APROBADO(IA1)

APROBADO(IA1)
IR(CASA,ETSII)

EN(ETSII)

IR(CASA,ETSII)

INICIO

INICIO

FIN

IR(ETSII,CASA)

FIN

EN(CASA)

IR(ETSII,CASA)

FALLO

EN(CASA)

10

ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)

APROBADO(IA1)

IR(CASA,ETSII)
INICIO

FIN

EN(ETSII)

IR(ETSII,CASA)

EN(CASA)

11

ESTUDIADO(IA1)

ECE(IA1)

ESTUDIAR(IA1)
EN(ETSII)
EN(CASA)

APROBADO(IA1)

IR(CASA,ETSII)

INICIO

FIN

EN(ETSII)

IR(ETSII,CASA)

EN(CASA)

SOLUCION
IA-I 20092010

Cc Ia

Planificaci
on

8.61

POP: algunas consideraciones


x

Por simplificar, no hemos tenido en cuenta las complicaciones que


podran surgir con las variables de los operadores:
u

Uso de unificaci
on

Algunas variables podran quedar sin instanciar (principio de mnimo compromiso)

Restricciones de desigualdad

Uso de heursticas en POP


u

Difcil estimar la cercana de un plan parcial a una soluci


on

Heurstica para seleccionar la precondici


on a resolver: heurstica m
as
restrictiva
u

Seleccionar la condici
on que puede ser resuelta por el menor n
umero de acciones

IA-I 20092010

Cc Ia

Planificaci
on

8.62

Ampliaci
on del tema
x

Existen muchas otras t


ecnicas de planificaci
on:
u

GRAPHPLAN

SATPLAN

...

Otras cuestiones que aqu no vemos:


u

Planificaci
on con recursos limitados

Planificaci
on mediante descomposici
on jer
arquica

Planificaci
on en entornos con incertidumbre

Ejecuci
on del plan: vigilancia y replanificaci
on

Planificaci
on continua

Planificaci
on multiagente

IA-I 20092010

Cc Ia

Planificaci
on

8.63

Anomala de Sussman en POP


x

Para finalizar, veremos c


omo la planificaci
on de orden parcial resuelve
la anomala de Sussman
u

Nota importante: por simplificar la presentaci


on, en cada momento escogeremos los
operadores de refinamiento adecuados

Es decir, nuestra b
usqueda no tendr
a fallos, aunque en la pr
actica esto es irreal

Tambi
en por simplificar, a veces se aplicar
an varios pasos de una vez

IA-I 20092010

Cc Ia

Planificaci
on

8.64

Anomala de Sussman en POP


x

Plan inicial:
INICIO

FIN

Resolver la precondici
on sobre(A,B) de FIN mediante la acci
on nueva
APILAR(A,B) (es la u
nica opci
on):
sobre(A,B)

INICIO

IA-I 20092010

APILAR(A,B)

Cc Ia

FIN

Planificaci
on

8.65

Anomala de Sussman en POP


x

Resolver la precondici
on sobre(B,C) de FIN mediante la acci
on nueva
APILAR(B,C) (es la u
nica opci
on):
sobre(A,B)

FIN

APILAR(A,B)

INICIO
sobre(B,C)
APILAR(B,C)

IA-I 20092010

Cc Ia

Planificaci
on

8.66

Anomala de Sussman en POP


x

Resolver la precondici
on agarrado(B) de APILAR(B,C) mediante la
acci
on nueva AGARRAR(B)
u

Tambi
en se podra usar DESAPILAR, opci
on que habra que considerar si la elecci
on realizada fallara (b
usqueda)
sobre(A,B)

FIN

APILAR(A,B)

INICIO
sobre(B,C)

AGARRAR(B)

IA-I 20092010

agarrado(B)

Cc Ia

APILAR(B,C)

Planificaci
on

8.67

Anomala de Sussman en POP


x

Resolver la precondici
on agarrado(A) de APILAR(A,B) mediante la
acci
on nueva AGARRAR(A)
u

Como en el caso anterior, tambi


en se podra usar DESAPILAR (explorar mediante
b
usqueda)
AGARRAR(A)

agarrado(A)

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

FIN

INICIO
sobre(B,C)

AGARRAR(B)

IA-I 20092010

Cc Ia

agarrado(B)

APILAR(B,C)

Planificaci
on

8.68

Anomala de Sussman en POP


x

Resolver la precondici
on despejado(A) de AGARRAR(A) mediante la
acci
on nueva desapilar(C,A):
despejado(A)

AGARRAR(A)

sobre(A,B)

agarrado(A)
APILAR(A,B)

FIN

DESAPILAR(C,A)
sobre(B,C)

INICIO
AGARRAR(B)

IA-I 20092010

Cc Ia

agarrado(B)

APILAR(B,C)

Planificaci
on

8.69

Anomala de Sussman en POP


x

Resolver la precondici
on brazolibre de AGARRAR(B) mediante la acci
on nueva bajar(C) (existen m
as opciones):
despejado(A)

AGARRAR(A)

sobre(A,B)

agarrado(A)
APILAR(A,B)

FIN

DESAPILAR(C,A)

sobre(B,C)

INICIO

agarrado(B)

brazolibre
BAJAR(C)

IA-I 20092010

AGARRAR(B)

Cc Ia

APILAR(B,C)

Planificaci
on

8.70

Anomala de Sussman en POP


x

Usar la acci
on INICIO para, mediante establecimiento simple, resolver
todas 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 promoci
on (
unica opci
on),
colocando la restricci
on de que APILAR(B,C) debe ir tras DESAPILAR(C,A)
despejado(A)

AGARRAR(A)

agarrado(A)
APILAR(A,B)

1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
DESAPILAR(C,A)
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111

despejado(C)
sobre(C,A)
brazolibre
00000000
11111111

11111111
00000000
00000000
11111111
00000000
11111111
INICIO
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111

sobre(B,C)

agarrado(B)

brazolibre
BAJAR(C)

IA-I 20092010

11111111
00000000
00000000
11111111
FIN
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111

00000000
sobre(A,B) 11111111
00000000
11111111

AGARRAR(B)

Cc Ia

APILAR(B,C)

Planificaci
on

8.71

Anomala de Sussman en POP


x

Usar la acci
on INICIO para, mediante establecimiento simple, resolver
las restantes precondiciones de AGARRAR(B); igualmente mediante
establecimiento simple, usar DESAPILAR(C,A) para resolver la precondici
on 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 promoci
on, colocando la restricci
on de que AGARRAR(A) debe ir tras AGARRAR(B)

De esta manera, tambi


en se resuelve la amenaza de APILAR(A,B) al enlace causal
entre INICIO y AGARRAR(B), ya que la anterior restricci
on implica que APILAR(A,B) ocurre despu
es de AGARRAR(B)

IA-I 20092010

Cc Ia

Planificaci
on

8.72

Anomala de Sussman en POP


despejado(A)

AGARRAR(A)

sobre(A,B)

agarrado(A)
APILAR(A,B)

FIN

DESAPILAR(C,A)
despejado(C)
sobre(C,A)
brazolibre

agarrado(C)

INICIO

sobre(B,C)
sobrelamesa(B)
despejado(B)
brazolibre

BAJAR(C)

IA-I 20092010

agarrado(B)
AGARRAR(B)

Cc Ia

APILAR(B,C)

Planificaci
on

8.73

Anomala de Sussman en POP


x

Las restantes condiciones abiertas se pueden resolver mediante establecimiento simple, como indica la figura
sobrelamesa(A)
despejado(A)

AGARRAR(A)

agarrado(A)

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

DESAPILAR(C,A)

FIN

despejado(B)
brazolibre

despejado(C)
sobre(C,A)
brazolibre

agarrado(C)

INICIO

sobre(B,C)
sobrelamesa(B)
despejado(B)
brazolibre

BAJAR(C)

agarrado(B)
AGARRAR(B)

APILAR(B,C)

despejado(C)

IA-I 20092010

Cc Ia

Planificaci
on

8.74

Anomala de Sussman en POP


x

El plan parcial resultante es una soluci


on: no tiene conflictos, no tiene
ciclos y no hay precondiciones abiertas
Secuenciaci
on del plan:

C
A

C
B

DESAPILAR(C,A)

B
A

B A
BAJAR(C)

A C

AGARRAR(B)

APILAR(B,C)

B
A C

AGARRAR(A)

A
B
C

B
C
APILAR(A,B)

N
otese que se intercalan los pasos necesarios para solucionar los dos
objetivos originales

IA-I 20092010

Cc Ia

Planificaci
on

8.75

Bibliografa
x

Russell, S. y Norvig, P. Artificial Intelligence (A Modern Approach)


(PrenticeHall, 2000). Second Edition
u

Cap. 11: Planning.

Borrajo, D., Juristo, N., Martnez, V. y Pazos, J. Inteligencia Artificial:


m
etodos y t
ecnicas.1993.

Rich, E. y Knight, K. Inteligencia Artificial (segunda edici


on).1996.

Nilsson, N. Principios de Inteligencia Artificial. 1987.

Escolano, F. et al. Inteligencia Artificial: modelos, t


ecnicas y a
reas de
aplicaci
on (Ed. Thomson, 2000)

IA-I 20092010

Cc Ia

Planificaci
on

8.76

Vous aimerez peut-être aussi