Sei sulla pagina 1di 17

TECNICAS DE RAZONAMIENTO

AUTOMATICO

RAZONAMIENTO TEMPORAL

Angel Pasqual del Pobil y Ferr

RAZONAMIENTO TEMPORAL

Tcnicas de razonamiento automtico:

Razonamiento temporal

Objetivo
El objetivo de esta leccin es presentar un paradigma de
razonamiento avanzado desarrollado para resolver un problema real
en Inteligencia Artificial: el razonamiento temporal. Nos servir
adems para afianzar dos tcnicas vistas en captulos precedentes:
veremos una aplicacin de las redes semnticas y de la propagacin de
restricciones.

Esquema
1. Planteamiento del problema
2. Presentacin del Calculo de Situaciones
3. Estudio del mtodo basado en intervalos

1. Planteamiento del problema


El problema de representar y manejar el conocimiento temporal se
presenta en numerosas disciplinas, como la informtica, la filosofa, la
psicologa y la lingstica. Pensemos, por ejemplo, en el caso de los
sistemas de informacin. La informacin obsoleta siempre plantea un
problema: Qu hacer con ella?. La solucin inmediata es simplemente
borrarla, pero entonces se elimina la posibilidad de acceder a
informacin que en un momento dado ha dejado de ser cierta.
As, en el caso, por ejemplo de informacin de la polica puede
interesar conocer el domicilio de una persona que ya no es el actual, o
en el caso de archivos mdicos, el transcurso en el tiempo de los
hechos tiene una importancia decisiva. En general, se necesitar una
forma de representar y manejar el tiempo en aquellas reas en donde
la evolucin temporal sea un factor crtico.
Desde la perspectiva de la Inteligencia Artificial, el razonamiento
temporal ser necesario cada vez que nos enfrentemos con problemas
en los que intervenga el cambio, la evolucin en la situacin del
mundo. As, en el caso de la planificacin, es necesario modelar los
efectos que las acciones de un robot, por ejemplo, tienen sobre su
entorno.
Podemos, en resumen plantear el problema de la siguiente forma:
Problema: Cmo representar un mundo cambiante de manera que
no slo podamos razonar sobre el presente, sino tambin sobre un
momento cualquiera del pasado, o sobre la relacin de unos hechos
con otros a lo largo del tiempo?
Veamos tambin algunas caractersticas que debe tener un buen
sistema de razonamiento temporal:
1. Debe permitir cierta imprecisin: el conocimiento temporal
es bsicamente relativo.

RAZONAMIENTO TEMPORAL

2. Debe permitir incertidumbre en la informacin: podemos no


saber la relacin exacta entre dos tiempos, pero conocemos algunas
restricciones de los mismos.
3. Debe permitir un grado de granularidad
das, meses, aos.

variable: horas,

2. El Clculo de Situaciones
El Clculo de Situaciones es un formalismo temporal que ha sido
muy usado (data de 1981). Se basa en los siguientes conceptos:
Situacin: una instantnea del mundo en un momento dado
Accin: medio para transformar una situacin en otra
En una situacin dada, hay afirmaciones que son verdaderas y
otras que son falsas:
(T S P) es un predicado que significa que p es cierto en la situacin S.
As, la accin (COGE A) en una situacin en la que
(T S1 (ENCIMA A B)

(T S1 (LIBRE A))

son ambas ciertas, lleva a una nueva situacin S2 en la que se verifica


(T S2 (LIBRE B))

A
A
S1

S2

S3

La funcin RESULT acepta formalmente una situacin y una accin


como argumentos y devuelve una nueva situacin. As,
(RESULT S1 (COGE A)) S2 ,
o tambin
(RESULT (RESULT S1 (COGE A)) (DEJA A)) S3 .
El Clculo de situaciones se basa en ciertas suposiciones que dan
lugar a varias limitaciones en sus aplicaciones:
1) El tiempo es discreto: el mtodo no sirve para procesos
continuos como el movimiento, por ejemplo.
2) Causa y efecto son contiguos: los efectos de una accin se
manifiestan en la situacin siguiente.
3) No permite que varias acciones sean simultaneas.
4) No permite representar intervalos de
superpongan, se basa en puntos temporales

tiempo que

se

El Calculo de Situaciones sirvi para introducir el problema d e l


marco de representacin en Inteligencia Artificial.

RAZONAMIENTO TEMPORAL

3. El mtodo de los intervalos temporales


Caractersticas
- El mtodo toma la nocin de intervalo temporal como primitiva
- Representa 13 relaciones entre dos intervalos temporales dados
- Realiza inferencias para obtener las relaciones entre dos intervalos
mediante propagacin de restricciones. Estas inferencias las
realizamos automticamente y sin esfuerzo, durante una
conversacin, al comprender una narracin, o resolver un
problema.
Representacin
Podemos representar un intervalo de dos formas:
- como segmentos sobre una lnea de tiempos
- como nodos conectados por enlaces.

A
A

antes

- Existen 13 posibles relaciones entre dos intervalos de tiempo: las


que aparecen en la Fig. 1 (las denotaremos a, e, s, c, d, f, =, y sus
inversas (las denotaremos ai, ei, si, ci, di, fi; y las indicaremos con
una flecha invertida )
- Cada enlace entre dos nodos llevar una o varias etiquetas,
correspondientes a las posibles relaciones entre ambos
- Las etiquetas en un par de enlaces pueden restringir las etiquetas
posibles en un tercer enlace

A
B

A
B

A
B

A
B

A
B

A
B

A
B

antes

encuentra

superpone

comienza

durante

finaliza

es igual

Figura 1. Existen13 posibles relaciones entre dos intervalos de tiempo

- Existen 13 13 = 169 parejas de relaciones entre A-B y C-D. Cada


una de ellas da lugar a un conjunto de posibles etiquetas para el
enlace A-C (vase la tabla de la pgina siguiente).

RAZONAMIENTO TEMPORAL

B-C
A-B
a e s c d f
ai ei si ci di fi
_________________________________________________
a
a a a a a a
a a a a a
e e
e e
s s
s s
c c
c c
d d
d d
_________________________________________________
e
a a a e s s
ai f s e a a
c c
ei fi c
d d
si = d
ci
di
_________________________________________________
s
a a a s s s
ai si s s a a
e
c c
ei ci d di e e
s
d d
si di si fi s s
ci
di
di
di
=
fi
_________________________________________________
c
a a a c d d
ai ei d c a a
e
f ci e e
s
si = s s
di
fi
_________________________________________________
d
a a a d d d
ai ai d d
a
e
f f
e
s
ai ai
s
c
ei ei
c
d
si si
d
_________________________________________________
f
a e s d d f
ai ai ai ai ai f
c
ei ei ei f
d
si si si =
ci
di

Las relaciones de la tabla anterior son fciles de calcular, veamos


por ejemplo como obtener dos de ellas:

durante

encuentra

A
C

B
C

antes

encuentra

superpone

durante

durante

A
C

B
C

comienza

Esta representacin recibe el nombre de red de intervalos, y es


un caso particular de red semntica:
Propagacin de restricciones temporales
Dada una cadena de relaciones, se pueden obtener, a partir de la
tabla anterior conclusiones respecto de la relacin entre dos
intervalos muy separados, mediante propagacin de restricciones:

B
antes

antes

antes

antes
antes

antes

antes

...

antes

RAZONAMIENTO TEMPORAL

Complejidad
Estudiemos la complejidad del algoritmo de propagacin en el
peor caso:
- Supongamos una red de intervalos con n nodos
- El nmero de enlaces posibles por nodo es (n-1)
- El nmero total de enlaces posibles es
n (n-1)
___________

2
- Para cada enlace, hay n-2 nodos que pueden servir de enlace
central y, por tanto, n-2 pares de enlaces que pueden dar lugar a
un reduccin en el nmero de etiquetas de un enlace.
- Para cada ciclo de propagacin por todos los enlaces, tenemos que
examinar por tanto un nmero de pares de enlaces igual a:
n (n-1) (n-2)
__________________

2
- Basta que en un ciclo se elimine una sola etiqueta de un enlace
para que haya que volver a propagar. En el peor caso, se eliminar
una sola etiqueta por ciclo, y como cada enlace puede tener un
mximo de 13 etiquetas, deberemos realizar un nmero de ciclos
igual a:
13 n (n-1)
______________

2
- En definitiva, el nmero de parejas de nodos que hay que examinar
en el peor caso es:
13 n (n-1)
______________

n (n-1) (n-2)
__________________

- Que es de orden n5

Nodos de referencia
Como el mtodo de propagacin exhaustivo no tiene un buen
comportamiento para n grande, se utilizan algunos intervalos como
nodos de referencia:
- Para asignar posibles etiquetas al enlace entre dos nodos dados,
slo se tomarn caminos de manera que todos los enlaces,
excepto el primero y el ltimo, conecten dos nodos de referencia.
- Despus se realiza una propagacin completa, pero slo usando
los nodos de esos caminos.
Supongamos que, por ejemplo, en un dominio sobre informacin
biogrfica:
- Tomamos dos nodos de referencia que representan los intervalos
de tiempo "licenciatura" y "doctorado"
- Queremos conocer las posibles etiquetas del enlace entre dos
nodos que corresponden a los intervalos "BUP" y "trabajo
doctorado"
- Slo hay un camino que una estos dos nodos, y pase slo por
intervalos de referencia. Este camino est formado por 4 nodos.

licenciatura

doctorado

encuentra

antes

durante
trabajo doctorado

BUP

RAZONAMIENTO TEMPORAL

- Deberemos propagar en un una red de intervalos formada por 4


nodos y seis enlaces. En el caso general de la figura el nmero de
nodos hubiera sido 10 con una red de 45 enlaces.

11

licenciatura

doctorado
encuentra
durante

antes

antes
antes

BUP

antes

trabajo doctorado

Notas sobre la implementacin del mtodo


Para implementar el mtodo de razonamiento temporal pueden
resultar tiles las siguientes indicaciones
- La tabla de restricciones vista puede implementarse como una
funcin de dos argumentos, la etiqueta del enlace A-B y la del B-C,
mediante el macro CASE:
(defun obtener-etiquetas (A-B B-C)
(case A-B
(a (case B-C
(a '(a))
(e '(a))
(s '(a))
(c '(a))
(d '(a e s c d))
(f '(a e s c d))
(... ))))
(e (case B-C
(a '(a))
(e '(a))
(... ))))
(... ))))))

RAZONAMIENTO TEMPORAL

- En la lista de propiedades de un intervalo se almacenan las


etiquetas como una lista de asociacin en la que se usan como
claves los intervalos de destino. As, por ejemplo, el nodo A
tendra como valor del atributo 'etiquetas:

((B e a) (C d) (D a e s c d) ...)
-

La propagacin de restricciones se realiza mediante un


procedimiento recursivo que usa dos funciones:
+ La funcin "asigna-etiquetas ( n1 etiquetas n2 )" asigna nuevas
etiquetas al enlace entre n1 y n 2 y propaga llamando a la
funcin "restringe" para el resto de los nodos nx.
+ La funcin "restringe ( n1 nx n 2 )" obtiene las nuevas
restricciones del enlace n1-n2 tomando como tercer nodo nx, y
pasa recursivamente a "asigna-etiquetas" la nueva lista de
etiquetas generada. Esta nueva lista se obtiene mediante la unin
de todas las posibles etiquetas halladas por combinacin de n1nx y nx-n2, segn la tabla contenida en "obtener-etiquetas", y
por interseccin, despus, de la nueva y la antigua lista de
etiquetas.

13

Referencias
La parte relativa al mtodo de los intervalos temporales se basa en
la referencia original [Allen 83], la notacin se ha tomado en parte de
[Winston 92] por claridad. Sobre el Clculo de Situaciones puede
consultarse [Charniak & McDermott 85] y [Davis 90].

[Allen 83]
Allen, J.F., "Maintaining Knowledge about Temporal Intervals",
Communications of the ACM, Vol. 26, No. 11, Nov. 1983, pp.
832-843.
[Charniak & McDermott 85]
Charniak, E., McDermott, D., Introduction to Artificial
Intelligence, Addison-Wesley, Reading Massachusetts, 1985.
[Davis 90]
Davis, E., Representations of Commonsense Knowledge, Morgan
Kaufmann, San Mateo, California, 1990.
[Winston 92]
Winston, P.H., Artificial Intelligence. Third Edition, AddisonWesley, Reading, Massachusetts, 1992.

RAZONAMIENTO TEMPORAL

b m o s d f
bi mi oi si si fi
_________________________________________________
b
b b b b b b
b b b b b
m m
m m
o o
o o
s s
s s
d d
d d
_________________________________________________
m
b b b m o o
bi f o m b b
s s
mi fi s
d d
oi = d
si
di
_________________________________________________
o
b b b o o o
bi oi o o b b
m
s s
mi si d di m m
o
d d
oi di oi fi o o
si
di
di
di
=
fi
_________________________________________________
s
b b b s d d
bi mi d s b b
m
f si m m
o
oi = o o
di
fi
_________________________________________________
d
b b b d d d
bi bi d d
b
m
f f
m
o
bi bi
o
s
mi mi
s
d
oi oi
d
_________________________________________________
f
b m o d d f
bi bi bi bi bi f
s
mi mi mi f
d
oi oi oi =
si
di

15

Potrebbero piacerti anche