Você está na página 1de 19

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E

EXEMPLOS DE IMPLEMENTAÇÕES

Lucas Gremonini

Eduardo Vicentini

www.unicentro.br

RESUMO
Autômatos Celulares são modelos matemáticos propostos inicialmente para simular a
evolução da vida (Game of life). Por expressar, em sua evolução, comportamentos
característicos dos sistemas naturais, os Autômatos Celulares difundiram-se e sua
formalização e implementação computacional ganhou força nos últimos anos. Vários
sistemas biológicos, físicos e sociais servem de estímulo para as simulações, utilizando as
técnicas dos Autômatos Celulares. A evolução de um Autômato Celular mostra semelhança
com padrões encontrados na natureza. Os modelos implementados são delimitados por
uma malha contendo células de mesmo tamanho e forma e que são identificadas por
estados. Os estados evoluem através de regras de interação locais e com evolução
temporal discreta. Neste trabalho, apresenta-se alguns dos aspectos gerais que
caracterizam os Autômatos Celulares e diferentes implementações, utilizando como base
sistemas reais que evoluem no tempo, mostrando, assim, o potencial de aplicabilidade dos
Autômatos Celulares.
Palavras-chave: Autômatos Celulares; Aplicações e Implementações de Autômatos
Celulares; Sistemas Complexos

ABSTRACT
Cellular Automaton are mathematic models proposed initiately to simulate the evolution of
life (Game of life). For express, in its evolution, characteristics behaviors of the natural
systems, the Automaton Celullars diffused and its formalization and computational
implementation earn power in the latest years. Various biologics systems, physicist and
socials are used of stimulate to the simulations utilizing the technicals of the Automaton
Celullars. The evolution of one Automaton Celullar display similarity with standards met in
the nature. The models implemented are delimitated for one trap contain cells of the same
size and way and that are identified for states. The states develop through of rules of local
interations and with temporal evolution discreet. In this work present some general aspects
that characterize the Automaton Celullars and different implementations utilizing with base of
real systems that develop at the time, displaing like the potential of applicable of the
Automaton Celullars.
Key-words: Cellular Automaton; Apliations and Implementations of Automaton Celullars;
Complicated Systems.

Ed. 6 Ano: 2008 Revista Eletrônica Lato Sensu – UNICENTRO ISSN: 1980-6116
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

1 INTRODUÇÃO

Autômatos Celulares são utilizados como modelo para a determinação e/ou


formação de padrões que tentam ou explicam fenômenos da natureza, bem como
comportamentos sociais, ambientais e biológicos, assim como fatores que influenciam em
suas regras de inter-relação/interação. Entre esses modelos, pode-se citar o modelo de
autômato celular proposto por John Von Neumann com o auxílio de Stanislaw Ulam,
objetivando a simulação de auto-reprodução de organismos biológicos e o modelo de Jonh
Horton Conway com o Jogo da Vida (Game of Life) [1].
O estudo dos Autômatos Celulares atraiu um grande interesse nos últimos
anos, devido a sua capacidade de gerar um amplo espectro de padrões comportamentais
complexos a partir de conjuntos relativamente simples de regras. Além disso, eles parecem
capturar a essência de comportamentos auto-organizados complexos observados em
sistemas naturais [2].
Autômatos Celulares são modelos matemáticos discretos no tempo, no
espaço e nas variáveis dinâmicas, cuja evolução é regida por regras simples. Eles são
formados por unidades simples que interagem entre si (uma unidade influencia o
comportamento da outra) e, à medida que o sistema evolui dinamicamente, emergem
comportamentos complexos decorrentes dessas influências mútuas, uma característica
importante dos sistemas complexos [3].
O método dos Autômatos Celulares difundiu-se, devido a sua capacidade de
gerar simulações, previsões e resultados não conseguidos, utilizando outros métodos que
envolvem equações matemáticas, como por exemplo, as equações diferenciais. A
simplicidade e facilidade de implementação desse recurso matemático-computacional têm
influenciado várias áreas do conhecimento como a Física [4, 5, 6, 7], a Química [8], as
Ciências Humanas [9] e principalmente na Matemática e na Biologia [2, 10, 11], visto que
essas foram as áreas precursoras e motivadoras no desenvolvimento do estudo dos
Autômatos Celulares.
O presente trabalho apresenta, qualitativamente, o modelo teórico-abstrato da
Máquina de Turing [12], mesmo sendo proposta/formalizada, cronologicamente, depois da
Teoria dos Autômatos, realizando um preâmbulo para apresentação do conceito de
autômato. Na seqüência, apresenta-se algumas definições de uma classe de autômatos: os
Autômatos Celulares. O autômato celular foi originalmente descrito por Jonh Von Neumann
e apresentado nos trabalhos publicados por Ulam [13] e buscava uma maneira, através de
suas interações, de representar um comportamento evolutivo (vida/morte) nos sistemas
biológicos. A seguir apresentamos diferentes implementações de Autômatos Celulares
aplicados a diferentes áreas do conhecimento como na teoria dos fractais, simulação de
incêndios florestais e o jogo da vida (Game of life).

2 MÁQUINA DE TURING

Nesta seção é apresentada a Máquina de Turing como uma introdução ao


conceito de autômato.
A teoria de autômatos é o estudo dos dispositivos de computação abstratos,
ou ”máquinas”. Antes de existirem os computadores, na década de 1930, A. Turing estudou
uma máquina abstrata que tinha todas as características dos computadores atuais, pelo
menos no que se refere ao quanto eles poderiam calcular. O objetivo de Turing era
descrever com exatidão o limite entre o que uma máquina de computação podia fazer e
aquilo que ela não podia; suas conclusões se aplicam não apenas às suas máquinas de
Turing abstratas, mas também às máquinas reais de hoje [12]. Essa máquina é
universalmente conhecida e aceita como formalização de algoritmo [8]. Trata-se de um

Revista Eletrônica Lato Sensu – UNICENTRO

Página 2 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

mecanismo simples que formaliza a idéia de uma pessoa que realiza cálculos. Possui, no
mínimo, o mesmo poder computacional de qualquer computador de propósito geral, mas
não é uma máquina real, mas sim um modelo formal para uma máquina universal.
A Máquina de Turing consiste no controle de estados finitos (por exemplo, se
existir dois estados eles podem ser: estado inicial e estado final) em uma fita infinita, em
ambas as direções, dividida em células [8]. Cada célula contém um número finito de
símbolos de fita, e apenas uma célula está na posição atual da cabeça da fita. As Máquinas
de Turing permitem estudar a decidibilidade, ou seja, a questão do que pode ou não ser feito
por um computador. Embora uma Máquina de Turing não se pareça em nada com um
microcomputador pessoal ela é reconhecida há muito tempo como um modelo preciso
daquilo que qualquer dispositivo físico de computação é capaz de fazer. [12]
Podemos visualizar uma Máquina de Turing como na Figura 1. A máquina
pode se encontrar em qualquer estado, de um conjunto finito de estados. Os estados
representam situações do funcionamento da máquina.

FIGURA 1 – Representação de uma Máquina de Turing.

Por exemplo, tem-se o estado inicial que representa a primeira ação da


máquina e o final que representa como ela encerrará a execução. Os outros estados
representam os passos intermediários para resolver o problema que começou no estado
inicial e encerrou no estado final.
Uma Máquina de Turing é composta por uma fita infinita, onde estão
gravados caracteres e por uma cabeça móvel de leitura e escrita. Essa fita é dividida em
quadrados ou células; cada célula pode conter qualquer símbolo de um número finito de
símbolos [12]. Um programa para uma Máquina de Turing é uma lista de estados para a
cabeça móvel. Esse programa consiste em um conjunto de todos os seus elementos (os
estados também). Os caracteres inscritos na fita são as condições iniciais do programa. O
resultado do programa é a seqüência de caracteres inscritos na fita quando a cabeça móvel
pára.
Segundo HOPCROFT et al. [12], o propósito de um estado é memorizar a
porção relevante da história do sistema. Tendo em vista que existe um número finito de
estados, a história inteira em geral não pode ser memorizada e, assim, o sistema tem que
ser projetado com cuidado, a fim de memorizar o que é importante e esquecer o que não é.
Inicialmente, a entrada - uma seqüência de comprimento finito de símbolos
escolhidos a partir do alfabeto de entrada – é colocada na fita. Todas as outras células da
fita, estendendo-se até o infinito à esquerda e à direita, contêm inicialmente um símbolo
especial chamado branco. O branco é um símbolo de fita, mas não um símbolo de entrada.
A cabeça da fita fica sempre posicionada em uma das suas células. Diz-se que a Máquina
de Turing está varrendo essa célula. Inicialmente, a cabeça da fita encontra-se na célula
mais à esquerda que contém a entrada.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 3 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Um movimento da Máquina de Turing é uma função do estado do controle


finito e do símbolo de fita varrido. Em um movimento, a Máquina de Turing:

a) Mudará de estado. O próximo estado poderá ser opcionalmente igual ao


estado atual, sendo esse estado um passo intermediário para resolver o
problema.
b) Gravará um símbolo de fita na célula varrida. Esse símbolo de fita
substituirá qualquer símbolo que estava nessa célula. Opcionalmente, o
símbolo gravado poderá ser igual ao símbolo que ocupar a célula no
momento.
c) Movimentará a cabeça da fita para a esquerda ou para a direita. Em
geral, um movimento, e não se permite que a cabeça permaneça
estacionária. Essa restrição não limita o que a Máquina de Turing pode
calcular, pois qualquer seqüência de movimentos com uma cabeça
estacionária poderia ser condensada, juntamente com o próximo
movimento da cabeça da fita, em uma única mudança de estado, um
novo símbolo de fita e um movimento para a esquerda ou para a direita
[12].

As máquinas de Turing que sempre param, independentemente de aceitarem


ou não, são um bom modelo de um algoritmo. Se existir um algoritmo para resolver um dado
problema, diremos que o problema é decidível, e assim as máquinas de Turing, que sempre
param, desempenham um papel importante na Teoria da Decidibilidade [12].

3 AUTÔMATOS CELULARES
3.1 Autômatos

A partir da Máquina de Turing, é possível definir um conceito geral de


autômato como um sistema que pode alterar seu estado, por si mesmo, a partir de um
conjunto de regras de transição.
Um autômato finito tem um conjunto de estados, seu “controle” se desloca de
estado para estado em resposta a “entradas” externas. Uma das distinções cruciais entre as
classes de autômatos finitos é o fato desse controle ser “determinístico” significando que o
autômato não pode estar em mais de um estado em qualquer instante, ou “não-
determinístico”, significando que ele pode estar em vários estados ao mesmo tempo [12].
Um autômato finito ainda pode ser classificado como determinístico se possui
um conjunto finito de estados e um conjunto finito de símbolos de entrada. Um estado é
designado como estado inicial. Uma função de transição determina como o estado se altera
toda vez que um símbolo de entrada é processado. Um autômato finito não-determinístico
ou probabilístico difere do autômato determinístico pelo fato de que o não-determinístico
pode ter qualquer número de transições (inclusive zero) para estados seguintes, a partir de
um dado estado ou de um dado símbolo de entrada.
Um autômato finito determinístico, em sua forma mais simples, pode ser visto
como uma máquina semelhante à Máquina de Turing, composta de três partes:

· Fita - Dispositivo de entrada que contém a informação a ser


processada.
· Unidade de Controle - Reflete o estado corrente da máquina.
· Programa ou Função de Transição - Função que comanda as leituras e
define o estado da máquina [14].

Revista Eletrônica Lato Sensu – UNICENTRO

Página 4 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

3.2 Autômatos Celulares


3.2.1 Descrição básica e conceito

O conceito de Autômato Celular foi proposto por John Von Neumann e


Stanislaw Ulam no começo dos anos 50. Von Neumann tentava criar um sistema que se
replicasse. Ulam, que estava estudando a formação de cristais por meio de um modelo de
uma malha e células, sugeriu-lhe usar esse tipo de modelo [4]. Os Autômatos Celulares
podem ser vistos como sistemas constituídos por componentes individuais, ou células. Cada
célula está num determinado estado, que se altera ao longo do tempo, consoante a certas
regras e o estado seguinte de uma célula depende do seu estado atual e dos estados das
células na sua vizinhança. Von Neumann mostrou que um autômato celular pode ser
universal, ou seja, computacionalmente completo. O autômato celular que utilizou para
demonstrar isso permitia a uma célula ter 29 estados. No entanto, as suas regras nunca
foram implementadas num computador por serem muito complexas.
Dessa forma, pode-se classificar um autômato celular como um conjunto de
autômatos identicamente programados que interagem entre si, em que cada autômato é
uma célula.

3.2.2 Geometria

A dimensão espacial, a forma de cada célula e como elas estão distribuídas


caracterizam a geometria do Autômato Celular. Para um sistema de Autômatos Celulares, é
necessário que se tenha uma geometria regular, ou seja, todas as células devem possuir o
mesmo tamanho e estar dispostas em uma rede ou malha. A geometria de um sistema pode
ser classificada quanto a sua dimensão e o formato da célula.

3.2.2.1 Dimensão

Pode-se construir Autômatos Celulares com uma (1D) ou mais dimensões


(nD), sendo n um inteiro positivo.
Um Autômato Celular 1D possui uma seqüência (infinita ou não) de
autômatos justapostos em linha. O próximo estado de uma célula depende do seu estado
atual e do estado das células vizinhas. Um autômato celular 2D é composto por autômatos
postos lado a lado, formando um plano. Nesse caso, a vizinhança de uma célula possui
mais de dois elementos, ficando a célula de transição no centro desses elementos. Um
Autômato Celular 3D é composto por autômatos distribuídos tridimensionalmente, ou seja,
uma distribuição no espaço.
Na Figura 2, tem-se uma representação das nD dimensões de um Autômato
Celular.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 5 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

FIGURA 2 - Representação Unidimensional (1D), Bidimensional (2D) e


Tridimensional (3D) de um sistema de Autômatos Celulares. Crédito [11].

3.2.2.2 Formato

As células podem ter de várias formas (triangular, quadrangular, hexagonal).


Define-se que num mesmo sistema de Autômatos Celulares todas as células sejam de uma
mesma forma [11]. Na Figura 3, tem-se a representação de algumas formas para as células
de um autômato celular.

FIGURA 3 - Representação das formas das células para um sistema de


Autômatos Celulares. Crédito [11].

3.2.3 Tipo de regras

As regras dependem do estado da própria célula e das células vizinhas e


podem ser determinísticas ou não-determinísticas (probabilísticas). No entanto, os estados
são definidos e finitos.
Geralmente, as regras que determinam o estado seguinte de uma célula são
determinísticas [4]: sabendo os estados dos vizinhos de uma célula, pode-se dizer com
exatidão o seu próximo estado. As regras não-determinísticas, menos comuns, definem o
próximo estado a partir do valor de uma função de probabilidade. Há ainda regras
temporais, ou seja, que dependem do tempo.

3.2.4 Tipos de vizinhança

Dado um autômato celular, composto por uma malha de células de dimensão


nD, é possível determinar diversos tipos de vizinhança. No caso 1D, o mais comum é
considerar que cada célula possui duas vizinhas, uma de cada lado. Em um autômato 2D é
possível definir diferentes tipos de vizinhança, como: de Von Neumann consiste das células
vertical, horizontalmente adjacentes à célula dada como mostra a Figura 4; de Moore que

Revista Eletrônica Lato Sensu – UNICENTRO

Página 6 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

consiste das células vertical, horizontal e diagonalmente adjacentes à célula dada como
mostra a Figura 5, aleatória e arbitrária como na Figura 6. Sendo as duas primeiras
vizinhanças as mais usadas.
Vizinhança de Von Neumann:

FIGURA 4 - Vizinhanças de von Neumann. Na Fig. 4-a os


primeiros vizinhos e na Fig.4-b os segundos vizinhos.

Vizinhança de Moore:

FIGURA 5 - Vizinhanças de Moore. Na Fig.5-a os primeiros


vizinhos e na Fig.5-a os segundos vizinhos.

Vizinhança Aleatória e Arbitrária:

FIGURA 6 - Vizinhança aleatória Fig.6-a e Vizinhança arbitrária


Fig.6-b.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 7 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

3.2.5 Autômato Celular e o seu Estado Inicial

O estado inicial de um autômato celular está intrinsecamente relacionado ao


conteúdo inicial das células. Qualquer valor (normalmente entre zero e um) pode ser
atribuído a cada célula, e a partir dessa atribuição é desencadeado o processo de evolução
do autômato. Verifica-se, decorrente de várias experimentações, que a evolução do
autômato, normalmente, flui para estados bem diversos conforme o estado inicial. De
maneira mais específica, com pequenas variações no estado inicial se tem grandes
variações nos estados remotamente conseqüentes, ou seja, os Autômatos Celulares são
muito sensíveis às variações no seu estado inicial.

3.2.6 Computação universal

Os Autômatos Celulares apresentam a propriedade de computação universal.


Pode-se demonstrar tal fato, fazendo-se com que um autômato celular simule passo a passo
uma Máquina de Turing. Nesse caso, por conveniência, assume-se que a fita da Máquina de
Turing é infinita à direita e à esquerda e que cada célula do autômato celular teria duas
partes. A primeira parte armazena o símbolo da célula correspondente na fita da Máquina de
Turing e a segunda parte indica se o cabeçote está lendo a célula correspondente na
Máquina de Turing. Dessa forma, a partir da função de transição da Máquina, consegue-se
derivar a regra local para o autômato celular [1].

3.2.7 Autômatos Celulares de Wolfram

Uma variação dos autômatos de Von Neumann é apresentada por Stephen


Wolfram. Os Autômatos Celulares de Wolfram são modelos matemáticos simples de
sistemas naturais, constituídos de uma malha, ou rede, de células idênticas e discretas,
onde cada célula tem seu valor sobre um conjunto finito, por exemplo, de valores inteiros.
Os valores evoluem, em passos de tempo discretos, de acordo com regras determinísticas
que especificam os valores de cada célula em termos dos valores das células vizinhas [15].
Segundo Wolfram, os Autômatos Celulares podem ser considerados como
idealização discreta das equações diferenciais parciais freqüentemente utilizadas para
descrever sistemas naturais. Essa natureza discreta também permite a analogia com
computadores digitais, pois os Autômatos Celulares podem ser vistos como computadores
de processamento paralelo (ou seja, o processamento dos elementos de um sistema evolui
simultaneamente e independentemente) e de construção simplificada [15].
Os Autômatos Celulares determinísticos em uma dimensão foram
profundamente estudados por Wolfram [16]. A idéia básica era encontrar os estados
correspondentes para a atualização de cada célula no instante t+1 baseado nos valores da
sua vizinhança (à sua esquerda, à direita e o seu próprio valor). Sendo o número de regras
z 3
k 2
possíveis dado por k para k estados e z vizinhos considerados. Tem-se 2 = 256 regras de
definem diferentes Autômatos Celulares. Essa família de 256 Autômatos Celulares
elementares é conhecida como “regras de Wolfram”, e os números associados com cada
regra como “notação de Wolfram” [16].
De modo geral, Wolfram teve o mérito de ser o primeiro a demonstrar que um
Autômato Celular pode exibir comportamento complexo mesmo com regras locais. Sua
classificação demonstra que tais regras podem levar a uma espécie de auto-organização, o
que contribuiu inicialmente para uma maior compreensão de fenômenos de formação
espontânea de padrões [16].
Segundo Wolfram, os autômatos de dividem em quatro classes com base nos
Revista Eletrônica Lato Sensu – UNICENTRO

Página 8 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

padrões espaço-temporais gerados por sua evolução [3, 17]:

1. Classe I: A evolução temporal leva o autômato celular a um estado


homogêneo, no qual todas as células atingem um mesmo valor (pontos
fixos). Ver Figura 7-a.
2. Classe II: A evolução no tempo leva o autômato celular a um estado
estável e periódico no tempo e espacialmente não homogêneo, ou seja,
no qual nem todas as células possuem o mesmo valor. Ver Figura 7-b.
3. Classe III: A evolução no tempo leva o autômato celular a um estado
desordenado, não possuindo padrão reconhecível. Ver Figura 7-c.
4. Classe IV: A evolução no tempo leva o autômato celular a gerar
estruturas complexas com evolução imprevisível, que podem se
propagar, criar e/ou aniquilar outras estruturas. Essa evolução complexa
pode ocorrer após intervalos de tempo relativamente grandes. Ver
Figura 7-d.[3]

FIGURA 7 - Padrões espaço-temporais característicos de regras típicas em cada


uma das quatro classes de Wolfram. Classe I Fig.7-a, Classe II Fig.7-b, Classe III
Fig.7-c e a Classe IV Fig.7-d. Crédito [3].

A existência de somente quatro classes qualitativas indica, segundo Wolfram,


a universalidade do comportamento do autômato celular e muitas de suas características
dependem somente da classe que o autômato pertence e não de detalhes precisos da sua
evolução [7, 15].

4 IMPLEMENTAÇÕES COM AUTÔMATOS CELULARES


4.1 Formação de padrão fractal a partir dos Autômatos Celulares

Seja uma condição inicial que consiste em um único valor local igual a 1,
enquanto o valor dos locais restantes é igual a 0 e que evoluem de acordo com uma das
regras de Wolfram, expressa na Eq. 1.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 9 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

a i( t + 1 ) = a it - 1 + a it + 1 mod 2 (1)

De acordo com esta regra, o valor de cada célula é a soma dos valores
módulo 2 de seus dois vizinhos mais próximos, dados a cada passo de tempo em função do
estado anterior. Conforme explicado na Seção 2.2.7, esta é a Regra 90, uma das 256 regras
possíveis para os autômatos estudados por Wolfram, em que a regra de evolução do
sistema, representado pela Eq. 1, pode ser representada pelo número 90 na base 2,
conforme mostra a Figura 8. O padrão gerado pela evolução para algumas etapas de tempo
é mostrado na Figura 9.

111 110 101 100 011 010 001 000 a nt -1ait ait+1
ß ¬F
¬ a i(t +1)
0 1 0 1 1 0 1 0
7 6 5 4
0x2 +1x2 +0x2 +1x2 +1x2 +0x2 +1x2 +0x2
3 2 1 0
= 90 ¬ número da regra

FIGURA 8 – Representação de como o número 90, na base 2, representa a regra expressa pela Eq.
1. Crédito [18].

A Figura 9 mostra a evolução temporal do autômato celular definido pela Eq.


1. As linhas são obtidas pela aplicação sucessiva dessa equação para cada local. O padrão
geométrico obtido com essa simples regra é conhecido como triângulo de Sierpinsky [19].
Os padrões encontrados, na Figura 9, exibem regularidade conhecida como
“auto-similaridade”. Como ilustrado na Figura 9-b, parcelas do padrão quando ampliadas
são indistinguíveis do todo. (As diferenças em pequenas escalas entre a formação do
padrão original e a parcela ampliada, desaparecem quando se considera o padrão de
formação obtido após um número infinito de etapas de tempo). A formação de padrão, em
que se observa esta auto-similaridade, é freqüentemente atribuído a objetos com dimensão
fractal, também chamados de objetos fractais [19].

Revista Eletrônica Lato Sensu – UNICENTRO

Página 10 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

FIGURA 9 – A Fig.9-a mostra a evolução de um autômato celular no tempo, após algumas interações
definidos pela Eq. 1 (Regra 90), iniciando de uma condição inicial contendo um único valor local não
nulo. A Fig.9-b mostra a evolução após 250.000 interações utilizando a Eq. 1, onde se observa a
formação dos padrões de “auto-similaridade”. O padrão tem auto-similaridade característica de uma
dimensão fractal. Crédito [18].

Muitos sistemas naturais, incluindo o floco de neve, parecem exibir padrões


de um objeto fractal. Em muitos casos, é provável que esse padrão fractal seja gerado pela
evolução de um autômato celular ou por um processo análogo. O padrão encontrado de
auto-similaridade durante a evolução de um autômato celular possui correspondentes na
natureza. O padrão gerado na Figura 10-a mostra uma formação semelhante ao padrão de
pigmentação encontrado nas conchas de determinados moluscos como mostra a Figura 10-
b [19] [20].

FIGURA 10 - A evolução do autômato celular definido pela Eq. 1, o estado inicial é aleatório,
no qual cada célula tem valor 0 ou 1 com iguais probabilidades. Na Fig.10-a a evolução
do autômato celular com estado inicial aleatório produz estruturas simples. Na Fig.10-b
uma imagem de uma concha marinha (búzio) mostrando seu padrão natural de
auto-similaridade. Crédito das Fig. 10-a [18] e Fig.10-b [20].

É possível que o crescimento desses padrões na pigmentação da concha


siga as regras simples dos Autômatos Celulares. A evolução de um autômato celular, como
mostra a Fig. 10-a, é um exemplo de um sistema auto-organizado. As bases matemáticas
do comportamento global surgem devido às relevantes propriedades do autômato celular
[18].

4.2 Implementação de com Autômatos Celulares em um modelo


Biológico: Jogo da Vida

Os Autômatos Celulares, dos quais o "Jogo da Vida" é um exemplo, foram


sugeridos por Stanislaw Ulam em 1940, e formalizados por J. Von Neumann. O "Jogo da
Vida” foi inventado em 1970 pelo cientista John Conway, em que se tornou uma forma de
divertimento matemático e computacional. Tal jogo simula o processo de nascimento,
sobrevivência e morte. A idéia básica é que um ser vivo necessita de outros seres vivos
para sobreviver e procriar, mas um excesso de densidade populacional provoca a morte do
ser vivo devido à escassez de comida.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 11 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Esse autômato é constituído de uma malha bidimensional, em que cada


célula pode estar em dois estados, por exemplo: esta ou não ocupada (situação binária “0”
ou “1”, condicional “verdadeiro” ou “falso”, “ligado” ou “desligado”, e assim por diante). Essa
regra é válida do início ao longo do jogo. O formato das células deve ser o mesmo
(quadradas, triangulares, hexagonais) para todo o espaço.
As condições iniciais são arbitrárias. As regras que determinam os
nascimentos, mortes e sobrevivências são chamadas de leis genéticas de Conway, que são:

· Sobrevivência: se uma célula tiver duas ou três células vizinhas então


sobrevive. (Fica na malha e na mesma posição.)
· Morte: se uma célula tiver quatro ou mais células vizinhas vivas, ela
morre por causa da superpopulação; se tiver uma célula vizinha ou
nenhuma, morre por solidão. (Em ambos os casos, a célula é retirada
do malha.)
· Nascimento: uma célula vazia ou morta, que tenha exatamente três
células vizinhas vivas se torna viva.

Essas regras aplicam-se simultaneamente, ou seja, os nascimentos, mortes e


sobrevivências num dado passo do jogo (na passagem de uma geração para a seguinte)
são funções da configuração inicial e a regra vale para as oito vizinhas (vizinhanças de
Moore: na vertical, horizontal e diagonal). O processo de recalcular toda a grade é chamado
de geração. A partir de qualquer ponto inicial pouco complexo, diferentes padrões
comportamentais vão emergir. Um dos mais comuns são grupos de células chamadas
piscantes. Elas se alternam constantemente entre dois estados, de acordo com as regras
que, se deixadas intocadas, irão piscar para sempre. Este é chamado sistema periódico.
Muitas vezes, conformações simples de células iniciais geram uma dinâmica de população
bastante sofisticada, sendo que após diversas gerações pode ocorrer:

· Aniquilação total das células (pode ocorrer, por exemplo, quando o


estado inicial consiste em células colocadas de forma muito
dispersa).
· População estaticamente estável.
· População dinamicamente estável.
· Oscilação entre populações diferentes (número de células e
conformação física variável) [21].

FIGURA 11 – Exemplo da evolução do jogo da vida.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 12 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

4.3 Implementação de Autômatos Celulares em uma modelo Físico-


ambiental: Incêndios Florestais.

As florestas e matas possuem uma grande importância tanto ecológica


(fotossíntese, biodiversidade, regulação climática, entre outros), econômica (madeira e
derivados, pastoril, turismo, entre outros) e social (lazer, esporte, entre outros). Existem
vários métodos para o combate a incêndios: aéreo, terrestre, entre outros e uma intervenção
rápida na localização de um foco de incêndio é imprescindível para seu controle. Vários
fatores como o declive do terreno, proximidade do fogo e dos pontos de coleta de água, tipo
e uso do solo, tipo de vegetação, entre outros, são relevantes para analisar as condições de
evolução de um incêndio. Devido aos grandes prejuízos provocados pelos incêndios,
procura-se traçar estratégias de combate de sua proliferação.
Uma proposta de simulação de um incêndio florestal, utilizando a técnica de
Autômatos Celulares é apresentada por Dião, na Ref. [9]. Considera-se uma rede
bidimensional com simetria quadrada e cada célula da malha representa o estado de uma
árvore. Assim, pode-se assumir que o estado associado à cor verde representa uma árvore
viva, à cor vermelha uma árvore que esta queimando e à cor preta uma árvore queimada. A
regra de evolução do autômato celular é determinada de acordo com as seguintes leis de
iteração:

· Se num certo instante uma célula está no estado verde (árvore viva) e
uma das células vizinhas está no estado vermelho (árvore queimando),
existe uma probabilidade não nula de, no instante seguinte, a célula
mudar para o estado vermelho. Se existir vento numa certa direção, a
probabilidade de transição verde → vermelho é maior nessa direção.
Assim, define-se o caráter não-determinístico na evolução do autômato
celular.
· Quando uma célula está no estado vermelho, ela vai manter-se nesse
estado durante um tempo finito.
· Se uma célula da malha está no estado preto (árvore queimada), então
ficará nesse estado indefinidamente.

Na Figura 12, está representada a evolução de um foco de incêndio numa


região com 40.000 árvores, em que, inicialmente (tempo t = 0) três árvores estavam
queimando. Foram calculadas as evoluções desse sistema para os tempos t = 1,3 e t = 10,
onde se tem o resultado de duas simulações correspondentes a uma situação sem vento
Fig.12-a e com vento na direção oeste-este Figura 12-b.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 13 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

FIGURA 12 – Evolução de um autômato celular que simula a


propagação de um fogo numa floresta. A frente do fogo está
representada a vermelho e as árvores queimadas estão
representadas em negro. A figura a) foi calculada para uma situação
sem vento e a figura b) para uma situação com vento no sentido
oeste-leste. Crédito de [9].

Esse modelo, muito simplificado, mostra claramente as possibilidades de


aplicações de modelos utilizando os Autômatos Celulares, para a previsão da evolução
temporal de sistemas em tempo real. Pode-se construir máquinas de computação para o
cálculo rápido da evolução desses sistemas, para definir estratégias de combate a incêndios
reais. Um modelo um pouco mais sofisticado poderia incluir, por exemplo, a não
homogeneidade de espécies vegetais e da sua distribuição [9].

4.4 Implementação de com Autômatos Celulares em um modelo


Físico: Modelo de Ising

Os Autômatos Celulares podem ser considerados como uma ferramenta de


investigação científica, se seus resultados puderem ser comparados com uma teoria
reconhecida. Nesse sentido, foi desenvolvido um Autômato Celular para simular o modelo
de Ising [22], cuja teoria é bem estabelecida na Física e seus resultados são relevantes para
a compreensão da Natureza e de questões relacionadas à Física Estatística. Pelas suas
características físicas e por apresentar solução exata em vários limites importantes, o
modelo de Ising se qualifica como um bom modelo para comparação com métodos
computacionais.
O modelo de Ising consiste em um malha de spins. Devido à estrutura

Revista Eletrônica Lato Sensu – UNICENTRO

Página 14 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

particular desse modelo, sua evolução temporal pode ser representada por um Autômato
Celular numa malha com células quadrangulares [4]. A versão simplificada proposta [4]
assume que o espaço de configurações é um conjunto de todos os estados de uma malha n
× n para o intervalo de [−1, 1]. Para as condições de fronteira, assume-se que essas são
periódicas. Tal implementação considera o modelo de Ising para magnetos, em que se
considera uma malha n × n tal que cada célula representa um spin que pode tomar o valor
de 1 ou -1 e interagir com os seus vizinhos. As considerações de contorno impostas para a
vizinhança representam, para a implementação, a vizinhança de Von Neumann. A
atualização de cada célula é dada pela regra:

J
f n+1 = f n - G(l. f n3 - f n ) + Soman (2)
T

Sendo f n o estado da célula no tempo n , G é o inverso de tempo de


relaxação, l é uma constante que aproxima o valor da célula para -1 ou 1, J é a energia do
sistema, T é a temperatura e Soma n é a soma dos valores dos quatro vizinhos (vizinhança
de Von Neumann), excluindo-se a célula do centro. O tempo é uma variável discreta e a
cada iteração, as células são atualizadas uma a uma sempre aumentando uma unidade de
tempo em relação ao estado anterior. O estado inicial foi tomado como sendo aleatório e a
malha de 20x20 células, onde apenas parâmetros como energia e temperatura foram
variados de forma a serem analisados.
Tais simulações para o modelo Ising, propõem que, para determinados
valores de energia e temperatura crítica, o sistema evolui para estados que são previstos
pela teoria, mostrando o grande valor que o modelo pode ter para a realização de
computação quântica. A principal vantagem dos sistemas é que fazem uso de regras e
condições iniciais muito simples, característica que os torna bastante interessante para
simular sistemas, dos mais elementares aos mais complexos [4].

4.5 Implementação de com Autômatos Celulares em Computação:


Criptografia

As seqüências de reticulados geradas na evolução temporal de Autômatos


Celulares proporcionam uma opção extremamente interessante em criptografia [13].
O primeiro a sugerir que o uso de Autômatos Celulares seria relevante para
essa tarefa foi Wolfram. Estudos propostos posteriormente (modelo de Gutowitz) envolvem
o estudo em criptografia através do uso de Autômatos Celulares irreversíveis [13].
A utilização de modelo de Gutowitz se baseia no uso de Autômatos Celulares
em dois tipos de interação:

· Forward: dado um reticulado num instante t, aplica-se a regra de


transição para obter-se o reticulado no instante t + 1 . Esse novo
reticulado é resultado da aplicação da regra determinista imposta pela
regra de transição.
· Backward: a partir de um reticulado de células dado num instante t,
determina-se qual seria uma possível configuração do reticulado no
instante t - 1 , que daria origem ao reticulado em t, após a aplicação da
regra de transição. Esse processo é conhecido como cálculo de pré-
imagem. Pode existir, dependendo da regra de transição mais de uma
pré-imagem ou até mesmo nenhuma. Considerando o caso de

Revista Eletrônica Lato Sensu – UNICENTRO

Página 15 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Autômatos Celulares reversíveis, sempre existe uma pré-imagem e esta


é única [13].

O método de criptografia, utilizando Autômatos Celulares, toma como


reticulado inícial o texto puro e aplica-se a regra de transição e depois de algumas iterações,
tem-se o texto criptografado (Forward) [13].
Para se descriptografar e obter o texto puro é necessário que a regra do
Autômato Celular seja reversível. No modelo de Gutowitz, é utilizado um caminho inverso
para se realizar a criptografia. O modelo usa o texto puro como sendo o reticulado final de
um Autômato Celular e uma pré-imagem, se possível é obtida a partir desse reticulado
inicial. Tal processo é repetido por algumas iterações até que se chegue ao texto
criptografado, que é considerado como sendo o reticulado “inicial” [13].
Para encontrar o texto puro, aplica-se a mesma regra sobre o reticulado que
representa o texto criptografado, considerado forward agora, e usando o mesmo número de
iterações, o texto puro é encontrado [13].
As chaves, utilizadas para decodificar um texto criptografado, devem ser
sempre regras de Autômatos Celulares. Seja o reticulado inicial o texto puro a ser
criptografado, calculam-se pré-imagens sucessivamente desse reticulado durante T passos
de criptografia. O texto criptografado será o último reticulado. Para o processo de
descriptografia, o agente que estiver recebendo o texto criptografado deve conheçer
também a regra do Autômato Celular utilizada para criptografar e o número de passos
utilizado na criptografia [13].
O uso de regras de Autômatos Celulares irreversíveis como chave possibilita
várias pré-imagens a partir de um mesmo reticulado inicial, ou seja, podem ser associados
diferentes textos criptografados válidos a um mesmo texto puro, o que aumenta a segurança
do processo. Além disso, o fato das regras exibirem dinâmica caótica garante que ocorre um
“embaralhamento” suficiente do texto original, após poucas iterações [13].
A quantidade de regras (chaves) e a quantidade de reticulados finais (textos
encriptados) possíveis dependem do tamanho da vizinhança (m) e do número de passos (T)
e independem do tamanho do texto puro (reticulado inicial). O número de chaves que
possuem sensitividade unidirecional para um autômato celular binário de vizinhança m é
dado pela Eq. 3:

( m -1)
22 (3)

A quantidade de pré-imagens possíveis a cada passo é determinada por 2 m -1 .


Finalmente, a quantidade de textos encriptados possíveis após T passos de encriptação
vale 2 ( m -1)T [13].

5 CONCLUSÕES

Autômatos Celulares são modelos matemáticos que apresentam


comportamento complexo e são utilizados para simular muitos sistemas reais,
principalmente sistemas vivos. Sua principal característica é trabalhar com muitos
componentes que interagem localmente de forma não linear. O idealizador dos Autômatos
Celulares foi o matemático John Von Neumann, que estava interessado em simular um
sistema vivo. Destacam-se, também, entre os principais colaboradores no desenvolvimento
da teoria dos Autômatos Celulares: Stanislaw Ulam, Jonh H. Conway e Stephen Wolfram.
Os Autômatos Celulares são derivados do conceito de autômato e, portanto,
de grande interesse na Ciência da Computação. A Máquina de Turing é um tipo de

Revista Eletrônica Lato Sensu – UNICENTRO

Página 16 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

autômato e foi precursora dos atuais computadores.


Os Autômatos Celulares têm sido estudados e aplicados em diversos campos
do conhecimento, como: Ciência da Computação, Física, Química, Geografia, Biologia,
Ciências Sociais, entre outras e é uma importante ferramenta para simular e estudar
sistemas físicos, químicos e biológicos, vida artificial, computadores universais, teoria de
sistemas dinâmicos, estudos sobre dinâmicas populacionais.
Nesse texto apresentou-se uma breve revisão bibliográfica da Teoria dos
Autômatos e uma visão geral dos principais conceitos envolvidos nos estudos sobre
Autômatos Celulares indicando, através das literaturas consultadas, um sucinto tratamento
de como se dá o comportamento e evolução, bem como suas regras e contexto histórico
dos trabalhos consultados.
Nos exemplos apresentados neste trabalho, destaca-se a validação dos
Autômatos Celulares como ferramenta de investigação científica, demonstrado na
implementação do modelo de Ising. Verifica-se que ele constitui uma boa ferramenta de
simulação para previsão da evolução de um sistema real, demonstrado na implementação
para incêndios florestais. Os Autômatos Celulares também são utilizados na compreensão
dos mecanismos básicos que podem estar envolvidos no desenvolvimento de sistemas
vivos, ou em outros sistemas naturais, como é o caso do Jogo da Vida e a implementação
dos autômatos de Wolfram que geram os padrões fractais. A criptografia mostra uma
aplicação prática dos Autômatos Celulares.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 17 de 19
AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

BIBLIOGRAFIAS

[1] PÁDUA, F. L. C. Autômatos Celulares: teoria e aplicações. Disponível em:


<http://www.lsi.ce fetmg.br/~cardeal/Publications/AutomatosCelulares.pdf>. Acesso em: 21
jun. 2007.

[2] Laboratório virtual em computação natural. Disponível em:


<http://lsin.unisantos.br/lvcon/tema? tema=6#simul9>. Acesso em: 21 de jun. de 2007.

[3] SILVA, H. S.; MARTINS, M. L. A cellular automata model for cell differentiation. Physica
A. Holanda, v. 322, p. 555-566. 2003.

[4] BARROSO, A. Autômatos Celulares, introdução e uma aplicação ao modelo de


Ising. Disponível em: <http://mega.ist.utl.pt/~amoba/NTM.pdf>. Acesso em: 10 de out. de
2006.

[5] MAROTTA, S. M. Living and critters’ world. Revista Ciências Exatas e Naturais. Vol. 7
nº 1, Página 9-34. 2005.

[6] TOYAMA, M. C. ; BAZZAN, A. L. C. ; SILVA, R. A General, Agent-Based Model of


Pedestrian Dynamics: from Lane Formation to Auditorium Evacuation. In: Fifth International
Joint Conference On Autonomous Agents And Multiagent Systems, 2006.

[7] AGUIAR, M. S. de; COSTA, A. C. da R. Autômatos Celulares para análise da


monotonicidade da declividade de áreas geológicas. In: I SIMPÓSIO DE INFORMÁTICA DA
REGIÃO CENTRO DO RIO GRANDE DO SUL, 2002, Santa Maria.

[8] HOPCROFT, J.; ULLMAN, J. Formal Languages and their Relation to Automata.
Addison-Wesley, 1969.

[9] DILÃO, R. Autômatos Celulares, Máquina de Turing ou a natureza como máquina de


cálculo. Disponível em: <https://sd.ist.utl.pt/Awareness/12-1.PDF>. Acesso em: 16 de jul. de
2007.

[10] PEDROSA, B. M. ; CÂMARA, G. . Geomática: Modelos e Aplicações Ambientais.


Modelagem Dinâmica. Brasilia, Embrapa, 2007.

[11] LEITE, I., O. B.; LINS, J., C., S., CERQUEIRA, M., G., C. Autômatos Celulares.
Disponível em: <http://www.di.ufpe.br/~iobl/monografia/especificacoes.htm>. Acesso em: 21
de jun. 2007.

[12] HOPCROFT, J. E.; ULLMAN, J. D.; MOTWANI, R. Introdução à teoria de autômatos,


linguagens e computação. Tradução da segunda edição americana. Editora Campus,
2002.

[13] OLIVEIRA, G. M. B. Autômatos Celulares: aspectos dinâmicos e computacionais. In:


ANIDO, R. O. e MASIERO P. C. (Org.). III Jornada de Mini-cursos em Inteligência
Artificial (MCIA). Sociedade Brasileira de Computação, 2003, v. 8, p. 297-3.

[14] WILBERGER, A. M. Introduction to Cellular Automata for Modeling and Simulation.


SCS, Istanbul, Turkey.

[15] WOLFRAM, S. Cellular automata and complexity: collected papers. Readings:

Revista Eletrônica Lato Sensu – UNICENTRO

Página 18 de 19
GREMONINI, Lucas; VICENTINI, Eduardo

Addison - Wesley, 1994. 596p.

[16] ARASHIRO, E. ; DRUGOWICH de FELÍCIO, J. R. ; HANSMANN, U. H. E. Short-Time


Dynamics of Helix-Coil Transition in Polypeptides. Physical Review E, Statistical,
Nonlinear and Soft Matter Physics, American Physical Soc, USA, v. 73, p. 40902, 2006.

[17] WOLFRAM, S. Theory and Applications of Cellular Automata.World Scientific,


(1986).

[18] WOLFRAM, S. The Nature of Cellular Automata and a Simple Example. Disponível
em: <http://www.stephenwolfram.com/publications/articles/general/83-cellular/2/text.html>
Acesso em: 16 de out. de 2006.

[19] MANDELBROT, B. Objectos fractais. 2ª edição. Editora Gradiva. 1998.

[20] NUSSENZVEIG, H. Moysés. Complexidade e caos. 2ª edição. Editora UFRJ/COPEA.


2003.

[21] Vida artificial. Disponivel em: <


ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/ia013_1s07/to pico7_07.pdf>. Acesso em: 21
de jun. de 2007.

[22] LAGE, E. J. S. Física Estatística. Editora Fundação Calouste Gulbenkian. 1995.

Revista Eletrônica Lato Sensu – UNICENTRO

Página 19 de 19

Você também pode gostar