Wolfram, en su libro "A New Kind of Science", hace un trabajo exhaustivo sobre los autómatas celulares en una dimensión. Después de leer en diversas ocasiones algunos de los capítulos de dicho libro, empiezo a sospechar que Stephen Wolfram nos sabe llevar de la mano para poder presentar los resultados de sus investigaciones. Vamos, no llega a conclusiones de la nada, sino que va armando el tema hasta que llega donde él quiere.
Por ejemplo, se inventa unos autómatas, a los que llama "móviles", para así pasar eventualmente a la discusión de si los autómatas en una dimensión son máquinas de Turing, que cabe decir, es un concepto. Alan Turing afirmaba que podía plantearse una máquina capaz de realizar cualquier cálculo. A esto eventualmente se llamaría la máquina universal de Turing.
Pero el punto aquí es que Wolfram demuestra que los autómatas son máquinas de Turing y entonces pasa a un tema por demás curioso: los sistemas de substitución. Por ejemplo, veamos la siguiente imagen:
Lo que aparece en los círculos rojos representan el sistema de substitución de dos diferentes autómatas celulares. Lo que aparece en verde es el inicio de un autómata. Por ejemplo, en la imagen izquierda, el sistema de substitución dice que un punto negro se substituye en un punto negro y uno gris; mientras que un punto gris se substituye por un punto gris y un punto negro. Si empezamos con el punto negro, al inicio del autómata, vemos que crece (si contamos los números de cuadros nuevos), en dos, cuatro, ocho, dieciseis, etcétera. Este autómata hace un cálculo, el duplicar el valor anterior. En la parte derecha de la gráfica, vems que el sistema de substitución pone un punto negro en un punto gris; un punto gris lo convuerte en un punto gris y un punto negro. Si procesamos el autómata con un solo cuadro gris como generación inicial, tenemos (en cuadros nuevos en total, por generación): 1, 2, 3, 5, 8, 13, etcétera, es decir, la serie de Fibonacci. La imagen anterior entonces muestra dos autómatas que, de acuerdo a las reglas de substitución, o calculan el doble de un número o calculan la serie de Fibonacci.
Si abstraemos un poco la idea, veremos entonces que lo que hemos encirculado en rojo son el software, el programa que se ejecuta en una máquina, en este caso, el autómata celular. Pero podemos ir más lejos, y es expresar ya no con dibujitos, sino simbólicamente estas reglas. Así, para el valor que duplica el autómata podríamos escribir estas reglas de substitución: A --> AB y B -->BA. Esto dará entonces:
A --> AB --> ABBA --> ABBABAAB ...
Lo que tenemos aquí es una gramática, cuyos elementos son A y B, con las reglas de dicha gramática (A --> AB y B -->BA), las cuales permiten generar "todas las oraciones válidas" de acuerdo a las reglas de substitución planteadas. Esto lleva a darnos cuenta que los programas de computadora son reglas de substitución, que generan una gramática y ésta a su vez, al procesarse, es lo que llamamos la ejecución de un programa.
Pero vayamos más lejos: Si vemos la figura siguiente (ver más abajo), encontraremos el software (los esquemas de substitución), pero como dibujos de lo que asemejarían árboles. Por ejemplo, en la imagen de la izquierda, vemos que una barra oscura se convierte en una barra oscura,con una subrama a la izquierda, oscura también y una subrama derecha gris. Y la segunda regla de substitución nos dirá que una barra (rama) gris, se convertirá en una barra gris con subrama a la derecha gris y a la izquierda negra.
Y esto genera imágenes que sin duda se asemejan a los árboles. Desde luego aquí puede ser que hablemos de cierta simetría que no se llega a ver en los árboles reales, pero estamos ilustrando esto nada más. De hecho, la simetría en los árboles quizás no se da por el ambiente externo donde están, si tienen más acceso a agua y nutrientes, etcétera.
El otro día fui a los viveros de Coyoacán. Paseé por los diferentes negocios y me di cuenta de algo, lo cual es una conclusión que me parece asombrosa: el crecimiento de las plantas es una gramática.
