El juego de la vida de Conway
El Juego de la Vida es un autómata celular. Se trata de un modelo matemático que evoluciona paso a paso en una rejilla o tablero de tamaño infinito en dos dimensiones. Se compone de celdillas, llamadas células, que pueden cambiar, o no, según unas sencillas normas de comportamiento.
El Juego de la Vida fue inventado por John Conway.
John Horton Conway (1937-2020). Matemático que trabajó en teoría de conjuntos (teoría de conjuntos finitos), teoría de nudos, teoría de números, teoría de juegos y teoría de códigos.
Muy conocido por su teoría de juegos combinatorios, en particular por ser el creador en 1970 del juego de la vida. También es uno de los inventores del juego del drago, así como del Phutball y realizó análisis detallados de muchos otros juegos y problemas, como el cubo de Soma. Inventó un nuevo sistema numérico, los números surreales, los cuales se encuentran estrechamente relacionados con ciertos juegos y han sido objeto de una novela matemática por Donald Knuth. También ideó una nomenclatura para números excesivamente largos, la nowiki o flechas encadenadas de Conway.
Entre las curiosidades de este juego está el hecho de que solo puedes plantear la configuración de partida. Una vez iniciado el juego, sólo puedes actuar como espectador. Por esto se dice que se trata de un juego de cero jugadores. ¡No se puede ganar, ni perder!
Ha sido implementado en varios lenguajes de programación. Aquí está la versión en python.
Definiciones
Autómata Celular (AC):
Los Autómatas Celulares (AC) fueron descubiertos por John Von Neuman en los años 40. Estaba tratando de crear un modelo de máquina que se autoreplicase. Llegó a un modelo matemático que con reglas complicadas en el que las "ceĺulas" componentes se reproducían, crecían y morían con el trascurso del tiempo.
Un autómata celular es un modelo matemático dinámico, compuesto por un conjunto de celdas o células que adquieren distintos estados o valores. Estos estados son alterados en función del tiempo, de modo que las células van evolucionando, según una determinada función matemática cuyos valores dependen de los estados de las células vecinas.
Elementos de un Autómata Celular:
- Arreglo Regular (rejilla):
Plano de dos dimensiones o un espacio n-dimensional, este es el espacio de evoluciones, y cada división homogénea, cuadrícula, es llamada célula.
- Conjunto de Estados:
Cada célula toma un valor, o un color, de este conjunto de estados. el arreglo toma un valor de este conjunto de estados.
- Configuración Inicial:
Se asigna un estado a cada una de las células del espacio de evolución inicial del sistema.
- Vecindades:
Define el conjunto contiguo de células y posición relativa respecto a cada una de ellas. A cada vecindad diferente corresponde un elemento del conjunto de estados.
- Función Local:
Es la regla de evolución que determina el comportamiento del AC. Se conforma de una célula central y sus vecindades. Define como debe cambiar de estado cada célula dependiendo de los estados anteriores de sus vecindades. Puede ser una expresión algebraica o una simple regla de evolución.
Juego de la Vida
El Juego de la vida denota un ejemplo de auto-replicación y auto-organización similar a los sistemas biológicos. Por esta razón los científicos estudiaron la implementación del juego, observando la forma en la que complejos patrones pueden surgir de la definición de una serie de reglas muy sencillas.
Reglas del juego de la Vida:
- Nacimiento: se reemplaza una célula muerta por una viva si dicha célula tiene exactamente 3 vecinos vivos.
- Muerte: se reemplaza una célula viva por una muerta si dicha célula no tiene más de 1 vecino vivo (muerte por aislamiento) o si tiene más de 3 vecinos vivos (muerte por sobrepoblación).
- Supervivencia: una célula viva permanecerá en ese estado si tiene 2 ó 3 vecinas vivas.
- A pesar de tratarse de una configuración inicial poco simétrica, se generan patrones bastante simétricos, aparentemente, respecto a un eje vertical.
- Pronto se observan alguna estructuras de tres y cuatro células que se estabilizan. Permanecerían así aunque el tiempo tendiera a infinito.
https://www.samcodes.co.uk/project/game-of-life/
http://species-simulator.com/en/cellular-automata/game-of-life.php
Para saber más:
- Vida artificial:
http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1607-050X2000000300008
- Mi proyecto de Simulación de Vida Artificial:
https://sites.google.com/view/simulacion-de-vida-artificial
- Video sobre Simulación del juego de la Vida:
- Simulador empleado en los vídeos del post:
- Simulador para dispositivos móviles (Android):
- Otros simuladores:
https://academo.org/demos/conways-game-of-life/
Simuladores complejos:
https://www.samcodes.co.uk/project/game-of-life/
http://species-simulator.com/en/cellular-automata/game-of-life.php
- Autómatas Celulares Difusos:
https://www.researchgate.net/publication/338493414_Automatas_Celulares_Difusos
- Sistemas Complejos:
https://www.comprendamos.org/alephzero/57/sistemas.html
- Conway hablando del Juego de la Vida:
https://www.microsiervos.com/archivo/juegos-y-diversion/conway-juego-de-la-vida.html
Comentarios