Este texto es un transtexto, esto es, un texto conformado con párrafos que son nodos en la red de textos navegable en gramatrama. Este texto lo conforman 7 párrafos, numerados en la red: 2, 16, 48, 49, 50, 51, 52.


construcción de un modelo simple de vida artificial

 

El modelo de vida artificial Bolero es un modelo muy simple que diseñé para introducir en seminarios y talleres el concepto de vida artificial a través de la elaboración completa de un ejemplo. No se requiere de ningún conocimiento matemático o técnico especialmente difícil para comprender su elaboración. Parte de los sistemas L, un algoritmo de generación de imágenes (generalmente fractales), muy popular y del que se han creado infinidad de aplicaciones, muchas de ellas en el campo de la vida artificial.

¿qué es la vida artificial?

Simulaciones y modelos de la vida… pero, ¿qué es la vida? La vida artificial es un campo de acción en la ciencia y en el arte. Su riqueza radica en la diversidad de enfoques que existen para definir la vida. No hay consenso al respecto, ya no solo al tener en cuenta las versiones que provienen de diferentes culturas, tampoco al interior de la nuestra, ni siquiera en el mundo académico de la ciencia. Las múltiples versiones de lo vital enriquecen la creación de simulaciones de lo viviente.

El modelo que desarrollo a continuación es entonces un modelo de vida artificial ya que simula -eso sí, de forma extremadamente simple- algunos aspectos de la vida: la relación entre código y comportamiento como analogía del código genético, el movimiento y desplazamiento de organismos en el espacio, como ocurre en los reinos bacteriano, protoctista y animal, y, sobre todo, el intercambio de información genética. Este intercambio no se da de forma sexual, puesto que por sexo y reproducción entendemos los eventos en los que dos organismos combinan sus genes para procrear otro. En cambio, el intercambio genético aquí sintéticamente simulado, se asemeja más a la capacidad que tienen las bacterias de intercambiar "trozos" de información genética e incorporarlos, lo que de hecho hace muy difícil -sino es que imposible- establecer una taxonomía de especies en este reino.

conceptos preliminares: iteración y sistemas dinámicos

La iteración es la repetición de un proceso (normalmente en el contexto de la programación). Si el proceso es una función, esto es: depende de una información, y devuelve como resultado otra información, el proceso iterativo de tomar la información resultado del paso anterior como punto de partida para evaluar la función en el siguiente paso, durante un número indefinido de pasos, se denomina sistema dinámico. El sistema dinámico y un valor inicial generan una sucesión de valores (que resulta de iterar la función sobre sus resultados). Distintas suceciones en distintos sistemas dinámicos pueden poseer cualidades interesantes.

sistemas L, representación gráfica y movimiento

Un sistema L es un sistema dinámico que opera sobre una cadena de caracteres. Requiere de una cadena y una o más reglas. El siguiente ejemplo utiliza sólo una regla:


F
F > F+F--F+F


La primera línea es la cadena inicial y la segunda línea es la regla, que básicamente expresa que se remplaze cada aparición de “F” por “F+F--F+F”.
Al iterar el sistema dinámico (para esto se puede utilizar un procesador de texto, que permite remplazar cadenas de caracteres por otras) se obtiene una sucesión de cadenas cada vez más largas:

F

F+F--F+F

F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F

 

Una cadena de caracteres compuesta de “F”, “+” y “-“ puede ser interpretado de la siguiente forma: “F” significa avanzar, “+” girar 30 grados a la izquierda, “-“ girar 30 grados a la derecha. Con esta interpretación una cadena de este tipo puede ser representada gráficamente*. No es muy diferente a como funciona el lenguaje LOGO**.
Un sistema L genera una secuencia de cadenas, cada una de ellas con una interpretación y una representación gráfica asociada, con lo que además de una secuencia de cadenas de caracteres obtenemos también una secuencia infinita de imágenes.

*Este tipo de ejercicio: pasar de un código a una interpretación gráfica y posteriormente a una representación, es lo que Hans Diebner, del ZKM, denomina hermeneutica operativa, en donde se funden las culturas de lo interpretativo y de lo fenomenológico, ver: diebner.de/research/hermeneutics_en.html

**En los 70 y 80 el lenguaje LOGO era muy utilizado en escuelas, para muchos fue nuestra primera aproximación a la programación (antes de BASIC). Otra lengua muerta...

 

EL sistema L:

F
F > F+F--F+F

Junto con la siguiente interpretación: “F” avanzar; “+” girar 30 grados a la derecha; “-“ girar 30 grados a la izquierda, genera una serie de imágenes que convergen a un fractal llamado curva de Koch*.

   

*Más información sobre el fractal de Koch: es.wikipedia.org/wiki/Copo_de_nieve_de_Koch

 

Una cadena de texto y un conjunto de interpretaciones geométricas para cada uno de sus caracteres forma una figura geométrica que puede ser representada estáticamente o como un movimiento que se repite si la lectura de cada carácter se ejecuta temporalmente. Podemos imaginar que una cadena (y su sistema de interpretación) es el código genético de un organismo cuyo fenotipo es la forma como este organismo se desplaza en el espacio –dictaminada por su código-. Pasamos entonces de una interpretación, a una representación, a una segunda interpretación de tipo narrativa, metafórica.

definición del modelo de vida artificial Bolero

Un organismo vivo es, en el modelo, una cadena de caracteres con una interpretación geométrica –avance, retroceso, giro de n grados…- para cada carácter, y una posición inicial en un sistema de coordenadas.
Supongamos que tenemos dos organismos con dos cadenas (códigos genéticos) diferentes y con posiciones iniciales diferentes. Al ejecutarse la interpretación de las cadenas los organismos se desplazarán en el espacio. Ahora añado una regla que los relaciona: si en algún momento se encuentran en el espacio (la distancia entre ellos se hace menor a cierto valor) entonces modifican mutuamente sus códigos de alguna forma. Con el ánimo de preservar la metáfora de modelo de vida artificial, la regla de transformación de código (que llamaré mutación a partir de ahora) será de cierto tipo en la que una parte del código de un organismo pase al código del otro y viceversa, con algún margen aleatorio. Se trata de una mutua influencia o intercambio genético, simulando (de forma muy simple) la capacidad de las bacterias de intercambiar secuencias de ADN. Para salpimentar el modelo/metáfora podemos considerar un evento de baja probabilidad en donde uno de los dos organismos, tras el encuentro, tenga una mutación especial: una iteración de la cadena bajo un sistema L predefinido, que hará que su código se complejice, y por lo tanto su movimiento. Este modelo es por supuesto muy sencillo pero evoca algunas cualidades de la vida. Quizá su aspecto más interesante es que cada encuentro modifica el patrón de movimiento de los dos organismos y de esta manera se vuelve a abrir la posibilidad de que haya o no un nuevo encuentro futuro. A decir verdad, tarde o temprano, y esto es inevitable, habrá un encuentro que será el último; de ahí el nombre con el que bauticé este pequeño modelo de vida artificial.

   

 

 

 

Santiago Ortiz 2005
en moebio.com encuentras otros textos, piezas interactivas e información sobre exposiciones y talleres