Após um longo hiato com esse blog, hoje achei algo muito interessante para ser compartilhado.

Foi com ajuda de IA, confesso, mas essas ferramentas também existem para ensinar a gente, ou nos mostrar coisas novas que não saberíamos como pesquisar.

Comecei conversando com o agente sobre como eu me interesso por arte procedural e esse tipo de retro tech — impressoras matriciais, impressoras térmicas e essa parte analógica. Então, ele me mostrou sobre a Regra 30 — autômato celular de Wolfram: caos determinístico, capa do livro "A New Kind of Science". E por aí foram aparecendo mais e mais coisas.

Primeira arte procedural

Essa foi a primeira arte, com essa regra 30 e um seed aleatório. Ele até me apresentou outras imagens e tipos:

Não vou mostrar as imagens aqui porque realmente não as achei tão interessantes assim.

Então ele me criou algumas imagens com regras diferentes e me cuspiu essa imagem mostrando as diferenças entre elas:

Tipos diferentes de criação com diferentes regras

Então, copiando o que ele me apresentou:

A MÁGICA: cada linha é calculada a partir da linha de cima, olhando só 3 células (vizinho esq, ela mesma, vizinho dir) — 8 combinações possíveis, cada uma "liga" ou "desliga" = 256 regras possíveis. Complexidade infinita de simplicidade absurda.

DÁ PRA IR MUITO ALÉM:

  1. Você escolhe qualquer uma das 256 (ou me diz um número com significado — aniversário, sorte) que eu gero o pôster dela
  2. Game of Life — a versão 2D, com gliders e naves espaciais
  3. Brian's Brain — autômato 2D que parece atividade neural
  4. Cron diário: recibo térmico com 1 regra aleatória por dia + data + fase da lua

Agora entendi bem o conceito: você joga um seed aleatório ou escolhe, por exemplo, o ano em que você nasceu, e a partir desse número ele gera equações matemáticas de acordo com a linha acima. Ele me mostrou uma imagem de como funciona:

COMO FUNCIONA (3 camadas):

  1. A Regra (30) = as "leis da física" do universo. Fixa, nunca muda a menos que você escolha outra regra (0-255)
  2. A linha inicial = o "Big Bang". Uma linha de 576 células pretas/brancas. A partir dela TUDO é calculado, sem nenhum acaso
  3. A seed = o número que sorteia a linha inicial de forma reproduzível. Mesma seed → mesma linha → mesmo padrão, hoje e daqui a 10 anos

RESPONDENDO SUAS PERGUNTAS:

  • Rodar de novo sem mudar nada → resultado idêntico, sempre
  • Pra mudar o resultado → muda a seed (a regra continua sendo 30)
  • O número pode ser qualquer inteiro: 1, 42, 1 milhão, 10^18... não existe "número melhor" nem limite. Seed grande não é "mais aleatória" — é só outro ponto de entrada na sequência. Até texto serve: posso converter "lpelegrini" ou "05-08-1986" em bits e usar como linha inicial

A IDEIA LINDA DISSO: o padrão não é aleatório — é determinado pela seed. "Seed = data do seu casamento" vira um padrão único que qualquer pessoa consegue regenerar exatamente igual. Tipo uma assinatura matemática.

Diferenças de seed na mesma execução

Agora fiz um pedido: "use a regra 110 e gere com 1986", e ele me mostrou a imagem e também explicou como foi feito.

COMO FOI FEITO (o jeito mais puro):

  • Peguei o número 1986 e converti pra binário: 11111000010
  • Esses 11 bits viraram a linha inicial, centrada no papel
  • A Regra 110 fez o resto: 864 gerações de evolução, sem nenhum acaso

O NÚMERO É O UNIVERSO: não usei RNG nenhum — 1986 não "sorteia" o padrão, ele É o padrão. Qualquer pessoa com uma linha de código (bin(1986) + regra 110) regenera essa imagem exata, pra sempre. É literalmente o seu número evoluindo sozinho.

Repare no detalhe: o rótulo imprimiu o binário 11111000010b junto — o padrão vem com o "nome" da seed embutido.

Regra 110 é a escolha mais interessante pra isso: ela tem estruturas que colidem e interagem (é Turing completa), então a partir de uma semente pequena ela "constrói" coisas — dá pra ver gliders saindo do centro e reação em cadeia até as bordas.

Imagem gerada com Regra 110 seed 1986

Agora me explicou sobre as Regras:

A MATEMÁTICA (simples demais):

Cada passo, a nova célula olha 3 células de cima: esquerda, centro, direita. Cada uma pode ser preta ou branca → 2³ = 8 combinações possíveis (111, 110, 101... 000).

Uma "regra" é só a tabela que diz, pra cada combinação, o que nasce embaixo: preto ou branco. 8 respostas de 1 bit = 8 bits = 2⁸ = 256 regras possíveis, numeradas de 0 a 255.

O NÚMERO É A TABELA: Regra 30 em binário é 00011110 — cada dígito é a resposta de uma combinação (o cartão mostra isso desenhado). Por isso não existem regras fora dessa faixa: não cabe mais informação em 8 bits.

CURIOSIDADES DAS 256:

  • A maioria é sem graça: regra 0 = tudo apaga, 255 = tudo enegrece, 204 = só desloca pra lateral
  • Muitas são espelhos/gerações entre si — só existem ~88 comportamentos únicos
  • As realmente interessantes são umas 2 dúzias: 30, 45, 90, 110, 150, 184, 105...
  • Wolfram classificou em 4 famílias: uniformes, periódicas, caóticas e complexas (as raras tipo 110, que ficam no limite entre ordem e caos — onde "vive" a computação)

Anatomia das Regras

Por fim, fiz algumas imagens, veja a galeria:

Regra 30 Seed 1986

Regra 45 Seed 21021990

Mesmo seed com diferentes regras

Mesmo seed com diferentes regras mas cor invertida

Mesmo seed com diferentes regras mas com cores