Sobre

Autômatos Celulares Elementares (Elementary Cellular Automata)

Autômatos celulares elementares são os mais simples possíveis: uma linha de células, cada uma com dois estados (0 ou 1), onde o próximo estado depende apenas da célula e de seus dois vizinhos. Foram extensivamente estudados por Stephen Wolfram.

Algoritmo Principal

Cada célula tem 3 vizinhos (ela mesma + esquerda + direita), resultando em 2³ = 8 possíveis configurações:

Padrão111110101100011010001000
Regra????????

Cada regra é um número de 0 a 255 (8 bits), onde cada bit define o resultado para uma das 8 configurações.

Equações Implementadas

Para cada célula na posição i:

// Lê os três vizinhos
a = generation[i-1] || 0  // Esquerda
b = generation[i]         // Centro
c = generation[i+1] || 0  // Direita

// Consulta a regra
nextGeneration[i] = rule[a][b][c]

Regras Famosas

  • Regra 30: Gera padrões caóticos complexos
  • Regra 110: Universalmente computacional (Turing-completo)
  • Regra 90: Gera o triângulo de Sierpinski
  • Regra 184: Simula tráfego de veículos

Complexidade de Compreensão

Nível: Básico a Intermediário

  • Conceitos necessários: Autômatos celulares, lógica booleana, sistemas iterativos
  • Matemática: Aritmética binária, teoria da computação
  • Programação: Arrays, lógica condicional, processamento sequencial

Referências e Recursos para Estudo

Artigos e Documentação

Tutoriais e Código

Aprofundamento Matemático

Visualizações Interativas

Arquivo do processo

Todas as gerações — incluindo as ruins — fazem parte do processo.

2quadros