O jogo da vida — de John Conway

O matemático John Conway faleceu na semana passada, vítima do Corona vírus.

https://guiadoestudante.abril.com.br/estudo/conheca-john-conway-o-matematico-que-criou-o-jogo-da-vida/

Ele foi o criador do “Jogo da Vida”, o primeiro exemplo de autômato celular. É bastante interessante e lúdico.

Em homenagem a Conway, é mais ou menos simples fazer uma versão em Excel.

Imagine um tabuleiro, com pontos aleatórios.

O jogo faz a seguinte análise:

  1. Qualquer célula viva com menos de dois vizinhos vivos morre de solidão.
  2. Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação.
  3. Qualquer célula morta com exatamente três vizinhos vivos se torna uma célula viva.
  4. Qualquer célula viva com dois ou três vizinhos vivos continua no mesmo estado para a próxima geração.

Rodando várias iterações, começam a surgir alguns padrões.

O código gera uma matriz aleatória de 0 e 1. Cola na planilha.

Pinta de verde e branco, com formatação condicional.

A seguir, aplica as regras do jogo da vida.

Repita o procedimento acima diversas vezes.

Vamos analisar apenas um trecho do código, as regras do jogo da vida.

Existe uma variável chamada somaVizinhos que soma quantos vizinhos a célula tem.

A célula em referência é arrVal(i, j). Se ela for igual a 1, está viva, se 0, não.

‘Qualquer célula viva com menos de dois vizinhos vivos morre de solidão.

If arrVal(i, j) = 1 And somaVizinhos < 2 Then

arrValUpdate(i, j) = 0

End If

‘Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação.

If arrVal(i, j) = 1 And somaVizinhos > 3 Then

arrValUpdate(i, j) = 0

End If

‘Qualquer célula morta com exatamente três vizinhos vivos se torna uma célula viva.

If arrVal(i, j) = 0 And somaVizinhos = 3 Then

arrValUpdate(i, j) = 1

End If

‘Qualquer célula viva com dois ou três vizinhos vivos continua no mesmo estado para a próxima geração.

If arrVal(i, j) = 1 And (somaVizinhos = 2 Or somaVizinhos = 3) Then

arrValUpdate(i, j) = 1

End If

Download no Github.

Lição de casa: modificar a terceira regra para:

‘Qualquer célula morta com exatamente TRÊS OU QUATRO vizinhos vivos se torna uma célula viva’ e analisar os resultados.

Bom divertimento!

“Navegadores antigos tinham uma frase gloriosa: Navegar é preciso, viver não é preciso” Ver todos os posts por Arnaldo Gunzi

Publicado

Originally published at http://forgottenmath.home.blog on April 15, 2020.

Project Manager on Analytics and Innovation. “Samurai of Analytics”. Passionate about Combinatorial Optimization, Philosophy and Quantum Computing.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store