l - Departamento de Ciencias e Ingeniería de la Computación

Anuncio
Representación de Acciones y
Cambio:
STRIPS y Cálculo de Situaciones
Inteligencia Artificial
2º cuatrimestre de 2008
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Representación de Conocimiento
ƒ Cualquier entidad inteligente que desea razonar acerca de
su mundo/del mundo en el que se desenvuelve se enfrenta
con una realidad inevitable:
“El razonamiento es un proceso que se lleva a cabo
internamente, mientras que la mayoría de las cosas sobre las
que se razona existen solo en el exterior”.
ƒ Una rep. de conocimiento funciona como un sustituto, dentro
del razonador, de las cosas que existen en el mundo.
ƒ El razonador puede realizar operaciones en esa
representación, sustituyendo (simulando) la operación sobre el
mundo real. De acuerdo a esta visión, el razonamiento es en
parte una sustitución del accionar en el mundo, cuando no
podemos, o (aún) no queremos, actuar efectivamente en el
mundo.
Representación
enMesa(h)
libre(a)de Conocimiento
enMesa(o)
libre(h)
enMesa(l)
libre(o)
sobre(a,l)
a
l
h
o
Rep. de Acciones y Cambio
ƒ El entorno cambia al transcurrir el tiempo. Los cambios en
el entorno son provocados por acciones del agente, por
acciones de otros agentes y por acciones propias del
entorno.
ƒ Generalmente, un agente inteligente debe considerar
(representar y razonar acerca de) el cambio/el tiempo para
desenvoloverse con éxito.
ƒ Es decir, debe poder analizar estados pasados y futuros
del entorno, aparte del estado en el que está.
Rep. de Acciones y Cambio
El tiempo puede modelarse de varias formas:
ƒ Tiempo Discreto: se modela como saltando de un punto en
el tiempo a otro, separados entre sí de manera uniforme.
ƒ Tiempo Continuo: se modela como una estructura lineal
continua.
ƒ Tiempo Basado en Eventos: Análogo a Tiempo Discreto,
pero los puntos en el tiempo marcan eventos “interesantes”,
y no necesitan estar separados entre sí de manera uniforme.
Ej: Cálculo de Eventos.
ƒ Espacio de Estados: en lugar de considerar el tiempo
explícitamete, podemos considerar a las acciones como
mapeando de un estado a otro del mundo. Ej: Cálculo de
Situaciones y STRIPS.
Rep. de Acciones y Cambio
El tiempo pude incorporarse a un sistema de Rep. de Conoc.
y Razonamiento de diferentes formas:
ƒ El Tiempo (y acciones) son externas a la lógica. Se
representa/describe en la lógica solo un estado
(correspondiente a un determinado momento), y se utilizan
sentencias fuera de la lógica para especificar cómo una
acción mapea desde la descripción de un estado a la
descripción del siguiente. STRIPS lo hace de esta forma.
ƒ El Tiempo se encuentra reificado. Es decir, el tiempo es
otro objeto más, que se representa y del que se puede
hablar, en la lógica. Conretamente, se puede agregar un
argumento a las relaciones para especificar cuando valen.
Ej: pasa_autobus(516, cuadra(Mitre, 200), pm(15:35)) El
Cálculo de Situaciones lo hace de esta forma.
Mundo de Bloques: Definición del Dominio
ƒ Objetos: bloques, mesa, colores.
ƒ Acciones:
• apilar un bloque sobre otro.
a
l
• desapilar sobre la mesa un bloque
que está sobre otro.
h
o
ƒ Relaciones para representar:
• el color de un bloque
relación estática
• que un bloque está libre.
• que un bloque está sobre la mesa.
primitivas
• que un bloque está sobre otro.
• que un bloque está (por) encima de otro. derivada
relaciones
dinámicas
STRIPS
ƒ El tiempo se modela de acuedo a la visión de espacio de
estados, donde sólo un estado se representa en la lógica en
un momento dado y las acciones son externas a la lógica.
ƒ Para cada acción se establece cuándo puede llevarse a
cabo y cuál es el efecto de dicha acción (es decir, qué
relaciones primitivas son afectadas por la acción).
ƒ Conjuntamente, se asume que todas las relac. primitivas no
mencionadas en la descripción del efecto de la acción
permanecen inalteradas luego de ser ejecutada (suposición
STRIPS). De esta forma, se elude el Problema del Marco.
ƒ La representación STRIPS se basa en la idea de que la
ejecución de una acción solo afecta una pequeña porción de
la descripción actual del mundo. Es decir, solo afecta unas
pocas relaciones primitivas.
STRIPS: Ejemplo
ƒ Se representa en la lógica
sólo un estado
a
l
a
l
l
h
o
o
h
“apilar o
sobre h”
o
h
“desapilar a
que está
sobre l ”
a
Representación Lógica
color(a,rojo)
color(l, verde)
color(o, azul)
color(h, gris)
enMesa(h)
libre(a)
enMesa(o)
libre(h)
enMesa(l)
libre(o)
relac. dinámicas
sobre(a,l)
primitivas
encima(X,Y)Å sobre(X,Y)
encima(X,Y)Å sobre(X,Z)
∧ encima(Z,Y)
STRIPS: Ejemplo
ƒ Se representa en la lógica
solo un estado
a
l
a
l
l
h
o
o
h
“apilar o
sobre h”
o
h
“desapilar a
que está
sobre l ”
a
Representación Lógica
color(a,rojo)
color(l, verde)
color(o, azul)
color(h, gris)
enMesa(h)
libre(a)
enMesa(l)
libre(o)
sobre(a,l)
sobre(o,h) relac. dinámicas
primitivas
encima(X,Y)Å sobre(X,Y)
encima(X,Y)Å sobre(X,Z)
∧ encima(Z,Y)
STRIPS: Ejemplo
ƒ Se representa en la lógica
solo un estado
a
l
a
l
l
h
o
o
h
“apilar o
sobre h”
o
h
“desapilar a
que está
sobre l ”
a
Representación Lógica
color(a,rojo)
color(l, verde)
color(o, azul)
color(h, gris)
enMesa(h)
libre(a)
enMesa(l)
libre(o)
enMesa(a)
libre(l)
relac. dinámicas
sobre(o,h)
primitivas
encima(X,Y)Å sobre(X,Y)
encima(X,Y)Å sobre(X,Z)
∧ encima(Z,Y)
STRIPS: Ejemplo
ƒ La representación de las acciones es externa a la lógica.
ƒ Descripción de la acción apilar X sobre Y
Precondiciones:
X
enMesa(X)
Y
Z
libre(X)
libre(Y)
Del-list:
enMesa(X)
libre(Y)
Add-list:
sobre(X,Y)
“apilar X
sobre Y”
X
Y
Z
Cálculo de Situaciones
ƒ El tiempo se modela de acuedo a la visión de
espacio de estados, donde las acciones y los estados
(o situaciones) se reifican.
ƒ Al decir que las acciones y estados se reifican, nos
referimos concretamente a que se utilizan términos
lógicos para denotar/ nombrar/ referirse a estados y
acciones.
ƒ De esta manera es posible representar, en la lógica,
senencias que hablan de/ se refieren a acciones y
estados particulares.
CS: Rep. de acciones y situaciones
ƒ términos para hacer referencia a acciones:
• apilar(A,B) representa “apilar A sobre B”
• desapilar(A,B) representa “desapilar A que está
sobre B”
CS: Rep. de acciones y situaciones
ƒ términos para hacer referencia a situaciones:
• la constante init representa la situación inicial.
• res(A, S) denota la situación que resulta de realizar la acción
A a partir de la situación S, a condición de que la acción A sea
aplicable a partir de S.
“apilar o sobre h”
a
l
o
h
init
a
l
“desapilar a que está sobre l”
o
h
res(apilar(o,h), init)
l
o a
h
res(desapilar(a,l),
res(apilar(o,h), init))
CS: Representación Lógica
Representación Lógica
Relaciones Estáticas
Relaciones Dinámicas
válidas en init
caraterización de
la situación inicial
Descripción de Acciones
(y Cambio o Evolución)
descripción de la evolución de las
relaciones dinámicas resultado de
aplicar acciones.
CS: Relaciones Estáticas
Representación Lógica
Relaciones Estáticas:
color(a,rojo)
color(l, verde)
color(o, azul)
color(h, gris)
Relaciones Dinámicas
válidas en init:
a
l
o
h
init
Descripción de Acciones
(y Cambio o Evolución)
Representación Lógica
Relaciones Estáticas
CS: Relaciones
Dinámicas
Relaciones Dinámicas
válidas en init:
enMesa(h,init) sobre(a,l, init)
enMesa(o,init) libre(a, init)
enMesa(l, init) libre(h, init)
a
l
o
h
libre(o, init)
encima(X,Y,S) Å sobre(X,Y,S)
encima(X,Y,S) Å sobre(X,Z,S)
∧ encima(Z,Y,S)
Descripción de Acciones
(y Cambio o Evolución)
init
Relac. dinámicas
primitivas
CS: Descripción de Acciones
Representación Lógica
Relaciones Estáticas:
Relaciones Dinámicas
válidas en init:
Descripción de Acciones
(y Cambio o Evolución):
ƒ Axiomas de Posibilidad
ƒ Axiomas de Efecto +
Axiomas de Marco
o
Axiomas de Estado Sucesor
establecen cuándo
es posible ejecutar
una acción.
permiten determinar qué
relaciones valen en una
situación a partir de las
relaciones que valen en la
anterior.
CS: Axiomas de Posibilidad
ƒ Establecen cuándo es posible ejecutar cada acción.
ƒ El axioma de posibilidad para una acción a tiene la
siguiente forma:
<precond> Æ pos(a, S)
donde:
• <precond> describe las relaciones que deben valer en la
situación S para que sea posible ejecutar a a partir de S.
• la relación pos(a,S) denota que es posible ejecutar la
acción a en la situación S.
CS: Axiomas de Posibilidad
Ejemplo:
Axioma de Posibilidad para la acción apilar:
enMesa(X, S) ∧ libre(X, S) ∧ libre(Y, S) Æ pos(apilar(X,Y), S)
libre y
en mesa
X
Y
Z
libre
CS: Axiomas de Efecto
ƒ Cada acción tiene asociado un axioma de efecto, que
especifica el efecto de ejecutar la acción.
ƒ El axioma de efecto asociado a una acción a tiene la
siguiente forma:
pos(a,S) Æ <cambios que resultan de realizar la acción>
CS: Axiomas de Efecto
Ejemplo:
• Axioma de Efecto para la acción apilar:
pos(apilar(X,Y), S) Æ sobre(X,Y, res(apilar(X,Y),S))
• Axioma de Efecto para la acción desapilar:
pos(desapilar(X,Y), S) Æ enMesa(X, res(desapilar(X,Y),S))∧
libre(Y, res(desapilar(X,Y),S))
CS: Axiomas de Marco
ƒ Los Axiomas de Efecto establecen qué cambia pero no dicen
qué es lo que permanece igual.
enMesa(h,init) sobre(a,l, init)
a
l
h
o
enMesa(o,init) libre(a, init)
enMesa(l, init) libre(h, init)
libre(o, init)
a
l
o
h
“apilar o
sobre h”
Aplicando axiomas de posibilidad y
efecto para apilar puedo inferir:
sobre(o,h, res(apilar(o,h),init))
Pero no tengo forma de inferir sobre(a,l, res(apilar(o,h),init))
ni enMesa(h, res(apilar(o,h),init)), por ejemplo.
CS: Axiomas de Marco
ƒ Los Axiomas de Marco expresan qué es lo que no cambia.
ƒ Necesitaremos especificar un Axioma de Marco por cada
par (relación dinámica, acción)
Ejemplo: Axiomas de Marco para
ƒ la acción apilar y la relación sobre:
pos(apilar(X,Y),S)) Æ
(sobre(Z, T, S) Æ sobre(Z ,T, res(apilar(X,Y),S)))
ƒ la acción apilar y la relación libre:
pos(apilar(X,Y),S)) Æ
(libre(Z, S)∧Z<>Y Æ libre(Z, res(apilar(X,Y),S)))
CS: Axiomas de Estado Sucesor
ƒ Cada relación dinámica primitiva tiene asociado un axioma de
estado sucesor.
ƒ Este especifica como evoluciona la relación como resultado
de la ejecución de una acción A partir de una dada situación S.
ƒ El axioma de estado sucesor asociado a una relación r tiene
la siguiente forma:
pos(A, S) Æ
(r
es
⇔
verdadera
en res(A,S)
A es una acción cuya ejec. hace verdadera a r
r
٧
ya es verdadera en S ∧ A no es una acción
cuya ejecución la hace falsa)
CS: Axiomas de Estado Sucesor
Ejemplo:
Axioma de estado sucesor para la relación dinámica sobre:
pos(A, S)Æ
(sobre(X,Y, res(A,S)) ⇔ A = apilar(X,Y)
v
sobre(X,Y,S) ∧ A<>desapilar(X,Y))
1 paso de
inferencia
Representación
Lógica
Axiomas de
Posibilidad y Estado Sucesor
relaciones estáticas
a
1,
...
rel.
dinámicas en
s1=res(a1,init)
po
s(a
1.n
1 ,s
1)
2 pasos de
inferencia
pos(
ini
relaciones dinámicas
válidas en init
t) po
s(a2, init)
rel. dinámicas en
s2=res(a2,init)
a2. ,s
1 2)
...
)
t
i
, in
n
a
(
s
o
rel.
p
dinámicas en
sn=res(an,init)
.
.
.
... pos(a2.n2,s2)
...
po
s(
.
.
.
n.
a
(
s
o
p
)
n
s
,
1
3 pasos de
inferencia
ƒ Para encontrar una plan que logre una meta, debería
hallarse una situación S tal que la meta sea verdadera en S.
ƒ Notar que la representación utilizada para denotar una
situación S indica la secuencia de acciones a ejecutar desde
la situación inicial, para llegar a S.
Ejemplo: Supongamos que se desea hallar un plan para
lograr una configuación determinada (meta), a partir de una
dada situación inicial.
estado
situación
meta
inicial
init
S
a
a
l
h
o
…
l
o
h
ƒ Para este caso concreto, deberíamos hallar una situación S
tal que
enMesa(h,S)∧ sobre(o,h,S)∧ sobre(l,o,S)∧ sobre(a,l,S)∧ libre(a,S)
se infiera a partir de la representación lógica.
ƒ Una posible situación S podría ser:
res(apilar(a,l),
res(apilar(l,o),
res(desapilar(a,l),
res(apilar(o,h,init)))))
a
l
init
h
o
…
a
l
o
h
S
FIN
Descargar