09 May 2020

Cómo crear vida adentro de una computadora

watch_later Tiempo de lectura ~4 minutos

La pandemia del Coronavirus continúa tomándose miles de víctimas en todo el mundo. El pasado 11 de abril, una de ellas fue el matemático John Conway, reconocido en los círculos académicos como un pensador profundo y muy original. Sin embargo, y un poco a su pesar, ha adquirido una amplia fama fuera de la academia por haber desarrollado una implementación de autómatas celulares llamado el Juego de la Vida. Pará pará.. ¿autómatas qué?

Los autómatas celulares son modelos matemáticos que permiten representar sistemas complejos a partir de la definición de unas unidades mínimas muy simples. Imaginate una bandada de pájaros; si intentamos explicar el comportamiento de toda la bandada, podría ser difícil y demandante a nivel computacional. Pero si se toma un enfoque bottom-up, es decir, que parta de cada pájaro en particular y describa su movimiento, entonces la explicación se vuelve simple y directa. Y de hecho funciona.

Un ejemplo de un sistema de este tipo es el algoritmo de flocking, creado por Craig Reynolds en 1987, en un programa llamado Boids. Quizás pensás que nunca en la vida te cruzaste con una cosa como esta. Pero si viste la peli Batman dirigida por Tim Burton, te acordarás una escena en la que Batman sobrevuela por los edificios de Ciudad Gótica mientras decenas de murciélagos hacen lo mismo. Bueno, esos murciélagos son generados por computadora, y los productores utilizaron este algoritmo para generar una simulación de sus movimientos.

Los autómatas celulares, por su parte, fueron desarrollados por el famoso matemático húngaro radicado en Estados Unidos John von Neumann, que cuando no estaba revolucionando a la física, las matemáticas, la cibernética, o participando del Proyecto Manhattan, pensaba en cosas como elaborar métodos para poder colonizar otros planetas y sentar comunidades humanas. Para eso, se le ocurrió que algunos robots deberían ir años antes al planeta a colonizar para garantizar condiciones de habitabilidad, como la existencia de una atmósfera o la construcción de edificios. Pero dado que la cantidad de máquinas necesarias para hacer algo así sería difícil de transportar en un operativo espacial, empezó a imaginar modelos de máquinas que se auto-replicaran. Naturalmente, las células fueron su inspiración.

En 1970 Conway se interesó profundamente por las ideas de von Neumann. Siendo un gran aficionado al Backgammon y a los juegos en general, imaginó una manera de representar el modelo de autómata celular de von Neumann en un formato lúdico. Así fue que dió con el Juego de la Vida. El juego comienza con una matriz de cuadraditos que se va modificando por pasos. Cada cuadradito representa a una célula, cuyo funcionamiento es muy simple: en cada turno, si una posición tiene exactamente tres células vecinas vivas, nace una célula en esa posición. Se representa pintando el cuadradito de blanco. Además, cada célula viva sobrevive sólo si tiene dos o tres células vecinas. De lo contrario, se muere por soledad o por superpoblación. Se representa pintando el cuadradito de negro. Al comienzo del juego, un usuario puede seleccionar un conjunto de cuadraditos de la matriz y pintarlos de blanco. Este sistema, cuyas células funcionan de modo sumamente simples, puede dar lugar a fenómenos interesantes

Lo que sucede cuando muchos de estos cuadraditos interactúan entre sí es lo que hace que programas como este y fenómenos naturales como colonias de células, hormigueros o la mente tengan algo en común: todos ellos son fenómenos complejos que emergen a partir de la interacción de procesos más simples; las colonia de células lo hace a partir de las células individuales que la componen, los hormigueros a partir del trabajo de cada hormiga y la mente, a partir de la interacción de millones de neuronas. En todos estos casos, los elementos tienen un funcionamiento relativamente simple, pero interactúan entre sí de modo tal que dan lugar a comportamientos globales impredecibles y que no pueden ser reducidos al agregado de sus componentes (o el famoso “el todo es más que la suma de las partes”).

Pero ningún fenómeno complejo emerge a partir de elementos discretos si estos no están dispuestos según cierta organización. Nuestra mente, por ejemplo, no emerge simplemente de millones de neuronas disparando, sino que lo hacen siguiendo una coordinación distribuida y dinámica entre varios “grupos neuronales”, que se encargan de procesar funciones distintas a lo largo del sistema nervioso. O sea que a la idea de que las partes interactúan entre sí para generar fenómenos impredecibles tenemos que agregarle que estas partes cumplen ciertos roles según su lugar, su estructura o su disposición dinámica. Lo lindo del juego de la vida es que nos permite visualizarlo: cuando seteamos las condiciones iniciales y ubicamos a los cuadraditos a lo largo de la matriz, no sabemos cuál será el resultado global, pero a medida que vamos gobernando las reglas simples que rigen a los cuadraditos individuales, vamos creando diversos “módulos” de autómatas celulares que interactúan entre sí, y de est e modo nos vamos volviendo buenos en producir patrones constantes que interactúan localmente a lo largo de la matriz (algo así como el modo en que se origina la vida, pero implementado computacionalmente).

Conway lamentó haberse vuelto famoso a raíz de este juego porque consideraba que “eclipsaba” sus otros trabajos matemáticos, que quizás él consideraría más serios. Pero este modelito matemático fue convirtiéndose con el tiempo en un verdadero dispositivo heurístico en biología, al permitirnos explorar ciertas consecuencias e implicancias acerca de lo que conocemos sobre la evolución de colonias de células, además de haber despertado intuiciones de distinto tipo, puzzles filosóficos y haber marcado un antes y un después en el modelado computacional de comportamientos naturales. Nada mal para un simple jueguito.


Si todavía no lo viste, acá podés acceder a la interfaz de nuestra implementación del juego de la vida.
John Conway fue una persona muy particular, y aprovechamos esta nota para recordarlo y contar qué fue lo que aprendimos de él y lo que nos dejó ese contacto. Si querés saber algo más sobre él, o verlo hablando de algunos temas, el canal de Youtube Numberphile subió una lista de reproducción con una entrevista que le hicieron.
Cada tanto, nos gustaría repetir esto de acompañar una nota y un programa relacionadas por el tema que tratan. Teniendo en cuenta que al contenido que publicamos se accede principalmente por medios digitales, es sólo conveniente aprovechar las capacidades de comunicación e interacción que esto implica. Si se te ocurre alguna idea de un concepto de interés filosófico a tratar y algo que programar para acompañarlo, no dudes en recomendarnos de hacerlo por acá o por ** nuestra cuenta de instagram (https://www.instagram.com/filofut/)

Escrito por: Santiago López y Joaquín Bardauil

Share on:
¿Puede nuestro universo estar programado en Minecraft?
Santiago López y Joaquín Bardauil add

Publicación completa

¿Puede nuestro universo estar programado en Minecraft? close

Muchas veces escuchamos decir que nuestro universo podría ser una simulación. Black Mirror, Matrix, Inception y Rick & Morty, entre otras formas de ciencia ficción, nos han ayudado a imaginar diver...

Publicación completa
Cómo crear vida adentro de una computadora
Santiago López y Joaquín Bardauil add

Publicación completa

Cómo crear vida adentro de una computadora close

La pandemia del Coronavirus continúa tomándose miles de víctimas en todo el mundo. El pasado 11 de abril, una de ellas fue el matemático Publicación completa

¿Puede nuestro universo estar programado en Minecraft?
Santiago López y Joaquín Bardauil add

Publicación completa

¿Puede nuestro universo estar programado en Minecraft? close

Muchas veces escuchamos decir que nuestro universo podría ser una simulación. Black Mirror, Matrix, Inception y Rick & Morty, entre otras formas de ciencia ficción, nos han ayudado a imaginar diver...

Publicación completa