27 May 2020

Juego de la vida

watch_later Tiempo de lectura ~3 minutos


Para empezar a jugar, hacé click adentro del visor para darle vida a alguna célula. Después, hacé click en Comenzar/Detener para ver la evolución. Tené en cuenta que si pintás una célula aislada, va a morir en el paso siguiente. Volvé a clickear en Comenzar/Detener para volver a pintar células nuevas.

¿Cómo funciona el juego de la vida?

El recuardo blanco que ves arriba es el visor del juego. Tiene definida por debajo una matriz de cuadraditos que representan células. Cada una de ellas puede estar en dos estados: o bien viva o bien muerta. La aparición de cada una de estas células sigue un comportamiento definido. En cada turno, si una célula tiene exactamente tres células vecinas que están vivas, entones nace. Una célula que ya está viva, si en un paso tiene al menos dos células vecinas vivas, entonces en el paso siguiente seguirá viva. En cualquier caso contrario, una célula morirá.

Lo interesante de este juego es que, mientras que el sistema sólo tiene definido de manera muy simple el comportamiento de cada célula, sin embargo permite que emerjan fenómenos complejos y que pueden adquirir un significad determindo en un mayor nivel de abstracción. Por ejemplo, determinados conjuntos de células pueden formar una computadora programable como la que estás usando para ver esta página.

Algunos patrones en el juego de la vida

En el juego de la vida existen varios patrones, que se organizan a su vez en varios subgrupos. Los subgrupos más difundidos son los osciladores, las vidas estáticas, las naves espaciales y los matusalenes.

Las vidas estáticas son patrones que no cambian de una generación a otra, sino que se mantienen estables. Entre las vidas estáticas se encuentran las estrictas, que son aquellas formadas por un único grupo de células, o por más de un grupo de células pero que se necestian mutuamente para sobrevivir. El panal es una vida estática del primer tipo, mientras que el tabla sobre tabla es del segundo tipo. Además, existe otro tipo de vidas estáticas (más bonitas): las vidas pseudo-estáticas. Son patrones formados por más de un grupo de células, de manera que pueden ser subdivididas. Un ejemplo es la vida pseudo-estática triple o la cuádruple (no gozaron de nombres muy creativos).

Los osciladores son patrones que son predecesores de sí mismos. Es decir, después de una serie de pasos, el patrón vuelve a su estadío inicial, siendo la cantidad de pasos que le toma lo que se denomina su ciclo. Existen muchos osciladores muy recurrentes, como es el caso del “blinker”. Otros son menos comunes pero son más bonitos que éste, como por ejemplo el pulsar, descubierto por Conway en 1970.

Las naves espaciales son bastante similares a los osciladores, en tanto que luego de una serie de pasos vuelve a su estado inicial. La diferencia es que al final de su período, estará en una posición diferente. Algunas de las naves espaciales más comunes son el deslizador (o glider) y la nave de peso ligero.

Los matusalenes (o methuselah) son patrones que se toman una gran cantidad de generaciones para estabilizarse. Es decir que estarán generando nuevos patrones durante muchos pasos del juego. Muchos methuselahs son particularmente bellos porque sus condiciones de incio son muy simples, pero pueden dar a comportamientos muy complejos y muy bellos de ver. Un ejemplo famoso es el R-Pentomino, y otros son el acorn o el Pi-heptomino (prestale atención a este último )

Filosofia del Juego de la Vida

Una propiedad valorable de el juego de la vida es que así como se pueden representar algunas formas que se mueven de modos particulares, también se pueden representar máquinas de Turing. A partir de conjuntos de células en posiciones específicas, se puede computar en el juego de la vida cualquier algoritmo computable por una máquina de turing. En otras palabras, es Turing completo.

A nivel filosófico, el interés radica en los conceptos de abstracción y de fenómeno emergente. Cuando queremos describir el funcionamiento de un sistema, lo podemos hacer desde diferentes niveles de abstracción. Muchas veces, fenómenos que desde un punto de vista aparecen como muy complejos tienen un funcionamiento muy simple desde otro. Otras veces, desde un nivel de abstracción más alto podemos describir de manera simple fenómenos que desde un nivel de abstracción más bajo tendríamos que mencionar mucha más información. Las ontologías que manejamos, las formas de describir procesos y los modos de representar fenómenos pueden variar según el nivel de abstracción desde el cual se los esté mirando. Según el problema a tratar, el nivel de abstracción más útil puede variar.

Share on: