OTCA Metapixel - juego de Conway de la vida

Juego de la vida de Conway es un tipo de 2D autómata celular que utiliza un conjunto simple de reglas para describir el comportamiento de las células sobre pasos de tiempo discreto. Sorprendentemente, puede generar comportamientos muy complejos de autómatas celulares, a pesar de que las reglas generalmente pueden resumirse en una frase. En 2D modelos de autómatas celulares, comportamiento de las células en el paso del tiempo se basa en su estado actual y el estado actual de sus ocho vecinos. Las reglas para el juego de Conway de la vida se reproduce a continuación:

  1. Cualquier célula viva con menos de dos vecinos vivo muere, como si por debajo de la población.
  2. Cualquier célula viva con dos o tres vecinos vivo vive en a la siguiente generación.
  3. Cualquier célula viva con más de tres vecinos vivos muere, como si por el hacinamiento.
  4. Cualquier célula muerta con exactamente tres vecinos vivos se convierte en una célula viva, como si por la reproducción.

Se han estudiado muchos patrones interesantes en la vida, se muestran unos patrones sencillos aquí. Algunos patrones, llamados "bodegones" son fijos y no cambian con el tiempo (bloque, pan, barco). "Osciladores" son patrones que se repiten después de cierto número de pasos de tiempo (





,


). "Naves espaciales" son un tipo de oscilador que se mueven a través del espacio como oscilan. La forma más simple y más común de la nave espacial se llama un


. Otra nave espacial común es la


. "Armas" son estructuras que producen un flujo de naves espaciales, aquí es un ejemplo de la


. Algunas condiciones iniciales muy simples crean comportamientos complejos, como es el caso con el pentominó r, un patrón de cinco células.

Usando una combinación de naves espaciales, bodegones, osciladores, armas y otros objetos básicos, es posible construir estructuras increíblemente complejas en la vida. Este es un ejemplo de un arma del período 416 que construye naves espaciales 60P5H2V0 utilizando una serie de colisiones tiempo planeador:

En 2006 publicó Brice debido una estructura llamada la OTCA Metapixel; su objetivo es emular el comportamiento de una sola célula de vida. Me encontré con este video la semana pasada y decidió que tenía que averiguar cómo funciona:

La OTCA Metapixel no es el primero o el más rápido metapixel descubierto en la vida (también consulte la celda P5760 vida y la célula profunda), pero tiene la propiedad interesante de como una célula de vida cuando se haga zoom hacia fuera. También cuenta con un registro que le permite programar que se comportan según cualquier arbitraria autómata celular de la vida como conjunto de reglas.

Tengo toda mi info de la Wiki de la vida, el sitio de la OTCAy el Léxico de la vida (sobre todo) por descarga de Golly y viendo la OTCA Metapixel ejecutar.

Aquí es cómo funciona:

Reloj - un rayo tractor es un flujo de naves espaciales que lentamente, tirar de un objeto hacia la dirección de su fuente. Un ejemplo simple es el rayo tractor de pan. Este video muestra un tipo ligeramente diferente de rayo de tractor en un diente de sierra.

La OTCA Metapixel utiliza un rayo tractor como un reloj para regular el calendario de eventos:

En el video de arriba, un rayo tractor tira de un bloque por 8 celdas en cada colisión, lanzando una vela a la derecha cada vez. Una valla al lado de la viga del tractor de Eater 1destruye los planeadores inmediatamente, pero hay unos agujeros en la valla que planeadores pasar e interactuar con otras estructuras en el metapixel intervalos regularmente programada.

El primer tiro en el video muestra la fuente de la cuadra y tres planeadores de la leña en una nave ligera (LWSS) paquete arma, que dispara tres conjuntos de tres LWSSes, un sistema para cada planeador entrante. El tiro siguiente muestra la fuente de la viga del tractor y cuatro planeadores más encendidos de la viga del tractor en el metapixel. Esta primera vela inicia un vecino cuenta decodificar la secuencia, los dos planeadores leen los resultados del decodificador y el planeador pasado inicia una cascada de lógica que finalmente decide si hacer metapixel activado o desactivado en el siguiente ciclo de reloj (todo se describe con más detalle más adelante). En



se resume el papel de los 7 planeadores.

Durante cada ciclo del reloj Metapixel de OTCA, el bloque es destruido en el origen de la viga del tractor y restaurado en su posición inicial, continuando el ciclo.

Las reglas y la lógica - las normas de la metapixel se codifican en dos columnas (registros) como se muestra en las imágenes de abajo. Las reglas de la vida como autómatas se escriben en la forma B #/S #, descrito aquí. Reglas de Conway se definen como B3/S23, así que los bits correspondientes de los registros de la OTCA metapixel se rellenan con un comedor-1 .

regla de registros

En cada ciclo de reloj tres conjuntos de tres LWSSes (9 en total en una sola línea) brotó de una pistola de paquete (accionada por el reloj, explicado) y enviados en un bucle completo alrededor de la metapixel. Como el tren de naves espaciales pasa por cada uno de sus vecinos de Moore la primera nave en el tren chocará con un estanque en su camino si el vecino es actualmente vivo, destruyendo la nave y reducir el número total de naves en el tren por uno. Por lo que si un metapixel tiene 4 vecinos vivos, solamente cinco LWSSes devolverá después de completar un pase alrededor del perímetro. Una colisión de un tren de LWSSes con un estanque se muestra a continuación en el de 0:32 (voy a explicar cómo los estanques llegar más adelante):

Este video muestra también el pastoreo del tren de LWSSes alrededor de la metapixel por dos abejas lanzaderas y otros reflectoresy un ejemplo de "ajuste de color" de las naves (cambiando ligeramente su fase ) por un par de pistolas de planeador. En



se muestra el camino de la LWSSes junto con la ubicación de los Ajustadores de color y posibles lagunas.

A continuación se muestra la ruta completa del tren LWSS. Observe cómo una nave se retira de la parte delantera del tren cuando pasa cada vecino de la vida.

Cuando el tren de LWSSes realiza un bucle, se canalizan en un búfer de sync y p46 p40 convertidor donde se da la misma fase. Entonces se envían en el registro de normas donde se chocó con otro LWSS desde la dirección opuesta (originario de uno de los planeadores del tiro del reloj) para decodificar el tren de LWSS en el número de vecinos de la vida (se muestra en



).

La localización de la colisión entre el tren LWSS y LWSS originarios forma el reloj depende de cuántos LWSS fueron destruidos desde la parte delantera del tren durante el lazo alrededor del metapixel. Se establece el mecanismo para que la colisión dispara dos planeadores en direcciones opuestas, dirigidas hacia el registro que corresponde al número de vecinos de vida que tiene el metapixel (otra vez, vea



como referencia).

Normalmente, los planeadores se cada uno chocan con una colmena para producir un bloque y un estanque, esto se llama una reacción de honeybit. Si usted mira de cerca de 6 minutos en el video de arriba, verás la colisión de la LWSSes antiparallel, enviando dos planeadores a ranura 4 (cuenta encima de la parte inferior, comenzando en 0) en el nacimiento y la supervivencia de registros, y en aproximadamente 6:30 se forman dos lagunas en los registros. Las naves espaciales restantes en el tren LWSS chocan con un comedor-1 y se destruyen. El siguiente video muestra una mirada más cercana a través de muchas generaciones:

Si la ranura en el registro está ocupada por un comedor-1 (como son la 3 º ranura en el registro de nacimientos y del 2 º y 3 º en los registros de supervivencia, contando otra vez desde la base a partir de 0), el planeador entrante es destruido antes de que tenga oportunidad de iniciar una reacción de honeybit con el Beehive en español. Esto no produce estanque en el registro. En este mecanismo un registro tiene un estanque si el número de vecinos de vida no satisface las condiciones de vida en la próxima generación y no estanque si lo hace. Recuerde que esta información se divide entre dos registros (nacimiento y supervivencia) y en un paso posterior de que alguna lógica a mirar el estado actual de la metapixel para determinar que registrarse para leer (descrito más adelante). Este mecanismo es lo que hace que la OTCA Metapixel programable para cualquier conjunto de reglas de vida-como, muy bien.

A continuación, el reloj dispara un par de LWSSes a leer estos registros (uno LWSS para cada registro), siguiendo las trayectorias que se muestra en



. Si un estanque está presente en un registro, el LWSS choca con el estanque y se destruye. Esto completa la reacción de honeybit y restaura la colmena en la misma posición que estaba originalmente. Si el LWSS no tiene ninguna Laguna en su camino, está permitido continuar en el siguiente mecanismo de lógica. En el video de arriba, vea si usted puede predecir el siguiente estado de la metapixel mediante la lectura de los registros.

Antes de pasar a la final lógica del sistema, te miro como Estados de los vecinos son contados por.



muestra los 8 canales de entrada/salida de cada metapixel. Tomando un vistazo a uno de ellos, a ver otra reacción de honeybit sucede:

La reacción de honeybit de la izquierda corresponde al estado de metapixel a la derecha, y la reacción de la derecha corresponde al estado de metapixel la izquierda. El LWSS tren se mueve en sentido horario alrededor de la metapixel, así que el tren en movimiento hacia abajo de la pantalla pertenece a la píxeles a la izquierda y el tren que se mueve la pantalla pertenece a la píxeles a la derecha.

Estas reacciones honeybit son fijadas por una nave espacial de peso medio (MWSS) que se mueve en una trayectoria en sentido antihorario alrededor del píxel cada ciclo de reloj.



está una descripción de su camino y el camino de todos los planeadores que genera para la 8 reacciones de honeybit alrededor de la metapixel. El MWSS está creado sólo si el estado actual de la metapixel está vivo y al final de su lazo alrededor de los píxeles es destruido.

La lógica final de la metacell se resume en



.

Primero algunas definiciones:

C es el estado actual de la célula, 1 o 0

B es el estado del registro de nacimiento, 1 para las condiciones de nacimiento satisfecho, 0 para no-satisfecho

S si el estado del registro de supervivencia, 1 satisfecho, 0 para no-satisfecho

Los Estados de C, B y S se almacenan en el metapixel por la presencia (1") o ausencia («0») de tres barcos. Los barcos tienen la interesante propiedad que cuando son golpeó con un planeador reflejan una nueva ala con una trayectoria que es perpendicular a la trayectoria de la vela de entrada. Esta colisión destruye el barco, así que barcos son conocidos como reflectores de tiempo uno. En



se muestra la posición de los barcos en el metacell. Los barcos de B y S se establecen mediante la LWSSes que son capaces de pasar a través de los registros de nacimiento y la supervivencia durante la etapa de decodificación descrita anteriormente. En este video, cómo se establecen los Estados de los B y S en "1" por un par de LWSSes a partir de las 3:47, el momento en que se fijan viene en 4:54:

Un planeador se utiliza para leer los Estados de C, B y S y un estanque en G o H (se muestra en



). La lógica para la formación de estanques de G y H ("1" significa un estanque está formado, "0" no significa estanque) está dada por la siguiente lógica:

Si C existe, entonces:

G = ! S (G es igual a lo contrario de S)

H = 0

Si C no está presente:

G = 0

H = B

La vela final lanzada por el reloj (descrito en el principio) establece de una cascada de lógica que calcula estas relaciones. El planeador se suelta a través del pequeño orificio en la valla al lado del reloj, hasta un poco menos de la mitad el lado izquierdo del video de arriba, provocando la formación de un LWSS que viaja hacia el lado derecho del video, liberando dos planeadores en su camino (ejemplo a partir de unos 16:12). El primer planeador rebota alrededor y finalmente se convierte en un LWSS que lee los resultados en G y H, más sobre esto en el siguiente párrafo. La segunda vela dirige a C, si C está presente se refleja y comienza hacia el S. Si S está presente refleja en un comedor y muere, si no hay S sigue un panal de abejas en G y hace una reacción de honeybit, formando un estanque. Si C no está presente, la segunda vela dirige hacia B en lugar de otro. Si B está presente, la vela refleja en B y no una reacción honeybit en H, de lo contrario se ejecuta en un comedor y muere. 16:20 en el video de arriba muestra el planeador reflejo C, pasa por un S ausente y forma un estanque en G.

En 16:38 se puede ver un estanque de G y un LWSS viniendo de la izquierda para leer G y H. Si G o H tiene un estanque de conjunto, se destruye la LWSS, como se muestra en 16:39. Si no se establece (ver 10:47) el LWSS sigue y forma un barco a notT (se muestra como T con una línea en la parte superior de



). Esto se puede resumir con la lógica:

notT =! (G || H) (notT es igual a 1 cuando la G y H son ambos 0, caso contrario es 0)

Un tercer planeador lanzado en 10:57 por las original LWSS lógica cascada gatillo cabezas hacia notT. Si el barco está presente refleja en el barco y hits de un comedor, si el barco es no presentarlo sigue T (otra vez,



). El planeador es destruido por un comedor en 11:16, pero se puede ver a T a partir de las 5:33.

Un planeador cuarto es lanzado por el LWSS original que se convierte en un LWSS que limpia cualquier barcos sobrantes a la izquierda en B o S después de han completado las operaciones lógicas. Un ejemplo comienza a las 5:24. Este LWSS no tiene otra función, que es destruido por un barco que limpia, o un comedor. Su trayectoria se muestra



.

Después de todo esto estamos salimos con el estado siguiente:

T = presencia de LWSS en T, la lógica formal para este estado está dada por:

T =! notT = G || H = (C & &! S) || (! C & & B)

que se puede leer como "si el píxel está actualmente vivo y no cumplen los requisitos para la supervivencia, o si el píxel está actualmente muerto y satisfacer los requisitos para el nacimiento, básicamente si el siguiente estado metapixel es diferente de la situación actual habrá un LWSS en T.

LWSS t sigue la ruta que se indica



. En 6:28 se puede ver un ejemplo de LWSS convirtiendo en una serie de giros y vueltas. En 6:39 dispara un planeador de la cual se convierte en un LWSS que los jefes a almacenador intermediario de la sincronización y la broca de barco estado celular (diferente a C, más sobre esto en el siguiente párrafo). LWSS original sigue a la izquierda, tiro otro planeador en 6:44, creando un tercer LWSS que se dirige a la esquina inferior derecha de la metapixel para alternar el estado de la pantalla de salida; la original LWSS se dirige a la esquina superior izquierda de metapixel al mismo (más que en la próxima sección).

La célula estado barco es lo que realmente almacena el estado actual de la célula, (C se actualiza periódicamente, basada en el estado de la broca del barco). Si la punta del barco está presente, lo que indica que el estado actual de la metapixel es "off", el entrante LWSS forman un planeador que choca con él y lo quita (comienza a las 7:03). Si la célula estado barco es no está presente, indicando que el estado actual de la metapixel está "on", el entrante LWSS formará un planeador que crea un poco de barco nuevo (comienza a las 18:58).

Por último, vamos a seguir el camino de la LWSS original que desencadenó toda esta serie de eventos. Sigue el camino externo se muestra



, es convertida en un MWSS y se dirige hacia la punta de barco de estado celular. Si el bit de barco choca con ella y muere, aunque conservan la punta del barco durante esta muerte (3:18). Si el barco no es presente pasa ileso y sigue hacia la derecha (7:14). Este es el MWSS mismo que hace un bucle hacia la izquierda alrededor de la célula, desencadenando reacciones de honeybit en las entradas de todos los vecinos. Este MWSS sólo se le permite hacer el bucle cuando la broca de barco de estado de la célula no está presente, cuando el metapixel es "on". Justo antes de que deja hacer el bucle dispara de un planeador que rebota alrededor y finalmente establece un barco en C (7:20). En 7:54 se puede ver salir el primero de 8 reacciones de honeybit alrededor de la metapixel, uno para cada vecino de Moore.

Mostrar la salida - la última pieza de la metapixel es la pantalla de salida que utiliza un montón de naves espaciales para llenar en una gran zona cuadrada, por lo que parece más o menos blanco. LWSSes sincronizadas dos cambiar la pantalla de salida; vinieron el último mecanismo de lógica descrito en los párrafos anteriores, se muestra



. Su sincronización es sincronizado para arriba a través de una serie de


, entonces se utilizan para activar un arma HWSS que desencadena una serie de LWSS "del cielo" reacciones. Las corrientes de LWSSes llenar el espacio cuadrado y aniquilar mutuamente unos a otros en el centro de la metapixel, se muestra


. Los mecanismos de ambos seguros son similares:

He adjunta todos los archivos de vídeo de este instructable abajo en caso de la compresión de youtube los hace difíciles de ver.

Artículos Relacionados

Autómatas celulares y una ejecución de juego de Conway de la vida

Autómatas celulares y una ejecución de juego de Conway de la vida

Que yo sepa, sólo ha habido dos artículos de instructables en autómatas celulares que pueden encontrarse aquí y aquí. Ni artículo explica qué son los autómatas celulares, por qué son interesantes, o cómo se puede implementar en código. Por lo tanto,
El juego de Candyland viene a vida trajes

El juego de Candyland viene a vida trajes

el juego de Candyland ha llegado a la vida. Gryphon es rey de Kandy, de pie delante de su especial Candy Castle. Phoenix es princesa Lolly, viviendo felizmente en el bosque paleta.  La pareja está de pie en el tablero de juego de Candyland, todo list
Enojado aves juego de tamaño la vida

Enojado aves juego de tamaño la vida

íbamos caminando a través de Walmart cuando vimos algunos juguetes animales aves enojado rellenos para la venta. Mi esposa y yo miramos y dijo "tenemos que construir una vida tamaño juego de aves enojado". Así que, compramos algunos peluche Angr
Matriz de LED - juego de la vida

Matriz de LED - juego de la vida

Este proyecto ejecutará el juego de Conway de la vida en una matriz de LED 8 x 8.Tiene 2 botones, uno para la creación de un campo aleatorio, el otro para iniciar o detener las iteraciones.Paso 1: materiales Una matriz de LED 8 x 82 x aprox. resisten
Cubo LED 8 x 8 x 8

Cubo LED 8 x 8 x 8

pantalla 3D crear su propia 8 x 8 x 8 LED cubo!Creemos que este Instructable es la guía más completa paso a paso para construir un 8 x 8 x 8 que LED cubo publicado siempre en los intertubes. Le mostrará todo, desde la teoría de la operación, cómo con
Matriz de LED 8 x 8 para RaspberryPi y 3 programas de

Matriz de LED 8 x 8 para RaspberryPi y 3 programas de

Se trata de una matriz de LED 8 x 8 para una RaspberryPi y tres programas a ejecutar en él:1 - un programa "Hola mundo" con una fuente completa de inglés.2 - un juego de dados.3 - una versión pequeña de 8 x 8 del juego de la vida de Conway..Se n
Huevos de Pascua Google impresionante

Huevos de Pascua Google impresionante

En este Instructable, estará compartiendo con ustedes algunos de los mejores huevos de Pascua de Google en la web.(Un huevo de Pascua es un intencional dentro de broma, mensaje oculto o función en una obra como un programa de computadora, videojuegos
Diversión con Arduino, nada más necesario

Diversión con Arduino, nada más necesario

La razón de la protoboard vacía en la foto es porque no hay circuitos para construir, todo lo que necesitas es un Arduino.Era curioso ver cómo funcionaría un Arduino para matemáticas y gráficos basado en texto simple así que decidí experimentar un po
Creación de una rejilla de LED charlieplexed en ATTiny85

Creación de una rejilla de LED charlieplexed en ATTiny85

este instructable fue inspirado por mi primer proyecto de Microcontrolador AVR que he estado trabajando desde hace algún tiempo. Quería empezar a aprender más sobre el Microcontrolador AVR y ver cuánto no podía hacer con la cantidad mínima de hardwar
¿picchess

¿picchess

de deja jugar al ajedrez?Este proyecto es un juego de ajedrez de micro controlador. El objetivo tiene que ser capaz de jugar ajedrez en un monitor VGA, incluyendo una computadora inteligente para jugar contra. Todo esto se ha logrado con un microcont
Hacer una matriz de 8 x 10 L.E.D

Hacer una matriz de 8 x 10 L.E.D

actualización 1: he añadido juego del código para CONWAY de la vidaACTUALIZACIÓN 2: AHORA PUEDE GUARDAR ALGUNOS PINES DE ARDUINO CON LA AYUDA DEL REGISTRO DE CAMBIO DE 1.En este instructable le mostraré cómo crear una matriz de 8 bastante lujo por 10
Nintendo DS Lite Ultimate

Nintendo DS Lite Ultimate

me sorprendió realmente que no una completa Nintendo DS hacking Instructable aquí, así que pensé era mi vocación. Yo he estado investigando la NDS hacking escena durante bastante tiempo, y este instructable es el resultado dedicado de todos mis halla
Instalar un arnés JAMMA en un gabinete de la arcada

Instalar un arnés JAMMA en un gabinete de la arcada

tengo una arcade de la máquina en un gabinete que no funciona.Tengo otra junta, pero no coincide con los pernos - me di cuenta de que necesitaba para reemplazar los cables.Compré un arnés JAMMA, pero todo estaba en chino.Aquí es cómo embrolló a travé
Cómo no hacer un corazón de Zelda cuentas llavero

Cómo no hacer un corazón de Zelda cuentas llavero

HEY ESCUCHA! ¿Te gusta hacer joyas o dijes con perlas? ¿Gustan los videojuegos o conocer a alguien que hace?Entonces este es el proyecto para usted! Voy a decir apenas cómo usted puede incorporar ambos.En primer lugar, te diré que soy un nerd de los