A menudo se dice que todos los programadores deberían poder escribir un programa "hello world" en cualquier lenguaje de programación después de algunas miradas en ese lenguaje (y ordenar rápidamente después de algunas miradas más).
Como el Juego de la vida de Conway se está completando (por lo que califica como un lenguaje de programación de propósito general) , el problema se explica por sí mismo:
Crea un "¡Hola Mundo!" aplicación que utiliza solo el juego de la vida de Conway! La única entrada válida es un estado inicial para el Juego de la vida de Conway, que:
- no contiene ninguna forma reconocible que se parezca al texto "¡Hola Mundo!"
- contendrá una forma reconocible similar al texto "¡Hola Mundo!" dentro de un número razonable de ciclos (no debe ejecutarse durante más de un par de minutos en una buena PC; esto permite miles de millones de ciclos y debería ser suficiente)
- el área donde está el "¡Hola Mundo!" ¡El texto aparecerá debe estar vacío en el estado inicial! (De lo contrario, el problema sería demasiado fácil) Si nadie logra hacerlo, podríamos reducir este requisito a "en su mayoría vacío"
Tanteo:
El ganador se basará en el número de votos a favor en aproximadamente una semana después de la primera presentación válida.
Pautas para votar:
- una producción más elaborada y hermosa debería valer más
- La salida que es estable durante muchos ciclos debería valer más de una que se desvanece para ser irreconocible en el próximo ciclo.
- Una solución encerrada en un ciclo perpetuo, o partir de un patrón interesante es lo que más vale, porque demuestra un diseño inteligente del estado, y no solo un ensayo y error aleatorio con una simulación inversa.
La entrada debe estar en un formato legible por al menos uno de los simuladores notables o un simulador en línea al que se vincula el respondedor. Los enlaces (a una animación o un simulador establecido en el estado inicial) también son aceptados, incluso alentados. Si la salida no es visible dentro de unos pocos ciclos, la entrada debe especificar después de qué ciclo será visible el resultado.
Editar:
Puede haber una ligera tolerancia en la frase que se generará. Puede ser " Hello, World!
", " hello, world
" " HELLO WORLD!
" etc.
Hello, world!
Respuestas:
Mi primer intento de esto, una solución relativamente simple. Dispara un par de barriles planeadores. Cada par de planeadores se convierte en un bloque, que luego forma el texto. Este proceso lleva alrededor de 16000 generaciones (puede configurar un salto de fotograma o usar el botón de superpaso en mi simulador).
Enlace Directo . Muévase con el mouse derecho, haga zoom con la rueda del mouse.
Enlace al archivo .rle (también funciona con Golly)
Imagen del patrón 32: 1:
fuente