Jogo da Vida de Conway

Clique nas células para bancar deus e desenhar sua própria criatura — ou carregue um padrão clássico — depois pressione reproduzir e veja regras simples criarem vida complexa.

A carregar a simulação interativa...

Lição

A teoria — Jogo da Vida de Conway

Todo o Jogo da vida são dois números. B3: uma célula morta com exatamente três vizinhas vivas nasce. S23: uma célula viva com duas ou três vizinhas sobrevive, caso contrário morre. Não há outra regra, nem acaso, nem jogador — tu pões a primeira geração e o resto é forçado. Tudo o que o painel conta, e cada padrão da lista, é consequência desses dois números aplicados a todas as células ao mesmo tempo.

O que significa cada símbolo

n
o número de células vivas entre as oito vizinhas — quatro lados e quatro cantos. Cada decisão do jogo é tomada a partir desse único inteiro.
B3
a regra de nascimento. Exatamente três: duas não chegam e quatro são demais, e é essa nitidez que faz os padrões terem bordos limpos em vez de manchas.
S23
a regra de sobrevivência. Uma célula viva com menos de duas vizinhas morre como isolada; com mais de três, como sufocada.
Phase
o veredicto do próprio painel sobre o que o padrão está a fazer — Evolving, Still life, Oscillating ou Extinct. É uma comparação com gerações anteriores, não uma previsão.

De onde vem a fórmula

  1. Para cada célula do tabuleiro, conta as vivas entre as suas oito vizinhas. Fá-lo também para as mortas — o nascimento decide-se do mesmo modo que a sobrevivência, e uma célula que ainda não existe tem vizinhas na mesma.
  2. Aplica B3. Uma célula morta com n = 3 passa a viva. Carrega o bloco e confirma: cada casa vazia que lhe toca vê no máximo duas vivas, portanto nunca nasce nada ao seu lado. É essa toda a razão por que o bloco fica quieto.
  3. Aplica S23. Uma célula viva com n = 2 ou n = 3 permanece. Cada uma das quatro células do bloco toca exatamente outras três, por isso as quatro sobrevivem e o bloco reproduz-se igual.
  4. E faz tudo ao mesmo tempo. Cada célula é julgada contra o mesmo instantâneo e depois o tabuleiro inteiro é substituído. Atualiza célula a célula e obténs outro jogo, errado — a vizinha que já mudaste repercutiria na célula ao lado. A simultaneidade não é um detalhe de implementação: faz parte da regra.

Como ler o que vê

Vigia a linha Phase em vez da grelha. Carrega o bloco e ao fim de uma geração marca Still life; o pisca-pisca precisa de duas para chegar a Oscillating; o diehard corre 130 gerações e então marca Extinct. Carrega agora o planador e avança o que quiseres. Fica em Evolving para sempre — e é a coisa mais ordenada do menu, repetindo a sua forma exata a cada quatro gerações. O classificador compara o tabuleiro inteiro com tabuleiros anteriores, e o de um planador nunca se repete, porque a forma avançou uma casa na diagonal. A ordem que viaja é invisível a um teste de ordem que fica parada.

Pressupõe
Um tabuleiro finito — e que não controlas por completo: cada padrão traz o seu próprio tamanho de grelha e anula o teu. A página abre a 30×30; escolhe Acorn e passa a 50×50, põe 70 à mão e mantém-se, depois escolhe Diehard e desce a 40×40. A regra de Conway está definida num plano ilimitado, portanto um padrão que aqui chega à borda já não joga exatamente o mesmo jogo.
Falha quando
A linha Phase nunca te poderá dizer que um padrão vai sobreviver. Carrega o diehard: sete células, que crescem até vinte e quatro, vagueiam mais de cem gerações e desapareceram na geração 130 — o nome é merecido. Nada no ecrã o sugeria antes da geração 130, e nada o poderia ter feito. O Jogo da vida é Turing-completo, portanto perguntar «este padrão vai extinguir-se?» é o problema da paragem com outro chapéu, e nenhum algoritmo o decide. O que o painel responde é a pergunta decidível — este tabuleiro já se repetiu? — e enquanto espera diz cuidadosamente Evolving e nada mais forte.

Uma vida estável não é nada a acontecer — é aritmética a fechar em cada célula ao mesmo tempo 🖖

Carregue o padrão block e conte você mesmo. Cada uma das suas quatro células vivas toca exatamente três outras células vivas, e três é ao mesmo tempo o número de nascimento e um número de sobrevivência, portanto todas continuam vivas. Ao mesmo tempo, cada célula vazia em volta do bloco toca no máximo duas células vivas, e duas não são três, portanto nada pode nascer. O bloco não persiste porque nada lhe acontece, mas porque a regra é avaliada em todo o lado, em cada geração, e a contagem sai favorável em todas as direções ao mesmo tempo. Parta-lhe um canto e esse equilíbrio desaparece.

Um jogo sem jogadores 🖖

O Life de Conway é um jogo de zero jogadores: você posiciona as células iniciais, aperta play e nunca mais mexe. A partir daí, tudo decorre de apenas duas regras — uma célula morta com exatamente 3 vizinhas vivas nasce, e uma célula viva só sobrevive com 2 ou 3 vizinhas. Disso surgem três destinos: algumas formas congelam para sempre, outras piscam em ciclo, e outras (como o planador) deslizam continuamente pela grade.

A aposta de 50 dólares que Conway perdeu 🖖

Em 1970, Conway conjecturou que nenhum padrão inicial poderia crescer para sempre e ofereceu 50 dólares, pela coluna de Martin Gardner na Scientific American, a quem resolvesse a questão. Em poucas semanas, o grupo de Bill Gosper no MIT construiu o canhão de planadores — um padrão que dispara um novo planador a cada 30 gerações, fazendo a população crescer sem limite. Gosper ficou com o dinheiro e refutou a conjectura; o canhão é um dos padrões que você pode carregar acima.

Problema resolvido na íntegra

  1. Cinco células vivas numa grelha de 30 × 30 5 passos

    Cinco células vivas numa grelha de 30 × 30. Determine a densidade mostrada pelo painel e, em seguida, determine a velocidade a que o glider se desloca e por que razão não pode ir mais depressa. Este é o estado Planador.

    1. A densidade é apenas o número de células vivas a dividir pelo número de células, e a grelha é quadrada.

    2. A regra na íntegra. Note-se o que ela não contém: qualquer noção de direção, distância ou memória. Uma célula vê oito vizinhas e a geração atual, e isso é tudo.

    3. Ao acompanhar o glider ao longo de quatro passos, ele volta a ser ele próprio, uma célula à direita e uma célula para baixo. Dois desses passos não se parecem em nada com o início, razão pela qual o período é quatro e não dois.

    4. A velocidade é o deslocamento a dividir pelo período. O denominador do limite é determinado pela vizinhança: uma célula por geração é o mais rápido que a informação se pode mover.

    5. Escalone-se para o tabuleiro. O tempo de travessia é uma propriedade do padrão e da grelha, não da velocidade de animação — esta apenas altera o tempo de espera.

    Resposta

    c/4, onde c é uma célula por geração. O Life tem um limite estrito de velocidade, que decorre diretamente da regra: uma célula apenas observa as suas oito vizinhas, pelo que nenhuma influência se pode deslocar mais do que uma célula por geração, independentemente do padrão construído. Esse é o cone causal, a que a literatura do Life chama a velocidade da luz sem grande ironia. O glider regressa à sua própria forma após quatro gerações, deslocado uma célula na diagonal, pelo que se move a um quarto do limite — e nada construído a partir de B3/S23 alguma vez superou c/2 ortogonalmente. Um padrão de cinco células com um período e um deslocamento é o menor objeto no Life que se desloca, demorando 120 gerações, ou 24 segundos nesta definição de velocidade, a atravessar o tabuleiro.

Referências (3)

Problemas de exemplo