Connect with us

Hi, what are you looking for?

Tecnología

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

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.


Morsa con Conway en la Facultad de Ciencias de la UNAM

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:

  1. Cada célula con una o sin células vecinas se muere, por soledad.
  2. Cada célula con cuatro o mas células vecinas mueren, por sobrepoblación.
  3. 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.

Click to comment

Comenta

Últimas noticias

Troféo de la Copa Mundial de la FIFA 2026 con fondo en blanco y negro.

Deportes

FIFA anunció boletos a 60 dólares para el Mundial 2026; federaciones gestionan asignación de grada básica y reembolsos sin tasa 🎫⚽. #Mundial2026

Agente del MP abrumado por expedientes en una caricatura sobre Sinaloa Agente del MP abrumado por expedientes en una caricatura sobre Sinaloa

Policiaco

Informe revela que las fiscalías estatales están rebasadas en Sinaloa: pocas investigaciones, rezago creciente y víctimas desatendidas, impunidad endémica 🚨🔍⚖️ #fiscalías #Sinaloa

Cierre de instalaciones de Aceites y Reciclados del Pacífico por Profepa en Culiacán Cierre de instalaciones de Aceites y Reciclados del Pacífico por Profepa en Culiacán

Culiacán

Profepa clausura planta Aceites y Reciclados del Pacífico en Culiacán por manejo de residuos peligrosos; inicia sanciones y remediación 🛢️⚠️🏭 #Profepa #Culiacán

Motocicleta moderna recuperada en Mazatlán tras reporte de robo Motocicleta moderna recuperada en Mazatlán tras reporte de robo

Mazatlán

La policía municipal recuperó motocicleta con reporte de robo; fue asegurada, trasladada a pensión y quedó ante Vicefiscalía. 🚓🏍️ #Mazatlán #Seguridad

Cadáver encontrado envuelto en plástico negro en carretera de Navolato Cadáver encontrado envuelto en plástico negro en carretera de Navolato

Navolato

Localizan esta mañana en Navolato, Sinaloa🚨 a un hombre asesinado envuelto en plástico junto a la carretera 50; Fiscalía investiga🔍 #Navolato #Sinaloa

Terence Crawford con varios cinturones de boxeo en un vestidor Terence Crawford con varios cinturones de boxeo en un vestidor

Actualización

Terence Crawford anuncia retiro del boxeo profesional, se despide invicto 42-0 🥊 🏆; agradece en video y cierra legado absoluto. #Crawford #Boxeo

Suscríbete y recibe noticias

Tendencia

Sinaloa

Secretaría de Salud informó que el nuevo hospital IMSS Culiacán tendrá 260 camas, 39 especialidades y helipuerto en 2026 🚁 🏥 #IMSS

Sinaloa

La Fiscalía FGE activó Alerta AMBER Mazatlán📍 tras la desaparición⚠️ de Brayan y Brandon; llaman a denunciar confidencialmente al 800-890-90-92. #AlertaAMBER #Mazatlán

Concordia

Reportan desaparecidos trece jornaleros y conductor desde madrugada en Concordia, Sinaloa; Yamoldcar Tours presentó denuncias y Sabuesas activan búsqueda. 🔎🚌 #desaparecidos #Concordia

Sinaloa

La Fiscalía activó el protocolo Alba en Mazatlán y busca a tres mujeres desaparecidas; pueden reportar información al 800 🔍🚨 #Mazatlán #Desaparecidas

Concordia

Fiscalía y Comisión emitieron fichas por seis desaparecidos en Concordia tras salir en combi blanca rumbo a Mazatlán 🚐🔎 #desaparecidos #Concordia

Economía

Este martes 16, dirigentes y autoridades se reúnen; si no hay acuerdos, anuncian bloqueos carreteros🚧, cierres de puentes y aduanas🚛 #campo #transporte

Sinaloa

La Semar desplegó un operativo en el Triángulo Dorado para ubicar a Aureliano Guzmán, alias El Guano🚁⚓️; habitantes difundieron videos #Sinaloa #Seguridad

Actualización

Autoridades reportan accidente aéreo cerca de Toluca; diez fallecidos, entre ellos tres menores; investigación en curso, según autoridades federales ✈️🕊️ #Toluca #accidenteaéreo #México

Desarrollado por
FIIXCOM