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 BoleroUn 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