Download - Unidad No. 3 - Planificadores Modernos
INTELIGENCIA ARTIFICIAL - ICIF0021Unidad 3 - Planificadores Modernos
Docente: Milton A. Ramırez [email protected]
Universidad San SebastianFacultad de Ingenierıa y Tecnologıa
Primer Semestre 2011
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 100
Objetivos de la Unidad
Identifican la problematica asociada con los metodos de busqueda estudiados en laUnidad II.
Identifican las componentes de los lenguajes de planificacion modernos.
Conocen la tecnica STRIPS para modelar algebraicamente problemas de acuerdoal esquema (Estados, Acciones, Operaciones).
Resuelven problemas de planificacion usando las tecnicas forward-chaining ybackward-chaining.
Reconocen las diferencias entre la planificacion lineal y de orden parcial.
Identifican los elementos que componen un planificador de orden parcial (POP).
Resuelven problemas que involucran el uso de POP.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 100
Contenidos
1 Lenguaje de Planificadores: representacion STRIPS y ADL.
2 Planificacion hacia adelante y hacia atras.
3 Planificadores de orden parcial (POP).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 100
Introduccion
Planificar significa encontrar una secuencia de acciones que permitenalcanzar un determinado objetivo a partir de un estado inicial:
X a esta serie de acciones la denominaremos planX un planificador sera la entidad de software que lo implemente.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 100
Introduccion
¿Que pasa si realizamos una busqueda tradicional en entornos reales?
La posibilidad mas evidente es que el buscador de soluciones seadesbordado por acciones completamente irrelevantes:
X pensemos en la tarea de adquirir un libro en una tienda online cuyoISBN sea igual a 0137903952
X si tenemos representada la accion de comprar cada libro con ISBN de10 dıgitos , esta nos generarıa un universo no despreciable de 1010 =10billones de acciones para satisfacer el objetivo a conseguir.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 100
Introduccion
Un planificador razonable debiera ser capaz de trabajar con expresiones deobjetivos explıcitas tales como Tener(ISBN 0137903952) y generarautomaticamente la accion Comprar(ISBN 0137903952) directamente.
El planificador debiera tener un conocimiento general del tipo
Comprar(x) se reduce a Tener(x)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 100
Introduccion
De poseerlo, el planificador puede decidir en un unico paso quecomprar(ISBN 0137903952) es la accion correcta.
Otra dificultad que surge si optamos por una busqueda tradicional esencontrar una heurıstica apropiada.
Supongamos que el objetivo se redefine a comprar cuatro libros en lamisma tienda:
X esto significa que tenemos un total de ¡1040 planes posibles con 4etapas!
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 100
Introduccion
El uso de una heurıstica es innegable.
Para un ser humano, una heurıstica podrıa ser la cantidad de librosque quedan por comprar.
X para un planificador esto no es evidente puesto que cada subobjetivolo evalua como verdadero o falso.
Si el planificador tiene acceso al objetivo como una conjuncion logicade subobjetivos, este se puede representar como
Tener(A) ∧Tener(B) ∧Tener(C) ∧Tener(D)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 100
Introduccion
Otro aspecto a considerar de un planificador es que permitadescomponer un problema en subproblemas:
X se puede demostrar que la estrategia dividir para conquistar mejora laeficiencia de los algoritmos de planificacion.
En un aeropuerto, trasladar maletas de viajes a sus destinos:
X una estrategia logica de descomposicion es encontrar el aeropuerto mascercano a cada destino y ası hacer que cada subproblema se reduzca allegar a cada aeropuerto intermedio.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 100
Lenguaje de Planificadores
Los aspectos que se consideren en la planificacion son: estados,acciones y objetivos
X esto, para que los algoritmos aprovechen la estructura logica delproblema.
Necesidad de contar con un lenguaje que sea expresivo y restrictivoa la vez.
El lenguaje que ocuparemos en esta unidad recibe el nombre STRIPS:
STanford Research Institute Problem Solver
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 10 / 100
Representacion STRIPSElementos
Elemento Descripcion EjemplosConstantes Seran los objetos del mundo y
por convencion las denotare-mos con mayuscula.
BLOQUE-A
RUEDA-DE-REPUESTO
VariablesSe usaran pararepresentar cualquierobjeto.
Su nombre va conminuscula.
Usaremos las ultimasletras del alfabeto pararepresentarlas.
x, x1, x2
y
z
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 100
Representacion STRIPS
Elemento Descripcion EjemplosSımbolos de predicados Se usan para representar las
propiedades de los objetos. Susemantica debe ser explicitada.No necesariamente contienenvariables o constantes.
mayor(x, y)
sobre(x1, x2)
Sımbolos de acciones Se usan para designar los ope-radores y las denotaremos conVersalitas.
Comprar(x)
MoverHaciaDerecha(z)
Intercambiar(x, y)
Atomos Formulas de la forma
P (o1, . . . , on)
donde oi representa una cons-tante o una variable y P un pre-dicado.
sobre (x,A)
volandoHacia(x, y)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 100
Representacion STRIPS
Elemento Descripcion Ejemplos
Literales Atomos o negacion deatomos. p(o1, . . . , on)
¬padreDe(PEDRO,ANA)
Literales cerrados Sin variables, solo cons-tantes. Un literal cerrado sedice que es positivo cuandono esta negado.
sobre(SILLA, SUELO)
volarHacia(LA815, LA)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 13 / 100
Representacion de Estados
Los estados de E se representan mediante una conjuncion de literalespositivos cerrados.
Deben ser simples y sin dependencias funcionales.
X No esta permitido definir un estado como
en(casaDe(x), y)colorDe(x,RGB(#c86400))etc.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 100
Representacion de Estados
ImportanteAsumiremos un supuesto conocido como Mundo Cerrado, en el cuallas condiciones que no se mencionan se deben tomar como falsas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 15 / 100
Representacion de Estados
Algunos estados validos pueden ser:
adinerado ∧ miserable para representar a alguien desafortunado.
en(AIRPLANE1, CCP ) ∧ en(AIRPLANE2, SCL) pararepresentar una situacion del problema de las maletas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 100
Representacion de EstadosEjemplo: Mundo de los Bloques
Los elementos que intervienen son:
una superficie planauna serie de bloques cubicos que los denotaremos por A,B,C,. . .un brazo robotizado que puede tomar un cubo a la vez
En cualquier instante, un bloque puede estar sobre la mesa o apiladosobre otro bloque o colgando del brazo robotizado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 100
Representacion de Estados
Los predicados que consideraremos son:
despejado(x): el bloque x esta despejado.brazoLibre: el brazo robotizado no esta tomando algun bloque.sobreLaMesa(x): el bloque x esta sobre la mesa.sobre(x, y): el bloque x esta sobre el bloque y.agarrado(x): el bloque x esta tomado por el brazo robotizado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 100
Representacion de Estados
El estado E de la figura
AB
C D
E
se puede describir ası
E : despejado(B) ∧ despejado(C) ∧ despejado(D)
∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C)
∧ sobreLaMesa(D) ∧ sobre(B,A) �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 100
Representacion de Objetivos
Cada objetivo del conjunto M se representa como una conjuncion deliterales, que pueden contener variables.
Se dice que un estado satisface un objetivo si es posible sustituir lasvariables del objetivo por objetos del mundo de manera que losliterales esten incluidos en la descripcion del estado.
Un estado es final cuando satisface el estado objetivo.
Las variables que intervengan en el estado final se asumen comoexistencialmente cuantificadas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 100
Representacion de Objetivos
Sean los estados E1 y E2 descritos en la figura
AB
C D ABC
D
E E1 2
y los estados finales
O1 : sobre(B,A) ∧ sobreLaMesa(A)
O2 : sobre(x,A) ∧ despejado(x) ∧ brazoLibreO3 : sobre(x,A) ∧ sobre(y, x)
Estudiar la satisfacibilidad de cada estado Oi por parte de E1 y E2.M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 100
Representacion de Objetivos
Solucion
En primer lugar, obtengamos la descripcion algebraica para E1 y E2
en base a los predicados ya vistos:
E1 : despejado(B) ∧ despejado(C) ∧ despejado(D)
∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C)
∧ sobreLaMesa(D) ∧ sobre(B,A)
E2 : despejado(C) ∧ sobreLaMesa(A)
∧ sobre(B,A) ∧ sobre(C,B) ∧ agarrado(D)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 22 / 100
Representacion de Objetivos
Caso O1
Como los literales sobre(B,A) y sobreLaMesa(A) aparecen en ladescripcion de estados de E1, este claramente satisface a O1.
X La misma explicacion y conclusion es valida para E2.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 100
Representacion de Objetivos
Caso O2
La satisfacibilidad de E1 se puede garantizar si es posible encontraralgun valor de x para el cual sobre(x,A) y despejado(x) esten enE1.
X Si intentamos con x = A vemos que las condiciones sobre(A,A) ydespejado(A) no son ciertas ya que esos literales no estan en E1.
X Si x = B vemos que sı se cumple sobre(B,A) y despejado(B)por lo que E1 sı satisface a O2.
Como al menos para un valor de x se cumple,no es necesario probarcon los restantes, que son C y D.
E2 es mas sencillo puesto que, al no aparecer brazoLibre en sudescripcion algebraica se deduce que esta condicion no se tiene envirtud del supuesto del mundo cerrado:
X por lo tanto, E2 no satisface O2.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 24 / 100
Representacion de Objetivos
Caso O3
En E1, el unico valor de x para el cual el predicado sobre(x,A) sesatisface es con x = B
X pero no es posible encontrar algun valor de y en el conjunto{A,B,C,D} tal que sobre(y, x = B) se haga presente en E1.
X Luego, E1 no satisface a O3.
E2 sı cumple con las exigencias de O3 ya que es posible encontrarvalores x = B, y = C tales que sobre(x = B,A) ysobre(y = C, x = B) esten en E2. �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 100
¿Que vimos la clase pasada?
Concepto de plan y planificacion.
Introduccion al lenguaje de planificadores usando como paradigmainicial la representacion STRIPS y sus elementos.
Representacion de estados y objetivos.
Satisfacibilidad.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 100
Hoy veremos
Representacion de acciones, para ası terminar con el tridenteP =< E ,Φ,M >.
ADL como extension valida a STRIPS.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 100
Representacion de Acciones
Las acciones del conjunto Φ se componen de cuatro partes:
1 El nombre de la accion, con sus parametros.
2 Las precondiciones que tienen que satisfacerse para que la accion se ejecute.
X Se describen como una conjuncion de literales.X Esta lista la denotaremos por Precondicion .
3 La lista de borrado, que contiene la lista de atomos y literales – escrita comoconjuncion – que dejan de ser ciertos una vez que se ha aplicado eloperador.
X La llamaremos Borrado .
4 La lista de efectos, que contiene la conjuncion de aquellos atomos y literalesque pasan a ser verdaderos una vez que se ha aplicado el operador.
X La llamaremos Efectos .
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 100
Representacion de Acciones
Es comun fusionar en Efectos las conjunciones de Borrado conEfectos , haciendo que las primeras aparezcan negadas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 100
Representacion de Acciones¿Que pasa en el mundo de los bloques?
1. Colocar el bloque x sobre el bloque y:Apilar(x, y)
• Precondicion : despejado(y) ∧ agarrado(x)• Borrado : despejado(y) ∧ agarrado(x)• Efectos : brazoLibre ∧ sobre(x, y) ∧ despejado(x)
2. Remover el bloque x que esta sobre el bloque y:Desapilar(x, y)
• Precondicion : sobre(x, y) ∧ despejado(x) ∧ brazoLibre• Borrado : sobre(x, y) ∧ despejado(x) ∧ brazoLibre• Efectos : agarrado(x) ∧ despejado(y)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 100
Representacion de Acciones¿Que pasa en el mundo de los bloques?
3. Tomar un bloque x con el brazo robotizado:Agarrar(x)
• Precondicion :despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre
• Borrado : despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre• Efectos : agarrado(x)
4. Dejar un bloque x en la mesa:Bajar(x)
• Precondicion : agarrado(x)• Borrado : agarrado(x)• Efectos : despejado(x) �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 100
Representacion de Acciones
Un operador es aplicable a un estado cuando satisface susprecondiciones:
X si aparecen variables en Precondicion , la aplicabilidad se define conrespecto de la sustitucion Θ usada para satisfacer la precondicion.
Para simplificar, en algunos casos la sustitucion vendra implıcitacuando se hable del operador:
X Desapilar(A,B) se refiere a la accion Desapilar(x, y) aplicando lasustitucion Θ = {x/A, y/B}.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 100
Representacion de Acciones
El resultado de aplicar un operador aplicable a un estado E lodenotaremos por E′. La construccion de E′ se hace siguiendo esteesquema:
1 Hacemos E′ = E.2 Eliminando de E′ los atomos instanciados con Θ y los literales
(cerrados o no) de la lista Borrado (si estuvieran) y3 agregando a E′ los atomos y literales (cerrados o no) instanciados con
Θ de la lista Efectos (los que no esten).
La solucion (plan) consiste en una secuencia de operadoresaplicables, completamente instanciados, desde el estado inicial alobjetivo cuando este se encuentre satisfecho.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 100
Representacion de AccionesEjemplo de aplicabilidad de operador
Consideremos aplicar la accion Apilar(A,D) al estado descrito en lafigura
BC
D
E
A
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 100
Representacion de AccionesEjemplo de aplicabilidad de operador
Solucion
La descripcion algebraica de E viene dada por
E : despejado(C) ∧ despejado(D) ∧ sobreLaMesa(B)
∧ sobreLaMesa(D) ∧ sobre(C,B) ∧ agarrado(A)
Para hallar el valor de Apilar(x, y) debemos ver si E satisface lasprecondiciones de este operador aplicando la sustitucionΘ = {x/A, y/D}:X Esto implica que despejado(D) y agarrado(A) deben estar en la
descripcion de E, lo cual ası ocurre.X Por lo tanto, el operador es aplicable a este estado.
Veamos como se genera el resultado de esta operacionE′ = Apilar(A,D).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 100
Representacion de AccionesEjemplo de aplicabilidad de operador
Los atomos instanciados con Θ de la lista Borrado sondespejado(D) y agarrado(A), y se tienen que eliminar de E′:
Hasta el momento:
E′ : despejado(C) ∧((((((((despejado(D) ∧ sobreLaMesa(B)
∧ sobreLaMesa(D) ∧ sobre(C,B) ∧(((((((agarrado(A)
Por lo tanto:
E′ : despejado(C) ∧ sobreLaMesa(B)
∧ sobreLaMesa(D) ∧ sobre(C,B)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 100
Representacion de AccionesEjemplo de aplicabilidad de operador
Por otro lado, los atomos y literales cerrados que no estan en E son:
X brazoLibreX sobre(A,D)X despejado(A).
Ahora hay que agregarlos a E′. Por lo tanto:
E′ : despejado(C) ∧ despejado(A) ∧ brazoLibre∧ sobreLaMesa(B) ∧ sobreLaMesa(D) ∧∧ sobre(C,B) ∧ sobre(A,D)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 100
Representacion de AccionesEjemplo de aplicabilidad de operador
Ası, el resultado de la operacion es:
BC
D
E
ABC
D
E
A
'
APILAR(A,D)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 100
Extensiones a STRIPS
STRIPS presenta restricciones para simplificar y generar algoritmosmas eficientes.
Una de las mas emblematicas es que los literales no permitendependencias funcionales, lo que significa en la practica que todoproblema tenga una cantidad finita de representaciones para susacciones:
X si se admite la inclusion de sımbolos funcionales, la cantidad de estadosy acciones puede ser infinita.
En los ultimos anos, se ha mostrado claramente que STRIPS noposee expresividad suficiente para ciertos dominios reales.
Entonces, muchos lenguajes han sido desarrollados. Entre ellos: ADL
Action Description Language
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 39 / 100
Comparacion entre STRIPS y ADL
Lenguaje STRIPS Lenguaje ADL
Solo literales positivos en estados: Literales positivos y negativos en esta-dos:
pobre ∧ desconocido ¬rico ∧ ¬desconocido
Hipotesis del Mundo Cerrado: Hipotesis del Mundo Abierto:los literales no mencionados son falsos. los literales no mencionados son des-
conocidos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 40 / 100
Comparacion entre STRIPS y ADL
Lenguaje STRIPS Lenguaje ADL
Los objetivos son conjunciones: Se permiten conjunciones y disyuncionesen los objetivos:
pobre ∧ desconocido. pobre ∧ (desconocido ∨inteligente).
Los efectos son conjunciones. Se permiten efectos condicionales:cuando P : E se interpreta como que Ees un efecto solo si P se satisface.
No soporta igualdades. Predicados de igualdad (x = y) son ad-mitidos.
No soporta tipos. Las variables pueden tener tipos, comox :entero.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 41 / 100
¿Que vimos la clase pasada?
Algoritmos para encontrar sucesores y predecesores de estados.
Busqueda hacia adelante y hacia atras:
X definicionesX diferencias entre un enfoque y otro.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 42 / 100
Hoy veremos
Planificadores de Orden Parcial (POP)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 43 / 100
Planificadores de orden parcial
Tanto la busqueda de planes hacia adelante como la busqueda deplanes hacia atras son ejemplos de algoritmos de planificacion lineal.
En un planificador lineal, el espacio de busqueda lo forman secuenciastotalmente ordenadas de acciones:
X desde el inicio hacia adelanteX desde el objetivo hacia atras.X Por lo tanto, no se saca provecho de la posible descomposicion que
tenga el problema.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 44 / 100
Planificadores de orden parcial
ImportanteEn lugar de trabajar con cada subproblema, nos enfocaremos en elorden de las acciones mediante un esquema que
trabaje en varios subojetivos de manera independiente
los soluciones mediante subplanes
para finalizar con la combinacion de los subplanes utilizados.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 45 / 100
Planificadores de orden parcial
La ventaja que ofrece este enfoque es que permite flexibilizar el ordenen que se generen las acciones:
X ası, el planificador puede trabajar sobre decisiones de distintaimportancia en lugar de cenirse por un orden cronologico o espacial delas mismas.
Ejemplo
Un planificador para una persona que se encuentre en el aeropuerto dePunta Arenas y desee llegar al aeropuerto de Iquique. Primero podrıaintentar encontrar un vuelo de Concepcion a Santiago en lugar de partirbuscando un vuelo de Punta Arenas a Puerto Montt y seguir el ordengeografico sur-norte. �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 46 / 100
Planificadores de orden parcial
Para graficar los conceptos que vendran mas adelante, vamos a tomarcomo referencia el ejemplo de ponerse un par de zapatos.
Los predicados que vamos a considerar son:
1 CDP: Calcetın derecho puesto.
2 CIP: Calcetın izquierdo puesto.
3 ZDP: Zapato derecho puesto.
4 ZIP: Zapato izquierdo puesto.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 47 / 100
Planificadores de orden parcialacciones para el ejemplo de ponerse zapatos
CalcetınDerecho()
• Precondicion : —
• Borrado : —
• Efectos : CDP
CalcetınIzquierdo()
• Precondicion : —
• Borrado : —
• Efectos : CIP
ZapatoDerecho()
• Precondicion : CDP
• Borrado : —
• Efectos : ZDP
ZapatoIzquierdo()
• Precondicion : CIP
• Borrado : —
• Efectos : ZIP
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 48 / 100
Planificadores de orden parcialProblema de ponerse los zapatos
El estado inicial es vacıo y el estado final es ZDP ∧ ZIP.
Aca es posible apreciar dos subobjetivos:
X ponerse el zapato derechoX ponerse el zapato izquierdoX ambos se pueden combinar para conseguir el objetivo del problema.
El planificador que se construya manipula la secuencia de acciones demanera independiente sin importar a que secuencia corresponda unaaccion concreta.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 49 / 100
Planificadores de orden parcialProblema de ponerse los zapatos
Cualquier algoritmo de planificacion que pueda combinar dos accionesdentro del mismo plan sin importar cual de ellas va primero se le conocecomo planificador de primer orden.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 50 / 100
Planificadores de orden parcialPOP para el problema de los calcetines
INICIO
CalcetínIzquierdo CalcetínDerecho
ZapatoIzquierdo ZapatoDerecho
FIN
CIP CDP
ZIP ZDP
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 51 / 100
Planificadores de orden parcialPOP para el problema de los calcetines
Observaciones
Esta solucion se debe interpretar como un grafo de acciones y nocomo una secuencia lineal de acciones.
Inicio y Fin las tomaremos como acciones para que cada etapa delplan sea una accion.
Para el ejemplo, la solucion de orden parcial tiene correspondenciacon seis posibles planes de orden total, cada uno de los cuales recibeel nombre de linealizacion del plan de orden parcial.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 52 / 100
Planificadores de orden parcialLinealizaciones para el POP de ponerse un par de zapatos
INICIO
CalcetínIzquierdo
ZapatoDerecho
ZapatoIzquierdo
CalcetínDerecho
FIN
INICIO
CalcetínDerecho
ZapatoIzquierdo
ZapatoDerecho
CalcetínIzquierdo
FIN
INICIO
CalcetínIzquierdo
ZapatoDerecho
CalcetínDerecho
ZapatoIzquierdo
FIN
INICIO
CalcetínIzquierdo
ZapatoIzquierdo
CalcetínDerecho
ZapatoDerecho
FIN
INICIO
CalcetínDerecho
ZapatoDerecho
CalcetínIzquierdo
ZapatoIzquierdo
FIN
INICIO
CalcetínDerecho
ZapatoIzquierdo
CalcetínIzquierdo
ZapatoDerecho
FIN
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 53 / 100
Construccion de un Plan Parcialmente Ordenado (POP)
El POP se puede implementar como una busqueda en el espacio deplanes:
X cada estado del plan parcial es a su vez un plan en lugar de unasituacion particular del mundo, como ocurre en los planificadoreslineales.
Se parte con un plan vacıo y posteriormente se consideraran formasde ir refinando el plan hasta que tengamos uno completo queresuelva el problema.
Las acciones no afectan al mundo, sino que operan directamentesobre el plan:
X agregar alguna etapaX imponer alguna ordenacion particular.
Para evitar confusiones, se hablara mas de planes que de estados.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 54 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
1. Acciones
Las acciones constituyen los pasos que el plan lleva a caboconsiderando los operadores del problema, sus precondiciones yefectos.
Hay dos acciones distinguidas:
1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicialdel problema.
2 Fin, que no tiene efectos y cuyas precondiciones corresponden alestado final.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 55 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
2. Restricciones de Orden
Son de la forma A ≺ B:
X A esta antes que B
A B
La accion A tiene que ejecutarse en algun momento antes que laaccion B,pero no necesariamente en el estado inmediatamenteanterior.
En la generacion de un plan solucion no pueden haber ciclos, por lo queuna situacion del tipo A ≺ B y B ≺ A no puede darse.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 56 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
3. Relaciones Causales
Un enlace causal entre dos acciones A y B en un plan lo escribimos
como Ap−→ B y se debe interpretar ası:
X A alcanza a B a traves del predicado p:
A Bp
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 57 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
Ejemplo
El enlace causal
CalcetınDerechoCDP−−→ ZapatoDerecho
nos dice que CDP es un efecto de la accion CalcetınDerechoy que a su vez es una precondicion para el operadorZapatoDerecho.
Tambien indica que CDP debe ser cierto durante el tiempo deejecucion que transcurre entre las acciones CalcetınDerechoy ZapatoDerecho. �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 58 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
Una accion C entra en conflicto con el enlace causal Ap−→ B si:
X C tiene a ¬p dentro de su lista de efectosX C pudiera estar despues de A y antes de B (A ≺ C ∧C ≺ B).
El plan no puede verse extendido por la adicion de una accion C que
creara un conflicto con el enlace causal Ap−→ B:
X este enlace se conoce con el nombre de intervalo de proteccionporque el link que hay entre A y B protege a p de ser falsa a lo largodel intervalo que va de A a B.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 59 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Componentes
4. Precondiciones Abiertas
Son aquellas que aun no han sido alcanzadas por alguna accion enel plan.
El objetivo apunta a reducir las precondiciones abiertas a vacıo.
ImportanteUn plan se dice que es consistente si:
No hay ciclos con las restricciones ordenadas.
No hay conflictos con los enlaces causales.
No tiene precondiciones abiertas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 60 / 100
Construccion de un Plan Parcialmente Ordenado (POP)
La evaluacion del objetivo verifica que en cada paso no quedenprecondiciones abiertas por analizar.Se ha demostrado que este esquemasiempre genera planes consistentes.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 61 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Acciones
Por cada precondicion abierta p de alguna accion B del plan y porcada accion A que tenga a p como efecto se puede obtener unplan sucesor (refinamiento).Hay dos operaciones disponibles:X resolver la precondicion abiertaX resolver los conflictos con los nuevos enlaces causales.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 62 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Acciones
Paso 1: Resolver la precondicion abierta.
1 Si la accion A ya esta en el plan, se agrega la restriccion A ≺ B y el
enlace causal Ap−→ B:
X esta tecnica se conoce como establecimiento simple.
2 Si la accion A no esta en el plan, se agregan:
X AX las restricciones A ≺ BX Inicio ≺ A,A ≺ Fin
X el enlace causal Ap−→ B.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 63 / 100
Construccion de un Plan Parcialmente Ordenado (POP)Acciones
Paso 2: Resolver los conflictos entre el nuevo enlace causal y las accionesdefinidas en el plan.
Si el conflicto es de la forma Ap−→ B, tenemos dos alternativas para
resolverlo:
1 agregando la restriccion B ≺ C (promocion) o bien2 agregando la restriccion C ≺ A, conocida como degradacion.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 64 / 100
Anteriormente. . . construccion de un POP
El POP se puede implementar como una busqueda en el espacio deplanes:
X cada estado del plan parcial es a su vez un plan en lugar de unasituacion particular del mundo, como ocurre en los planificadoreslineales.
Se parte con un plan vacıo y posteriormente se consideraran formasde ir refinando el plan hasta que tengamos uno completo que resuelvael problema.
Las acciones no afectan al mundo, sino que operan directamentesobre el plan:
X agregar alguna etapaX imponer alguna ordenacion particular.
Para evitar confusiones, se hablara mas de planes que de estados.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 65 / 100
Anteriormente. . . construccion de un POPComponentes
1. Acciones
Las acciones constituyen los pasos que el plan lleva a caboconsiderando los operadores del problema, sus precondiciones yefectos.
Hay dos acciones distinguidas:
1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicialdel problema.
2 Fin, que no tiene efectos y cuyas precondiciones corresponden alestado final.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 66 / 100
Anteriormente. . . construccion de un POPComponentes
2. Restricciones de Orden
Son de la forma A ≺ B:
X A esta antes que B
A B
La accion A tiene que ejecutarse en algun momento antes que laaccion B, pero no necesariamente en el estado inmediatamenteanterior.
En la generacion de un plan solucion no pueden haber ciclos, por lo queuna situacion del tipo A ≺ B y B ≺ A no puede darse.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 67 / 100
Anteriormente. . . construccion de un POPComponentes
3. Relaciones Causales
Un enlace causal entre dos acciones A y B en un plan lo escribimos
como Ap−→ B y se debe interpretar ası:
X A alcanza a B a traves del predicado p:
A Bp
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 68 / 100
Anteriormente. . . construccion de un POPComponentes
Ejemplo
El enlace causal
CalcetınDerechoCDP−−→ ZapatoDerecho
nos dice que CDP es un efecto de la accion CalcetınDerechoy que a su vez es una precondicion para el operadorZapatoDerecho.
Tambien indica que CDP debe ser cierto durante el tiempo deejecucion que transcurre entre las acciones CalcetınDerechoy ZapatoDerecho. �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 69 / 100
Anteriormente. . . construccion de un POPComponentes
Una accion C entra en conflicto con el enlace causal Ap−→ B si:
X C tiene a ¬p dentro de su lista de efectosX C pudiera estar despues de A y antes de B (A ≺ C ∧C ≺ B).
El plan no puede verse extendido por la adicion de una accion C que
creara un conflicto con el enlace causal Ap−→ B:
X este enlace se conoce con el nombre de intervalo de proteccionporque el link que hay entre A y B protege a p de ser falsa a lo largodel intervalo que va de A a B.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 70 / 100
Anteriormente. . . construccion de un POPComponentes
4. Precondiciones Abiertas
Son aquellas que aun no han sido alcanzadas por alguna accion enel plan.
El objetivo apunta a reducir las precondiciones abiertas a cero.
ImportanteUn plan se dice que es consistente si:
No hay ciclos con las restricciones ordenadas.
No hay conflictos con los enlaces causales.
No tiene precondiciones abiertas.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 71 / 100
Anteriormente. . . construccion de un POP
La evaluacion del objetivo verifica que en cada paso no quedenprecondiciones abiertas por analizar. Se ha demostrado que este esquemasiempre genera planes consistentes.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 72 / 100
Anteriormente. . . construccion de un POPAcciones
Por cada precondicion abierta p de alguna accion B del plan y porcada accion A que tenga a p como efecto se puede obtener unplan sucesor (refinamiento).Hay dos operaciones disponibles:X resolver la precondicion abiertaX resolver los conflictos con los nuevos enlaces causales.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 73 / 100
Anteriormente. . . construccion de un POPAcciones
Paso 1: Resolver la precondicion abierta.
1 Si la accion A ya esta en el plan, se agrega la restriccion A ≺ B y el
enlace causal Ap−→ B:
X esta tecnica se conoce como establecimiento simple.
2 Si la accion A no esta en el plan, se agregan:
X AX las restricciones A ≺ BX Inicio ≺ A,A ≺ Fin
X el enlace causal Ap−→ B.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 74 / 100
Anteriormente. . . construccion de un POPAcciones
Paso 2: Resolver los conflictos entre el nuevo enlace causal y las accionesdefinidas en el plan.
Si el conflicto es de la forma Ap−→ B, tenemos dos alternativas para
resolverlo:
1 agregando la restriccion B ≺ C (promocion) o bien2 agregando la restriccion C ≺ A, conocida como degradacion.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 75 / 100
Hoy veremos
Ejemplo completo de un planificador de orden parcial (POP)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 76 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Constantes
RUEDA− PINCHADA
RUEDA−REPUESTO
EJE
MALETERO
SUELO
Predicado
en: para indicar el lugar que ocupa un elemento en un momentodeterminado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 77 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Estado Inicial
en(RUEDA−PINCHADA,EJE)∧en(RUEDA−REPUESTO,MALETERO)
Objetivo
en(RUEDA−REPUESTO,EJE)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 78 / 100
Ejemplo: Definicion de acciones (con lenguaje ADL) Ipara cambiar la rueda de repuesto de un vehıculo
Acciones
1 Remover(RUEDA-REPUESTO,MALETERO)
• Precondicion : en(RUEDA−REPUESTO,MALETERO)
• Efectos : ¬en(RUEDA−REPUESTO,MALETERO) ∧en(RUEDA−REPUESTO, SUELO)
2 Remover(RUEDA-PINCHADA,EJE)
• Precondicion : en(RUEDA− PINCHADA,EJE)
• Efectos : ¬en(RUEDA− PINCHADA,EJE) ∧ en(RUEDA−PINCHADA,SUELO)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 79 / 100
Ejemplo: Definicion de acciones (con lenguaje ADL) IIpara cambiar la rueda de repuesto de un vehıculo
3 ColocarSobre(RUEDA-REPUESTO,EJE)
• Precondicion : en(RUEDA−REPUESTO, SUELO) ∧¬en(RUEDA− PINCHADA,EJE)
• Efectos : ¬en(RUEDA−REPUESTO, SUELO) ∧en(RUEDA−REPUESTO,EJE)
4 DejarPorLaNoche(—)
• Precondicion : —• Efectos : ¬en(RUEDA−REPUESTO, SUELO) ∧¬en(RUEDA−REPUESTO,EJE) ∧ ¬en(RUEDA−REPUESTO,MALETERO) ∧ ¬en(RUEDA−PINCHADA,SUELO) ∧ ¬en(RUEDA− PINCHADA,EJE)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 80 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
La busqueda de la solucion parte con un plan vacıo, cuyas accionesiniciales seran Inicio y Fin.
El efecto de Inicio es el estado inicial:en(RUEDA− PINCHADA,EJE) ∧ en(RUEDA−REPUESTO,MALETERO)
Las precondiciones de Fin son el objetivo:en(RUEDA−REPUESTO,EJE).
La idea es no dejar precondiciones abiertas, y como la unica quetenemos es la del final, tenemos que resolverla.
Para eso buscamos las acciones cuyo efecto seaen(RUEDA−REPUESTO,EJE).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 81 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
La unica eleccion posible es ColocarSobre.
Las precondiciones de este operador son
en(RUEDA−REPUESTO, SUELO)∧¬en(RUEDA−PINCHADA,EJE)
Elegimos cualquiera de ella al azar.
Las imagenes que iran apareciendo van mostrando como vaevolucionando la creacion del POP. Aquellas acciones que no estenpintadas de blanco es porque tienen sus precondiciones abiertas yaresueltas.
Inicio FinColocarSobre(RR,Eje)
en(RR,eje)en(RR,Suelo)en(RP, Eje)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 82 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Nuestra eleccion va a ser en(RUEDA−REPUESTO, SUELO).
El unico operador que tiene aen(RUEDA−REPUESTO, SUELO) en su lista de efectos esRemover con parametros RUEDA-REPUESTO y MALETERO.
Lo agregamos al plan parcial que estamos generando.
Inicio FinColocarSobre(RR,Eje)
en(RR,eje)en(RR,Suelo)en(RP,Eje)
Remover ( RR,Maletero )
en( RR, Maletero )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 83 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Actualizando lo que llevamos hasta el momento, tenemos dosprecondiciones que aun no se han analizado:
1 en(RUEDA−REPUESTO,MALETERO)2 ¬en(RUEDA− PINCHADA,EJE)
¿Cual elegimos?. Cualquiera.
Si nos quedamos con ¬en(RUEDA− PINCHADA,EJE) , esfacil advertir que tanto Remover como DejarPorLaNoche latienen dentro de su lista de efectos.
X Una de ellas se tiene que escoger para construir el plan.X Veamos que pasa si trabajamos con DejarPorLaNoche.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 84 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Presenta el inconveniente que uno de sus efectos es¬en(RUEDA−REPUESTO, SUELO) , el que entra en conflictocon una de las precondiciones que tenemos abiertas:en(RUEDA−REPUESTO, SUELO).
Con esto, el link
Remover(R-REP,MALETERO)en(R-REP,SUELO)−−−−−−−−−−−−−→ ColocarSobre(R-REP,EJE)
es el que se ve afectado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 85 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
La unica manera de solucionar esto es mediante degradacion, es deciragregando la relacion de orden
DejarPorLaNoche ≺ Remover(RUEDA−REPUESTO,MALETERO)
Inicio FinColocarSobre(RR,Eje)
en(RR,eje)en(RR,Suelo)en( RP,Eje)
Remover ( RR,Maletero )
DejarPorLaNoche()
en( RR, Maletero )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 86 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
¿Por queDejarPorLaNoche nopuede ir despues deColocarSobre(RUEDA-REPUESTO,EJE)?
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 87 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
La unica precondicion abierta que va quedando esen(RUEDA−REPUESTO,MALETERO).
La unica accion que la tiene dentro de sus efectos es Inicio.
El problema es que el link
Inicioen(R-REP,MALETERO)−−−−−−−−−−−−−−−−→ Remover(R-REP,MALETERO)
entra en conflicto con la accion DejarPorLaNoche
X porque ¬en(RUEDA−REPUESTO,MALETERO) esta en sulista de efectos.
¿Como se puede resolver el problema?
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 88 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Por una parte, no podemos introducir el orden
DejarPorLaNoche ≺ Inicio
Ninguna accion esta antes que Inicio ni tampoco podemos ponerDejarPorLaNoche despues deRemover(RUEDA-REPUESTO,MALETERO) porque esto viola larelacion de orden impuesta anteriormente, que era
DejarPorLaNoche ≺ Remover(RUEDA−REPUESTO,MALETERO)
lo que ademas genera un ciclo.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 89 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Inicio FinColocarSobre(RR,Eje)en(RR,eje )en(RR,Suelo)
en(RP,Eje)
Remover( RR,Maletero )
DejarPorLaNoche()
en( RR,Maletero )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 90 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Por lo tanto, como no podemos resolver el conflicto de enlace la unicaalternativa que nos queda es desechar la opcion de incorporar la accionDejarPorLaNoche junto a los enlaces causales y de orden que sehayan generado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 91 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Todo vuelve atras:
Inicio FinColocarSobre(RR,Eje)
en(RR,eje)en(RR,Suelo)en(RP,Eje)
Remover ( RR,Maletero )
en( RR, Maletero )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 92 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Si volvemos a considerar ¬en(RUEDA− PINCHADA,EJE) vamos aelegir Remover con parametros (RUEDA− PINCHADA,EJE).
Inicio FinColocarSobre(RR,Eje)en(RR,eje )en(RR,Suelo)
en(RP,Eje)
Remover( RR,Maletero )
en( RR,Maletero )
Remover( RP, Eje )en(RP, Eje )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 93 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Nos quedan dos precondiciones abiertas:
1 en(RUEDA− PINCHADA,EJE)2 en(RUEDA−REPUESTO,MALETERO)
Nos quedamos en(RUEDA− PINCHADA,EJE) y elegimos Inicio pararesolverla.
Es facil advertir que este movimiento no genera conflictos.
Inicio FinColocarSobre(RR,Eje)
en(RR,eje)en(RR,Suelo)en(RP,Eje)
Remover ( RR,Maletero )
en( RR, Maletero )
Remover ( RP, Eje )en( RR, Eje )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 94 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Finalmente, resolvemos la precondicionen(RUEDA−REPUESTO,MALETERO) con Inicio,quedandonos un plan consistente y completo:
Inicio FinColocarSobre(RR,Eje)en(RR,eje )en(RR,Suelo)
en(RP,Eje)
Remover( RR,Maletero )
en( RR,Maletero )
Remover( RP, Eje )en( RR,Eje )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 95 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
Tenemos dos linealizaciones posibles:
Inicio FinColocarSobre(RR,Eje)Remover ( RR,Maletero ) Remover ( RP, Eje )
Inicio FinColocarSobre(RR,Eje)Remover ( RP, Eje ) Remover ( RR,Maletero )
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 96 / 100
Ejemplo:cambiar la rueda de repuesto de un vehıculo
El ejemplo que acabamos de revisar tiene la fortaleza que permiteexhibir todos los problemas que podemos enfrentar cuando hay queelaborar un POP.
El hecho que los predicados y las acciones operen solo con constantesfacilita la eleccion del operador a elegir.
Podemos querer generar un planificador de orden parcial sobreproblemas donde todo esta especificado en torno a variables como elmundo de los bloques.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 97 / 100
Ejercicios para desarrollar
1 Confeccione un plan de orden parcial para el problema de cambiar larueda de repuesto que sea distinto al propuesto en clases.
Indique todas las linealizaciones posibles que se desprendan de su plan.Explique paso a paso como su grupo genero la solucion.
2 Complete el mapa conceptual que resuma todo lo visto en la Unidad3: Planificacion.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 98 / 100
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 99 / 100
Fin de la Unidad 3
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 100 / 100