Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Programación lúdica: Autómatas celulares y la complejidad de la Naturaleza

Quienes creen en la existencia de un ser supremo aluden con demasiada frecuencia que el mundo tal y como lo conocemos, con la complejidad que...

ca-wolfram00

Quienes creen en la existencia de un ser supremo aluden con demasiada frecuencia que el mundo tal y como lo conocemos, con la complejidad que lo caracteriza, no puede ser obra del azar. “Se necesita un relojero para fabricar un reloj”, apuntan con insistencia. Por su parte, Carl Sagan comentaba que no había necesidad de un dios para explicarse el Universo. Cuando le decían que Dios creó todo lo que nos rodea, él contraatacaba con la pregunta: “¿Y quién creó a ese ser que hizo todo el derredor?” La respuesta solía ser: “Esa es una pregunta sin sentido”, por lo que Sagan culminaba: “Pues yo pienso igual. No necesitamos ir un paso más allá considerando la presencia de Dios. Simplemente preguntarse quién creó el Universo no tiene sentido. No veo el problema entonces”.

El asunto aquí es que Sagan sabía matemáticas que finalmente, como dijo Galileo, es el lenguaje de la naturaleza. Y en esta rama de la ciencia se encuentran muchas soluciones a problemas que aparentemente no podrían tener otra explicación más que teológica. Consideren por ejemplo un árbol. Está compuesto de un tronco el cual se divide en dos o más ramas, que no son más que subárboles. Y así sucesivamente. En esto hay una autosimilitud, la cual es la palabra clave de lo que más tarde se inauguraría como una gran ciencia, la teoría de los fractales, la nueva geometría a decir de muchos. Sabemos que lo que llamamos geometría euclidiana tiene ya más de 2000 años de existencia. Su utilidad reside en que explica el mundo que el hombre ha creado, el de círculos, esferas, líneas rectas y curvas simples. Aunque tales curvas suponen ya una abstracción de la realidad, no pueden explicar una formación rocosa o la forma de una nube. Así entonces, nuestro esquema falla. En palabras del descubridor de los fractales, Benoit Mandelbrot: “Las nubes no son esferas, las montañas no son conos, los litorales no son círculos y las cortezas no son lisas, ni los relámpagos se desplazan en líneas rectas”.

En cierto sentido, una mirada atenta a muchos fenómenos naturales nos hace hallar que a pesar de su forma enrevesada, de su aparente irregularidad, las nubes y montañas y los árboles están llenos de formas que se repiten a escalas diferentes dentro de cada uno de estos objetos. Un fragmento de roca, por ejemplo, se parece mucho a la montaña de la cual ha sido extraído. Las ramas de un árbol suelen tener el mismo trazado en su corteza como en su tronco. Este mismo esquema se repite incluso al observar cómo se distribuyen las arterias y venas en el cuerpo humano. Son todos estos ejemplos de fenómenos autosemejantes (término acuñado por el mismo Mandelbrot, el “padre” de esta nueva ciencia).

Para 1975, Mandelbrot introdujo el término “fractal”, para denominar esta autosemejanza en muchos fenómenos cuyas irregularidades parecen evidentes. Los objetos fractales contienen estructuras incrustadas unas dentro de otras. Cada estructura menor es como una miniatura, no necesariamente idéntica, o sea, una versión del formato más grande. Las matemáticas de los fractales reflejan esa relación existente entre los modelos contemplados en su totalidad y las pautas halladas en las partes de esa totalidad.

Tenemos entonces muchos fenómenos naturales que se comportan como fractales. En el estudio teórico se buscan simplificaciones de estos modelos. Uno de ellos son los autómatas celulares en una dimensión, los cuales representan a sistemas naturales dinámicos complejos, conteniendo un gran número de componentes idénticos en donde existe interacción entre ellos. Esto puede representarse como una matriz de sitios o celdas en una dimensión, en una línea recta. Cada celdilla tiene la posibilidad de tener un valor determinado en ella. Este conjunto de valores posibles es finito. Los números en estas celdas se desenvuelven sincrónicamente en pasos discretos del tiempo de acuerdo a ciertas reglas de transición, la cual se aplica a cada sitio de la matriz unidimensional. La regla de transición está dada por los valores previos de una vecindad de sitios alrededor de la celda de interés. Esta regla se aplica en paralelo.

Si uno observa cómo se desenvuelve cada generación de celdas unidimensionales, y las ponemos una debajo de la otra, descubriremos un patrón complejo, autosemejante, generado a través de reglas ciegas, que no entienden ni discurren, que solamente se ejecutan en paralelo en todas las celdas o sitios del autómata celular unidimensional. De pronto nos encontramos con un comportamiento complejo, creado literalmente “a ciegas”, pero que muestra una complejidad que muchos creyentes en Dios considerarían como la única explicación a esta creación. Esto es como decir que el relojero es ciego (como Richard Dawkins exclamaría), lo cual nos hace pensar que no necesariamente hay atrás un dios que explique lo que consideramos inexplicable (de hecho, usar a Dios para estos menesteres es irnos por la salida fácil. No explica nada, sólo justifica algunos hechos). Y esto me recuerda cuando Napoleón le comentó a Lagrange que su obra magistral, el Tratado de Mecánica Celeste, no hacía referencia en ninguna parte a Dios. El científico contestó: “es que no necesito de esa hipótesis”. Yo pienso que esa es una respuesta magistral y que refleja, de alguna manera, la forma en como se hace la ciencia.

Estas reglas son las que definen el comportamiento en la evolución del autómata. Por ejemplo, consideremos una línea de células y las siguientes reglas locales:

  • 000 → 0
  • 001 → 1
  • 010 → 0
  • 011 → 1
  • 100 → 1
  • 101 → 0
  • 110 → 1
  • 111 → 0

Por ejemplo, consideremos una línea que contenga dos células en el medio de la misma, es decir:

000…001100…000

La evolución de la siguiente generación pide revisar cada célula en la línea. Cuando tenemos 000…000… no hay cambio alguno, pero llega un momento en que tenemos 001 (recuérdese, sólo hay dos células en la línea del autómata). Hallamos que tenemos que calcular el resultado cuando encontramos 001. Eso, de acuerdo a la tabla da como resultado un 1. Se pone en la siguiente línea, debajo de la célula que estamos analizando. Ahora movemos nuestro apuntador a la siguiente célula y hallamos la configuración 011, la cual da como resultado un 1. Pasamos a la siguiente célula y encontramos la configuración 110, lo cual vuelve a darnos un 1. Seguimos con este procedimiento y hallamos los valores 100, lo cual de nuevo, da un 1. Inmediatamente después todos los valores dan 0. El autómata quedará entonces así en la segunda generación (la primera generación es la inicial):

000…001100…000 [Generación inicial]
000…011110…000 [Segunda generación]

Pues heme aquí trabajando sobre autómatas celulares en una dimensión. Escribí un programa que puede desplegar la evolución de cualquier regla que se dé en las 8 posibles opciones binarias (de 0 a 7, de 000 a 111 (en binario)). A quien le interese ver el complejo funcionamiento de este autómata puede definir la regla que deseé y observar la evolución en la pantalla. Cabe decir que la regla 30 es quizás la más sorprendente, pues genera un comportamiento azaroso y caótico.

Más de uno se preguntará para qué sirve todo esto, ¿qué explica? Un muy buen ejemplo es la pigmentación de la piel de algunos animales, como las cebras, cuyas rayas es aparentemente un autómata celular.  Pero un mejor ejemplo es la siguiente concha de caracol:

caracol00
Quien quiera mi programa, puede pedírmelo a [email protected] y se lo mando de regreso por correo electrónico a la brevedad.

Referencias:

Autómatas celulares undimensionales

Comentarios