Você está na página 1de 10

Autmatos Celulares

Marlo-Hur Toral Vieira MC060/2000


Joo Paulo Schwarz Schler MC038/2000
Karla Fedrizzi Machado MC043/2000
Autmato Finito

Um autmato finito determinstico, ou simplesmente autmato finito, pode ser visto como
como uma mquina composta, basicamente, de trs partes:
1. Fita. Dispositivo de entrada que contm a informao a ser processada;
2. Unidade de Controle. Reflete o estado corrente da mquina. Possui uma unidade de leitura
(cabea da fita) a qual acessa uma clula da fita de cada vez e movimenta-se
exclusivamente para a direita;
3. Programa ou Funo de Transio. Funo que comanda as leituras e define o estado da
mquina.


Autmato Celular

Um autmato celular um conjunto de autmatos identicamente programados que
interagem entre si. No autmato celular, cada autmato uma clula. Podemos construir
autmatos celulares com uma ou mais dimenses. Um autmato celular 1D um autmato
celular que possui uma seqncia infinita de autmatos justapostos em linha. Um autmato
celular 2D composto por autmatos postos lado a lado formando um plano. A mesma
abordagem pode ser usada para autmatos celulares de maior dimensionalidade.[GRE93]


Autmato Celular a partir de Autmatos Finitos

Um autmato celular, pensado a partir de um autmato finito, considera como fita (neste
caso finita) o valor individual da vizinhana de cada clula, ou seja, o peso agregado de cada
vizinho. A unidade de controle (cabea da fita) um ente de apontamento, muito provavelmente
um ndice ou ponteiro, que individualiza os vizinhos de uma clula. O programa ou funo de
transio de uma clula pode ser visto como uma frmula que considera os pesos da vizinhana,
juntamente com o prprio peso, e atribui um novo valor a esta clula.

Autmato Celular Unidimensional

Normalmente, no autmato celular, o prximo estado de uma clula depende do seu estado
atual e do estado das clulas vizinhas. Em um autmato celular 1D, o prximo estado de uma
clula depende do estado dela prpria e de suas duas vizinhas. Normalmente, s existem dois
estados possveis para cada clula: 0 ou 1 ou verdadeiro ou falso.[GRE93] Nesse caso, o estado
de uma clula definido com 1 bit. Sendo assim, se o prximo estado de cada clula funo do
seu prprio estado e o estado de suas duas clulas vizinhas, teremos uma entrada de 3 bits para
cada clula.



Autmato Celular Bidimensional

Um autmato de duas dimenses implica numa vizinhana celular com oito elementos,
ficando a clula de transio no centro destes elementos. Assim, o clculo do novo estado de
uma clula considera nove bits no processo.


Autmato Celular e o seu Estado Inicial

O estado inicial de um autmato celular est intrinsecamente relacionado ao contedo inicial
das clula. Qualquer valor (normalmente entre zero e um) pode ser atribudo a cada clula, e a
partir desta atribuio desencadeado o processo de evoluo do autmato.

Verifica-se, decorrente de vrias experimentaes, que a evoluo do autmato,
normalmente, flui para estados bem diversos conforme o estado inicial. De maneira mais
especfica, com pequenas variaes no estado inicial se tem grandes variaes nos estados
remotamente conseqentes, ou seja, os autmatos celulares so muito sensveis s variaes no
seu estado inicial.

Os autmatos celulares so muito teis para resolver alguns problemas de forma
distribuda.[WIL96] Por exemplo, uma maneira muito simples de desenhar o tringulo de
Sierpinski simplesmente construir um autmato celular 1D em que cada clula segue a seguinte
regra de transio: ou exclusivo dos estados das clulas vizinhas. Cada linha horizontal do
tringulo de Sierpinski um momento durante a evoluo do autmato celular.



FIGURA - Vista de uma regio do Tringulo de Sierpinski.
Cada parte do tringulo revela estrutura semelhante ao
seu todo.








Outra maneira de gerar o tringulo de Sierpinski simplesmente construir um autmato celular
em que cada clula programada da seguinte frmula: o prximo estado de cada clula ser o
resto da diviso por 2 da soma dos estados das clulas vizinhas. Segue em anexo autmatos
celulares 1D e 2D implementados em Pascal baseados em resto da diviso por nmeros naturais
inferiores a 255.


Game of Life
Game of Life um autmato celular criado em 1970 por um jovem matemtico chamado John
Horton Conway. Sua meta era criar um simulador de clulas com trs objetivos: nenhum desenho
( colnia ) simples iria obviamente crescer para sempre, algumas colnias simples deveriam
crescer selvagemente, garantir que colnias simples poderiam levar muito tempo para
desaparecer ou estabilizar. O prximo estado de cada posio ocupvel por clula funo dos
estados anteriores de suas vizinhas e dela prpria.
O simulador Life segue a uma regra de produo bidimensional que obedece s seguintes regras
gerais de produo: todas as clulas que tiverem duas ou trs clulas vizinhas permanecem
vivas, e em todos os espaos ocupveis por clulas que tiverem trs vizinhas, nascer uma clula
na prxima gerao e em qualquer outro caso a clula perecer. Vale observar que cada posio
ocupvel por clulas possui um estado "viva" ou "no viva".
[DEW85]

FIGURA 5.5 - Algumas Colnias Estveis

Autmatos Celulares Implementados

Foram implementados diversos autmatos celulares em Turbo Pascal V. 5.5. Considerando que muitos
autmatos implementados so muito semelhantes entre si, apresentaremos aqui somente os mais
importantes. Em anexo, segue um disquete com todos os autmatos celulares implementados na forma de
cdigo executvel e cdigo fonte.
Para efeito de notao, entenderemos por c[x,y] o autmato de ndices x e y pertencente a um autmato
celular 3D. Ainda para efeito de notao, entendemos o operador mod como o operador de resto da diviso.
Na tabela que segue, podemos ver as frmulas usadas para implementao dos autmatos.



FIGURA 1 DANTE1.PAS



FIGURA 2 DANTE2.PAS


FIGURA 3 DANTE3.PAS



FIGURA 4 DANTE4.PAS




FIGURAS 5 e 6 DANTE7.PAS

Nome N. Dimenses C[x,y]=
DANTE1.PAS 2 C[x-1] xor C[x+1]
DANTE2.PAS 2 (C[x-1] + C[x+1]) mod 10
DANTE3.PAS 3 (C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] ) mod 119
DANTE4.PAS
3
(C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] +
C[x-1,y-1] + C[x+1,y-1] + C[x+1,y-1] + C[x+1,y+1] ) mod 4
DANTE5.PAS
3
(C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] +
C[x-1,y-1] + C[x+1,y-1] + C[x+1,y-1] + C[x+1,y+1] ) mod 2
DANTE7.PAS 3 (C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] ) mod 200
DANTE8.PAS 3 (C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] ) mod 100
DANTE9.PAS 3 (C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] ) mod 20
DANTE10.PAS
3
(C[x-1,y] + C[x+1,y] + C[x,y-1] + C[x,y+1] +
C[x-1,y-1]*2 + C[x+1,y-1]*2 + C[x+1,y-1]*2 + C[x+1,y+1]*2 ) mod
2
As frmulas de gerao dos programas DANTE2.PAS e DANTE3.PAS so semelhantes s frmulas
encontradas no livro Chaos and Fractals[PEIT] .
Impementao de Autmato 2D
Observe no cdigo que segue a simplicidade de se construir um autmato celular 2D.
type TVIDEO = array[0..199,0..319] of byte;
procedure Automato2D(var R:TVIDEO); // DANTE4.PAS
var I,J:integer;
D:TVIDEO;
begin
D:=R;
for I:=1 to 318 do
for J:=1 to 198 do
D[J,I]:=(R[J,I-1] + R[J,I+1] +
R[J-1,I] + R[J+1,I] +
R[J-1,I-1] + R[J+1,I+1] +
R[J-1,I+1] + R[J+1,I-1]
) mod 4;
R:=D;
end;

Concluso
Podemos observar que os autmatos celulares apresentam computao distribuda e paralela.
interessante verificar que modelos muito simples para as clulas resultam em comportamentos
globais muito complexos.
Os autmatos celulares podem ser relacionados com a teoria do CAOS. Vale lembrar que
podemos construir fractais como o tringulo de Sierpinski. Outro aspecto que se ressalta nos
autmatos celulares a sua imensa dependncia de seus estados iniciais. Uma pequena
modificao no estado inicial de um autmato celular pode provocar uma grande modificao em
sua evoluo.

Bibliografia

[GRE93] GREEN, David G. Cellular Automata , 1993. Disponvel por WWW em
http://life.csu.edu.au/complex/tutorials/tutorial1.html
[PEIT] PEITGEN, Heinz-Otto; JRGENS, Harmut; SAUPE, Dietmar. Chaos and
Fractals. Chapter 8. Springer-Verlag.

[WIL96] WILBERGER, A. Martim. Introduction to Cellular Automata for Modeling and
Simulation. SCS, Istanbul, Turkey.

Você também pode gostar