IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
El juego de la vida
1. EL JUEGO DE LA VIDA
El juego de la vida es un autómata celular diseñado por el matemático británico John Conway
en 1970 y publicado en la columna Mathematical Games de Martin Gardner en la revista
Scientific American.
Un autómata celular es un modelo matemático para un sistema dinámico que evoluciona a
pasos discretos desarrollado prácticamente por John Von Neumann y teóricamente por Konrad
Zuse y Stanislaw Ulam. Los elementos que lo constituyen son:
1. Un espacio regular:
Cada división homogénea se llama célula.
2. Conjunto de estados:
Es finito y cada elemento o célula del espacio toma un valor de ese conjunto. También se
denomina alfabeto.
3. Configuración inicial:
Es la asignación inicial de un estado a cada una de las células del espacio.
4. Vecindades:
Define el conjunto de células que se consideran adyacentes a una dada, así como la posición
relativa respecto a ella. Cuando el espacio es uniforme la vecindad se considera isomorfa.
5. Función de transición local:
Es la regla de evolución que determina el comportamiento del autómata celular. Se calcula a
partir del estado de la célula y de su vecindad. Define cómo debe cambiar de estado cada célula
dependiendo de su estado anterior y de los estados anteriores de su vecindad. Suele darse como
una expresión algebraica o un grupo de ecuaciones.
Además es importante especificar el tipo de frontera del espacio:
Frontera abierta:
Se considera que todas las células fuera del espacio del autómata toman un valor fijo.
Frontera autómata:
2. Las células fuera del espacio del autómata toman los valores de las que están dentro.
Frontera periódica o circular:
Las células situadas en la frontera interaccionan con sus vecinos inmediatos y con las que están
situadas en el extremo opuesto del espacio.
Sin frontera:
La representación autómata no tiene límites.
John Conway simplificó estas ideas y creó el juego de la vida. Éste se desarrolla en un tablero
infinito teóricamente y de unas dimensiones prefijadas en la práctica. Éste está subdividido en
forma de retícula mediante filas y columnas en celdas que así mismo están rodeadas de otras
ocho (entorno de Moore, en cambio Neimann solo consideraba cuatro). Éstas celdas albergan lo
que se denomina células que se pueden encontrar en dos estados distintos: vivas (que se podría
considerar el “uno lógico”) o muertas (“cero lógico”). El estado de una célula en el futuro
dependerá del estado inicial y del de sus células vecinas; por ello es un juego de cero jugadores.
Cuando una célula muere deja la celda que ocupaba vacía.
Negra= viva
Blanco =muerta
REGLAS ORIGINALES:
1. Supervivencia:
Cada célula que tenga 2 o 3 vecinos vivos sobrevive a la siguiente generación por lo que su
estado permanece inalterado.
2. Fallecimiento:
Una célula que tenga menos de 2 vecinos vivos o una que tenga más de 3 vecinos muere en el
siguiente turno o estado.
3. Nacimiento:
3. Si una celda vacía pasa a tener en su vecindad 3 células vivas se produce el nacimiento de una
célula en el siguiente turno.
Estas reglas se denominan reglas genéticas de Conway y se simbolizan como 2,3/3
(condiciones de supervivencia/condiciones de nacimiento). Normalmente siguiendo éstas leyes se
puede llegar a una serie de estados finales:
Extinción:
Cuando pasan un número finito de turnos todas las células acaban desapareciendo quedando
todas las celdas vacías.
Estabilización:
Al cabo de un número n de turnos las células permanecen en una forma constante u oscilando
entre dos o más formas.
Crecimiento constante:
Las células crecen durante un número infinito de turnos. Este tipo de estado final al principio
sólo se contempló de forma teórica.
PATRONES:
Los patrones básicos son configuraciones de vecindades de células que determinan un
comportamiento concreto con un mínimo de células vivas en la estructura. Alguno de ellos son
bastante interesantes por su comportamiento pudiendo responder a leyes algebraica, formando
estructuras complejas que podrían corresponderse con puertas lógicas: AND, NOT Y OR.
Ejemplos:
a. Inmortales:
Patrones continuos que por su estabilización permanecen inalterables turno tras turno por sí
mismos, siempre y cuando no sean influenciados por la interacción de otros patrones crecientes.
Se dividen en seudo-inmortales (no existe dependencia alguna entre los patrones para su futura
supervivencia) e inmortales estrictos (patrones discontinuos en los que existe un dependencia
entre ellos para su futura supervivencia). Algunos tipos son:
4. b. Naves espaciales:
Son patrones que reaparecen en otra posición tras completar su período. Esto significa que
tras un número finito de generaciones vuelven a su estado inicial pero en otra ubicación. Su
velocidad se calcula a partir del número de celdas desplazadas entre la longitud de su período. La
velocidad máxima es c (velocidad de la luz). Algunos ejemplos son el deslizador y la nave ligera.
c. Osciladores:
Son patrones que se proceden así mismos es decir que tras un número finito de generaciones
éstos vuelven a su estado inicial. El número de generaciones determina el período del oscilador.
Éstos presentan un rotor (célula que cambian de estado en algún momento de la evolución del
oscilador) y el estator (células que permanecen vivas durante todas las fases). Ejemplo: sapo y
parpadeador.
d. Matusalenes:
Son patrones que pueden evolucionar a lo largo de muchos turnos antes de estabilizarse.
Ejemplos: diehard y acorn.
e. Patrones de crecimiento indefinido:
Contradiciendo las conjeturas iniciales de Conway, estos patrones continúan creciendo en un
tiempo indefinido. La más conocida es la pistola de Gosper cuya existencia suscita una posibilidad
de que este juega permita generar una máquina de Turing capaz de realizar cualquier cálculo.
Existen otros tipos de patrones como los reflectores y los bloques deslizantes.
5. Además de las reglas dichas anteriormente existen multitud de variaciones que resultan en
diversos comportamientos aunque suelen ser caóticos.
Desde el punto de vista de la programación este juego se puede emplear para generar el
algoritmo de transición de estados, vida artificial y la máquina universal de Turing. Pero también
se puede usar para determinar modelos naturales.
BIBLIOGRAFÍA:
https://es.wikipedia.org/wiki/Juego_de_la_vida
http://www.it.uc3m.es/jvillena/irc/practicas/09-10/04mem.pdf
http://www.enriquegracian.com/articulos/el-juego-de-la-vida
http://www.cienciaxplora.com/divulgacion/conoces-juego-vida-conway_2014103100163.html
https://www.dsi.uclm.es/personal/MiguelFGraciani/mikicurri/Docencia/Bioinformatica/web_B
IO/Documentacion/Trabajos/El%20juego%20de%20la%20vida%20de%20Conway/Memoria.pd
f
http://miguelangelacera.com/blog/2013/01/21/el-juego-de-la-vida-para-estudiantes-de-
programacion/