82372266 automatos celulares 1 ed6 ce autom muito bom

19
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 www.unicentro.br Lucas Gremonini Eduardo Vicentini 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.

Upload: henrique-marino-otavio

Post on 31-Jul-2015

123 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

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

www.unicentro.br

Lucas Gremonini Eduardo Vicentini

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.

Page 2: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 2 de 19

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

Page 3: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 3 de 19

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.

Page 4: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 4 de 19

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].

Page 5: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 5 de 19

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.

Page 6: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 6 de 19

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

Page 7: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 7 de 19

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.

Page 8: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 8 de 19

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

possíveis dado por k kz

para k estados e z vizinhos considerados. Tem-se 223

= 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

Page 9: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 9 de 19

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.

Page 10: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 10 de 19

2mod11)1( t

iti

ti aaa +-+ += (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 ti

ti

tn aaa 11 +-

ß F¬ 0 1 0 1 1 0 1 0 )1( +¬ t

ia

0 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 = 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].

Page 11: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 11 de 19

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.

Page 12: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 12 de 19

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.

Page 13: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 13 de 19

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.

Page 14: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 14 de 19

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

Page 15: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 15 de 19

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:

nnnnn SomaTJ

ffff +-G-=+ ).( 31 l (2)

Sendo nf 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 nSoma é 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 1+t . 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 1-t , 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

Page 16: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 16 de 19

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:

)1(22

-m (3)

A quantidade de pré-imagens possíveis a cada passo é determinada por 12 -m . Finalmente, a quantidade de textos encriptados possíveis após T passos de encriptação

vale Tm )1(2 - [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

Page 17: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 17 de 19

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.

Page 18: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

AUTÔMATOS CELULARES: REVISÃO BIBLIOGRÁFICA E EXEMPLOS DE IMPLEMENTAÇÕES

Revista Eletrônica Lato Sensu – UNICENTRO

Página 18 de 19

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:

Page 19: 82372266 Automatos Celulares 1 Ed6 CE Autom MUITO BOM

GREMONINI, Lucas; VICENTINI, Eduardo

Revista Eletrônica Lato Sensu – UNICENTRO

Página 19 de 19

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.