Desde Game of Life de Conway hasta Langton’s Ant y Reynold’s Void, las simulaciones de vida artificial demuestran comportamientos emergentes complejos que surgen de reglas simples.
Desde Game of Life de Conway hasta Langton’s Ant y Reynold’s Void, las simulaciones de vida artificial demuestran comportamientos emergentes complejos que surgen de reglas simples.
Hace unos días, en mi columna “FPGA 1, MCU 0”, usé el Juego de la vida de Conway para mostrar cómo los FPGA pueden realizar ciertas tareas de forma masivamente paralela.
A partir de ese momento pensé autómata celular Rebotando de un lado a otro alrededor de mi viejo y patético cerebro. Para refrescarse, el “universo” tradicional del Juego de la Vida es una cuadrícula ortogonal bidimensional (2D) de celdas cuadradas. Se considera que cada celda tiene ocho vecinos (es decir, vecinos horizontales, verticales o diagonales), y cada celda puede estar en uno de dos estados posibles: vivo de nuevo muerte.
Las reglas para pasar de la generación actual a la siguiente son:
- Las células vivas con menos de 2 vecinos vivos mueren como debido a la falta de población.
- Las células vivas con dos o tres vecinos vivos continúan viviendo en la próxima generación.
- Las células vivas con 3 o más vecinos vivos mueren como superpoblación.
- Una celda muerta con exactamente tres vecinos vivos se convierte en una celda viva por regeneración.
A continuación se muestra un ejemplo sencillo de pasar de una generación a otra.
De vez en cuando, me gustaría jugar con diferentes variaciones del Juego de la Vida. Supongamos que ocurre un cambio gradual de color con la edad, a diferencia de un color fijo en las células vivas. Por ejemplo, comienza con amarillo y pasa por verde, azul y rojo.
Otra idea que me vino a la mente fue tener tres tipos de células que representaran plantas (verde), herbívoros (azul) y carnívoros (rojo). Cada tipo de celda tiene sus propias reglas. Las células vegetales pueden generarse aleatoriamente en lugares de células muertas, como si fueran semillas propagadas por el viento. Además, las células vegetales vivas pueden convertir las células muertas circundantes en células vegetales después de varias generaciones.
Por otro lado, para sobrevivir, la regla de los herbívoros incluye tener que comer células vegetales de vez en cuando, y la regla de los carnívoros incluye tener que comer células de herbívoros de vez en cuando.
Además de esto, las variaciones de color se pueden utilizar para indicar la edad. Las plantas jóvenes son de color verde claro y se oscurecen gradualmente a medida que envejecen. De manera similar, los herbívoros jóvenes comienzan de color azul claro y los carnívoros jóvenes comienzan de color rojo brillante. Los colores fluctuantes también se pueden usar para indicar células angustiadas, como un herbívoro que no ha comido en mucho tiempo y está hambriento (y debilitado).
Otra idea que tuve fue crear una matriz 3D (universo) llena de celdas translúcidas y usar algún tipo de programa de visualización 3D para ver el contenido de la matriz.
Más recientemente, Craig Richardson (haga clic aquí para ver mi reseña). Este es en realidad un libro que te enseña cómo programar en Python, pero usa Minecraft como una forma de visualizar los efectos de tu código.
Bueno, he visto que Minecraft se utiliza para implementar todo tipo de cosas interesantes, incluidos los microprocesadores. Por ejemplo, este video CPU de 16 bits.
Entonces, ¿qué pasa con la implementación de Game of Life en Minecraft? Ya sabes, solo cuando estaba escribiendo la oración anterior me pregunté si alguien ya había hecho esto. ¡Por supuesto que tienen!Busqué rápidamente en Google (bueno, nadie miró) y lo encontré de inmediato este videoBien, ahora me siento como un viejo tonto (¿pero dónde puedo encontrar uno a esta hora del día?).
Pero espera. Hay más que eso. Porque hay una versión de realidad virtual de Minecraft para Oculus Rift que está haciendo que los fanáticos se regocijen ( Minecraft + Oculus Rift Realidad virtual = Mind Goes Boom). Supongamos que combina un montón de las ideas anteriores, como un Juego de la vida en 3D con múltiples tipos de células y colores del arco iris visualizados con un casco de realidad virtual.
algunos videos interesantes
He estado navegando en YouTube como tú y me he encontrado con todo tipo de cosas interesantes. este video El primer experimento de alguien con el Juego de la vida de Conway.
https://www.youtube.com/watch?v=tlXM8qDOS3U
y, este videoComienza lentamente pero se desarrolla en los patrones y estructuras de algún épico Juego de la Vida.
yo tambien estaba intrigado esta ofrendaEste es un giro muy interesante en la implementación del Juego de la vida en 3D, donde el universo está rodeado por un plano infinito como un “piso”, con células que se propagan hacia afuera y hacia arriba desde un valor semilla inicial.
https://www.youtube.com/watch?v=iiEQg-SHY1g
El problema, como suele ser el caso con YouTube, es que una vez que comienza, es difícil detenerlo. Por ejemplo, este video Muestra la vida y la muerte de un autómata celular basado en las reglas clásicas de piedra, papel o tijera.
Como alguien comentó en el video anterior, será interesante ver qué sucede cuando agregas Lizard y Spock a la mezcla (ver también mi columna: piedra papel tijera, lagartija, spock).
Una de las cosas que me encantan de la vida (es decir, la vida real en oposición a la vida artificial) es que siempre hay muchas cosas nuevas y divertidas para aprender. Por ejemplo, recién escribiendo esta columna descubrí la existencia de las hormigas langton. Inventado por Chris Langton en 1986, este pequeño pícaro (una hormiga, no Chris) es una máquina de Turing bidimensional universal con reglas muy simples y un comportamiento emergente complejo.echar un vistazo este videoproporciona una excelente introducción a los insectos ficticios de Chris.
Por supuesto, tan pronto como veo una hormiga moviéndose, no puedo evitar preguntarme qué pasaría si hubiera más de una hormiga. este video — una colonia completa en un campo pequeño.
Nuevamente, me gustaría crear una versión 3D de esto usando un color diferente para cada especie de hormiga, implementarlo en Minecraft y usar un casco de realidad virtual para ver los resultados. Lamentablemente, me conozco bien. Tan pronto como comencé a hacer este ejercicio, vi algo más y grité: “¡Oh, brillante!” y dirígete en otra dirección.
Hablando de direcciones, ¿alguna vez has visto una bandada de pájaros surcando los cielos en impresionantes formaciones? ¿Cómo lo hacen y cómo saben adónde ir? Bueno, ¿has oído hablar del vacío? Creado por Craig Reynolds en 1986, es un programa de vida artificial que simula el comportamiento de bandada de las aves. Como la mayoría de los simuladores de vida artificial, Boids exhibe comportamientos de emergencia complejos que surgen de un pequeño conjunto de reglas básicas. Las reglas utilizadas para implementar el mundo Boid más simple son:
- alineación: Dirigirse hacia el rumbo promedio del compañero de bandada local
- agregación: Maniobra para moverse hacia la posición promedio (centro de masa) del compañero de rebaño local.
- Separación: Maniobre a los compañeros de manada locales fuera de las multitudes
como se muestra en este videoincluso las reglas simples que se muestran arriba (con la adición de evitar obstáculos en este caso) producen comportamientos interesantes y sofisticados.
El ejemplo anterior se basa en un mundo 2D. En comparación, este video Aquí hay un ejemplo de un vacío que vuela alrededor de un universo 3D.
https://www.youtube.com/watch?v=GUkjC-69vaw
El problema es comenzar con una idea simple como ‘¿Cómo se congregan las aves?echar un vistazo este video Aquí hay un buen ejemplo basado en Boid visualizado usando pájaros, personas corriendo y camiones.
Me encanta esto, pero solo soy un hombre. Hay muchos YouTube, pero solo yo puedo difundir. ¿Conoces otras formas interesantes de autómatas celulares que te gustaría compartir con nosotros? ¿O conoces un video de YouTube muy interesante que muestra autómatas celulares en acción? ¿Qué tienes que decir sobre todo esto? Estoy temblando. en espera de la audiencia