Eu vou introduzir a noção de autômatos
celulares com um exemplo bastante simples
de um autômato celular bi-dimensional chamado
"O Jogo da Vida". Esta é uma simulação
do jogo da vida chamada "minilife.nlogo", que você
pode baixar da página de materiais do nosso curso.
Eu vou abordar o jogo da vida em detalhes - na verdade ele não é um jogo - mas
por enquanto, vamos ver os tipos de padrões que podem ser
criados. Nós temos essa rede de células, onde cada um destes círculos brancos é uma célula. Os círculos
podem ser brancos ou pretos, então clicando em "randomize", ele irá dispor 12%
de círculos pretos. Cada célula segue uma regra simples, que leva em conta
o seu ambiente local, isto é, as cores das células ao seu redor, e a cada passo de tempo, todas as células irão
mudar a sua cor baseando-se em regras simples. Então, vamos vê-lo em ação.
Vemos que ele estabiliza em estruturas bastante simples depois de um comportamento bastante complexo. Então
vamos aumentar aqui até 50%. Setup limpa os dados, randomize transforma 50% deles em preto,
e agora, clicamos em go. Temos comportamentos complicados, finalmente estabilizando, eventualmente.
Okay, vamos voltar aos slides para eu explicar um pouco o que você acabou de ver.
O jogo da vida é um exemplo de uma grande classe de modelos chamados "autômatos celulares", que são
modelos idealizados de sistemas complexos. Eles são grandes redes de simples elementos, onde
os elementos aqui são as células, e pela rede cada célula é conectada aos seus vizinhos
mais próximos, ou possivelmente a vizinhos mais distantes. A comunicação é limitada
entre os elementos. Os elementos podem comunicar-se diretamente com os seus vizinhos, não existe
um controle central, isto é, não temos uma célula comandando outra célula, e como você pode ver
no exemplo do jogo da vida, você consegue obter uma dinâmica bastante complicada a partir de regras simples.
E como veremos mais tarde, os autômatos celulares possuem capacidade de fazer
um processamento de informação e cálculos bastante complicados. Eles também podem ser evoluídos
através de algoritmos genéticos. Então o que veremos é que autômatos celulares conseguem reunir vários dos
assuntos que estudamos até agora, que vão desde dinâmica, informação, até algoritmos
genéticos, e conseguimos juntar todos eles em um modelo de sistemas complexos.
Vou abordar rapidamente a terminologia. O singular é autômato celular, isto é, um
deles, e é abreviado "CA". O plural é autômatos celulares, isto é, mais de um. Às vezes
ele também é abreviado "CA", mas eu optarei por abreviá-los "CAs", com
um pequeno "s". Sobre a pronunciação, aqui nos Estados Unidados nós falamos "cellular auTOmata",
mas em ouros países, como a Grã-Bretanha, eles são chamados "cellular autoMAta". Nossos
participantes ingleses podem me corrigir se eu estiver errada sobre isso. O jogo da vida é provavelmente
o autômato celular mais famoso do mundo. Como eu disse, ele não é um jogo, mas
um objeto matemático ou computacional. Ele foi publicado em 1970 pelo matemático inglês
John Conway, e vem sendo amplamente noticiado, em particular no começo a partir
da coluna de Martin Gardner "Mathematical Games" na Scientific American. A razão pela qual John Conway
chamou de "vida" veio da inspiração dos modelos de John von Neumann de processos que parecem ter vida
em autômatos celulares, que abordaremos em breve. De forma simples, o que Conway queria era
um sistema simples que apresenta emergência e auto-organização. O jogo da vida foi a sua
idéia. Como eu mostrei antes, o jogo da vida acontece, ou surge a partir, de uma rede de células.
Aqui, as células são representadas como círculos brancos ou pretos. Uma célula preta é dita "viva", e
uma célula branca é dita "morta". Esta é a terminologia de Conway. Cada célula vive em uma vizinhança.
A vizinhança de uma célula é ela mesma, a central, e os seus 8 vizinhos. O mundo,
como um todo, junta-se nas bordas. Então, por exemplo, eu olho para esta célula que está na borda --
seu vizinho à esquerda é esta célula aqui, na direita. Ou se eu olhar para esta célula aqui, seu vizinho ao
sul é esta célula, aqui em cima. Então os lados, o final e o topo juntam-se.
Aqui estão as regras que cada célula segue.
A primeira regra é que uma célula viva, isto é, preta, permanece viva no próximo passo apenas se dois
ou três vizinhos estão vivos. Caso contrário, ela morre. Uma célula morta ganha vida no próximo
passo apenas se exatamente três vizinhos estão vivos. Estas são as regras que todas as células seguem. Todas as células
são atualizadas ao mesmo tempo, em intervalos de tempo discretos. Você verá como funciona em um minuto.
Aqui temos o modelo no netlogo, "minilife.nlogo". Nós vemos que as células verdes, aqui,
são as que ou permanecem vivas
ou tornam-se vivas no próximo passo.
Essa aqui no meio tem dois vizinhos
pretos que estão vivos, então ela permanece
viva. Esta aqui está morta, mas possui
três vizinhos pretos vivos,
então ela ganhará vida no próximo
passo. As demais não possuem
vizinhos vivos o suficiente para ou permanecerem
vivas, ou ganharem vida.
Aqui temos o que acontece no próximo
passo, naquele pequeno quadrado de
nove células. Vamos testar a sua compreensão com este pequeno quiz. O quiz possui três questões.
Em cada questão você tem uma rede 5x5 do jodo da vida. Assuma que a rede junta-se nos cantos,
se você precisar. A questão é, qual será o estado da célula central, indicada pela seta vermelha, no
próximo intervalo de tempo? Tente responder e assista a solução depois de concluir.