Читать книгу Jugando a ser Dios - Manuel López Michelone - Страница 9
Capítulo iii
El Juego de la vida de John Conway
ОглавлениеUn matemático es un hechicero que revela sus secretos.7
John Horton Conway
Hay un juego de computadora fascinante, llamado Juego de la vida, que fue diseñado en 1970 por el matemático británico John Horton Conway,8 en la Universidad de Cambridge, Inglaterra. Se hizo muy popular desde que Martin Gardner, en su columna de octubre de ese año en la revista Scientific American, abordara las ideas de dicho matemático. Pero más allá de ser un interesante pasatiempo, el Juego de la vida contiene las ideas que originalmente Von Neumann intentó plasmar en su autómata celular. Lo importante aquí es que Conway halló una serie de reglas simples para su autómata celular en dos dimensiones que permitieron superar las dificultades que Von Neumann enfrentó en su momento para crear máquinas que se autorreplicaran.
[no image in epub file]
John Horton Conway.
El Juego de la vida ocurre en un tablero cuadriculado, en cada casilla o escaque puede haber una célula o estar vacío. La idea es acomodar una serie de células en la malla cuadriculada, y observando las vecindades de cada célula, es decir, cada cuadro, mediante las reglas de Conway (véase más abajo), determinar las nuevas configuraciones de células que aparecerán en la siguiente generación.
Puede apreciarse que el Juego de la vida de Conway no es estrictamente un juego de video, pues el jugador no hace nada más que ver la evolución que en cada tiempo, en cada generación, aparece en la pantalla. Las reglas de evolución en el Juego de la vida son:
No ha de haber ninguna configuración inicial para la que pueda demostrarse fácilmente que la población crecerá de manera ilimitada.
No deben existir configuraciones iniciales que en apariencia crezcan indefinidamente.
Han de existir configuraciones iniciales sencillas que crezcan y cambien durante periodos de tiempo considerables, antes de acabar en una de estas tres posibilidades:
a) extinguirse completamente (ya sea por superpoblación o por excesivo enrarecimiento);
b) adoptar una configuración estable, invariable en tiempos sucesivos o
c) entrar en fase oscilatoria, donde se repitan sin fin, cíclicamente, dos o más estados.
Cabe decir que las reglas que se definan para el Juego de la vida deben ser tales que la conducta de la población resulte a un tiempo interesante e impredecible. Las reglas de evolución, dadas por el propio matemático, llamadas también reglas genéticas, son de una grata sencillez y pensamos que Conway las fue descubriendo (¿inventando?) poco a poco.
Tomemos un plano cuadriculado de dimensiones infinitas. Cada sitio, cuadro o casilla, tiene ocho casillas vecinas: cuatro ortogonalmente adyacentes, en diagonal, dos en vertical y dos en horizontal. Es posible adjudicar a cada sitio un valor binario (hay célula o no hay en esa casilla). Las reglas son:
Supervivencia: cada célula o ficha que tenga dos o tres fichas vecinas sobrevive y pasa a la generación siguiente.
Fallecimiento: cada ficha que tenga cuatro o más vecinas muere y es retirada del tablero, por sobrepoblación. Las fichas con una vecina o solas fallecen por aislamiento.
Nacimientos: cada casilla vacía, adyacente a exactamente tres cifras vecinas —tres, ni más ni menos— es casilla generatriz. Es decir, en la siguiente generación habrá de colocarse una ficha en esa casilla.
Es importante hacer notar que todos los natalicios y fallecimientos ocurren simultáneamente y constituyen en su conjunto una generación en particular al paso del tiempo t, también llamado tic del reloj.
Para ciertas configuraciones iniciales de sitios distintos de cero (casillas vacías), las generaciones subsiguientes van experimentando cambios constantemente, algunos parecen insólitos y otros inesperados. En algunos casos, la sociedad termina por extinguirse (al quedar eliminados todos los sitios en donde hay células), y esto puede acontecer después de muchas generaciones (pasos del reloj). Sin embargo, casi todas las generaciones terminan por alcanzar figuras estables, que Conway bautizó como naturalezas muertas, incapaces de cambio, o formaciones que oscilan por siempre.
En un principio, el inventor de este singular juego conjeturó que ningún patrón inicial podría crecer ilimitadamente. Dicho en otras palabras, ninguna configuración compuesta por un número finito de fichas puede crecer hasta rebasar un límite superior finito, que restringe el número de fichas que puede contener el campo del juego. Seguramente ésta es la cuestión más difícil y profunda que plantea este pasatiempo.
Conway ofreció un premio de 50 dólares a la primera persona capaz de probar o de refutar la conjetura antes de finalizar 1970. Una forma de refutarla sería dar con las configuraciones que, generación tras generación, añadiesen más piezas al terreno de juego: un cañón (es decir, una configuración que repetidamente dispara objetos en movimiento), o bien el tren puf-puf (configuración que al paso del tiempo t avanza dejando tras de sí una estela de “humo”).
La conjetura de Conway se refutó en noviembre de 1970. Un grupo integrado en el proyecto de inteligencia artificial del mit, comandado por William Gosper, halló un cañón lanzadeslizadores, el cual genera un deslizador cada 30 pulsos de reloj (o generaciones). Ese cañón suscita una interesante posibilidad de que el juego de Conway pueda simular una máquina de Turing,9 la cual es capaz de hacer, en principio, cualquier cálculo. Si el juego permite esta alternativa, entonces la siguiente pregunta es si podría crearse un constructor universal. De esto se encontraría una máquina con capacidad de autorreproducción no trivial. Desafortunadamente, hasta la fecha no ha podido construirse.
La máquina de Turing fue descrita por su propio creador, Alan Turing, en 1936, quien la llamó una “máquina automática”. Esta máquina no es tecnología de computación físicamente, sino un dispositivo hipotético que representa una máquina de computación.
Turing dio una definición sucinta del experimento en su ensayo de 1948, “Máquinas inteligentes”. Refiriéndose a su publicación de 1936, escribió que la aquí llamada máquina de computación lógica, consistía en:
una ilimitada capacidad de memoria obtenida en la forma de una cinta infinita marcada con cuadrados, en cada uno de los cuales podría imprimirse un símbolo. En cualquier momento hay un símbolo en la máquina llamado el símbolo leído. La máquina puede alterar el símbolo leído y su comportamiento está en parte determinado por ese símbolo, pero los símbolos en otros lugares de la cinta no afectan el comportamiento de la máquina.10
La cinta puede ser movida hacia adelante o hacia atrás, lo cual es una de las operaciones elementales de la máquina de Turing. Lo interesante es que el Juego de la vida de Conway puede caracterizarse de acuerdo con esta definición. En principio es posible usar configuraciones muy específicas, como las de los deslizadores, para llevar a cabo cualquier cómputo que pueda efectuarse con la más potente de las computadoras digitales. Mediante la disposición de cañones lanzadeslizadores y otras formas de “vida”, es posible calcular π, e, la raíz cuadrada de 2, o de cualquier otro número, con cualquier número de cifras decimales.
Un deslizador (glider) del Juego de la vida.
No obstante, se ha encontrado que el Juego de la vida es finalmente un autómata celular bidimensional, del cual en apariencia no podemos saber su estado en la generación n sin hacer la simulación explícita. Esto es, por la teoría de la indecibilidad sabemos que no hay manera de saber por adelantado si un problema cualquiera es resoluble o no y, por consiguiente, no hay formas de saber anticipadamente si en el Juego de la vida, dada una configuración cualquiera, continuará cambiando o si alcanzará un final estable. Conway mismo, en una carta a Martin Gardner, comenta: “si los deslizadores pueden formar por colisión un pentadecatlón, entonces se pueden producir máquinas autorreplicantes; la cuestión de si una máquina dada es autorreplicante no es decidible”.
Desarrollo en el tiempo del deslizador (glider).
Sin embargo, es un hecho comprobado que los deslizadores pueden crear pentadecatlones al colisionar, por lo que en el espacio de configuración del juego es posible construir máquinas autorreplicantes, es decir, máquinas que construyan copias exactas de sí mismas. La máquina primitiva puede permanecer en el espacio, o bien ser programada para que se autodestruya cuando haya saca-
do una copia de sí misma. Hasta ahora no se sabe de nadie que haya construido una máquina de este tipo, pero si Conway está en lo cierto, entonces es posible construirlas.
Probar diferentes configuraciones de “células” en el Juego de la vida es la manera más simple de entender lo que puede pasar a través de las generaciones. Éstos son finalmente los patrones básicos de este juego. Hay dos maneras de realizar este proceso; una es “a mano”, es decir, usando una hoja cuadriculada, dibujando las celdas y viendo su desarrollo de generación en generación de acuerdo con las reglas que Conway diseñó. El problema de este enfoque es que es fácil cometer errores al crear la siguiente generación. La segunda posibilidad es mucho más cómoda: utilizar algún programa de computadora que permita dibujar las células en una cuadrícula, en la pantalla, y hacer que el software mismo nos muestre cómo se desarrollan y evolucionan las siguientes generaciones. Ésta evita errores humanos, y además hay muchísimos programas de código abierto que permiten interactuar con el Juego de la vida.11
Por ejemplo, al empezar a jugar poniendo diferentes configuraciones de células, hallamos patrones simples y estáticos, es decir que no cambian a través de las generaciones. A ellos el propio Conway los llamó “naturalezas muertas” (still lifes). Los más comunes son:
Algunas de las “naturalezas muertas”.
Cuatro células unidas forman un bloque, el cual se mantiene así por el resto de las generaciones. La colmena o panal (beehive en inglés), se forma con seis celdas que no cambian en el tiempo. Otras configuraciones comunes son el zángano o molde (loaf) y el bote, las cuales son todas estáticas.
Sin embargo, hay otras configuraciones que cambian de generación en generación, que son estables y que además son oscilatorias. Algunos las consideran como un superconjunto de las naturalezas muertas. Las siguientes tienen periodo 2, es decir que cada dos generaciones se repite la configuración inicial:
Generación 1 Generación 2
Aquí tenemos el parpadeante (blinker), el sapo (toad) y el aviso o faro (beacon). Estas tres configuraciones son también bastante comunes. Hay, evidentemente, otras que tienen periodos más largos. Por ejemplo, el pulsar es el oscilador más común con un periodo 3 de oscilación. La mayoría de los osciladores son de periodo 2, pero hay otros que tienen periodos mucho más largos. Se han hallado osciladores con periodo 4, 8, 14, 15, 30, incluso a partir de configuraciones iniciales puestas al azar.
Hay patrones llamados Matusalén debido a que pueden evolucionar por largos periodos de tiempo (generaciones) antes de que se estabilicen. El primero de ellos fue el F-pentómino.
F-pentómino.
Otro muy interesante en esta categoría es el llamado Diehard (duro de matar), el cual es un patrón que eventualmente desaparece (después de mucho rato antes de estabilizarse) tras 130 generaciones. Se ha conjeturado que éste es el número máximo de generaciones para los patrones con siete o menos celdas. El patrón Acorn (bellota) toma 5206 generaciones para crear 6 333 células, incluyendo 13 naves (gliders), que se ven que escapan.
Los patrones Diehard (duro de matar) y Acorn (bellota).
El Juego de Conway es uno de los más simples en términos de los sistemas de complejidad emergente o sistemas autoorganizados. Esto tiene implicaciones muy importantes en el tema de la vida artificial Es, por ejemplo, un estudio de cómo elaborar patrones y comportamientos que puedan emerger de reglas tan simples. Ayuda esto a entender algunos fenómenos naturales, como por ejemplo, ¿por qué las franjas de los tigres o cebras tienen esas formas?12 De ahí probablemente el gran interés que suscitó.
En el Juego de la vida, como en la naturaleza, hay fenómenos fascinantes. La naturaleza, sin embargo, es mucho más complicada que el juego matemático de poner células en una malla y ver qué pasa en las siguientes generaciones, porque no tenemos todas las reglas del juego en el universo real. Sin embargo, la idea de Conway, muy exitosa en términos de lo simple de sus reglas y de la naturaleza no determinística del resultado, nos permite estudiar y entender patrones y comportamientos más complejos.
¿Qué tan complejo puede ser el Juego de la vida? Se sabe que el juego de Conway es “Turing completo”, lo que significa que pueden implementarse las compuertas lógicas AND y NOT, así como un sistema de almacenamiento de memoria. Con estos elementos es posible, entonces, construir una máquina
de Turing universal. Sin embargo, una cosa es decir esto y otra hacer la construcción directamente en el Juego de la vida.13
En 2002 Paul Chapman logró construir una máquina de Turing universal14 y, por ende, también resulta posible crear un constructor universal. Parece ser que el mismo Conway demostró que esto es factible. En 2004, Chapman, junto con Dave Green, presentaron —asómbrense— un constructor universal programable.15 Así pues, si un sistema tan simple de reglas puede ser Turing com- pleto, quizás las leyes de la física también lo son, y podrían considerarse Turing computables, asunto que se conoce como la tesis fuerte Church-Turing.16 Si esto es cierto, en principio al menos, el Juego de la vida podría tener el suficiente poder para simular un universo como en el que vivimos.17
Las consecuencias de este juego son fascinantes. Richard Dawkins,18 biólogo evolucionista, ha experimentado con modelos de selección artificial en un programa de computadora. Los resultados de esto aparecieron en su libro El relojero ciego,19 cuya tesis principal es que la existencia de Dios para entender la vida puede no ser necesaria, contradiciendo quizás la idea de que “si hay un reloj, debería existir un relojero que armó dicho aparato”. Aparentemente no tiene que ser así. Bastan reglas incluso simplistas para poder generar comportamientos complejos.
Esto va en contra del argumento que esgrimía Niels Bohr sobre la vida. Hablaba de un fluido vital que estaba en la esencia de los seres vivos y del cual carecía lo inanimado; sin embargo, el concepto de comportamientos complejos, emergentes, que son autoorganizados y que se pueden autorreplicar, sepultó la idea de Bohr.
[no image in epub file]
Richard Dawkins.
Los autómatas celulares evocan autoorganización y, por tanto, son parte fundamental de los seres vivos. Su estudio tiene relación directa con los procesos que denominamos inteligentes. Este tipo de entes abstractos sugieren que en última instancia un conjunto de instrucciones que se siguen ciegamente pueden dar origen a la vida, en particular desde la perspectiva biológica. La pregunta sería si podemos partir de ahí para crear vida que sea consciente de sí misma.
¿Qué demostraría el hecho de que reglas simples generan comportamientos complejos? ¿Qué conclusiones podrían obtenerse de esto? ¿Estaría totalmente muerta la idea de Bohr sobre un fluido vital que es parte esencial de los seres vivos? Cabe decir que este fluido vital tiene una especie de esencia mística, como si estuviese más allá de las explicaciones de la ciencia. Si el gran Bohr pensaba así no es casualidad, simplemente habla de las dificultades para defender y entender el concepto de vida.
Niels Bohr.
Por otra parte, es un hecho ya demostrado que los experimentos con autómatas celulares, ya sea con las ideas de Von Neumann o de Conway, pueden generar comportamientos emergentes de autorreplicación y autoorganización, dos temas estrechamente asociados al tema de la vida biológica. Si estas reglas ciegas pueden generar esta complejidad, la idea del fluido vital desaparece aparentemente, pero ¿no estaremos eliminando la idea de Bohr demasiado pronto? Porque las reglas ciegas parecen implicar finalmente en el autómata celular las condiciones para la autorreproducción y autoorganización, pero… ¿por qué se produce esto? ¿Qué mecanismo es el que genera la autoorganización, por ejemplo?20
7 T. M. Cover y B. Gopinath (eds.), Open problems in communication and computation, Springer, 1987, p. 9.
8 John Horton Conway (26 de diciembre de 1937-11 de abril de 2020; su deceso se debió a complicaciones por covid-19). Matemático británico cuyos campos de acción son la teoría de conjuntos finitos, teoría de juegos y teoría de números, entre otros. Durante muchos años laboró en Cambridge. Hoy trabaja en la Universidad de Princeton. Es tal vez más conocido precisamente por la invención del Juego de la vida (Life).
9 Una máquina de Turing es una máquina universal que puede ejecutar cualquier cálculo. De hecho, el Juego de la vida de Conway —como lo demostró el propio matemático— es una máquina de Turing.
10 Alan Turing, Intelligent Machinery, National Physical Laboratory (Report), 1948, p. 61.
11 Por ejemplo, http://www.delphidabbler.com/software/life es uno de tantos sitios en donde hay software para jugar con la idea de Conway (véanse los apéndices).
12 En términos generales, el Juego de Conway es un autómata celular en dos dimensiones. Se pueden explicar las manchas que pigmentan la piel de algunos animales, incluso de alguna familia de serpientes, utilizando un autómata celular en una sola dimensión, el cual, bajo reglas tan o más simples que las diseñadas por Conway, pueden generar patrones extremadamente complejos. Steven Wolfram (el creador del software Mathematica, ha trabajado extensivamente sobre autómatas celulares en una sola dimensión, y ha hallado propiedades sorprendentes (véase el capítulo correspondiente a los autómatas en una dimensión de Wolfram).
13 Un mecanismo Turing completo quiere decir que es posible emular una máquina universal de Turing. Con respecto al Juego de la vida, lo que se hace es simular las compuertas AND y NOT, lo cual permite construir un álgebra booleana, lo que a su vez hace posible construir –en principio– una compuerta lógica arbitraria que permitiría crear un tipo de memoria RAM, generando así que el juego sea Turing-completo.
14 http://www.igblan.free-online.co.uk/igblan/ca/.
15 Véase http://groups.google.com/group/comp.theory.cell-automata/browse_thread/thread/c62c88b336a917ca/d26a604b1081e460?pli=1.
16 La tesis fuerte de Church-Turing formula la equivalencia entre una función computable y una máquina de Turing que, expresado en términos simples, dice: “todo algoritmo es equivalente a una máquina de Turing”. Cabe decir que esto es una posición filosófica frente a un problema indecidible (http://es.wikipedia.org/wiki/Tesis_de_Church-Turing).
17 Esta interesante conclusión surgió en una comunicación privada sostenida con el doctor Juan Claudio Toledo, del Instituto de Astronomía de la unam y un buen exestudiante mío y mejor amigo.
18 Richard Dawkins (26 de marzo de 1941), científico británico, es autor de muchísimas obras de divulgación científica, como El gen egoísta (1976) y El fenotipo extendido (1982), en donde afirma que los efectos fenotípicos no están limitados al cuerpo de un organismo, sino que pueden extenderse incluso al entorno y a otros organismos.
19 Richard Dawkins, The Blind Watchmaker, Nueva York, W. W. Norton & Company, Inc., 1996 [1986]. Hay una versión gratuita del libro de Dawkins en formato pdf en http://uath.org/download/literature/Richard.Dawkins.The.Blind.Watchmaker.pdf. Cabe señalar que no es versión pirata. Se han otorgado permisos para descargarla.
20 La complejidad y la computabilidad son temas muy interesantes por sí mismos, pero en este trabajo no es el centro de la discusión, sino un tema periférico.