You are on page 1of 64

INPE-12992-PRE/8269

SOCIEDADE ARTIFICIAL FIGHT4LIFE: AUTMATO CELULAR MODELANDO VIDA ARTIFICIAL

Fabio SantAna Pascoal*

*Bolsista IBTA

Relatrio Final de Projeto de Iniciao Cientfica (PIBIC/CNPq/INPE), orientado pelo Dr. Jos Carlos Becceneri e co orientada pela Dra. Maria das Graas Bruno Marietto

INPE So Jos dos Campos 2005

SOCIEDADE ARTIFICIAL FIGHT4LIFE: AUTMATO CELULAR MODELANDO VIDA ARTIFICIAL

RELATRIO FINAL DE PROJETO DE INICIAO CIENTFICA (PIBIC/CNPq/INPE)

Fbio SantAna Pascoal (IBTA, Bolsista PIBIC/CNPq) E-mail: fabio@lac.inpe.br Dr. Jos Carlos Becceneri (LAC/CTE/INPE, Orientador) E-mail: becce@lac.inpe.br a Dr Maria das Graas Bruno Marietto(Co-Orientadora) E-mail: graca_marietto@directnet.com.br

Junho de 2005

Nenhum problema pode ser resolvido pelo mesmo estado de conscincia que o criou. preciso ir mais longe. Eu penso 99 vezes e nada descubro. Deixo de pensar, mergulho num grande silncio e a verdade me revelada. ALBERT EINSTEIN

Agradecimentos
Agradeo a todos aqueles que me ajudaram com idias e conselhos. Ao Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico - CNPq, pelo auxilio financeiro. Ao Laboratrio Associado de Computao e Matemtica Aplicada pela oportunidade de estudos e utilizao de suas instalaes. Ao Instituto Nacional de Pesquisas Espaciais - INPE pela oportunidade de estudos e utilizao de suas instalaes. Ao orientador Prof. Dr. Jos Carlos Becceneri pelo conhecimento passado, pela orientao, e oportunidade oferecida. orientadora e Prof. Dra. Maria das Graas Bruno Marietto pela orientao, apoio e principalmente pela infinita pacincia e carinho. minha noiva pela compreenso, pelo incentivo e extremo apoio na confeco deste trabalho. Aos minha famlia pela pacincia nos momentos de nervosismo.

ii

Resumo
Os principais objetivos deste trabalho so o estudo e a implementao do prottipo Fight4Life, que parte do intuito de simular uma suposta competitividade entre uma clula biolgica e um antgeno, criando uma situao em que a clula sofre ataques e luta contra um outro organismo. O sistema foi desenvolvido utilizando os conceitos e a estrutura de Automata Celular, estudados no incio do trabalho. A abordagem proposta est voltada em descobrir e analisar padres de comportamento das estruturas, partindo de diferentes configuraes iniciais de estados. Acredita-se que os padres encontrados sero resultados que podero auxiliar estudos futuros, os quais utilizaro parmetros do sistema biolgico como fonte de comparao. Uma das aplicaes que se mostram promissoras seria um estudo desenvolvido para a anlise de simulaes de alastramento ou regresso de clulas cancerosas.

iii

Abstract
The main objectives of this work are to study and implement the Fight4Life prototype that originates from the intuition of simulating a supposed competition between a biological cell and an antigen, creating a situation in which the cell suffers attacks and fights against another organism. The system is developed using the concepts and structure of Cellular Automata, studied in the beginning of the work. The approach proposed is to discover and analyze standards of behavior of the structures, starting with different configurations of the initial states. It is believed that the standards encountered will be the results that can help future studies, which will use biological system parameters as the source of comparison. One of the promising applications will be a study developed for the analysis of simulations of the spreading or regression of the cancerous cells.

iv

ndice
Agradecimentos................................................................................................................ i Resumo............................................................................................................................. ii Abstract...........................................................................................................................iii Figuras ............................................................................................................................ vi Tabela.............................................................................................................................vii 1 Introduo .................................................................................................................... 8 1.1 Motivao ............................................................................................................... 8 1.2 Objetivo .................................................................................................................. 9 1.3 Mtodo .................................................................................................................... 9 1.4 Estrutura do Trabalho ........................................................................................... 10 2 Automata Celulares ................................................................................................... 11 2.1 Breve Histrico ..................................................................................................... 11 2.1.1 John Von Neumann ....................................................................................... 12 2.1.2 Alan Turing.................................................................................................... 15 2.2 Estrutura Geral de Automata Celulares ................................................................ 16 2.2.1 Clulas ........................................................................................................... 17 2.2.2 Grade.............................................................................................................. 18 2.2.3 Vizinhana ..................................................................................................... 19 2.2.4 Estados ........................................................................................................... 23 2.2.5 Regras ............................................................................................................ 23 2.2.6 Interao......................................................................................................... 24 2.2.7 Classes Celulares ........................................................................................... 25 2.2.8 Estado Inicial ................................................................................................. 25 2.3 Formalismo ........................................................................................................... 26 2.4 Aplicaes de Automata Celulares ....................................................................... 26 2.4.1 Automata Celulares na Msica ...................................................................... 27 2.4.2 Automata Celulares em Sistemas de Informao Geogrficas...................... 29 3 Vida Artificial e Automata Celulares....................................................................... 31 3.1 John Conway......................................................................................................... 31 3.1.1 Critrios de Conway ...................................................................................... 32 3.1.2 Regras de Conway ......................................................................................... 33 3.1.3 Padres de Comportamento ........................................................................... 34 3.1.4 Jogo da Vida e Vida Artificial ....................................................................... 36

3.2 Langton ................................................................................................................. 37 4 Sociedade Artificial Fight4Life ................................................................................. 39 4.1 Simulador de Automata Celular ........................................................................... 39 4.2 Modelando a Sociedade Artificial Fight4Life ...................................................... 41 4.2.1 Clulas ........................................................................................................... 43 4.2.2 Grade.............................................................................................................. 44 4.2.3 Vizinhana ..................................................................................................... 45 4.2.4 Estados ........................................................................................................... 45 4.2.5 Regras ............................................................................................................ 47 4.2.5.1 Regra de Ataque...................................................................................... 47 4.2.5.2 Regra de Recuperao da Energia .......................................................... 48 4.2.5.1 Comportamento da Morte....................................................................... 48 4.3 Fight4Life: Simulando a Luta pela Vida............................................................... 48 4.3.1 Cenrio 1: Borda Forte Versus Ncleo Estvel ............................................. 49 4.3.2 Cenrio 2: Borda Forte Versus Ncleo Forte................................................. 52 4.3.3 Cenrio 3: Borda Fraca Versus Ncleo Estvel............................................. 55 5. Concluso................................................................................................................... 58 5.1 Propostas para trabalhos futuros ........................................................................... 58 Referncias Bibliogrficas............................................................................................ 59

vi

Figuras
Figura 2.1: Autmato Celular de Von Neumann........................................................... 15 Figura 2.2: Clula Quadrangular ................................................................................... 17 Figura 2.3: Clula Triangular ........................................................................................ 18 Figura 2.4: Clula Hexagonal........................................................................................ 18 Figura 2.5: Representao 1D, 2D e 3D de um Autmato Celular ............................... 19 Figura 2.6: Vizinhana de Neumann ............................................................................. 20 Figura 2.7: Vizinhana de Moore.................................................................................. 20 Figura 2.8: Vizinhana de Moore Estendida ................................................................. 21 Figura 2.9: Vizinhana Aleatria .................................................................................. 21 Figura 2.10: Representao Fixa da Borda.................................................................... 22 Figura 2.11: Representao da Vizinhana Peridica ................................................... 22 Figura 2.12: Representao da Vizinhana Reflexiva................................................... 23 Figura 2.13: Exemplo de Interaes.............................................................................. 24 Figura 2.14: Representao dos Intervalos Musicais .................................................... 28 Figura 2.15: Representao da utilizao de CA em Chaosynth................................... 29 Figura 2.16: Ocupao urbana e rede de transporte da Amaznia ................................ 30 Figura 3.1: Sobrevivncia da Clula ............................................................................. 33 Figura 3.2: Nascimento da Clula ................................................................................. 34 Figura 3.3: Morte de clulas.......................................................................................... 34 Figura 3.4: Objeto Block ............................................................................................... 34 Figura 3.5: Objeto Beehive............................................................................................ 35 Figura 3.6: Objeto Boat ................................................................................................. 35 Figura 3.7: Objeto Ship ................................................................................................. 35 Figura 3.8: Objeto Loaf ................................................................................................. 35 Figura 3.9: Objeto Blinker............................................................................................. 35 Figura 3.10: Objeto Toad .............................................................................................. 36 Figura 3.11: Objeto Gliders........................................................................................... 36 Figura 3.12: Autmato Reprodutor de Langton ............................................................ 38 Figura 4.1: Telas de interface geradas pelo ProtVirus .................................................. 40

vii

Figura 4.2: Estrutura do Organismo ProtCell................................................................ 42 Figura 4.3: Representao dos Organismos ProtCell e ProtVirus................................. 42 Figura 4.4: Clulas com as Respectivas Notaes ........................................................ 43 Figura 4.5: Grade do sistema Direo da Aplicao das Regras................................ 44 Figura 4.6: Representao das trs formas de vizinhana............................................. 45 Figura 4.7: Configurao Inicial do Cenrio 1.............................................................. 49 Figura 4.8: Seqncia de ataques das clulas da borda ................................................. 50 Figura 4.9: Configurao Final do Resultado da Execuo do Cenrio 1..................... 50 Figura 4.10: Configurao de Variao do Cenrio 1................................................... 51 Figura 4.11: Configurao Final do Resultado da Variao do Cenrio 1.................... 52 Figura 4.12: Configurao Inicial do Cenrio 2............................................................ 53 Figura 4.13: Configurao Final de Resultado da Execuo do Cenrio 2................... 53 Figura 4.14: Configurao de Variao do Cenrio 2................................................... 54 Figura 4.15: Configurao Final do Resultado da Execuo do Cenrio 2................... 55 Figura 4.16: Configurao Inicial do Cenrio 3............................................................ 56 Figura 4.17: Configurao Final de Resultado da Execuo do Cenrio 3................... 56

Tabela
Tabela 4.1: Classificao dos Estados Possveis ........................................................... 46

1 Introduo
O homem por ter como propriedade a inquietao para novas descobertas, sempre observou a natureza aventurando-se, de alguma forma, a analisar a variedade dos comportamentos e fenmenos naturais. Contudo, passou a tentar reproduzir (recriar) e/ou imitar aes e fenmenos biolgicos por meio de simulaes em sistemas artificiais para adquirir maior compreenso comportamental da vida biolgica. Este trabalho apresenta um estudo realizado na rea de Computao Aplicada. O pilar deste est fundamentado no uso de Automata Celulares contextualizado em caractersticas da Vida Artificial abrangendo teoria e aplicao. A modelagem do tema proposto foi tentar simular um possvel comportamento de uma clula biolgica em relao ao ataque de um antgeno. Durante a especificao e desenvolvimento deste trabalho houve uma necessidade de contemplar uma fase de pesquisa terica cujo objetivo foi relacionar muito do que j foi feito e est em atual desenvolvimento em pesquisa relacionada a esta rea, e uma fase prtica que descreve uma implementao computacional dos conceitos estudados, na forma de uma plataforma experimental de desenvolvimento de simulaes.

1.1 Motivao
Este trabalho visa concretizar um modelo terico desenvolvido pelo Laboratrio Associado de Computao e Matemtica Aplicada do Instituto Nacional de Pesquisas Espaciais (LAC/INPE), iniciando um estudo que busca simular comportamentos naturais por meio de modelos computacionais. Com o aprofundamento no estudo do modelo e no incio de sua implementao, utilizando o conceito de Automata Celular, observou-se que este apresentava a caracterstica de gerao de competitividade entre os elementos nele contidos, possibilitando a abordagem no comportamento da defesa de clulas biolgicas ao ataque de vrus e/ou outros agentes externos.

1.2 Objetivo
O principal objetivo deste trabalho so o estudo e a implementao do prottipo Fight4Life, que parte do intuito de simular uma modelagem terica inspirada no escopo apresentado em (Becceneri et al, 2003). O sistema desenvolvido baseia-se na simulao de uma suposta

competitividade entre uma clula biolgica e um antgeno, criando uma situao em que um vrus ou outro agente externo ataca uma clula. Foi desenvolvido utilizando-se dos conceitos e da estrutura de Automata Celular. A abordagem proposta est voltada em descobrir e analisar padres de comportamento das estruturas para diferentes configuraes iniciais. Acredita-se que os padres encontrados sero resultados que podero auxiliar estudos futuros, os quais utilizaro parmetros do sistema biolgico como fonte de comparao. Uma das aplicaes que se mostram promissoras seria um estudo desenvolvido para a anlise de simulaes de alastramento ou regresso de clulas cancerosas.

1.3 Mtodo
Inicialmente, fez-se um estudo do modelo apresentado em (Becceneri et al, 2003), constatando a utilizao da tcnica de Anlise de Padres Gradientes (GPA) para descrever a formao e a evoluo de padres de competio e energia do sistema proposto. Como uma nova abordagem, sugeriu-se a utilizao de Automata Celular, tcnica a qual auxilia na identificao de caractersticas existentes em Vida Artificial. Antes da implementao da nova tcnica, viu-se a necessidade de se aprofundar no contexto histrico e nas definies de Vida Artificial, e aplicaes voltadas a essa rea utilizando Automata Celulares. Para isso foi realizado um levantamento bibliogrfico dos dois assuntos. O novo modelo, denominado Fight4Life, baseia-se em um simulador de Automata Celular chamado Extreme Life, desenvolvido pelo Departamento de Cincia da Computao da Universidade da Virginia. O simulador adquirido est inteiramente codificado em linguagem Java Orientada a Objetos e, por ser cdigo aberto, permitiu a

10

adaptao do novo prottipo de acordo com as necessidades da modelagem a ser desenvolvida. O processo de adaptao exigiu um estudo detalhado do cdigo Extreme Life e, consequentemente, da linguagem Java e das caractersticas da metodologia orientada a objetos empregada no sistema. A partir desta fase, foi possvel a criao do mdulo adaptativo com novas funes respeitando a estrutura antiga. O novo prottipo consiste basicamente em uma grade funcional quadrangular com dois conjuntos de elementos, um representando a clula e o outro o antgeno. Regras de transio so criadas para simular a competitividade entre as estruturas, e estados so definidos para distinguir o nvel de energia entre cada elemento ao decorrer das interaes do sistema.

1.4 Estrutura do Trabalho


O trabalho organizado da seguinte forma: O Captulo 2 introduz a teoria de Automata Celulares, partindo dos estudos realizados, por John Von Neumann e Stanislaw Ulam, a partir da dcada de 50, e citando outros nomes conceituados na rea. Em seguida realizada uma descrio da estrutura geral de um autmato celular, mencionando os conceitos envolvidos e suas caractersticas. Finalizando o captulo, so citadas algumas aplicaes de Automata Celulares j desenvolvidas. O Captulo 3 inicia-se explicando o surgimento do termo Vida Artificial. Em seguida cita as significativas colaboraes dos matemticos John Conway e Christopher Langton, que alm de unirem o novo conceito teoria de Automata Celulares, diminuram a complexidade destas estruturas. O Captulo 4 apresenta a prototipagem do sistema Fight4Life em aspectos de implementao bem como os testes realizados e respectivas anlises. O Captulo 5 apresenta as principais concluses, contribuies e sugestes para trabalhos futuros, apontando possveis rumos para extenso deste trabalho.

11

2 Automata Celulares
Automata Celulares (AC) so sistemas dinmicos discretos, sendo

freqentemente descritos como contrapartes s equaes diferenciais parciais que apresentam a potencialidade para descrever sistemas dinmicos contnuos. O significado de discreto que as variveis de estado mantm-se inalteradas ao longo de intervalos de tempo, e mudam seus valores somente em momentos bem definidos conhecidos como passo ou tempo de ocorrncia de evento. A idia bsica de AC no tentar descrever a complexidade de sistemas que utilizam equaes complexas, mas focar na simulao de sistemas onde as interaes entre as clulas so regidas por regras simples. Assim, o objetivo no descrever sistemas com equaes complexas, mas deixar a complexidade emergir por meio da interao de indivduos simples em funo de regras simples (Schatten, 2005). Sob um ponto de vista terico, os AC foram introduzidos no final dos anos 40 por John Von Neumann (Von Neumann, 1966; Toffoli e Margulos, 1987) e Stanislaw Ulam. Sob um ponto de vista prtico, por volta do final dos anos 60, os AC conseguiram maior divulgao atravs do matemtico Conway, que desenvolveu o Jogo da Vida (Gardner, 1970; Dewdney, 1989; Dewdney, 1990). Este captulo est organizado da forma como se segue. Na Seo 2.1 tem-se um breve histrico de AC, citando os estudos pioneiros de John Von Neumann e Alan Turing no desenvolvimento na teoria de AC. Na Seo 2.2, descreve-se a estrutura geral de um AC.

2.1 Breve Histrico


A seguir tem-se uma breve apresentao histrica dos trabalhos de John Von Neumann e Alan Turing no campo de AC.

12

2.1.1 John Von Neumann


No final dos anos 40 o mundo da cincia computacional vivenciou uma exploso no desenvolvimento de novas tecnologias. Neste perodo, fomentou-se a descoberta de novas tcnicas computacionais que poderiam ser utilizadas na modelagem matemtica de fenmenos complexos. Um dos nomes mais proeminentes da poca foi o matemtico hngaro John Von Neumann. Pouco antes de sua morte em 1957, Neumann estava empenhado no desenvolvimento da Teoria de Automata Celulares. De acordo com (Shanonn, 1958): Von Neumann spent a considerable part of the last few years of his life working in [automata theory]. It represented for him a synthesis of his early interest in logic and proof theory and his later work, during World War II and after, on large scale electronic computers. Involving a mixture of pure and applied mathematics as well as other sciences, automata theory was an ideal field for von Neumann's wide-ranging intellect. He brought to it many new insights and opened up at least two new directions of research. Segundo Neumann, a palavra autmato era destinada a mquinas automticas cujo comportamento poderia ser definido por termos matemticos inconfundveis. Um autmato era uma mquina que processava logicamente, em etapas metdicas estabelecidas ordenadamente por um meio externo. Pertence tambm a Neumann a idia conhecida como autmato auto-reprodutor, que dizia respeito capacidade de uma mquina artificial de produzir uma cpia de si mesma, que por sua vez fosse capaz de criar novas cpias. Esta reproduo (cpia) estava baseada em algo diferente da mecnica, onde a informao seria a premissa da vida. No centro do seu ser estava uma matriz que, alm do comportamento, ditava-lhe a atividade reprodutora (Gilhoto e Rosa, 2005). Um dos principais objetivos de Neumann era o de aplicar essas seqncias em seus estudos sobre neurofisiologia (Goldstine, 1993). Assim, o conceito original de autmato celular est fortemente associado a John Von Neumann. De acordo com o livro editado por (Burks, 1966), Neumann estava interessado nas conexes entre Biologia e a Teoria dos Automata. Nos seus estudos,

13

predominava a idia do fenmeno biolgico da auto-reproduco. A questo que ele apresentava era: Que tipo de organizao lgica suficiente para um autmato ser capaz de reproduzir a si prprio? (Aguiar e Costa, 2005). Von Neumann tambm percebeu de que a Biologia proporcionava um importante sistema de processamento de informao disponvel, e de que na emulao dela estava a chave de potentes sistemas artificiais. Segundo (Aguiar, Dimuro e Costa, 2004), Von Neumann construiu um autmato denotado por Mc. Este autmato est embutido sobre um espao celular bidimensional com regra de transio e configurao de estados iniciais particulares. O espao bidimensional considerado infinito, mas todas as clulas em quantidade finita iniciam em um estado especial de repouso. Existem vinte e nove (29) estados possveis para cada clula (inclusive o estado de repouso), e a vizinhana consiste em 4 clulas: uma acima, uma abaixo, uma esquerda e uma direita. Esta vizinhana bidimensional chamada de vizinhana de Von Neumann. A Figura 2.1 representa esquematicamente, em alto nvel, o processo no qual o autmato auto-reprodutor Mc trabalha. Mc constitudo de uma configurao de estados que podem ser agrupados em duas unidades funcionais: a unidade de construo, que constri o novo autmato, e a unidade de fita, que armazena e l a informao necessria para

construir o novo autmato. A unidade de fita constituda de um controle de fita e da fita propriamente dita. A fita um array linear de clulas que contm a informao sobre M, o autmato a ser construdo. Em particular, a fita contm (da esquerda para direita): 1) as coordenadas x e y (x0 e y0) do canto inferior esquerdo do retngulo no qual o novo autmato ser construdo (a rea de construo); 2) a largura e a altura do retngulo; 3) as clulas que formaro o autmato (listados na ordem inversa na qual eles sero colocadas no retngulo); 4) o asterisco, indicando o fim da fita.

14

A construo do novo autmato M iniciada pelo envio de sinais (na forma de propagao de estados pelas clulas) entre a unidade da fita e a unidade de construo. A unidade de construo consiste de um controle de construo e um brao construtor. Conforme a Figura 2.1, o brao construtor um array de clulas onde as clulas que sero construdas so enviadas a partir do controle de construo s posies desejadas na rea de construo. O autmato original Mc ativado por um sinal externo, enviado ao controle de construo. Ento, o controle de construo envia um sinal unidade de fita, que l a fita e envia (por sinais) os valores de x0, y0, e ao controle de construo. Logo, o controle de construo faz o brao construtor se mover (expandindo ou contraindo o array de clulas trocando os estados das clulas intermedirias) da sua posio inicial at o canto superior esquerdo da rea de construo. Depois, o controle de construo solicita e recebe os valores dos sucessivos estados da fita, e move o brao construtor para coloc-los nas posies apropriadas na rea de construo (Aguiar et al., 2004).

15

Figura 2.1: Autmato Celular de Von Neumann. Fonte: (Aguiar et al., 2004)

Quando a construo estiver completa, ou seja, o asterisco foi lido na fita, o controle de construo move o construtor para o canto inferior esquerdo de M e envia um sinal que inicia M. Este procedimento faz M iniciar o processo de auto-reproduo novamente. Ento Mc move o brao construtor para sua posio original. Esta uma descrio em alto-nvel do modo de funcionamento do autmato auto-reprodutor de Von Neumann. As funes de alto-nvel como ler clulas da fita, enviar diferentes sinais, reconhecer e receber diferentes sinais e outras so totalmente construdas a partir de operaes primitivas dos automata celulares. No nvel mais baixo, usaram-se operaes primitivas de automata celulares para sintetizar as operaes lgicas tais como OU e E, operaes simples de atrasos e propagao de sinais. possvel perceber que Mc capaz de ir mais alm do que a auto-reproduo. De fato, ele um construtor universal, capaz de construir qualquer autmato cuja descrio est na sua fita. Ainda, Mc capaz de computao universal. Por isso, a autoreproduo reduz-se a um caso particular onde a fita de Mc contm descrio da prpria Mc. Inicialmente, essencial que o autmato construdo esteja desativado, ou seja, seu estado no se modifica antes de receber o sinal de inicializao. Se isto no for garantido, pode ocorrer de M iniciar um novo processo de construo sem ela mesma estar finalizada, o que possivelmente poder interferir no seu prprio processo de construo (Aguiar et al., 2004).

2.1.2 Alan Turing


Nascido na Inglaterra, Alan Turing foi um matemtico e cientista da computao e considerado um dos pais da computao moderna. J em 1926 Turing afirmava ser booleana a essncia da inteligncia. Inventou as mquinas de estado, a mquina universal de Turing, e contribuiu para muitas reas do conhecimento como Lgica, Criptografia, Filosofia, Biologia, e conceitualmente, para criao de disciplinas como Cincias Cognitivas, Inteligncia Artificial e Vida Artificial. Durante os anos finais de sua vida, Turing utilizava o computador Ferranti Mark I, da Universidade de Manchester, em experimentos com algoritmos que exploravam as semelhanas entre

16

programas digitais e fenmenos como replicao, adaptao e cognio, tpicos que posteriormente viriam a se chamar Vida Artificial e Inteligncia Artificial. Durante este perodo, ele atingiu a distino de ser o primeiro a se engajar na explorao assistida por computador de sistemas de dinmica no-linear, uma vez que sua teoria usava equaes diferenciais no-lineares para expressar a qumica do crescimento (Neves, 2003). O trabalho de Alan Turing no domnio da Lgica Matemtica, nomeadamente atravs do seu autmato finito Mquina de Turing, veio trazer a Von Neumann a certeza de que a duplicao de formas de vida tambm poderia ser emulada. Mas para isso, seria necessria uma fita muito longa para ser introduzida na mquina (Neves, 2003). A idia fundamental que norteia a primeira grande tentativa de modelizar mente e comportamento, a partir de uma determinada idia de processamento de informao, remonta aos trabalhos de Alan Turing e sua concepo de uma mquina pensante (Turing, 1950). Entenda-se que cognio sinnimo de pensamento, o que leva a procurar modelizar a mente tomando-lhe apenas a parte relativa ao pensamento e, deste, particularmente, aquele dito inteligente. A idia de Turing de que se pode, atravs de uma mquina abstrata, computar quaisquer proposies (regras, instrues, dados, etc.). Essa mquina (e seus respectivos estados internos), dotada de uma fita (em princpio, infinita) e de uma cabea leitora capaz de ler o estado no instante t, modific-lo e gravar uma determinada instruo no instante t + 1. Assim, pode-se perceber a influncia direta do trabalho de Alan Turing na estruturao da Teoria de AC. Tambm, assim como Von Neumann, Turing, estudou a implicao do uso de AC na modelagem de Vida Artificial (Neves, 2003).

2.2 Estrutura Geral de Automata Celulares


Um autmato celular um conjunto de automata, ou clulas, identicamente programados, que interagem entre si em funo de uma coleo finita de condies pr definidas (Li, 2005). Os estados das clulas so alterados conforme um conjunto de regras de transio. De forma geral, a regra de transio de estados imposta de forma paralela e sincronizada a todas as clulas (Vasconcelos, 2005). Uma configurao inicial de autmato, aparentemente simples, pode produzir resultados onde a conjuntura

17

da matemtica dos estados apresentar um alto nvel de complexidade. Nas prximas subsees so apresentados os elementos bsicos que compe um autmato celular tais como clulas, vizinhana, estados, e regras.

2.2.1 Clulas
Um dos elementos bsicos de um AC a clula. Uma clula um tipo de elemento da memria que armazena estados celulares. Em um caso simples, cada clula pode ter os estados em forma de nmeros binrios. Mas em uma simulao com maior grau de complexidade, as clulas podem ter vrios estados diferenciados. Isto , de forma geral cada clula pode possuir mais de uma propriedade ou atributo, e cada uma destas propriedades pode definir dois ou mais estados. Dependendo da modelagem proposta de um sistema, a forma geomtrica de cada clula pode assumir diversas configuraes. Dentre elas cita-se a quadrangular (Figura 2.2), triangular (Figura 2.3) e hexagonal (Figura 2.4). Dentre estas formas, o modo quadrangular representa maior usabilidade devido sua simplicidade. Por isso, foi escolhido para representar o espao celular deste trabalho.

Figura 2.2: Clula Quadrangular

18

Figura 2.3: Clula Triangular

Figura 2.4: Clula Hexagonal

2.2.2 Grade
As clulas esto dispostas em uma rede espacial que forma a grade celular. A rede que apresenta maior simplicidade a grade unidimensional, disponibilizando uma acomodao onde todas as clulas esto arranjadas uma ao lado das outras, em forma de uma fita, conforme ilustra a Figura 2.5 (1D). As construes mais usuais em AC so as grades de duas dimenses, como apresentado na Figura 2.5 (2D). Existem tambm grades de trs dimenses, conforme ilustra a Figura 2.5 (3D).

19

Figura 2.5: Representao Unidimensional (1D), Bidimensional(2D) e Tridimensional (3D) de um Autmato Celular. Fonte: (Leite, Lins e Cerqueira, 2005)

2.2.3 Vizinhana
A vizinhana a determinao da fronteira que cada clula ter dentro da grade. Existem algumas configuraes que definem quais sero as direes em que ocorrer o processo evolutivo dos estados das clulas. Por exemplo, a vizinhana de Neumann (Figura 2.6), Moore (Figura 2.7), Moore Estendida (Figura 2.8) a Aleatria (Figura 2.9). Nestas figuras, a representao das cores em escala de cinza refere-se ao
processo de interao ao longo do tempo (Tempo 1 e Tempo2). O conceito de vizinhana

especifica quais sero os vizinhos de uma clula, pois as regras de transio sero aplicadas baseadas nos estados da vizinhana e da prpria clula considerada. A vizinhana de Von Neumann ocorre com quatro clulas: clulas acima, abaixo, da direita e da esquerda de cada clula. O raio (r) desta definio 1, porque somente a camada seguinte ser considerada.

20

Tempo 1
Figura 2.6: Vizinhana de Neumann

Tempo 2

A vizinhana de Moore uma ampliao da vizinhana de Neumann, onde as diagonais tambm so consideradas como clulas vizinhas. Neste caso, o raio ser r=1.

Tempo 1
Figura 2.7: Vizinhana de Moore

Tempo 2

A vizinhana entendida de Moore equivalente descrio da vizinhana de Moore j descrita, porm com um alcance maior de vizinhana de clulas, com r = 2.

21

Figura 2.8: Vizinhana de Moore Estendida

Na vizinhana aleatria, as clulas ficam espalhadas pela grade de forma no ordenada.

Figura 2.9: Vizinhana Aleatria

A grade do AC teoricamente pode ser finita ou infinita. Normalmente, em simulaes em computadores, esta considerada finita. As grades infinitas podem ser analisadas em nvel matemtico, pois no possuem limitaes laterais. Entretanto, grades finitas devem definir as condies de limite para saber o que acontece nas bordas. A questo a ser analisada que as clulas da borda possuem vizinhanas incompletas. De acordo com (Pfeifer, Kunz e Weber, 2002), h trs possibilidades de resolver este problema: A primeira supor que existam clulas "invisveis" ao redor da grade com um estado predefinido (Limite fixo); A segunda supor que as clulas da borda so vizinhas das clulas da borda oposta (Limite peridico);

22

A terceira assumir que clulas da borda so refletidas internamente a grade (Limite reflexivo). O limite fixo obtido simplesmente descrevendo como sero os estados das clulas no contorno da grade, e esses estados sero mantidos durante todo instante da interao (Figura 2.10). As clulas invisveis esto representadas em cinza claro.

clulas invisveis

Figura 2.10: Representao Fixa da Borda

O limite peridico representado quando h uma extenso da grade de forma que cada clula da borda tenha uma clula vizinha (Figura 2.11)

Figura 2.11: Representao da Vizinhana Peridica

O limite reflexivo representado quando cada clula da borda difunde internamente a grade, de forma a simular uma vizinhana completa (Figura 2.12)

23

Figura 2.12: Representao da Vizinhana Reflexiva

2.2.4 Estados
As clulas possuem um conjunto de variveis que podem mudar em qualquer interao. Os valores das variveis de uma clula especfica so responsveis, a cada interao, por determinar o tipo de estado corrente. A unio dos estados de todas as clulas forma o estado global, ou a configurao geral do AC. O estado um indicador de clula com funo de mostrar os valores diferentes de cada clula. Este pode tambm ser representado em forma de nmero, ou como propriedades. Por exemplo, uma clula, em um determinado contexto, pode representar o estado com o nmero de animais de cada localidade, ou um tipo de floresta que esteja crescendo em uma regio (Pfeifer, Kunz e Weber, 2002).

2.2.5 Regras
At o presente momento as clulas foram apresentadas como dispostas em uma grade, onde ocorre apenas a representao da clula em seu estado de esttica. Para proporcionar uma dinamicidade no sistema, torna-se necessrio a incluso de regras. O objetivo destas regras, em princpio, definir o prximo estado das clulas para a etapa subseqente. Assim, em automata celulares uma regra define o estado de uma clula em funo do vnculo apresentado em relao sua vizinhana (Schatten, 2005). Cada clula tem um conjunto de regras locais. Dado o estado da clula e os estados das clulas de sua vizinhana, estas regras determinam o estado da clula no prximo passo. importante notar que os estados de todas as clulas so atualizados

24

simultaneamente (sincronizadamente) baseados em valores (momentneos) das variveis de sua vizinhana, de acordo com as regras locais. Se todas as clulas tiverem o mesmo conjunto de regras, o AC pode ser dito como homogneo (Pfeifer, Kunz, Weber, 2002). Neste trabalho considerou-se um AC homogneo.

2.2.6 Interao
A interao, dependendo do conjunto de regras, ocorre quando a clula faz uma leitura dos estados atuais da suas clulas vizinhas. Seqencialmente, esta executa as instrues caractersticas que lhe foram conferidas. Isto se d de clula em clula, pois assim que todas tiverem lido essas mesmas instrues, d-se incio prxima interao. Um exemplo ilustrativo mostra a evoluo de interao (Figura 2.13) entre as clulas, usando o conjunto de regras do Jogo da Vida (veja Seo 3.1.1).
Interao-1 Interao-2

Interao-3

Interao-4

Interaes-5

Figura 2.13: Exemplo de Interaes

Um exemplo de resultado dinmico macroscpico de uma interao local "a onda", formada por torcedores de forma seqencial em estdios. Cada pessoa reage somente no "estado" aps a percepo de seu(s) vizinho(s). Se estiverem em p, o vizinho seguinte tambm ficar em p e aps um pequeno instante volta a se sentar novamente. A interao local conduz dinmica global (Schatten, 2005).

25

2.2.7 Classes Celulares


Segundo (Wolfram, 1984), h quatro classes que definem como se d a evoluo das clulas em funo das regras, a partir das configuraes iniciais. So eles: classe de pontos limites, ciclo limite, catica e comportamento complexo. A primeira classe denominada Pontos Limites. Nesta classe um autmato, aps um nmero finito de interaes, alcana um nico estado. Ou seja, a evoluo leva a um estado homogneo, no qual todas as clulas eventualmente alcanam o mesmo valor. A segunda classe a de Ciclo Limite. Nesta classe os automata geralmente criam imagens que se repetem periodicamente, com poucos perodos ou imagens estveis. A terceira classe a Catica. Nesta classe os automata conduzem a padres aperdicos. Por fim, a quarta denominada classe do Comportamento complexo. Nesta classe os automata celulares, aps um nmero finito de interaes, normalmente morrem. Entretanto possvel a apario de padres estveis, como os gerados pela segunda classe.

2.2.8 Estado Inicial


O comportamento de um autmato funo de sua configurao inicial. Portanto a anlise desta fundamental para a previso da forma como ele ir evoluir. Os valores iniciais das variveis de estado so referenciados como configuraes iniciais. Partindo destas condies iniciais, os automata evoluem no tempo, mudando seus estados atravs das regras locais. Deve-se observar que existem determinados estados globais, que s podem ser assumidos por um autmato no instante de sua inicializao, ou seja, que no podem ser atingidos durante o curso de sua evoluo (Barone et al., 2003).

26

2.3 Formalismo
O texto desta seo est baseado em (Barone et al., 2003). De acordo com (Wiemar, 2000) apud (Barone et al., 2003), possvel definir um autmato celular da seguinte forma: 1) Seja L um reticulado regular (os elementos de L so chamados de clulas); 2) S um conjunto finito de estados; 3) N um conjunto finito (de tamanho |N| = n) de ndices vizinhos, tal que para todo r em N e todo c em L: r+c est em L; 4) f: SnS uma funo de transio.

A 4-tupla (L,S,N,f) denominada autmato celular. Defini-se aqui que um reticulado regular se uma rede peridica de um espao de dimenso d, e os elementos do reticulado, as clulas, preenchem o espao completamente, e ao se transladar o reticulado em d direes independentes, obtendo-se o mesmo reticulado. Uma configurao Ct: L S uma funo que associa um estado a cada clula do reticulado. O efeito da funo de transio f deve mudar a configurao Ct na nova configurao Ct+1, de acordo com a seguinte equao: Ct+1(r) = f({Ct(i) | i N(r) }) Onde N(r) o conjunto de vizinhos da clula r. N(r) = {i L: r-i N} Em aplicaes prticas, os reticulados so apresentados em um tamanho finito. A definio dos vizinhos de cada clula depende do problema a ser resolvido (Weimar, 2000) apud (Barone et al., 2003).

2.4 Aplicaes de Automata Celulares


De acordo com (Sipper, 1999), a computao celular se baseia em trs princpios: simplicidade, paralelismo e localidade. A clula, unidade fundamental de um sistema celular, possui um conjunto de atributos extremamente simples e realiza poucas

27

tarefas. Um aspecto poderoso desta estrutura de dados o alto grau de conectividade existente entre as clulas. Nestes sistemas, uma clula pode se comunicar com suas vizinhas, trocando informaes. Entretanto, nenhuma clula tem uma viso geral do sistema, o que caracteriza estes sistemas como descentralizado. Portanto, sistemas celulares tm como aplicaes potenciais sistemas em que a ordem global emerge de aes locais, tais como sistemas biolgicos. O paralelismo um ponto controverso na computao celular, assim como em outras reas da computao. O paralelismo desejado, mas dificilmente atingido em um grau satisfatrio, devido falta de ambientes computacionais estritamente paralelos. Entretanto, mecanismos artificiais permitem acelerar o desempenho de tais sistemas atravs da sincronizao das aes. Em um espao celular as relaes espaciais entre as clulas se do no espao prximo, onde as relaes de vizinhana desempenham um papel determinante. O tamanho e a configurao (forma) de uma vizinhana podem variar de sistema para sistema, de modelo para modelo, e de varivel para varivel. Entretanto, na maioria dos sistemas existentes a vizinhana tratada de forma estacionria, isto , os vizinhos de uma clula esto sempre dispostos nas mesmas direes (norte, sul, leste, oeste). Outro ponto importante no modelo celular a necessidade de gerenciar uma variedade de escalas. As operaes celulares podem se dar em escala local (por clula), zonal (por regio) e global (por plano de informao). Os problemas que podem ser modelados utilizando a teoria de AC possuem as caractersticas apresentadas anteriormente. Nas prximas subsees sero apresentadas algumas reas onde a teoria de AC aplicada.

2.4.1 Automata Celulares na Msica


Segundo (Miranda, 2000), a msica tem sido um campo interessante para a aplicao das descobertas cientficas, convidando compositores a combinar a criatividade artstica com os mtodos cientficos. Hoje est tornando-se cada vez mais freqente a presena de compositores envolvidos em cincia, no intuito de conhecer novas reas ou melhorar seus mtodos de composio. Pelo mesmo motivo, os cientistas parecem tambm mostrar interesse nos princpios organizacionais que podem

28

ser mostrados na msica. Em (Miranda, 2000) tem-se a introduo de dois sistemas musicais baseados em AC: o CAMUS e Chaosynth. CAMUS usa o plano cartesiano a fim de representar uma trade. Neste contexto, uma trade um conjunto de trs notas musicais, que podem ou no soar simultaneamente. Estas trs notas so definidas em funo das distncias entre elas, ou em intervalos determinados segundo a teoria musical. A coordenada horizontal do modelo representa o primeiro intervalo de trade, e a coordenada vertical representa seu segundo intervalo da trade, conforme a Figura 2.14. Para comear o processo de produo musical, o AC ajustado inicialmente com uma configurao aleatria. Aps uma determinada interao, quando um autmato torna-se vivo, as coordenadas da clula so analisadas para gerar os intervalos e compor a trade.

Figura 2.14: Representao dos Intervalos Musicais

Chaosynth essencialmente um sintetizador granular que trabalha com a gerao de uma sucesso rpida de exploses sonoras de curta durao. Essas exploses so chamadas granules, e juntas formam eventos sonoros maiores. Os resultados tendem a gerar um grande senso de movimento e fluxo de som. O Chaosynth usa AC que gera padres celulares que tendem a evoluir inicialmente, de forma aleatria, para um ciclo oscilatrio (Figura 2.15). O resultado um conjunto de imagens que servem para controlar o ciclo e a durao de simulaes de ondas.

29

Figura 2.15: Representao da utilizao de CA em Chaosynth A imagem esquerda mostra a distribuio aleatria das clulas na grade; e direita mostra os padres gerados pelo ciclo oscilatrio

2.4.2 Automata Celulares em Sistemas de Informao Geogrficas


O trabalho de (Pedrosa, 2003) apresenta TerraML, um ambiente computacional para modelagem dinmica espacial a ser usado em aplicaes ambientais. TerraML baseia-se num modelo celular de representao do espao, utilizando o paradigma de automata celulares para abstrair operaes de elementos de sistema dinmico. As operaes celulares podem se dar em escala local (por clula), zonal (por regio) e global (por plano de informao). A integrao de processos multi-escala pode ser facilmente implementada com distribuio uniforme dos dados. Para capturar os dados e aes distncia, TerraML adota o conceito de vizinhana generalizada, implementada como uma matriz de proximidade, definida a partir de clculos de distncias entre as clulas ou a partir de redes de transporte. A anlise de rede de transporte importante, pois em muitos fenmenos do mundo real, relaes de influncia se estabelecem com base em redes de transporte. Como exemplo, considere o processo de mudana no uso do solo da Amaznia. Este processo condicionado pela ocupao urbana, que por sua vez, fortemente determinada pela rede de transporte (rios e rodovias) da regio, como mostra a Figura 2.16 (rede de transporte esta marcada em vermelha e os assentamentos urbanos em branco).

30

Figura 2.16: Ocupao urbana e rede de transporte da Amaznia. Fonte: (Pedrosa, 2003)

Segundo Pedrosa (2003), automata celulares so eficientes para representar sistemas em que a ordem global emerge de aes locais e descentralizadas. Entretanto, em Sistemas de Informaes Geogrficas, do Ingls Geographic Information Systems (GIS), a ordem global depende tambm de aes distncia. A fim de superar esta limitao, e acomodar aes distncia, vrias extenses noo de autmato celular clssico tm sido propostas. Em TerraML, usou-se a abstrao de um autmato hbrido para modelar as transies e modos de controle do sistema. Desta forma, alm da vizinhana e de conjunto de clulas, um autmato hbrido possui um conjunto de modos de controle e um conjunto de transies.

31

3 Vida Artificial e Automata Celulares


O termo Vida Artificial foi citado pela primeira vez pelo pesquisador Cristopher Langton, na dcada de 80, a fim de especificar uma nova cincia emergente (Langton, 1995). Langton coloca em discusso conceitos que eram tidos como explicados pela cincia, isto , conceitos fsicos e biolgicos acerca da vida e todas as suas etapas. Tradicionalmente, o conceito de vida tem sido identificado por uma coleo de materiais que observam certas listas de propriedades, tais como: metabolismo, adaptao, autonomia, crescimento, auto-suficincia, replicabilidade, reatividade (irritabilidade), evoluo, etc (Ronaldo e Cordenonsi, 2002). A Vida Artificial, ou Alife (Artificial Life) como conhecida no Ingls, surgiu da mistura de vrias disciplinas. Inicialmente, foi considerada apenas como um movimento passageiro de crtica s teorias clssicas. Porm, conseguiu reconhecimento acadmico e atualmente o principal piv da recuperao das antigas introspeces sobre a realidade de um mundo ciberntico e a construo de vida in slico na rea de Vida Artificial (Calegari e Nagel, 2003). A Vida Artificial tem por objetivo estudar a vida natural, tentando reproduzi-la por meios artificiais. Ao contrrio da Biologia, que individualiza os organismos para ver como estes funcionam, a Vida Artificial tenta agrupar sistemas que se comportem como organismos vivos, sendo capaz de contribuir com a Biologia mudando sua viso de a vida como ela para uma viso mais abrangente da vida como ela poderia ser. A seguir tem-se uma apresentao dos trabalhos dos matemticos John Conway e Langton na rea de Vida Artificial.

3.1 John Conway


O Jogo da Vida foi inventado pelo matemtico John Conway em 1970. Conway explorava a idia do construtor universal, de forma que uma mquina hipottica pudesse construir cpias de si mesma. Este assunto comeou a ser estudado primeiramente pelo matemtico John Von Neumann nos anos 40. Como visto na Seo 2.1.1, Neumann criou um modelo matemtico cuja mquina seria baseada em uma

32

grade cartesiana, com as suas clulas podendo assumir vinte e nove (29) estados. Conway simplificou este modelo criando o conhecido "Jogo da Vida" (Reed College Artificial Life Project, 2005). O Jogo da Vida um autmato celular bidimensional governado por regras simples que definem nascimentos, mortes e sobrevivncias de clulas. Cada uma das clulas do universo bidimensional pode estar em dois estados possveis: viva ou morta. Comeando-se com um padro inicial dado s clulas vivas, pode-se empregar as regras de Conway a fim de determinar o comportamento geral do universo sobre qualquer nmero de geraes. Se uma clula sobrevive, morre ou nasce isto ser determinado pelo nmero de vizinhos vivos ao redor de uma clula (Conways Game, 2005). Conway escolheu regras com cuidado aps ter tentado inmeras possibilidades. Algumas delas fizeram com que clulas morressem rapidamente, e outras com que nascessem. O Jogo da Vida equilibra estas tendncias de forma a testar, pela lei de sobrevivncia, se todas as clulas morrero completamente, ou se daro forma a uma populao estvel, ou se crescero para sempre (Conways Game, 2005).

3.1.1 Critrios de Conway


Segundo Conway, a idia bsica do Jogo da Vida iniciar com uma configurao simples dos organismos, de uma a uma clula. Em seguida, observar como ocorre a mudana quando se aplicam as leis que determinam nascimentos, mortes e sobrevivncias. Embora as regras de Conway pudessem, inicialmente, parecer um tanto arbitrrias, estas no vieram por acaso. Conway seguiu uma srie de critrios especficos de forma que direcionassem seu estudo em de busca de regras que no conduzissem a qualquer comportamento catico, ou de crescimento infinito, ou de rpida estabilidade. Em seguida, procurou acertar as regras as quais permitissem aos objetos que crescessem e mudassem por muito tempo antes de se estabilizarem Usando estes critrios, chegou s regras que ditariam o Jogo da Vida. Ao final, Conway chegou aos seguintes critrios (Reed College Artificial Life Project, 2005):

33

No dever haver nenhum teste inicial de forma a garantir que exista uma prova de que a populao possa crescer sem limites; Devem ser aplicados testes padres iniciais que, aparentemente, faam crescer sem limite; Deve haver testes iniciais simples para que as clulas cresam e mudem por um perodo de tempo considervel, antes de pararem seus movimentos em trs maneiras possveis: Desaparecendo escassez); Fixando-se em uma configurao estvel, de forma imutvel; Ou incorporando uma fase oscilatria que se repete por um ciclo infinito de dois ou mais perodos. completamente (por superlotao ou por

3.1.2 Regras de Conway


As trs observaes apresentadas por Conway, na Seo 3.1.1, objetivaram fazer com que o comportamento da populao fosse imprevisvel. Inicialmente, cada clula do tabuleiro pode ter oito clulas vizinhas. As regras definidas para o Jogo Vida envolvem trs tpicos: sobrevivncia, nascimentos e mortes. A regra de sobrevivncia de clulas pode ser descrita como: cada clula com duas ou trs clulas vizinhas sobrevive (Figura 3.1).

x
Figura 3.1: Sobrevivncia da Clula O x indica qual clula ir sobreviver na prxima interao

A regra de nascimento de clulas pode ser descrita como: cada clula, com exatamente trs vizinhos, nasce na prxima fase conforme ilustra a Figura 3.2.

34

interao

Figura 3.2: Nascimento da Clula - O x indica qual clula ir nascer na prxima interao. O preenchimento do quadrado mostra a nova clula

A regra para a morte de clulas pode ser descrita como: cada clula com quatro ou mais vizinhos morre por superpopulao. Cada clula com menos de um vizinho tambm morre por isolamento. A Figura 3.3 mostra quatro exemplos para morte das clulas.

x x

x x x x

Figura 3.3: Morte de clulas - O x indica quais clulas morrero na prxima interao

importante compreender que todos os nascimentos e mortes ocorrem simultaneamente. Juntos constituem uma nica gerao ou um "movimento", na hiptese de vida a partir da configurao inicial do Jogo da Vida.

3.1.3 Padres de Comportamento


Alguns objetos comuns no Jogo da Vida permanecem os mesmos, de etapa em etapa. Esses objetos podem ser estveis ou oscilatrios. Os objetos estveis ocorrem quando nenhuma clula viva tende a morrer, e nenhuma clula tende a nascer. Como exemplo tem-se o block (Figura 3.4), beehive (Figura 3.5), boat (Figura 3.6), ship (Figura 3.7), loaf (Figura 3.8) (Conways Game, 2005).

Figura 3.4: Objeto Block

35

Figura 3.5: Objeto Beehive

Figura 3.6: Objeto Boat

Figura 3.7: Objeto Ship

Figura 3.8: Objeto Loaf

Os objetos oscilatrios comuns, tais como blinker (Figura 3.9) e toad (Figura 3.10), so formas que mudam da etapa em etapa at atingir um ciclo constante. O tipo mais simples so os osciladores de dois perodos, ou aqueles que se repetem aps duas etapas.

Figura 3.9: Objeto Blinker

36

Figura 3.10: Objeto Toad

3.1.4 Jogo da Vida e Vida Artificial


O universo de Conway um exemplo clssico da Vida Artificial. Outros modelos da vida artificial so significantemente mais complexos que o Jogo da Vida, mas notvel como muitas das capacidades caractersticas destes j esto no Jogo da Vida. Conway tem mostrado que as formas de vida como a dos gliders (Figura 3.11) podem ser usados para a criao de portas lgicas fundamentadas na Mquina de Turing. (Reed College Artificial Life Project, 2005).

Figura 3.11: Objeto Gliders

De acordo com (Emmeche, 1994) em sua viso sobre vida artificial em The Garden in the Machine, relata que ... pode ser mostrado explicitamente que teoricamente possvel ser implementado, em um simples jogo, a complicada reproduo de Von Newman. Mesmo que o Jogo da Vida no seja um instrumento que simule uma vida real, o fenmeno pode ser desvendado por meio deste jogo, pois ele oferece uma infraestrutura bsica para anlise de testes e hipteses. Alm disso, o Jogo da Vida uma boa ferramenta com a qual alguns conceitos podem ser estudados como, por exemplo, a complexidade de sistemas (Reed College Artificial Life Project, 2005).

37

3.2 Langton
Christopher G. Langton foi graduado em Antropologia e Filosofia pela Universidade do Arizona e recebeu seu PhD em Cincia da Computao pela Universidade de Michigan, com o tema Computao no Limite do Caos. editor responsvel pelo Artificial Life Journal, publicado pela MIT Press. Langton organizou o primeiro simpsio de Vida Artificial em Los Alamos em 1988, e tem sido o principal organizador de muitos dos simpsios posteriores em Vida Artificial. Sua pesquisa envolve arquiteturas computacionais para estudos em Vida Artificial, medidas formais de complexidade, sistemas dinmicos distribudos, automata celulares, morfologia da evoluo e as origens da vida. Langton autor de vrios livros sobre o tema Vida Artificial, dentre eles Artificial Life: An Overview apud (Langton, 1995) que sintetiza a histria da pesquisa realizada em Vida Artificial at recentemente (Neves, 2003). Na tentativa de propor uma verso menos complexa do autmato autoreprodutor de Neumann, Langton optou por desinteressar-se pela construo de um computador para fins genricos, focando preferencialmente suas atenes na construo de uma configurao mais simples que pudesse reproduzir-se pelos mesmos meios que os seres vivos (Guilhoto e Rosa, 2005). O autmato de Langton lembra a letra q. Sua estrutura era similar a um quadrado com uma cauda curta, que foi batizada de Argolas (veja Figura 3.12). Estas eram compostas por trs camadas: o isolador externo, interno e o ncleo. A camada exterior era constituda por uma cadeia de clulas com uma representao de estado igual a 2. O ncleo era constitudo por clulas que transportava a informao necessria para a reproduo. Em cada gerao, as clulas da parte interna obedeciam a regras que afetavam o estado das clulas vizinhas e propagavam os sinais, de forma efetiva, por meio do fluxo gentico do ncleo. Estes sinais eram propagados em sentido anti-horrio e, toda vez que era lido um estado representado numericamente por 7 no final da cauda, a mesma era aumentada por uma unidade; por sua vez, um estado 4 lido no final da cauda gerava um canto na mesma e os estados 0 e 1 no alteravam o fentipo (Barone et al., 2003).

38

Figura 3.12: Autmato Reprodutor de Langton

Langton observou uma estrutura emergente. Ou seja, quando o ciclo da argola comeava, as argolas novas e as suas progenitoras formavam uma espcie de colnia. Aps a primeira argola fornecer uma descendente, tanto o ancestral como o descendente iniciavam uma outra reproduo. A ancestral iniciava uma outra forma descendente para o norte, e a primeira descendente para leste. Mas, medida que novas argolas eram criadas, algumas das mais velhas, completamente rodeada de descendentes, se tornavam incapazes de reproduzir mais herdeiros. A partir destas caractersticas, Langton provou que automata podem reproduzir padres auto-reprodutivos gerados espontaneamente de regras simples, sem serem construtores universais.

39

4 Sociedade Artificial Fight4Life


Neste captulo tem-se a apresentao da sociedade artificial Fight4Life, que objetiva ser uma bancada de testes para a a elaborao e anlise de mecanismos presentes no fenmeno da luta pela sobrevivncia. Esta sociedade utiliza a teoria de AC em sua construo, tendo presente caractersticas tais como: Presena de comportamentos complexos, gerados a partir de regras simples Comportamentos coletivos gerados a partir do conceito de vizinhana

Neste captulo ser descrito detalhadamente o prottipo desenvolvido, explicando a sua funcionalidade e demais caractersticas. A Seo 4.2 aborda a modelagem do autmato utilizando conceitos de Vida Artificial e descreve a sua estrutura geral, citando as regras de transio, seus estados, e o tipo de clulas que compem a grade. Na Seo 4.3 so realizados testes estratgicos que simulam cenrios caracterizados pela distribuio inicial de energia entre os dois tipos de elementos da grade. So analisados e discutidos os resultados obtidos.

4.1 Simulador de Automata Celular


O prottipo da sociedade artificial Fight4Life foi desenvolvido no simulador deAC desenvolvido pelo Departamento de Cincia da Computao da Universidade da Virginia (Extreme Life, 2003). Este simulador est codificado na linguagem de programao Java, sendo de cdigo aberto. Desta forma, foi possvel a adaptao do prottipo Fight4Life de acordo com as necessidades da modelagem a ser desenvolvida. Este simulador contm mdulos que fornecem uma interface grfica, a qual permite a visualizao da grade celular como um todo (Figura 4.1a) e as mudanas de estados subseqentes da aplicao de regras. Cores distintas so utilizadas para diferenciar clulas de acordo com o seu estado a cada interao (Figura 4.1b). Alm da interface grfica h ainda a listagem em linha de comando das operaes realizadas em cada interao (Figura 4.1c), o que permite visualizar as perdas e ganhos de energia de cada clula da grade, os ataques e restabelecimentos sofridos, entre outras informaes

40

resultantes das interaes.

(a)

(b)

(c)
Figura 4.1: Telas de interface geradas pelo ProtVirus, sendo a da esquerda a grade como um todo (a) e a da direita a representao das clulas coloridas de acordo com o seu estado (b). Um exemplo de listagem de informaes gerada a cada interao (c)

41

A tela de visualizao do prottipo oferece trs opes de interao do usurio com o sistema: Boto Iniciar: Deve ser pressionado para comandar o incio das Uma vez pressionado, as interaes so visualizadas

interaes.

consecutivamente com as devidas transies de estados. Boto Passo: D incio s interaes, porm passo a passo, ou seja, a

cada interao que se deseja visualizar, o boto deve ser pressionado; Boto Parar: Finaliza as interaes no momento em que

pressionado, independente do nmero de interaes que j ocorreram. pressionada para parar o ciclo iniciado pela presso do Boto Iniciar. importante explicar que pode ocorrer uma situao na qual o sistema pode estar visualmente parado sem que o Boto Parar tivesse sido pressionado. Isto ocorre quando se chega a um ponto em que o sistema se torna relativamente estvel e as transies de estado no so suficientemente significativas para gerar uma mudana na visualizao; Boto Limpar: Limpa a configurao atual da grade e restabelece a

configurao inicial do sistema.

4.2 Modelando a Sociedade Artificial Fight4Life


Como visto no Captulo 3, a rea de Vida Artificial objetiva simular em ambientes computacionais os princpios da estrutura de organismos vivos. Alm disto, esta rea procura ir alm da a vida como ela para um possvel cenrio onde se consiga obter a vida como ela pode ser. Neste sentido os modelos desenvolvidos podem ser abstratos a ponto de no representarem ambientes e/ou organismos previamente conhecidos. De acordo com (Marietto et al., 2004), a simulao de modelos em tal nvel de abstrao visa testar teorias e/ou hipteses, sem um comprometimento com uma validao emprica. A validao aqui dar-se-ia em um nvel conceitual do modelo proposto. Tais simulaes, neste nvel de abstrao, recebem o nome de sociedades artificiais.

42

Dentro deste contexto, nesta seo tem-se a apresentao de uma sociedade artificial denominada Fight4Life. A proposta simular, ainda que de forma rudimentar, mecanismos utilizados na luta pela vida. Trata-se da simulao do comportamento da reao de um organismo biolgico ao ataque de outros organismos. Esta sociedade artificial composta por um organismo vivo denominado ProtCell, formado por uma parte externa e uma parte central. A Figura 4.2 ilustra tal organismo.
Parte Externa Parte Central

Figura 4.2: Estrutura do Organismo ProtCell

A parte central contm os componentes principais deste organismo, e por isto dever ser protegida por sua parte externa. Na sociedade artificial Fight4Life haver apenas um organismo ProtCell. O outro organismo que compe a sociedade denominado ProtVirus, que tem por objetivo atacar o organismo ProtCell. Na sociedade Fight4Life havero doze (12) organismos deste tipo. Ambos organismos so alocados em uma grade bidimensional 4x4, sendo que nas bordas esto alocados os ProtVirus, e no ncleo da grade est alocado o ProtCell Veja a Figura 4.3, que representa os organismos ProtCell com a letra C e os ProtVirus com V. A quantidade de organismos do tipo ProtCell e ProtVirus baseou-se nesta disposio bidimensional, visando simular um ataque concentrado das bordas em direo ao ncleo.

V V V V

V C C V

V C C V

V V V V

Figura 4.3: Representao dos Organismos ProtCell e ProtVirus na Grade do Autmato Celular

43

Os mecanismos de interao entre os organismos na sociedade Fight4Life obedecem aos princpios de AC, no sentido de que h uma estreita interao entre organismos vizinhos: o atual estado de um organismo deve poder afetar o estado de seus vizinhos, e vice-versa. Assim, nas prximas sees tem-se a explicao do modelo da sociedade artificial proposta, utilizando o ferramental terico-tcnico da rea de AC.

4.2.1 Clulas
O autmato onde est representado a sociedade Fight4Life composto por clulas quadrangulares. Adotou-se essa configurao por esta atender s necessidades da configurao espacial dos organismos da sociedade. Outro fator considerado foi sua simplicidade. Foi utilizada uma notao para cada clula da grade. A Figura 4.4 mostra as clulas com as respectivas notaes.

[0,3] [0,2] [0,1] [0,0]

[1,3] [1,2] [1,1] [1,0]

[2,3] [2,2] [2,1] [2,0]

[3,3] [3,2] [3,1] [3,0]

Figura 4.4: Clulas com as Respectivas Notaes

Considerando o modo de notao [coluna,linha], as clulas das linhas 0 e 3 e as das colunas 0 e 3, que compem a borda da grade, alocam os organismos ProtVirus (em amarelo); e as demais, que compem o centro, representam o organismos ProtCell (em azul). Mais especificamente com relao ao ProtCell, as clulas [1,1] e [1,2] representam sua parte externa, e as clulas [2,1] e [2,2] representam sua parte central.

44

4.2.2 Grade
A grade uma matriz quadrada de tamanho 4 x 4 e agrega dois conjuntos, em um total de dezesseis (16) clulas. A borda da grade totaliza doze (12) clulas e o ncleo composto por quatro (4) clulas (Figura 4.5).

[0,3]

[1,3]

[2,3]

[3,3]

[0,2] [0,1]

[1,2] [1,1]

[2,2] [2,1]

[3,2] [3,1]

[0,0]

[1,0]

[2,0]

[3,0]

Figura 4.5: Grade do sistema Direo da Aplicao das Regras

O autmato onde a sociedade Fight4Life ser executada aplica regras em cada clula, percorrendo a grade de clula em clula. Como a primeira clula a ser analisada, por possuir denotao [0,0], a localizada no canto inferior esquerdo da grade, a varredura pode ser dita realizada da esquerda para a direita, como mostra a Figura 4.5. A utilizao deste parmetro de direo implica em um modelo no qual as clulas das posies [1,1] e [1,2], que representam a parte externa do organismo ProtCell, sero as primeiras a sofrerem tentativa de ataque. Apenas posteriormente as clulas centrais [2,1] e [2,2] sero atacadas. Esta seqncia procura simular um ataque a um organismo vivo que possui um mecanismo de defesa (parte externa do ProtCell) que procura proteger seus componentes vitais (parte central do ProtCell).

45

4.2.3 Vizinhana
A vizinhana do autmato desenvolvido a de Moore. Ela composta por oito (8) clulas: uma esquerda, uma direita, uma acima, uma abaixo e uma em cada extremidade diagonal, como ilustrado na Figura 4.6 (a). Pelo fato da grade utilizada neste trabalho possuir uma dimenso pequena, a maioria das vizinhanas formada por um nmero reduzido de clulas. Por exemplo, as clulas das pontas da grade possuem uma vizinhana formada por somente de trs (3) clulas (Figura 4.6 (b)); as das bordas, exceto as das extremidades, possuem cinco (5) clulas como vizinhas (Figura 4.6 (c)).

V V V V P V V V V
(a)

V V P V
(b)

V V P V V V
(c)

Figura 4.6: Representao das trs formas de vizinhana onde a letra P representa a clula em questo (principal) e a letra V representa as respectivas clulas vizinhas

Como a grade possui clulas referentes borda e ao meio, a vizinhana de uma clula sempre ser composta por clulas de ambos os tipos, ou seja, do tipo borda e do tipo meio.

4.2.4 Estados
No contexto da vida biolgica, grande parte dos fenmenos envolve trocas de energia entre os meios envolvidos, podendo a energia ser originada de diversas fontes tais como temperatura e mecnica. Na modelagem da vida artificial, um conceito semelhante pode ser utilizado a fim de caracterizar de forma mais adequada o comportamento artificial. Na sociedade artificial Fight4Life o conceito de energia utilizado como a

46

principal caracterstica dos organismos modelados, servindo como parmetro para determinar a continuidade (ou no) da vida e a possibilidade de ataque a outros organismos. A quantidade de energia que determinar as transies entre estados, bem como a evoluo global da simulao. Cada clula ter um valor de energia inicial, que alterado de acordo com as interaes ocorridas entre os organismos. Os valores que a energia pode assumir esto restritos ao conjunto dos nmeros Reais entre zero (0) e cem (100). Tais valores foram escolhidos objetivando estabelecer um grau de comparao intuitivo entre a fora dos organismos. Os estados das clulas, do autmato considerado, so definidos de acordo com o seu valor de energia. A Tabela 4.1 descreve a classificao empregada.

Energia E 20 > E 20 E 50 E > 50

Estado Morto No-atacante Atacante

Cor Preto Amarelo Verde

Tabela 4.1: Classificao dos Estados Possveis

Como dito anteriormente, a transio de estado de uma clula determinada pela quantidade de energia dessa clula e ocorre em funo da interao entre ela e a sua vizinhana. No decorrer das mudanas de estado, as clulas podem ganhar ou perder energia, podendo chegar a um valor mnimo de 0 e mximo de 100 (o ganho de energia no ilimitado). O estado morto ocorre quando o organismo possui pouca energia, caracterizando uma situao onde o mesmo no poder atacar outras clulas e nem ser atacado. O estado no atacante ocorre quando o organismo possui uma quantidade de energia suficiente para deix-lo vivo, mas sem estrutura para atacar outros organismos. Por fim, o estado atacante caracteriza-se quando o organismo tem energia para permanecer vivo, bem como para atacar demais organismos que estiverem em sua vizinhana.

47

4.2.5 Regras
Como visto na Seo 3.1, as simulaes e modelos em Vida Artificial no tm compromisso de terem qualquer relacionamento com alguma realidade emprica. Seu objetivo o estudo da vida possvel, mesmo que esta possibilidade no ocorra em ambientes fisicamente conhecidos (Calegari e Nagel, 2003). Na tentativa de modelar sociedades artificiais utilizando a infraestrutura tcnico-terica de AC, faz-se necessrio construir um conjunto de regras determinsticas que expliquem o domnio de fenmenos que se quer representar. As regras criadas para o autmato celular da sociedade Fight4Life visam representar trs mecanismos bsicos presentes na luta pela sobrevivncia. So eles: As perdas e ganhos de energia dos organismos O ataque de um organismo a outro A morte de um organismo

Nas prximas subsees tem-se a apresentao das regras a serem aplicadas nas clulas da sociedade Fight4Life. Todas as regras levam em considerao que cada clula (organismo) possui uma energia limitante inferior e limitante superior. O valor da energia variar no transcorrer das interaes, e seu valor determinar o estado de cada clula. 4.2.5.1 Regra de Ataque Para que a regra de ataque seja disparada necessrio que a clula considerada esteja no estado atacante. Nesta situao, para cada clula atacante (que pode conter um organismo ProtCell ou ProtVirus) os passos a seguir so executados: 1. Para cada clula, utilizando a informao da sua posio na grade, determina-se sua vizinhana; 2. Das clulas vizinhas so consideradas apenas as que no estiverem no estado morto. Vale ressaltar que cada clula vizinha viva j est rotulada como N (Ncleo) ou B (Borda), de acordo com a sua posio; 3. Tendo como base esta classificao em clulas do ncleo e clulas da borda,

48

realizada uma busca por clulas vizinhas inimigas. Ou seja, clulas de tipo diferente ao da analisada. Destas clulas inimigas determina-se a clula com o menor valor de energia, e por isto mais propcia a ser atacada; 4. Esta clula atacada pela clula que est atuando como atacante. O ataque ocorre na medida em que a clula atacada perde 1/5 de sua energia, e a energia da clula atacante acrescentada de 1/5 da energia da clula atacada. 4.2.5.2 Regra de Recuperao da Energia Qualquer clula da grade que possui um nmero de atacantes menor ou igual a dois (2) receber um incremento equivalente a uma porcentagem da sua energia atual. Essa regra existe para tentar garantir que haja uma competitividade constante ao decorrer das interaes. 4.2.5.1 Comportamento da Morte A morte um estado atingido por conseqncia de vrios ataques e perdas de energia sofridas por um mesmo organismo. Uma clula que sofre consecutivos ataques pode perder energia at sua insuficincia (valor de energia inferior a 20), chegando ao ponto de morrer, ou seja, transitando o seu estado de no-atacante para morto. As clulas, uma vez mortas, no participam mais do processo interativo, ou seja, no atacam, no so atacadas e nem ganham ou perdem energia, at o fim das interaes.

4.3 Fight4Life: Simulando a Luta pela Vida


O objetivo da simulao de sociedades artificiais, como o caso da sociedade Fight4Life, verificar a validade de teorias e/ou hipteses relacionadas ao ambiente modelado. Isto feito atravs da definio de cenrios que ilustrem tais teorias e/ou hiptese, com a posterior execuo e anlise dos resultados obtidos. Como visto na Seo 4.2, a sociedade considerada visa simular mecanismos bsicos presentes na luta pela sobrevivncia. Visando validar preliminarmente o modelo conceitual da sociedade Fight4Life, trs cenrios foram construdos. Tais cenrios esto descritos nas prximas subsees.

49

4.3.1 Cenrio 1: Borda Forte Versus Ncleo Estvel


O primeiro cenrio a ser analisado considera a situao onde o organismo ProtCell est em uma posio de no atacante, e com energia igual a cinqenta (50). Esta configurao indica uma situao estvel de tal organismo, pois no est em posio de ataque e possui um nvel de energia intermedirio. Considera-se que em tal situao o organismo ProtCell no se sente ameaado pelos demais organismos ProtVirus. Entretanto, agora ao redor do organismo ProtCell so alocados organismos ProtVirus, que formaro a borda do autmato celular. Esta borda ter uma caracterstica de ataque, pois as clulas dos extremos da grade esto configuradas como atacantes, e com uma energia consideravelmente superior energia das clulas do ncleo. A configurao inicial deste cenrio est ilustrada na Figura 4.7.

60 35 35 60

35 50 50

35 50 50

60 35

35
60

35

35

Figura 4.7: Configurao Inicial do Cenrio 1

O posicionamento das clulas atacantes da borda pode ser considerado privilegiado, pois todas as clulas do centro esto sendo atacadas simultaneamente (veja Figura 4.8).

50

Figura 4.8: Seqncia de ataques das clulas da borda

A hiptese a ser testada neste cenrio que a configurao inicial da borda aqui proposta pode ser considerada forte, no sentido de que os organismos ProtVirus conseguiro matar o organismo ProtCell (em sua situao de estabilidade). O cenrio foi executado e o resultado est apresentado na Figura 4.9.

Figura 4.9: Configurao Final do Resultado da Execuo do Cenrio 1

A configurao da Figura 4.9 foi obtida aps seis (6) passos da simulao. Pode-se observar pela figura que a hiptese foi comprovada, pois as clulas do ncleo

51

esto mortas. Isto significa que o organismo ProtCell foi morto pelas clulas da borda, os ProtVirus. A morte de uma das clulas da borda na posio [3,1] foi ocasionada em funo da ordem da aplicao das regras, conforme visto na Seo 4.2.2, pois a antecipao no ganho de energia na clula [2,1] propiciou sua mudana para atacante por um determinado perodo. Com relao s clulas do ncleo, estas no tiveram tempo hbil para uma provvel recuperao de energia. Uma vez tendo-se determinado que a configurao da Figura 4.7 de uma borda forte (pelo menos contra um ncleo estvel), uma primeira variao do Cenrio 1 foi construda. Tal variao, ilustrada na Figura 4.10, visa verificar se possvel diminuir a energia da atual configurao da borda, e mesmo assim os organismos ProtVirus conseguirem matar o organismo ProtCell. Caso isto se comprove na execuo deste subcenrio, ento ter-se- constatado a possibilidade de se definir um valor mnimo de energia para as clulas da borda, de tal forma que estas ainda consigam matar as clulas do ncleo.

60 25 25 60

25 50 50

25 50

60 25

50 25

25
60

25

Figura 4.10: Configurao de Variao do Cenrio 1

Esta primeira variao do Cenrio 1 foi executada, e o resultado est apresentado na Figura 4.11.

52

Figura 4.11: Configurao Final do Resultado da Execuo da Variao do Cenrio 1

A configurao da Figura 4.11 foi obtida aps quinze (15) passos da simulao. Pode-se observar pela figura que a hiptese foi comprovada, pois as clulas do ncleo esto mortas. Isto significa que possvel se buscar uma configurao tima para borda de tal forma que, com menos energia alocada s suas clulas, ainda assim seja possvel que o organismo ProtCell seja morto. Este resultado, comparado ao anterior (Figura 4.9), apresentou um nmero maior de interaes justificado pela maior resistncia por parte do ncleo em funo do dficit de energia apresentado na borda.

4.3.2 Cenrio 2: Borda Forte Versus Ncleo Forte


O segundo cenrio a ser analisado considera a situao onde o organismo ProtCell est em uma posio de atacante, e com energia igual a setenta (70). Esta configurao aponta uma situao forte de tal organismo, pois est em posio de ataque e possui um nvel de energia avanado. Considera-se que em tal situao o organismo ProtCell se sente ameaado pelos demais organismos ProtVirus, e por isto procura se defender. Entretanto, agora ao redor do organismo ProtCell so alocados organismos ProtVirus, que formaro a borda do autmato celular. Esta borda tambm ter uma caracterstica de ataque, pois as clulas dos extremos da grade esto configuradas como atacantes, mas com uma energia consideravelmente um pouco inferior energia das clulas do ncleo. A configurao inicial deste cenrio est ilustrada na Figura 4.12.

53

60 35 35 60

35 70 70

35 70

60 35

70 35

35
60

35

Figura 4.12: Configurao Inicial do Cenrio 2

Esta configurao da borda foi considerada no Cenrio 1 como forte. Entretanto, isto ocorreu no contexto de um ncleo estvel. Agora, no Cenrio 2 o ncleo pode ser considerado forte pois o valor da energia elevado nas quatro clulas. Levando em considerao tais observaes, duas hipteses podem ser estabelecidas. A primeira delas considera que a borda e o ncleo caracterizam-se como fortes, e por isto resultado da simulao ser um empate. A segunda hiptese trabalha com a possibilidade da borda ser fraca, para a configurao deste cenrio. O cenrio foi executado e o resultado est apresentado na Figura 4.13

Figura 4.13: Configurao Final de Resultado da Execuo do Cenrio 2

A configurao da Figura 4.13 foi obtida aps oitenta e sete (87) passos da

54

simulao. Pode-se observar pela figura que a segunda hiptese foi comprovada, pois as bordas do ncleo conseguiram matar 66,66% das clulas da borda. Por sua vez, as clulas da borda mataram 50% das clulas do ncleo. Isto significa que o organismos ProtCell apresentou maior competitividade em relao ao ProtVirus. Neste cenrio percebe-se que houve um aumento considervel no nmero de interaes em que, embora grande parte da borda estivesse em condio de ataque, no foi possvel desconjuntar integralmente o organismo ProtCell. Uma vez tendo-se determinado que a configurao da Figura 4.12 de uma borda fraca e ncleo forte, uma primeira variao do Cenrio 2 foi construda. Tal variao, ilustrada na Figura 4.14, visa verificar se possvel diminuir a energia da atual configurao do ncleo, e mesmo assim haver uma vitria do mesmo. Caso isto se comprove na execuo deste subcenrio, ento ter-se- constatado a possibilidade de se definir um valor mnimo de energia para as clulas do ncleo.

60 35 35 60

35 20 20

35 70 70

60 35

35
60

35

35

Figura 4.14: Configurao de Variao do Cenrio 2

Esta primeira variao do Cenrio 2 foi executada, e o resultado est apresentado na Figura 4.15.

55

Figura 4.15: Configurao Final do Resultado da Execuo do Cenrio 2

A configurao da Figura 4.15 foi obtida aps cento e dezesseis (116) passos da simulao. Pode-se observar pela Figura 4.15 que a hiptese foi comprovada, pois de novo o ncleo venceu a borda. Isto significa que possvel diminuir os valores configurados no ncleo de tal forma que, com menos energia alocada s suas clulas, seja demonstrado sua prevalncia. Este resultado, comparado ao anterior (Figura 4.13), apresentou um nmero ainda maior de interaes justificado pela maior resistncia por parte do ncleo em funo do dficit de energia apresentado na borda.

4.3.3 Cenrio 3: Borda Fraca Versus Ncleo Estvel


O ltimo cenrio a ser analisado considera a situao onde o organismo ProtCell est em uma posio de no atacante, e com energia igual a cinqenta (50). Esta configurao indica uma situao estvel de tal organismo, pois no est em posio de ataque e possui um nvel de energia intermedirio. Considera-se que em tal situao o organismo ProtCell no se sente ameaado pelos demais organismos ProtVirus. Ao redor dos organismos ProtCell, determinou-se que os organismos ProtVirus tero a mesma caracterstica no atacante. Entretanto, seu nvel de energia ser menor que o nvel do ncleo. A configurao inicial deste cenrio est ilustrada na Figura 4.16.

56

35 30 30 35

30 50 50 30

30 50 50 30

35 30 30 35

Figura 4.16: Configurao Inicial do Cenrio 3

A hiptese a ser testada neste cenrio que, a partir de uma configurao inicial de ncleo estvel e borda fraca, ter-se- a vitria do ncleo. O cenrio foi executado e o resultado est apresentado na Figura 4.17

Figura 4.17: Configurao Final de Resultado da Execuo do Cenrio 3

A configurao da Figura 4.17 foi obtida aps cinqenta e nove (59) passos da simulao. Pode-se observar pela figura que a hiptese foi comprovada (o ncleo venceu), porm o nmero de interaes diminui consideravelmente. Isto comprovou que o organismos ProtCell, em menor situaes de presso, apresentam maior potncia de competitividade em relao ao ProtVirus.

57

Para finalizar, uma vez tendo-se determinado que a configurao da Figura 4.16 seja de uma borda fraca e um ncleo estvel, uma primeira variao do Cenrio 3 foi construda. Tal variao, ilustrada na Figura 4.18, visa verificar se possvel diminuir a energia do ncleo, e mesmo assim haver um combate rpido. Esta primeira variao do Cenrio 3 foi executada, e o mesmo resultado foi alcanado e pode ser visto na Figura 4.17.

35 30 30 35

30 45 45 30

30 45 45 30

35 30 30 35

Figura 4.18: Configurao de Variao Final do Cenrio 3

58

5. Concluso
O desenvolvimento deste trabalho de Iniciao Cientfica permitiu a aprendizagem de novos conceitos como a teoria de Autmato Celular e Vida Artificial, partindo do histrico e aplicaes iniciais na rea. Aps ter adquirido uma maior noo da empregabilidade destes conceitos, surgiu a idia de se implementar um prottipo utilizando os conceitos aprendidos. Props-se simular, ainda que de forma rudimentar, mecanismos utilizados na luta pela vida. O estudo desta proposta mostrou que regras simples utilizados em AC poderiam permitir facilmente a simulao do comportamento de organismos artificiais baseandose superficialmente em caractersticas da vida real. No entanto, durante a escolha de como seria a forma de implementao, atravs de conhecimentos pr-adquiridos em linguagem de programao, optou-se pelo mtodo de programao orientado a objetos, pela facilidade de adaptao que este tipo de programao ofereceria modelagem do problema. A implementao da sociedade artificial Fight4Life trouxe alguns resultados que, embora tenham sido interessantes, partiram somente de teorias e/ou hipteses relacionadas ao ambiente modelado. A validao dos resultados obtidos foi realizada atravs da definio de cenrios que ilustrassem tais teorias e/ou hiptese. A concepo de que um organismo biolgico necessita de alguma fonte de energia para a sua sobrevivncia foi a base da qual se partiu toda a simulao. E com a manipulao dessa energia, gerando regras de trocas (ganhos e perdas), o sistema apresentou a competitividade entre organismos artificiais.

5.1 Propostas para trabalhos futuros


Uma proposta sugerida para a continuidade deste trabalho seria levantar informaes reais de como se comportam organismos vivos. Com isso, acredita-se que em uma viso macro de energia para a continuidade da vida possa ser fracionada fazendo transparecer as verdadeiras variveis e complexidade do funcionamento da vida.

59

Referncias Bibliogrficas
[1] AGUIAR, M., S; DIMURO, G., P.; COSTA, F., A. Modelos Matemticos Baseados em Autmatos Celulares para Geoprocessamento, So Carlos-Sp, Brasil 2004. Disponvel em: < http://www.sbmac.org.br/index.php?notas/index.php>. Acesso em: 25 mai. 2005. [2] AGUIAR, M.S.; COSTA; A.C.R. Automatas Celulares para Anlise da Monotonicidade da Declividade de reas Geolgicas. Disponvel em: <http://www.geoinfo.info/geoinfo2001/papers/146marilton.pdf>. Acesso em: 03 jun.2005. [3] BARONE, D. A. C., SIMOES, E. V., FERRUGEM, A.,BAZZAN, A. L., YEPES, I., FRANZEN, E., SILVEIRA, S. R. Sociedades Artificiais - A Nova Fronteira da Inteligncia Das Maquinas. Porto Alegre RS: Bookman., 2003. [4] BECCENERI, J. C.; ROSA, R. R.; MARCHI, M. M.; RAMOS, F. M.; VIJAYKUMAR, N., Padres de Competio e Sinergia em Colnias Heterogneas de Agentes Artificiais Cooperativos. INPE, 2003. [5] CALEGARI, G. V. Jr., NAGEL, M., T., Vida Artificial, 2003. Disponvel em: <http://www.inf.ufsc.br/~barreto/ trabaluno/TCG_Geraldo_MariaTereza.pdf>. Acesso em: 23 mai. 2005. [6] CONWAYS GAME of Life, Math.com - The World of Math Online. Disponvel em: <http://www.math.com/students/wonders/life/life.html>. Acesso em: 12 jun. 2005. [7] DEWDNEY, A., K. A Cellular Universe of Debris, Droplets, Defects and Demons, Scientific American, August 1989, 261:2, 102-105. [8] DEWDNEY, A., K., The Cellular Automata Programs That Create Wireworld, Rugworld and Other Diversions, Scientific American, January 1990, 262:1, 146-149. [9] EMMECHE, Claus. The Garden in the Machine: the Emerging Science of Artificial Life (Princeton University Press, 1994). Another excellent overview of artificial life, with sections on the Game of Life [10] GARDNER, M. The Fantastic Combinations of John Conway's New Solitaire Game of "Life", Scientific American, April 1970, 223:4, 120-123. [11] GUILHOTO, P. J. S., ROSA, S. P. C. S, Simulao Avanada Vida Artificial. Disponvel em: <http://student.dei.uc.pt/~guilhoto/downloads/vida_artificial.pdf>. Acesso em: 03 jun. 2005 [12] GOLDSTINE, H. H., The Computer - from Pascal to Von Neumann. Philadelphia: Princeton, 1993. p. 271-285.

60

[13] JUAN LI. Communications Laboratory, HUT. Disponvel em: <http://www.control.hut.fi/hyotyniemi/ publications/04_report145/Chapter7.pdf >. Acesso em: 03 jun. 2005 [14] LANGTON, G. C., Artificial Life: An Overview (Complex Adaptive Systems) MIT Press; Reprint edition (January, 1997) ISBN: 0-262-62112-6 [15] LEITE, I., O. B.; LINS, J., C., S., CERQUEIRA, M., G., C., .Autmatos Celulares. Disponvel em: <http://www.di.ufpe.br/~iobl/monografia/index.html.>. Acesso em: 20 abr. 2005. [16] NERO, H. S. D., Computao Topolgica e Controle Voluntrio em Arquiteturas Naturais e Artificiais, 1997. Disponvel em: <http://www.lsi.usp.br/%7Ehdelnero/DOUTOR1.html.>. Acesso em: 03 mai. 2005 [17] MARIETTO, M.; DAVID, N.; SICHMAN, J. S.; COELHO, H. A Classification of Paradigmatic Models Agent-Based Social Simulation. Fourth International Workshop on Multi-Agent Systems and Agent-Based Simulation (MABS03). Lecture Notes in Artificial Intelligence, 2002. [18] MIRANDA, E. R., On the Music of Emergent Behaviour What can Evolutionary Computation bring to the Musician? Disponvel em: <http://www.csl.sony.fr/downloads/papers/2000/miranda-gecco2000.pdf>. Acesso em: 25 mai. 2005. [19] NEUMANN, J. Von. In: BURKS A.W. (Ed.). Theory of Self-Reproducing automata. Urbana: University of Illinois Press, 1966. [20] NEVES, R., P., O.. Vida Artificial em ambientes virtuais: UMA PLATAFORMA EXPERIMENTAL EM REALIDADE VIRTUAL PARA ESTUDOS DOS SERES VIVOS E DA DINMICA DA VIDA, Escola Politcnica da Universidade de So Paulo, 2003. [21] PFEIFER, R, KUNZ, H., WEBER, M., M. Artificial Life, 2002. Disponvel em: <http://www.ifi.unizh.ch/ailab/teaching/AL00/>. Acesso em: 25 mai. 2005. [22] PEDROSA, B., M. Ambiente Computacional para Modelagem Dinmica Espacial, INPE 2003. [23] REED COLLEGE ARTIFICIAL LIFE PROJECT, The Game of Life, Reed College, Oregon, USA, 2005. Disponvel em: <http://www.reed.edu/alife/classes/gameoflife.html>. Acesso em: 12 jun. 2005. [24] RONALDO, J. Jr., CORDENONSI, A. Z., Estudo de Modelos e Sistemas de Vida Artificial. Disponvel em: <http://www.inf.unifra.br/tfg2002.sis_info/tfg.2002.33.pdf>. Acesso em: 11 jun. 2005. [25] SIPPER, M. The emergence of cellular computing. Computer, (July 1999):1826.

61

[26] SCHATTEN, Alexander. Cellular Automata Tutorial. Disponvel em: <http://www.schatten.info/info/ca/ca.html>. Acesso em: 25 mai. 2005. [27] SHANNON, C., E; Von Neumann's contributions to automata theory, Bull. Amer. Math. Soc. 64 (1958), 123-129. Disponvel em: <http://www-groups.dcs.standrews.ac.uk/~history/Mathematicians/Von_Neumann.html>. Acesso em: 25 mai. 2005. [28] TOFFOLI T.; MARGOLUS, N. Cellular Automata Machines: A New Environment for Modeling, The MIT Press, Cambridge, Massachussetts, 1987. [29] EXTREME LIFE, University of Virginia, Department of Computer Science CS201J: Engineering Software, Fall 2003. Disponvel em: <http://www.cs.virginia.edu/cs201j/problem-sets/ps1/>. Acesso em: 4 abr. 2005. [30] VASCONCELOS. M.H.S. Computao Evolutiva e Autmatos Celulares. Universidade Catlica de Pelotas, 2005. [31] WEIMAR, J. Simulation with Cellular Automata.Technical Iniversity Braunschweig/Institute for Scientific Computation, June 1996. Disponvel em: <http://www.tu-bs.de/institute/Wir/weimar/ZAscript/ ZAscript.html>. Acesso em: 03 jun 2005. [32] WOLFRAM, Stephen, Cellular Automata. Disponvel em: <http://www.stephenwolfram.com/publications/articles/general/83-cellular/>. Acesso em: 15 mai. 2005. [33] WOLFRAM, S., Universality and Complexity in Cellular Automata, Physica 10D, 1-35, 1984. [34] WOLFRAM, S., Cellular automata as models of complexity. Nature, 1984.

You might also like