El juego de la vida y las máquinas autorreplicantes

En 1970, John Conway un matemático británico inventó un juego que denominó "El juego de la vida". Basado en simples reglas, es un entretenimiento donde el jugador sólo tiene un reducido - aunque trascendental - papel: Establecer la configuración inicial del juego. Las implicaciones de ese punto cero tienen un impacto profundo en lo que pasará luego.

Los elementos y las reglas del juego son sencillos. Una cuadrícula donde cada celda puede estar o no ocupada por una celula, una sucesión de turnos (generaciones) y reglas simples de nacimiento / muerte:
  • Cada celda tiene dos estados posibles. Viva o muerta.
  • Si una celda muerta tiene 3 celdas vecinas vivas la próxima generación estará viva (regla de reproducción)
  • Si una celda viva tiene más de 3 celdas vivas vecinas, la próxima generación estará muerta (regla de superpoblación)
  • Si una celda viva tiene 2 o 3 celdas vecinas vivas se mantendrá viva.
  • Una celda viva morirá si tiene menos de dos celdas vivas a su alrededor.


John Conway
Conway buscaba un juego de reglas simples pero con un objetivo ambicioso: lograr construir una máquina de Von Neumann. Estas, genéricamente conocidas como máquinas autorreplicantes, son maquinas capaces de realizar copias de si mismas utilizando los recursos del ambiente.

John Von Neumman fue un brillante matemático húngaro nacido en 1903. Contribuyó en diversos campos: desde el nuclear (siendo miembro del proyecto Manhattan), pasando por la física cuántica a la ciencia computacional.

Uno de los últimos intereses de Von Neumann fue las máquinas autorreplicantes. En una serie de lecturas y artículos que se publicaron póstumamente en el libro "Theory of Self-Replicated Automata" el matemático analizaba diferentes escenarios para su construcción. Su experimento mental de un robot en un mar de piezas que busca y construye una replica suya se hizo famosa. Aunque, el matemático prontamente abondonó esa linea de investigación para abrazar la idea del autómata celular. Lograr conseguir piezas complejas para duplicarse no parecía una realidad prometedora

John Von Neumann
Un autómata celular es un modelo matemático compuesto por un conjunto de celulas o celdas que pueden tomar diferentes estados. Estas celdas están vinculadas a otra celdas vecinas con las que interactuan según reglas de cambio de estado. La interacción de las celdas se realiza por turnos mediante la discretización del tiempo (generaciones).

Stanislaw Ulam - compañero en el laboratorio nacional de "Los Álamos" de Von Neumann - que estudiaba el crecimiento de cristales utilizando una simulación mediante una grilla - le dió a Von Neumann un punto de partida. El húngaro construyó en 1952 una grilla en dos dimensiones donde cada celda podía adoptar 29 estados diferentes. Armó un conjunto de reglas bastante complicadas con la idea de emular diferentes tipos de operaciones llevadas a cabo por dispositivos mecánicos y electrónicos. Logra además construir una configuración de 200.000 celdas que podían realizar una copia de si misma en otra parte de la grilla.

Los autómatas celulares forman parte de un más extenso campo de investigación llamado, a expensas del científico Christopher Langton, "Vida artificial". El término, acuñado en la década de los 80, engloba diversos campos que intentan investigar la construcción de estructuras que emulen el comportamiento de los seres vivos.

John Conway, dos décadas luego de su tocayo, intentó crear su versión pero altamente simplificada. Esta versión se hizo conocida gracias a la publicación de un artículo en la revista Scientific American donde se la presentaba como un juego del estilo del "solitario". La publicación informaba del programa informático para su simulación creado por el autor en una DEC PDP-7 y algunas estructuras básicas encontradas.

Construir el programa con un lenguaje de programación de alto nivel es muy sencillo. Sin embargo las formaciones y las secuencias que se pueden visualizar son altamente complejas. El juego de la vida es determinístico, la configuración inicial determinará como se comportará en las próximas generaciones y su destino final. Dos configuraciones iniciales muy similares - aún variando en solo una celda - pueden tener como resultados procesos totalmente diferentes. Este tipo de comportamiento es el analizado por la teoria del caos.

Conway comienza a estudiar diferentes patrones y diferentes comportamientos y encuentra configuraciones que le llaman la atención. Ciertos patrones iniciales son estáticos y no cambian de generación en generación. Otros patrones son osciladores, es decir que se repiten luego de un número determinado de generaciones (la imagen inicial del artículo es un ejemplo conocido como pulsar ). También se pueden configurar naves espaciales que son estructuras que a la vez que oscilan se van desplazando por la grilla.

Las imágenes anteriores son ejemplos de algunos de los patrones mencionados. La primera es conocida como "Beehive" y es estática. La segunda es "blinker" y es un oscilador. La ultima es "glider" y es una nave espacial que se desplaza en diagonal.

Conway observa que ciertos patrones iniciales tienden a estabilizarse. Algunos de ellos con el resultado de la destrucción total de las células vivas. En otros casos en un estado que contiene osciladores, elementos estáticos y naves espaciales que se alejan. Se pregunta si existirá una configuración inicial que crezca infinitamente en la cantidad de células vivas presentes. Ofrece 50 dolares para el primero que lo demuestre.

Bill Gosper en Noviembre de 1970 se hace acreedor del premio. Crea lo que hoy recibe el nombre de "Gosper glider gun", una configuración inicial que tiene un núcleo oscilador que cíclicamente crea una nave espacial que se aleja. De esa forma con el paso de las generaciones la cantidad de células vivas siempre va en aumento.

Gosper tiempo después encuentra un nuevo patrón que se recibe el nombre de "puffer train", que es un conjunto de celdas que se van moviendo dejando en su camino restos (que en la imaginación del autor son como el vapor de la locomotora). Tanto los "guns" como los "puffers" comienzan a ser utilizados para generar nuevas configuraciones más complejas.

Con el paso de los años cada vez más gente involucrada intenta lograr lo que Conway se propuso encontrar con el juego: un patrón autorreplicante. Un hito importante ocurrió en Abril de 2010 con la construcción de una máquina de Turing utilizando un patrón inicial creado por Paul Rendel (Turing Machine implemented in Conway's Game of Life). No mucho tiempo después, en Mayo de 2010, Andrew J. Wade informó la creacion de un patrón que se copiaba a si mismo en el transcurso de 34 millones de generaciones. El patrón conocido como "Gemini" tenía el problema que al finalizar su copia, el original se destruía. Otro patrón complejo e interesante incluso tiene la capacidad de calcular los números primos! Finalmente en Noviembre de 2013, Dave Greene consiguió lo tan esperado construir un patrón autorreplicante.


El juego de la vida con celdas biestables y reglas sencillas logra en su interacción comportamientos increíbles. Se conoce como emergencia a la propiedad - en sistemas de múltiples partes que interaccionan entre si - de comportamientos exhibidos del conjunto que sus partes no poseen. Una máquina de Turing o estructuras autorreplicantes en el juego de la vida sin duda son un buen ejemplo. La emergencia es parte importante de la teoría de los sistemas complejos. El juego de la vida se comporta con ciertos patrones iniciales como un sistema de estas características.

Así como existen patrones que convergen a sistemas estables, en otras ocasiones un patrón determinado podría ser caótico. Es decir no se estabilizaría en el tiempo. Se han encontrado patrones a los que se los ha denominado "matusalem" (por el personaje bíblico que vivió casi mil años) que tardan un tiempo considerable en estabilizarse. Pero no se pudo determinar un patrón caótico que no termine nunca. No hay nada que indique que esto no es posible. Aunque probar que esto es así tampoco es factible. Esto se debe al conocido como problema de la parada (del que comente en un artículo anterior sobre inteligencia artificial). Puesto que, no es computable saber dada una configuración inicial, si la misma se estabilizará en algún momento. La única forma de comprobarlo es ejecutarlo y generación a generación determinar si se estabilizó o seguir hasta el infinito.

El juego de la vida se aproxima al medio siglo de vida y aun tiene preguntas sin responder y un nutrido grupo de entusiastas que como en este foro comunica sus dudas y descubrimientos. No hace falta hacerse un experto. Tambien se puede jugar rato en simuladores online como este.

Comentarios