Nuevo reto lúdico: el juego de la vida de Conway Unocero

Nuevo reto lúdico: el juego de la vida de Conway. Noticias en tiempo real 05 de Noviembre, 2018 08:42


Califica esta nota


Hoy en día estamos acostumbrados a luminosos videojuegos que emociona, excitan a los jugadores y en ocasiones incluso pueden jugarse por muchas personas al mismo tiempo en servidores dedicados a ello. Muchos videojuegos hacen énfasis en las habilidades manuales del jugador y sus reflejos, los cuales bien pueden convertirse en juegos populares e incluso adictivos.
NASA comparte primer video en 8K desde el espacio y WOW
Pero también hay juegos que caen en categorías que resultan hasta curiosas. Este es el caso del juego de, la vida de Conway, un juego de cero-personas, inventado por el matemático John Conway, cuando éste trabajaba en la Universidad de Cambridge. El juego se conoció ampliamente a partir del artículo de Martin Gardner en Scientific American, de octubre de 1970 e inmediatamente se volvió un ejercicio adictivo en cómputo.


John Conway (de amarillo) con el autor de este artículo
El juego se desarrolla en una malla cuadriculada, en donde en los casilleros de la misma (llamadas celdas), se colocan células o bien se dejan vacíos. Las reglas son sencillas, cuando hay una configuración de celdas ocupadas y vacías, se tiene que:

Cada célula con una o sin células vecinas se muere, por soledad.
Cada célula con cuatro o mas células vecinas mueren, por sobrepoblación.
Cada células con dos o tres vecinas, sobrevive.

Así, el juego consiste en que el usuario genere una configuración de células y aplique las reglas mencionadas en paralelo para cada celda. Eso hará la siguiente generación, a la cual se le aplicará el mismo algoritmo. Un ejemplo del juego de la vida de Conway puede verse aquí, en donde el lector podrá generar las configuración que quiera y ver cómo evoluciona en el tiempo. En eso, de hecho, consiste el juego. No hay que interactuar de ninguna manera una vez que se ha generado una configuración de celdas.
Conway y mucha gente dedicó muchas horas al juego de la vida tratando de encontrar las propiedades de las diferentes configuraciones y se tienen conclusiones fantásticas, por ejemplo, que el juego de la vida es “Turing completo”, es decir, se puede crear una máquina de Turing que pueda hacer cualquier cálculo. Tal vez por ello la importancia de este “juego”. Cabe decir que además, Conway redujo la idea de los autómatas celulares que en un principio von Neumann había estudiado y en donde -según él- su diseño requería de 29 propiedades y reglas, a algo mucho más escueto pero igualmente poderoso.

Pues bien, el juego de la vida de Conway eventualmente fue programado infinidad de meses y se tienen reiteradas sospechas de que usó mucho “tiempo de máquina” en computadoras grandes, en aquellas máquinas que solamente las podían tener en esos tiempos las instituciones académicas y las instancias gubernamentales. Sin embargo, el juego -como ya dijimos- es mucho más que un simple juego, y quizás sea un interesante modelo teórico para desarrollar ideas en matemáticas e inclusive, en la biología.
Pues bien, considerando eso, el reto consiste en desarrollar un programa que juegue al juego de la vida de Conway. Se puede desarrollar en cualquier lenguaje y sería interesante (puntos extras), a quien lo desarrolle en algún lenguaje que no haya sido ya escrito en Rosetta Code. Es cierto que en este sitio pueden verse ya mucho código fuente que resuelve el problema pero aquí el reto es que usted lector/lectora, lo resuelva.
Para ser más claros, el juego de la vida se representa así:
Una célula C se representa por 1 cuando está viva y 0 cuando está muerta, en una matriz cuadrada de m x m casilleros o celdas. Calculamos N, la suma de las células vidas en las ocho celdas en la vecindad de cada célula C, y entonces tenemos a una célula que sobrevive o que muere en la siguiente generación basándose en lo siguiente:

Si una célula está en 1 y tiene 0 o 1 vecino (una célula en 1), entonces en la posición de la célula se pinta un 0 (muerte por soledad).
Si una célula está en 1 y hay una vecindad con 4, 5, 6, 7 y 8 celdas vecinas ocupadas, entonces se pinta un 0 en la siguiente generación (muerte por sobrepoblación)
Si la célula de interés tiene un 1 y la vecindad de la misma tiene 2 o 3 células en 1, entonces sobrevive con un 1 en la siguiente generación.
Si la célula tiene 0 en el punto de interés y hay 3 células alrededor, se pondrá un 1 en la siguiente generación (tres células dan el nacimiento de una nueva).
Si la célula es 0 y hay 0, 1, 2, 4, 5, 6, 7, 8 entonces en la siguiente generación se pondrá un 0.

El programa a escribir debe hacerse en cualquier lenguaje que se deseé. Puede ser compilado o interpretado y tiene puntos extras si el lenguaje usado no está en las implementaciones hechas ya en el sitio de Rosetta Code. Desde luego, se puede hacer en un algún lenguaje ya usado, por ejemplo C, C#, Haskell incluso, pero si alguien me va a mandar el código le suplico que no lo copie y que busque ser original. Si detecto copia lo descalifico.
La idea es pues aprender y este es un ejercicio simple pero interesante, además de que puede ser muy útil para probar una serie de teorías al respecto de los patrones, de ciertas configuraciones, de la estabilidad de algunas de estas células, etcétera. En Conway Life hay mucha información interesante.

Al ganador (si es de la Ciudad de México), le daré una taza con el logotipo de la Morsa. Si es de otro país o de provincia, le mandaré un USB de al menos 8 GB. La razón de esto es que mandar una taza por mensajería es estúpidamente caro.
Las soluciones me las pueden mandar a morsa@la-morsa.com.
Cabe señalar que este concurso busca simplemente alentar el trabajo de la programación y mostrar que puede ser lúdica. Es un concurso de buena fe. Si hay, por ejemplo, dos o más respuestas satisfactorias, ganará quien la haya mandado primero o que cumpla con más características que le den mejores resultados. El ganador es inapelable y cede su código fuente a la comunidad. Es decir, se promueve el código abierto.
La entrada Nuevo reto lúdico: el juego de la vida de Conway se publicó primero en unocero.



En Tiempo Real

Ayer se nos murió María Fernanda Campa, “La Chata”

El futuro ha llegado y estos tenis que se amarran solos son la prueba

Gobierno de México monitorea a nueva caravana migrante

Si Lainez se parece a Guardado, seré feliz: Poli Rincón

Beca la Fundación Jumex al artista acapulqueño Antonio Lozano Cuevas

Diario legislativo/Pedro Jiménez Rodríguez

Sedena frustra un nuevo intento de ordeña en ducto de Tuxpan

AMLO revela que vandalizaron plataformas en Campeche y Tabasco

SAT se pone las pilas y anuncia plan contra crisis de gasolina

Cártel Tijuana Nueva Generación: el terror de las mujeres en Baja California

Emma Coronel causa sensación por fotografía ¿con su sensual hermana?

La lucha de un alcalde por joder a sus gobernados

“A MÍ SI ME DA ‘ÑÁÑARAS’ ESTA ALIANZA”: Fundadores de Morena en desacuerdo con la coalición con el PVEM, pero dicen que acatarán la decisión de la dirigencia nacional

¡Oficial! Marcelo Bielsa y el Leeds se llevan al tercer portero del Real Madrid

Comienza su preparación la selección guanajuatense de judo rumbo a ONyJ 2019

AMLO revisará créditos Infonavit; nunca terminan de pagarse

Niños celayenses son elegidos para formar parte de la escuela del equipo profesional de fútbol Pumas UNAM

Cierran el Museo de Arte Virreinal en Taxco para su reparación luego del sismo de 2017

A través de consulta ciudadana regidores de oposición buscaran atención en Tlaxiaco

Alistan ciclo de cine sobre Luis Buñuel en Hércules

Sólo obispo puede decir si se reunió con esposa de AMLO

López Obrador da a conocer estrategia para evitar sabotaje y robo de combustible: EN VIVO

Diputado de PAN llama a sus compañeros "diputados mamíferos" | Noticias con Francisco Zea

Melenuda perdió en el Estadio Jalisco por 2-0 frente a Pumas

Al menos tres heridos tras explosiones en la Universidad de Lyon (+videos)

Itinerario político/Ricardo Alemán

Con estos aspirantes…

La división de los mexicanos, ¿para nunca acabar?

Condenan de 40 a 45 años a los 5 feminicidas de Arleth en Guaymas

Le dan mantenimiento a líneas de agua potable

Qucho

Se prevé frío y cielo medio nublado con intervalos de chubascos en regiones de Oaxaca (07:30 h)

Encuentran cadáver de adolescente futbolista desaparecido hace más de dos años

Ya podemos ver el primer teaser tráiler de la secuela de “Los cazafantasmas” 

Avalan Morena-PRI la Guardia Nacional

“La exploración de vida en otros planetas será la tarea de la astronomía del próximo siglo”

Cultivan por primera vez vasos sanguíneos humanos y los implantan en organismos vivos

Detienen en la colonia Mármol II a 7 sospechosos de ejecutar a sargento de la DSPM

No es meme: El espectacular #10yearchallenge de Maribel Guardia

De la realidad al deseo

El día que AMLO cambió de opinión

Prevén nublados con intervalos de chubascos en Veracruz

Anuncian fechas

Avanzan a etapa estatal

Marchas para hoy jueves 17 de enero 2019 en la CDMX

La información agregada y la responsabilidad de esta, pertenece a los sitios que lo publican. Lado.mx solo se encarga de publicarla.