Agentes de estimuulo-respuesta
Percepcin y accin
En este captulo, analizaremos sistemas que no tienen estados internos y que
slo reaccionan a los estmulos generados por los entornos donde operan. Este
tipo de sistemas se denominan agentes de estmulo-respuesta (agentes E-R).
Basndonos en este tipo de comportamiento, podemos construir una gran
variedad de robots capaces de responder a los estmulos que reciben sus
sensores. Uno de los primeros ejemplos de este tipo de robot fue la Machina
Speculatrix de Grey Walter -un dispositivo dotado de motores con ruedas,
fotoclulas y dos tubos de vaco [Walter, 1953] que se mova hacia una luz de
intensidad moderada y evitaba luces brillantes. Sistemas similares tambin han
sido descritos por Braitenberg [Braitenberg, 1984]. Comenzaremos con un
ejemplo ilustrativo. Considrese un robot en un espacio bidimensio nal
cuadriculado, tal como se observa en la Figura 2.1. El mundo de este robot est
completa mente limitado por una frontera y puede contener a su vez otros
objetos inmviles de gran tamao, como el que se muestra en la figura. No
existen pasillos estrechos* (los espacios entre los objetos y la frontera deben
ser de, al menos, dos celdas de longitud) y, por tanto, el diseo de nuestro
robot deber tener en cuenta este hecho. El robot debe seguir la siguiente
pauta de comportamiento: ir a una celda fronteriza, o que limite con un objeto,
y seguir su permetro indefinidamente. Para poder mostrar esta pauta de
comportamiento, el robot debe ser capaz de percibiD> si una determinada
celda est libre para ser ocupada o no, y para ello debe llevar a cabo las
acciones primitivas que correspondan. El robot puede percibir si cada una de
las ocho celdas con las que limita estn libres o no. De esta forma, podemos
decir que nuestro sistema (el robot) dispone de ocho entradas sensoriales a las
que asociaremos las variables binarias SI' S2' S3' S4' ss' S6' S7 Y ss' Estas
variables tomarn el valor O siempre que la correspondiente celda (relativa a la
posicin del robot, tal como se muestra en la Fig. 2.1) pueda ser ocupada por el
robot; en otro caso, las variables tomarn el valor 1. Si el robot estuviera en la
posicin marcada por una X, los valores de las entradas sensoriales
(empezando por SI y siguiendo en el sentido de las agujas del reloj) seran
(0,0,0,0,0,0,1,0). El robot puede moverse a una celda libre adyacente que est
en su osma fila o columna. Por tanto, existen cuatro movimientos posibles:
1. norte mueve el robot una celda hacia arriba. 2. este mueve el robot una
celda a la derecha. 3. sur mueve el robot una celda hacia abajo. 4. oeste
mueve el robot una celda a la izquierda.
Todas estas acciones producen los efectos arriba indicados, a no ser que el
robot intente mov~rse a una celda que no est libre, en cuyo caso la accin no
tendra efecto. Por tanto, dadas las propiedades de los mundos en los que el
robot puede habitar (como, por ejemplo, el de la Fig. 2.1), concretada la tarea
que tiene que desarrollar el robot (seguir los bor des) y establecidas sus
2.1.1. Percepcin
Las entradas sensoriales de nuestro robot estn representadas por los valores
de las variables sI> ... , S8' Por tanto, existen 28 =256 combinaciones posibles
de estos valores. En nuestro entorno, ciertas combinaciones pueden ser
descartadas debido a la condicin que prohibe la existencia de pasillos
estrechos. Para la tarea que estamos considerando, se pueden definir cuatro
caractersti cas binarias, definidas sobre las variables sensoriales, que nos
pueden ayudar para el clculo de las acciones. A estas caractersticas las
Da la casualidad de que las condiciones bajo las cuales el robot debe tomar
estas acciones son combinaciones booleanas de las caractersticas. De la
misma forma, las caractersticas son, a su vez, combinaciones booleanas de las
entradas sensoriales. Ya que algunos sistemas perceptuales y algunos de los
mtodos de seleccin de acciones ms importantes implican el uso de
funciones booleanas, vamos a hacer un parntesis para examinar ms
detenidamente este concepto antes de continuar con el ejemplo.
2.1.3. lgebra booleana
Una funcin booleana,j(xl' x2' ..., xn) hace corresponder a una n-tupla de Oy 1
un valor Oo un valor 1. El lgebra booleana es el medio adecuado para la
representacin de este tipo de funcio nes. El lgebra booleana utiliza las
conectivas, " + y -. Por ejemplo, la funcin y aplicada a dos variables se escribe
acciones slo se ejecuten hasta que se alcance algn obje tivo predefinido,
parando toda actividad una vez alcanzado. Generalmente, el objetivo se expre
sa como una condicin booleana de las caractersticas. Por ejemplo,
supongamos que en vez de dejar a nuestro robot seguir un borde de forma
indefinida, queremos que ste pare cuando alcan ce una esquina cncava.
Supongamos que existe una caracterstica adicional que toma el valor 1
26
27
Inteligencia artificial. Una nueva sntesis
cuando el robot est en una esquina cncava; entonces el siguiente sistema de
produccin lleva r al robot hasta una esquina cncava (si sta existe):
c -? nil 1 -? s-b.
En este ejemplo, la accin ni/, representa la accin nula, es decir, una accin
que no produce ningn efecto, y s-b es la tarea de seguimiento de bordes que
acabamos de definir. En los sistemas de produccin dirigidos por objetivos, la
condicin de la primera regla de la lista (es decir, la primera en ser
comprobada) define el objetivo general que persigue el sistema. Siempre que
dicha condicin se satisfaga, el sistema no ejecutar accin alguna. Si esta
condicin no se verifica, pero se satisface la condicin de la segunda regla,
entonces se ejecutar la accin correspondiente a la segunda regla, que en la
mayor parte de los casos acercar al sistema hacia el objetivo general. Con el
resto de las reglas se procede de igual manera. Este tipo de sistemas de
produccin es la base de un formalismo denominado programas TeleoReactivos, o programas T-R [Nilsson, ]994]. En un programa T-R, cada accin
ejecutada correctamente acerca al agente al cumplimiento de alguna condicin
asociada a las regla., que la preceden. Estos sistemas de pro duccin son
fciles de programar, siempre y cuando el objetivo general del agente est
bien defi nido (expresado como una condicin booleana de las caractersticas).
Los programas T-R tambin son bastante robustos, ya que todas las acciones
conducen inexorablemente al agente hacia el objetivo general. Los
contratiempos que ocasionalmente puedan aparecer, debidos a una per
cepcin errnea, debidos a acciones ejecutadas incorrectamente o debidos a
procesos externos del entorno, pueden ser recuperados siempre que el sistema
de percepcin sea razonablemente preci so y las acciones produzcan los
efectos deseados l. Adems de estas caractersticas, los programas T-R pueden
contener parmetros que son fijados en el momento que los programas son
llamados y, a su vez, pueden llamar a otros programas T-R, incluso a ellos
mismos de forma recursiva.
2.2.2. Redes
Como acabamos de ver, se pueden construir programas que implementen
funciones booleanas y sistemas de produccin de una forma sencilla.
Alternativamente, los sistemas de produccin se pueden implementar
directamente por medio de circuitos electrnicos 2. El circuito puede tener
como entradas las propias seales sensoriales. Utilizando circuitos lgicos, una
funcin boolea na se puede implementar mediante una red de puertas lgicas
(ANO, NANO, OR, etc.). Un tipo muy comn de circuito lo constituyen las redes
formadas por elementos con umbralo por algn otro tipo de elemento que
aplique una funcin no lineal sobre una suma ponderada de sus entradas. Un
ejemplo de este tipo de elementos es la Unidad Lgica con Umbral (ULU), que
se muestra en la Figura 2.4. Esta unidad realiza una suma ponderada de las
entradas, compara esta suma con un umbral y, si supera el umbral, produce
como salida un 1; en cualquier otro caso, produce un O. Las funciones
booleanas que pueden ser implementadas mediante una ULU se denominan
funciones linealmente separables (el nombre se debe a que una ULU separa el
espacio de los vecLos programas T-R son aquellos que operan de forma dirigida hacia los
objetivos y que reaccionan ante las situa ciones que se les presentan. El prefijo
tdeo se deriva de una palabra griega que significa fin o propsito. 2 A
menudo, el comportamiento del circuito es simulado por algn programa de
simulacin ejecutndose en un ordenador. Sin embargo, pensar en trminos de
circuitos nos ayuda a comprender la dependencia dinmica que existe entre la
accin seleccionada y las entradas sensoriales.
tores de entrada en dos regiones -la de los vectores que quedan por encima del
umbral y la de aquellos que quedan por debajo--- mediante una superficie
lineal denominada hiperplano de n dimensiones). Muchas funciones booleanas,
aunque no todas, son linealmente separables. Por ejemplo, culquier monomio
(o conjuncin de literales) o cualquier clusula (o disyuncin de lite rales) es
linealmente separable. En la Figura 2.5 se muestra una ULU que representa un
mono mio. Los pesos de las entradas se colocan junto a las correspondientes
lneas de entrada, y el umbral se coloca dentro del crculo que representa a la
ULU. Un ejemplo de funcin no separa ble es la funcin o-exclusivo de dos
variables lf= X1X 2 + XzX2) Las funciones que se definieron para que el robot
pudiera seguir los bordes se pueden implementar mediante diferentes ULU.
Como ejemplo, en la Figura 2.6 se puede ver la ULU que implementa la
funcinf= X 1X 2 = (S2 + S3) (S4 +ss) = S2 + S3)Sl ss'En aplicaciones donde
slo existan dos acciones posibles, puede ocurrir que con una sola ULU
podamos implementar la funcin de seleccin de acciones, siempre y cuando
tengamos como entrada una representacin coditIcada del vector de
caractersticas. Sin embargo, para pro blemas ms complejos, seguramente
ser necesario una red de ULU. Este tipo de circuito se denomina red neuronal,
ya que las ULU pueden ser consideradas como modelos simplificados de las
neuronas biolgicas, cuyo disparo depende de la suma de intensidades
recibidas a travs de las sinapsis, pudiendo stas amplificar o atenuar la
intensidad de las entradas. En el siguiente captulo se analizarn las redes
neuronales con ms detenimiento. Katz 3 sugiri que con una simple estructura
de red, en la que se combinen de forma repe tida inversores y puertas AND
(que pueden ser implementadas por ULU), se puede implementar cualquier
programa T-R. Una variedad de este tipo de redes se puede ver en la Figura
2.7. Las a las correspondientes acciones aj (En este ejemplo no se muestran
los clculos utilizados para obtener las caractersticas cj ' ya que stas pueden
ser expresadas por una conjuncin de litera les y, por tanto, pueden ser
implementadas por una ULU.) Una regla perteneciente a un pro grama T-R se
puede implementar por medio de un circuito que tenga dos entradas y dos
salidas (este tipo de circuitos recibe el nombre de CIPA: Comprobacin,
Inhibicin, Propagacin y Accin). Una de las ULU del CIPA calcula la conjuncin
de una de sus entradas con el com plemento de la otra entrada, y la otra ULU
calcular la disyuncin de las entradas. La entrada de inhibicin tomar el
valor O cuando en ninguna de las reglas precedentes la condicin sea cierta. La
entrada de comprobacin toma el valor 1 cuando la condicin correspondiente
a la regla representada sea cierta. Si la entrada de comprobacin toma el valor
1 y la de inhibicin el valor O, se obtendr un 1 en la salida de accin
(indicando que se debe ejecutar la accin a). Si amba'i entradas toman el valor
1, aparecer un 1 en la salida de propagacin (que servir para inhibir todas
las unidades que le siguen). Si para implementar un CIPA utilizamos una matriz
de puertas programables o alguna otra forma dinmica de construir circuitos,
podemos decir que cada vez que se llama al programa T-R se construye
dinmicamente el circuito que lo imple menta.
2.2.3. La arquitectura de subsuncin
Diferentes autores han propuesto otros formalismos para la especificacin del
proceso que asocia las entradas sensoriales con las acciones correspondientes.
Entre stos, cabe destacar la arqui tectura de subsuncin, propuesta por
Rodney Brooks [Brooks, 1986; Brook, 1990, y Connell 1990]. Aunque no existe
una definicin precisa de esta arquitectura, la idea general consiste en hacer
que el comportamiento global del agente descanse sobre un conjunto de
mdulos de com portamiento. Cada uno de estos mdulos recibe
informacin directa de las entradas sensoriales. Si dichas entradas satisfacen
una precondicin, especfica para cada mdulo, se ejecuta un pro grama que
tambin es especfico para cada mdulo. Adems, un mdulo de
comportamiento pue de ser subsumido en otro. Por ejemplo, en la Figura 2.8
cada mdulo se subsume en el mdulo inmediatamente inferior. Cuando un
mdulo j se subsume en un mdulo i, el programa que se cuta si la
precondicin del mdulo i se satisface, tiene prioridad sobre el programa asoci
mdulo j. Brooks denomin a este tipo de distribucin arquitectura horizontal,
en contraposicir con el concepto de arquitectura vertical. Brooks y sus
estudiantes demostraron que de la raccin entre sistemas reactivos
relativamente simples y un entorno complejo podan emergp.l
comportamientos sorprendentemente complejos [Matarlc, 1990; Connell,
1990]. A diferencia la mayor parte del trabajo desarrollado en el campo de la
inteligencia artificial, las mquiIJaII de Brooks no dependen de complejas
representaciones de su entorno, ni de procesos de miento aplicados sobre
dichas representaciones [Brooks 1991a; Brooks 1991b] 4. Sin e~"""U.5V, hay
que reconocer que los sistemas E-R son bastante limitados, aunque sean
capaces de mostrat pautas de comportamiento bastante interesantes. (Un
anlisis bastante curioso sobre el plantea, miento de Brooks se puede
examinar en [Kirsh, 1991].)