# Como Funciona o Emulador?
Eu queria fazer alguns designs divertidos, e tinha acabado de ler sobre autômatos celulares unidimensionais, então este site nasceu.
Continue lendo ou pule direto para o emulador.
# Autômatos Celulares Unidimensionais
Autômatos celulares são uma espécie de jogo de zero jogadores jogado em um "universo" de "células" ladrilhadas. Cada autômato tem sua própria configuração, e pode evoluir um universo através de muitas gerações. O autômato celular mais conhecido é provavelmente o Jogo da Vida de Conway.
Autômatos celulares unidimensionais (AC1D) são um tipo de autômatos celulares onde o ladrilho é 1D; podemos pensar nisso como uma linha de quadrados. Isso torna as muitas gerações de um AC1D fáceis de desenhar: podemos desenhar todas as linhas de geração uma após a outra para formar um retângulo.
(Primeira geração) | |||||
(Próxima geração) | |||||
(Próxima geração) |
# Configuração
Para definir um AC1D, precisamos saber três coisas: o número de estados a serem usados, quais vizinhos considerar ao calcular a próxima geração e as regras de transição para decidir para qual estado uma célula evoluirá (com base nos estados de seus vizinhos).
# Estados
Cada célula em um autômato celular pode estar em um dos vários estados, na maioria das vezes representado como um número (como 0 ou 1) ou uma cor (como preto ou branco).
Nesta simulação, você pode definir o número de estados que o autômato celular possui.
# Vizinhos
Um exemplo simples de vizinhança é a célula atual e seus dois vizinhos imediatos, como:
000Em geral, existem muitos, muitos tipos de vizinhanças que podem ser usados para criar autômatos celulares (incluindo vizinhanças que podem mudar com o tempo). No entanto, as vizinhanças usadas neste site são limitadas a uma seleção da célula atual e vários de seus vizinhos mais próximos de cada lado.
Vizinhos (1 - 7)# Regras de Transição e Número da Regra
Uma vez selecionado o número de estados e a vizinhança, as regras de transição devem ser determinadas. Para cada combinação possível de estados na vizinhança dada, o estado resultante deve ser escolhido. Como exemplo, aqui está a regra de transição dizendo que, se todos os vizinhos de uma célula forem 0
, a célula deve se tornar 1
:
Essas regras de transição podem ser codificadas como um único número, o "número da regra", que também pode ser usado para alterar as regras de transição.
(Esta representação das regras de transição como um "número da regra" usa o Código Wolfram.)
# Emulador
Uma vez que o autômato é configurado, este site o emula gerando uma geração inicial aleatória e então desenhando muitas gerações filhas.
Acesse aqui para usar o emulador.
# Nota sobre Nomenclatura
Chamei isso de "emulador" em vez de "simulador", porque espera-se que os simuladores aproximem a coisa que simulam, enquanto o objetivo de um emulador é recriar exatamente o comportamento da coisa que emula.
# Configurações de Exibição
Existem várias configurações que controlam como o emulador é exibido:
Matiz- Os rótulos numéricos podem ser ativados ou desativados.
- O emulador pode ser renderizado em cores ou em tons de cinza.
- A primeira geração de células pode ser criada aleatoriamente ou como uma única célula diferente de zero cercada por células zero.
- O matiz pode ser ajustado para renderizar o emulador usando cores diferentes.