Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
ANIMAT, UN ANIMAL ARTIFICIAL
ANTONIO BENÍTEZ
Universidad Complutense de Madrid (España)
[email protected]
1. Introducción
EN
ESTA COMUNICACIÓN PRESENTO ALGUNOS EXPERIMENTOS
realizados con el modelo
Animat. En dicho modelo es necesario distinguir entre el entorno o el mundo, por un
lado, y el autómata (Animat), por el otro. En estos experimentos, el entorno es siempre
el mismo. Lo que cambia, de un experimento a otro, es la estructura y la dinámica del
sistema que hemos llamado ‗Animat‘. En la primera sección expondré la composición
del entorno y en las siguientes la composición de Animat en cada caso.
2. Entornos
El Entorno está formado por una matriz de datos de f filas y c columnas. En
todos los experimentos que estudiaremos, las filas serán 50 y las columnas también 50.
En cada posición de la matriz (fi, cj) hay un objeto.
Cada objeto, excepto Animat, es una instancia o ejemplar de la clase elemento%,
una subclase de la clase color%. Por esto último, cada ejemplar tiene un valor de rojo,
verde, azul y de opacidad, es decir, valores R G B O. Además, cada ejemplar tiene otras
propiedades: estado, dureza y olor. La propiedad estado se utiliza sólo en un entorno
cambiante por computación local (autómatas celulares). Dureza es una propiedad de
cada objeto correlativa al receptor sensitivo tacto. Por último, olor es una propiedad
cuyo valor es un objeto de la clase olor%. A continuación sintetizo estas propiedades y
sus posibles valores:
60
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
Tabla : Distintos tipos de objetos
nombre estado dureza olor color
blanco 0
0
olor0 255 255 255 1.0
rojo
1
5
olor0 255 0 0 1.0
verde
2
2
olor2 0 255 0 1.0
azul
3
7
olor0 0 0 255 1.0
negro
4
10
olor0 0 0 0 1.0
De los anteriores tipos de objetos, hay dos (blancos y verdes) que son especiales,
y son especiales por las siguientes razones: 1ª, porque sólo con el tipo de objetos blanco
es posible intercambiar la posición. Es decir, Animat sólo puede avanzar a una posición
donde haya un blanco; 2ª, porque Animat sólo puede comer objetos del tipo verde.
La matriz de datos del Entorno contiene toda la información, incluida la propia
de Animat porque es un objeto más del Entorno. Por ello, en cada iteración el Entorno
tiene una cierta configuración.
Todos los objetos excepto Animat están quietos porque carecen de dinamismo
propio (Entorno-0). Animat sí tiene dinamismo propio. Sin embargo, veremos
experimentos en que el dinamismo del entorno es distinto (Entorno-celular).
Tanto el intercambio de posiciones de Animat y un blanco como el cambio que
implica la desaparición de un verde (sustituido por un blanco) porque es comido no se
produce hasta que esta información no se asienta en la matriz de datos.
3. Animat del primer experimento
En este experimento Animat está dotado de un receptor sensitivo con el que
contacta con el entorno, recibiendo de éste tres estímulos. Estos estímulos son
procesados por una red formada por 15 fotorreceptores, cada uno de los cuales
producirá una respuesta cuyos valores posibles son 0 o 1. La salida de esta retina es
procesada por una red de tres capas del tipo perceptrón multicapa. La salida de esta red
61
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
es una orden motora, que constituye la entrada de los efectores de Animat. Los
efectores están constituidos por dos tipos de capacidades: una, de cambio de posición;
otra, de giro sobre su propio eje con el consiguiente cambio de orientación.
3.1. Receptor sensitivo
La retina está formada por fotorreceptores. Cada fotorreceptor es un ejemplar de
una clase de nombre fotorreceptor%. Lo característico de esta clase consiste en que cada
ejemplar pertenece a un tipo por el que es sensible al rojo, verde, azul, blanco o negro.
Los fotorreceptores se agrupan en tres unidades de 5 ejemplares. Con cada una de estas
agrupaciones se analiza un estímulo. La salida de cada agrupación sigue, por tanto, el
esquema siguiente:
Rojo Verde Azul Blanco Negro
3.1.1. Computación de un fotorreceptor
La computación de un fotorreceptor depende del tipo al que el ejemplar
pertenece y sigue la regla siguiente:
1. si la composición RGB del estímulo es igual al tipo RGB del fotorreceptor,
devuelve 1
2. en otro caso, devuelve 0.
3.1.2. Estructura de cada agrupación de fotorreceptores
Cinco
ejemplares
de
fotorreceptor%
conforman
una
agrupación
de
fotorreceptores según el esquema siguiente:
tipo_rojo tipo_verde tipo_azul tipo_blanco tipo_negro
La computación de una agrupación consiste en lo siguiente:
– Cada fotorreceptor pertenece a un tipo; cada estímulo es un objeto
perteneciente a un tipo (rojo, verde, azul, blanco o negro).
– Si coinciden el tipo del fotorreceptor y el del objeto, la neurona
62
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
fotorreceptora devuelve 1 ; en caso contrario, 0.
– El esquema de la salida de una agrupación de fotorreceptores es :
(0/1 0/1 0/1 0/1 0/1)
3.1.3. La red de fotorreceptores
La retina está formada por tres agrupaciones de fotorreceptores según el
esquema siguiente:
agrupación_1 agrupación_2 agrupación_3
La computación de la red puede ser expresada así:
– Cada uno de los tres estímulos (un objeto de un cierto tipo) estimula una de
las tres agrupaciones de fotorreceptores.
– La salida de la retina está formada, por tanto, por las salidas de las
agrupaciones.
– La salida de la retina puede tratarse, según convenga, como una única lista
de 15 elementos o como una lista formada por tres listas de 5 elementos cada
una.
3.2. Control central
El cerebro está formado por una única red de neuronas artificiales. Esta red, del
tipo perceptrón multicapa, está formada por tres capas:
1. Capa de entrada formada por 15 neuronas de entrada. Cada una de estas
neuronas recibe uno de los 15 valores de la salida de la retina.
2. Capa oculta formada por 15 neuronas. Cada una de estas está conectada con
cada una de las 15 neuronas de la capa de entrada.
3. Capa de salida formada por 4 neuronas, cada una conectada con cada una de
las 15 neuronas de la capa oculta.
Los parámetros de la red, pesos y umbrales, han sido obtenidos mediante la
aplicación de un Algoritmo Genético. La red produce una orden motora según el
esquema siguiente:
Tabla 2: Esquema orden motora
63
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
vec_1 vec_2 vec_3 giro
blanco 0
0
0
0
blanco 0
0
0
0
blanco 0
0
0
0
1
Si hay un blanco en cualquiera de las tres posiciones de los estímulos, el
esquema seguido será uno de las tres primeras filas. En ese caso, no habrá giro (valor 0).
En cualquier otro caso, cuando no hay un blanco entre los estímulos, el esquema
seguido será el de la última fila, y habrá giro porque su valor será 1.
3.3. Efectores
Animat tiene tanto la capacidad de avanzar a una posición vacía (donde hay un
blanco) como la capacidad de girar cambiando de orientación. Mientras que la
capacidad de avanzar es una locomoción o cambio de lugar, la capacidad de girar no es
una locomoción puesto que no hay cambio de lugar, pero sí es un movimiento que
produce un cambio de orientación en el aquí de Animat.
4. Animat del segundo experimento
En este segundo experimento Animat está dotado de tres receptores sensitivos:
vista, olfato y tacto. Y tiene un efector más: la acción de comer. No es la vista sino el
tacto y el olfato los receptores que proporcionan información, de modo distinto, sobre
comida.
Otra novedad es que cada receptor sensitivo se prolonga en una red de tipo ART
cuya función es clasificar la información analizada por cada receptor. Si se conciben
estas redes como un córtex-visual, córtex-tactil y córtex-olfativo, los órganos
sensoriales se conectan con zonas corticales. La salida de cada uno de esas tres zonas
corticales es el input de una red de tipo perceptrón multicapa.
Además he añadido otra zona cortical. Esta zona esta formada por un sensor de
energía, sensor que mide la energía existente en el sistema y un autómata de órdenes,
que discrimina entre necesidades y construye la orden motora. El sensor está, en cada
iteración o instante temporal, en un estado: 0, 1, y 2. Según el estado de este sensor, la
orden motora se construye en esta zona cortical según la idea siguiente: predomina la
64
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
vista, si no hay necesidad de comer; predomina el tacto, si hay poca necesidad de
comer; y predomina una combinación de tacto y olfato, si hay mucha necesidad de
comer.
4.1. Receptores sensitivos
Animat dispone de tres receptores sensitivos: retina, tacto y olfato. En el diseño
del tacto y el olfato he seguido el modelo de la retina del primer experimento. Por tanto,
hay neuronas fotorreceptoras, receptoras de lo tocado y quimiorreceptoras, estas dos
últimas siguen la misma idea ensayada en los fotorreceptores. Comparo sintéticamente
la estructura y composición de la retina, tacto y olfato en los apartados siguientes.
4.1.1. Estímulos y receptores sensitivos
La vista es estimulada por los tres objetos que están frente a Animat. Esos
mismos objetos son los que Animat toca. Sin embargo, Animat es capaz de oler cada
uno de los ocho vecinos que le rodean (vecindad de Moore).
La retina está formada por tres agrupaciones de fotorreceptores. Una agrupación
analiza un estímulo.
Tabla 3: Salida de una Agrupación de fotorreceptores
rojo verde azul blanco negro
1/0 1/0
1/0 1/0
1/0
El tacto está formado por tres agrupaciones de sensores del tacto. Cada
agrupación analiza un estímulo.
Tabla 4: Salida de una Agrupación de sensores táctiles
dureza-rojo dureza-verde dureza-azul dureza-blanco dureza-negro
1/0
1/0
1/0
1/0
1/0
El olfato está formado por ocho agrupaciones de quimiorreceptores. Cada
agrupación analiza igualmente un estímulo.
65
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
Tabla 5: Salida de una Agrupación de quimiorreceptores
olor-rojo olor-verde olor-azul olor-blanco olor-negro
1/0
1/0
1/0
1/0
1/0
4.2. Región cortical de los sentidos
Cada uno de los tres receptores sensitivos se conecta con una red ART. Como es
sabido, este tipo de redes es eminentemente clasificatoria. La salida de una red ART es
el identificador de la categoría en que la red ha clasificado el input recibido.
4.3. Redes de discriminación. Pre-órdenes motoras
Cada uno de los tres córtex sensitivos conecta con una red del tipo perceptrón
multicapa. La función de estas redes es discriminar entre dos categorías de estímulos:
los que representan una facilidad y los que representan una dificultad respecto a una
necesidad prioritaria.
Así, cuando Animat no necesita comer, sí necesita moverse: es un semoviente.
En estos casos Animat se guía exclusivamente por su vista. Y su vista le informa de dos
tipos posibles de estímulos: lugares vacíos (blancos) o facilidades para el avance; cosas
(objetos no-blancos) o dificultades para el avance.
Cuando Animat necesita comer, aunque su energía sea aún positiva, se guía por
el tacto para buscar comida y por la vista para cambiar de lugar. El tacto, como la vista,
le informa de dos categorías de estímulos: comida (verdes) o facilidad para incrementar
la energía del sistema; resto de objetos (no comida) o dificultades para incrementar la
energía del sistema.
En las situaciones en que Animat necesita comer urgentemente, se guía por el
tacto y el olfato para encontrar comida, y por la vista para cambiar de lugar. Si el tacto
detecta comida, Animat come. Si el olfato detecta comida y el tacto no, Animat gira (ver
tabla ). Si ninguno de los dos sentidos, tacto y olfato, detecta comida, Animat se mueve
según lo que informa su vista.
4.3.1. Red de discriminación visual
– Perceptrón de 3 capas
– Capa de entrada: 3 neuronas ; Capa oculta : 3 neuronas, función de escalón ;
66
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
Capa de salida: 3 neuronas, función de escalón
– El ajuste de parámetros se ha hecho mediante un Algoritmo Genético
– Salidas posibles:
Tabla 6: Red de discriminación visual
1 0 0 avanzar→vecino
0 1 0 avanzar→vecino
0 0 1 avanzar→vecino
0 0 0 girar
4.3.2. Red de discriminación táctil
– Perceptrón de 3 capas
– Capa de entrada: 3 neuronas ; Capa oculta : 3 neuronas, función de escalón;
Capa de salida: 3 neuronas, función de escalón
– El ajuste de parámetros se ha hecho mediante un Algoritmo Genético
– Salidas posibles:
Tabla 7: Red de discriminación táctil
1 0 0 comer→vecino
0 1 0 comer→vecino
0 0 1 comer→vecino
0 0 0 girar
4.3.3. Red de análisis olfativo
– Perceptrón de 3 capas
– Capa de entrada: 8 neuronas ; Capa oculta : 8 neuronas, función de escalón;
Capa de salida: 8 neuronas, función de escalón
– El ajuste de parámetros se ha hecho mediante un Algoritmo Genético
– Algunas salidas posibles:
Tabla 8: Red de análisis olfativo
acción
1 0 0 0 0 0 0 0 acción-según tacto
0 1 0 0 0 0 0 0 acción-según tacto
67
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
0 0 1 0 0 0 0 0 acción-según tacto
0 0 0 1 0 0 0 0 girar a derechas
0 0 0 0 1 0 0 0 girar a derechas
0 0 0 0 0 1 0 0 girar a derechas
0 0 0 0 0 0 1 0 girar a izquierdas
0 0 0 0 0 0 0 1 girar a izquierdas
4.4. Necesidades y órdenes motoras
Animat está concebido como un animal artificial dotado inicialmente de una
cierta cantidad de energía. Con cada acción realizada, Animat pierde un poco de esa
energía.
Mientras que la cantidad de energía es superior a 100, el sensor de energía
(estado = 0) no detecta necesidad de incrementar la energía del sistema. Cuando ese es
el caso, Animat no tiene necesidad de comer. En estas situaciones, Animat se guía
exclusivamente por su vista.
Si la energía del sistema baja de 100 (entre 100 y 0), el sensor de energía se
activa y su estado es 1. Mientras que este sea el caso, Animat tiene como prioridad
comer un verde. En estas situaciones, Animat se deja guiar por el tacto para encontrar
comida y por la vista para avanzar o girar.
Una tercera situación es aquella en que la energía del sistema es negativa (pero
mayor que −200). El estado del sensor de energía es 2. En estas situaciones, Animat
debe comer urgentemente porque si la energía del sistema baja de −200, Animat muere.
Cuando el estado del sensor de energía es 2, Animat se guía por el tacto y el olfato para
encontrar comida y por la vista para cambiar de lugar. En aquellas situaciones en que el
tacto no detecta comida y el olfato huele comida en algunos de los vecinos que no están
frente a Animat, gira a izquierda o a derecha según la ubicación del estímulo olfativo.
Dependiendo, pues, del estado del sensor de energía, Animat tendrá una
necesidad prioritaria u otra. La orden motora dependerá, en cada caso, tanto del entorno
como del estado del sensor interno de energía.
He organizado estas ideas en un módulo cuya computación sigue los criterios
siguientes:
– Estado del sensor de energía = 0, ORDEN = salida de la red de discriminación
68
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
visual
– Estado del sensor de energía = 1, ORDEN = salida de la red de discriminación
táctil o salida de la red de discriminación visual
– Estado del sensor de energía = 2, ORDEN = salida de la red de discriminación
táctil o salida de la red de análisis olfativo o salida de la red de
discriminación visual
4.4.1. Memoria de la orden previa
Cuando Animat lleva a cabo una acción de comer, la orden motora
correspondiente se almacena en la memoria reciente (propiedad orden_ensayada). Si la
acción no es de comer, no se almacena la orden motora correspondiente
(orden_ensayada = falso).
Si la orden motora es de avanzar y orden_ensayada ≠ falso, se sustituye dicha
orden motora por la contenida en orden_ensayada. En estos casos Animat avanza al
lugar ocupado por el último verde comido.
Se trata, pues, de un mecanismo de inhibición posible y sustitución de una orden
motora.
4.5. Efectores
Animat puede llevar a cabo tres acciones básicas: cambiar de lugar, comer y
girar. El cambio de lugar produce un cambio del aquí de Animat y, con ello, de la
perspectiva que Animat tiene del Entorno. Al girar no hay cambio del aquí pero sí de la
perspectiva que tiene del Entorno. Comer no produce un cambio en el aquí de Animat,
pero sí en su perspectiva del Entorno.
El cuadro de acciones posibles es el siguiente:
Tabla : Acciones posibles
orden motora acción
(0 1 0 0)
avanzar→vecino
(0 0 1 0)
avanzar→vecino
(0 0 0 1)
avanzar→vecino
(1 1 0 0)
comer→vecino
69
Actas del I Congreso de la Asociación Iberoamericana de Filosofía de la Biología (AIFBI)
(1 0 1 0)
comer→vecino
(1 0 0 1)
comer→vecino
(0 0 0 0)
girar a derechas
(1 0 0 0)
girar a izquierdas
70