Aparte de esto, Von Neumann llegó a demostrar que la autorreplicación era posible en un universo simplificado sin contradicciones inherentes. Si esto es así, entonces es posible crear máquinas que se puedan autorreplicar en el mundo real. Y aunque nadie lo ha logrado, ya no se pone en duda su factibilidad.6
Von Neumann no solamente mostró que podía crear una máquina que se podía autorreplicar, sino que además corroboró que una máquina puede crear otra incluso más compleja que la original. Y aunque esto no ha tenido aplicación práctica, parece ser evidente que ocurre en la biología, y la prueba más fehaciente de ello es la evolución del ser humano, asunto que ha dejado de ser objeto de discusión.
Es claro que las máquinas de Von Neumann no son seres vivos, pero lo que demostró es fundamental: que una serie de reglas basada en la lógica era suficiente para hacer máquinas que pueden reproducirse a sí mismas. Y volviendo a la biología, es razonable pensar en las células de los seres vivos como máquinas complejas que se autorreplican, y en esos términos la analogía con
las máquinas de Von Neumann es bastante adecuada.
En resumen, Von Neumann logró crear una definición de vida basándose en la teoría de la información, bajo el supuesto de que la reproducción biológica es en última instancia un evento meramente mecánico. He aquí las valiosas conclusiones de su trabajo:
1 Un sistema vivo encapsula una descripción de sí mismo.
2 Impide la regresión infinita (la recursión) incluyendo una descripción de la descripción en la descripción.
3 Así, la descripción tiene un doble papel: es una descripción codificada del resto del sistema, y al mismo tiempo es una especie de modelo de trabajo (que no requiere decodificarse) del mismo.
4 Hay una parte del sistema que se llama “unidad supervisora” que conoce este rol dual de la descripción y se asegura que la descripción se interprete de ambas maneras durante la reproducción.
5 Hay otra parte, llamada “constructor universal”, que puede construir cualquier clase de objetos, incluyendo el sistema vivo, dadas las instrucciones correctas.
6 La reproducción ocurre cuando la unidad supervisora instruye al constructor universal a construir una copia nueva del sistema, incluida la propia descripción.
Es importante aclarar que Von Neumann, al referirse a la autorreplicación (o reproducción) de los autómatas celulares, habla de recursión, en donde el mapa genético está en el mismo autómata; es decir que lo definido está en la definición y esto es precisamente una condición indispensable para que haya autorreplicación.
2S. M. Ulam, Adventures of a Mathematician, University of California Press, 1976.
3De niños nos enseñan que lo definido no puede estar en la definición, pero esto no es cierto. Por ejemplo, podemos definir la operación factorial, que se anota con ‘!’ de forma recursiva. Decimos que n! = n (n – 1)! Y además que 0! = 1. Así entonces, 3! Se podrá calcular diciendo que 3! = 3 (2!); pero 2! = 2 (1!); pero 1! = 1 (0!); pero 0! = 1 entonces podemos regresar en los cálculos que tenemos pendientes: 1! = 1 (0!) = 1; 2! = 2 (1!) = 2; 3! = 3 (2!) = 6. Hay una historia en donde se decía que Iteratum humanum est, recursivitum divinum est cuyo autor era el creador del lenguaje Pascal, Niklaus Wirth (15 de febrero de 934-). Sin embargo, el propio Wirth ha desmentido constantemente esta afirmación y no se sabe a ciencia cierta por qué se le adjudica a él.
4Umberto Pesavento, entre 1992 y 1994, con 16 años de edad, programó las ideas de Von Neumann asesorado por Renato Nobili, que había emprendido esta tarea unos años atrás. El programa funciona en la plataforma Windows y fue compilado usando Watcom C++. El resultado se presentó en la conferencia Artificial Worlds and Urban Studies, en Venecia, Italia, a fines de 1994. Dos años después se publicó un artículo denominado “An Implementation of Von Neumann’s Self-Reproducing Machine” (Artificial Life Journal 2, 337-354) cuando ya Pesavento estudiaba física en Princeton, Estados Unidos. El programa, con una profusa ayuda, puede descargarse de http://www.pd.infn.it/~rnobili/au_cell/.
5Los programas en el lenguaje funcional Prolog se ejecutan de arriba hacia abajo. De hecho, ésta es la razón por la cual la condición terminal debe ir antes de la función recursiva. Si se ponen al revés, el resultado es que se cicla el programa o se detiene por falta de memoria en el stack.
6Es claro que los seres humanos son un ejemplo de máquinas que se autorreproducen.
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.
Читать дальше