• Nenhum resultado encontrado

EVOLUÇÃO DE AUTÔMATOS CELULARES PARA RESOLUÇÃO DA TAREFA DE SINCRONIZAÇÃO UNIDIMENSIONAL E BIDIMENSIONAL

N/A
N/A
Protected

Academic year: 2021

Share "EVOLUÇÃO DE AUTÔMATOS CELULARES PARA RESOLUÇÃO DA TAREFA DE SINCRONIZAÇÃO UNIDIMENSIONAL E BIDIMENSIONAL"

Copied!
10
0
0

Texto

(1)

CONVÊNIOS CNPq/UFU & FAPEMIG/UFU

Universidade Federal de Uberlândia Pró-Reitoria de Pesquisa e Pós-Graduação

DIRETORIA DE PESQUISA COMISSÃO INSTITUCIONAL DE INICIAÇÃO CIENTÍFICA 2008 – UFU 30 anos

EVOLUÇÃO DE AUTÔMATOS CELULARES PARA RESOLUÇÃO DA

TAREFA DE SINCRONIZAÇÃO UNIDIMENSIONAL E BIDIMENSIONAL

Laura Barbosa de Carvalho¹

Faculdade de Ciência da Computação – Av. João Naves de Ávila, Bloco B, UFU. Uberlândia – MG - Brasil laurabcarvalho7@hotmail.com

Alexsandro Souza Mariano¹

Faculdade de Engenharia Elétrica – Av. João Naves de Ávila, Bloco 3E, UFU. Uberlândia – MG - Brasil eng.alexsandro@gmail.com

Gina Maira Barbosa de Oliveira²

Faculdade de Ciência da Computação – Av. João Naves de Ávila, Bloco B, UFU. Uberlândia – MG - Brasil gina@facom.ufu.br

Resumo: Um aspecto bastante estudado dos autômatos celulares (ACs) é relacionado ao fato de como eles realizam computações. Os ACs computam através de processamentos locais e intrinsecamente paralelos que interagem entre si, revelando um comportamento global e coordenado. Uma abordagem recente no estudo desta computabilidade é a aplicação de métodos da computação evolutiva com o intuito de buscar autômatos celulares que executem tarefas computacionais específicas. Dentre as tarefas mais estudadas nesse contexto podemos citar a tarefa de classificação da densidade e a tarefa de sincronização. Nesse artigo apresentamos alguns resultados relacionados à evolução de regras para a tarefa de sincronização, tanto em sua versão unidimensional, quanto na bidimensional.

Palavras-chave: Autômatos Celulares, Tarefa de Sincronização, Algoritmo Genético.

1. INTRODUÇÃO

Autômatos celulares (ACs) são sistemas distribuídos espacialmente, consistindo de um grande número de componentes simples idênticos, com conectividade local. Eles são de implementação extremamente simples e nos permitem a manipulação direta de seus parâmetros para o estudo de sua dinâmica. Assim, os ACs tornaram-se importantes ferramentas para o estudo e modelagem de sistemas complexos reais nas mais diversas áreas (Wolfram 1983a, Wolfram 1988, Li 1989).

Um AC é caracterizado por seu espaço celular e por sua regra de transição. O espaço celular é um reticulado de N células idênticas dispostas em um arranjo d-dimensional, cada uma com um padrão idêntico de conexões locais para outras células, e com condições de contorno.

A regra de transição fornece o próximo estado para cada célula, como uma função da configuração da sua vizinhança atual. A cada passo de tempo, todas as células do reticulado atualizam seus estados de acordo com esta regra. Além de possuírem o potencial de modelar o comportamento de sistemas complexos na natureza, eles também são capazes de executar computações complexas com um alto grau de eficiência e robustez (Oliveira, 2003).

Por se tratarem de estruturas legitimamente paralelas, cuja composição básica é uma lógica muito simples, os ACs também vêm sendo cogitados como um opção para arquitetura descentralizadas de computadores. O principal obstáculo para tal opção é o simples fato de o entendimento de como os ACs realizam computações ainda ser vago.

(2)

Uma das abordagens mais bem sucedidas é o uso de algoritmos genéticos (AGs) para encontrar regras de ACs capazes de executar uma tarefa computacional específica (Das et al., 1995; Mitchell et al., 1993, Oliveira et al., 2000).

2. AUTÔMATOS CELULARES

Um AC consiste basicamente em dois componentes: espaço celular e regra de transição. O espaço celular é um reticulado de N células idênticas dispostas em um arranjo d-dimensional, cada uma com um padrão idêntico de conexões locais para outras células, e com condições de contorno (Oliveira, 2003). Cada célula do reticulado assume um estado a cada passo de tempo, dentre um conjunto finito de estados possíveis.

A regra de transição faz um mapeamento entre células vizinhas para determinar o novo estado da célula central da vizinhança. Um passo de tempo corresponde à aplicação da regra de transição em todas as células do reticulado. Normalmente, o reticulado do AC é submetido à regra de transição por vários passos de tempo, ou seja, o reticulado sofre uma evolução temporal.

Faremos uso da notação adotada em (Mitchell et al., 1993). O conjunto de estados possíveis em cada célula é denotado por Σ e o número de elementos deste conjunto é denotado por k. Cada

célula é denotada por um índice i e seu estado a um dado tempo t é denotado por

s

ti , onde

s

ti∈Σ .

O estado

s

it da célula i, junto com os estados das células às quais a célula i está conectada, é

chamado vizinhança

η

it da célula i. A regra de transição é denotada por

Φ

( )

η

i que fornece o

próximo estado

s

it +1 para cada célula i, como uma função de i

t

η

. A cada passo de tempo, todas as

células atualizam seus estados sincronamente, de acordo com

Φ

( )

η

i .

A atualização de uma célula no reticulado depende da vizinhança da célula em questão, sendo que o tamanho da vizinhança é normalmente definido em função do raio de alcance da vizinhança e é dado por 2 × raio + 1. A Figura 1 apresenta um AC unidimensional de raio 1, com um reticulado formado por 10 células (N = 10). A vizinhança ηi de cada célula i consiste nela mesma e nos dois vizinhos mais próximos: células i-1 e i+1. As condições de contorno são periódicas, ou seja, a célula mais à esquerda do reticulado (célula 1) é considerada vizinha da direita da célula mais à direita (célula 10), e vice-versa.

Os estados das células no reticulado no tempo inicial (t = 0) são apresentados na Figura 1. No caso de ACs de estados binários, a regra de transição é fornecida por uma tabela, a qual lista, para cada vizinhança possível, o bit de saída, que corresponde ao valor da atualização do estado da célula central da vizinhança. A Figura 1 apresenta a regra de transição do AC formada pelas oito vizinhanças possíveis e seus bits de atualização. Por exemplo, o valor de atualização em t = 1 da terceira célula do reticulado é 0, uma vez que a vizinhança desta célula em t = 0 é 001 e esta configuração da vizinhança estabelece a transição 001→ 0.

(3)

A Figura 2 mostra a atualização do reticulado apresentado na Figura 1, após a aplicação da regra de transição por 4 passos de tempo. A dinâmica exibida pela evolução temporal de um AC é caracterizada pela regra de transição de estados. Os ACs exibem comportamentos dinâmicos típicos que podem ser agrupados em classes, todavia, a previsão desta dinâmica é uma tarefa indecidível.

Figura 1 - Evolução temporal do AC da Figura 1.

Diversas classificações dinâmicas dos autômatos celulares foram propostas na literatura. Li e Packard (1990) propuseram um esquema de classificação dividindo o espaço de regras em 6 classes:

(i) nulas - a configuração limite é formada tão somente por 0s ou por 1s;

(ii) ponto-fixo - a configuração limite é invariante ao reaplicarmos a regra do AC,

excluindo-se as configurações nulas;

(iii) ciclo duplo - a configuração limite é invariante ao reaplicarmos a regra do AC duas

vezes;

(iv) periódicas - a configuração limite é invariante à aplicação da regra L vezes, com o

tamanho do ciclo L independente do tamanho do sistema;

(v) complexas - embora a dinâmica limite possa ser periódica, o intervalo de transição pode

ser extremamente longo e tipicamente este intervalo cresce mais que linearmente com o tamanho do sistema;

(vi) caóticas - produzem dinâmicas não periódicas caracterizadas pela divergência

exponencial do comprimento do seu ciclo com o tamanho do sistema e pela instabilidade com respeito a perturbações.

Mesmo sabendo que a dinâmica de um AC está associada à sua regra de transição, sabe-se que não é possível prever o comportamento dinâmico genérico de um AC a partir da sua regra de transição, pois o problema é não computável (Culik II et al.,1990). Vários pesquisadores têm procurado estudar a dinâmica dos ACs através de indicadores na tentativa de aproximarem as previsões do seu comportamento dinâmico. Estes parâmetros são calculados diretamente da regra de transição. A alta cardinalidade do espaço de regras dos ACs torna a sua parametrização uma tarefa árdua e muitos estudos apontam para a necessidade de se utilizar mais de um parâmetro para se ter uma melhor caracterização das dinâmicas (Li e Packard, 1990; Binder, 1994). Em (Oliveira et al., 2001a), vários parâmetros, publicados e novos, foram analisados e separados em um conjunto de cinco. São eles: Z, sensitividade, domínio da vizinhança, atividade absoluta e propagação da atividade. Apresentamos uma breve explanação dos dois parâmetros deste conjunto que foram utilizados nos nossos experimentos:

Sensitividade: responsável por contabilizar o percentual de configurações semelhantes (idênticas em todos as células da vizinhança, exceto em uma única célula), que são mapeadas para estados diferentes (Binder, 1994).

Domínio da Vizinhança: responsável por quantificar a mudança provocada pela regra de transição do AC, no estado da célula central, com respeito ao estado que predomina na vizinhança como um todo. O valor do parâmetro é dado por uma soma ponderada das transições das regras de AC nas quais o domínio da vizinhança ocorre (Oliveira et al., 2001a).

2.1 Tarefa de sincronização

Um tema atual no estudo dos ACs é a investigação de sua computabilidade. Um exemplo de tarefa computacional é a Tarefa de Sincronização (TS). A meta é encontrar um AC que, dada

(4)

qualquer configuração inicial, após T passos de tempo, haja convergência para uma dinâmica de ciclo duplo que oscilará entre dois reticulados: o primeiro com todas as suas células no estado 0 (configuração homogênea de 0s) e o segundo com todas no estado 1 (configuração homogênea de 1s). T é o tempo mínimo necessário para garantir a de sincronização das células e é um parâmetro da tarefa que depende do tamanho do reticulado N. A Figura 3 apresenta uma evolução de uma regra de transição de raio 3 resolvendo a TS.

Figura 3 - Tarefa de sincronização. Regra: FEB1C6EAB8E0C4DA6484A5AAF410C8A0 Esta tarefa não é trivial para um AC que utiliza um raio pequeno em comparação com a dimensão do reticulado. Apesar de a oscilação síncrona ser uma propriedade global da configuração, um AC de raio pequeno explora apenas interações locais entre as células da vizinhança. Portanto, enquanto a conectividade local das células pode levar diretamente a regiões de sincronismo local, é mais difícil projetar um AC que irá garantir que regiões espacialmente distantes estarão em fase. Uma vez que regiões fora de sincronismo podem estar distribuídas ao longo do reticulado, um AC que obtenha sucesso nesta tarefa deve transmitir as informações conseguidas através de longas distâncias (~N) a fim de remover defeitos de fase separando regiões localmente síncronas, visando como resultado uma configuração com sincronismo global.

Existem várias regras de ACs unidimensionais de raio 3 que resolvem esta tarefa para qualquer reticulado dado como entrada (Das et al. 1995). A Figura 3 apresenta a evolução de uma regra de raio 3 que resolve esta tarefa com 100% de eficácia. Para ACs unidimensionais de raio 2, sabe-se que existem regras com eficácia acima de 90% (Oliveira et al. 2001b) porém o limite superior nesse raio não é conhecido.

3. ALGORITMOS GENÉTICOS

Algoritmos Genéticos (AGs) são técnicas de busca não determinística que fazem parte da área de Computação Evolutiva. Esta área estuda métodos de busca inspirada principalmente na teoria evolutiva de Charles Darwin (Freire e Maia, 1988). Partindo de uma população inicial gerada aleatoriamente, estas são avaliadas de forma a selecionar aquelas que estiverem mais próximas da solução do problema. Baseado nesta avaliação separa-se um conjunto desta população para servir de base para a geração da nova população. É esperado que as novas populações sejam formadas por soluções cada vez melhores dos que aquelas das quais se originaram. Assim ocorre a iteração do processo e ao longo dessas iterações, a população evolui até que se encontrem soluções satisfatórias.

Uma abordagem recente no estudo da computabilidade dos ACs é o emprego de algoritmos genéticos na busca de regras que executem uma tarefa computacional específica. A população do AG é formada por regras de transição de autômatos celulares. A avaliação de cada regra é dada pelo número de sucessos da mesma na solução da tarefa computacional desejada, a partir de uma amostra de reticulados iniciais.

Mesmo utilizando-se o AG, o processo de encontrar regras de transição de ACs capazes de encontrarem soluções para os problemas de forma computacional não é trivial. A busca é realizada

(5)

geralmente em espaços de regras de alta cardinalidade. Este fator torna esta busca computacionalmente complexa e, muitas vezes, improdutiva. As tarefas computacionais mais estudadas no contexto dos ACs são a Tarefa de Classificação da Densidade (TCD) (Oliveira et al., 2000) e a Tarefa de Sincronização (TS) (Oliveira et al, 2001b). Inicialmente, apenas ACs unidimensionais foram utilizados na resolução da TCD. Em trabalhos mais recentes, a versão bidimensional da tarefa de classificação da densidade também foi investigada (Oliveira e Siqueira 2005).

4. EXPERIMENTOS

As análises e os estudos estão sendo conduzidos através da implementação de ambientes computacionais na linguagem C padrão e da realização de experimentos (simulações computacionais) em cada um desses ambientes. Nas etapas iniciais do projeto, foram reproduzidos alguns ambientes computacionais descritos e publicados em (Das et al., 2003), (Mitchell et al., 1993), (Oliveira et al., 2000) e (Oliveira et al., 2001b). Foram desenvolvidos experimentos similares aos dos trabalhos originais, cujos resultados foram comparados aos resultados até então publicados. 4.1 Experimentos iniciais

A elaboração do ambiente evolutivo utilizado em nossos experimentos foi baseada no AG descrito em (Das et al., 2005). A população do AG é formada por regras de ACs unidimensionais com um valor de raio pré-definido, que são representadas diretamente por cadeias binárias. A aptidão de cada indivíduo é dada pela habilidade deste em executar a tarefa especificada e pela adequação de seus parâmetros, segundo faixas desejadas. Na especificação do modelo, foi empregada a técnica conhecida como elitismo (Goldberg, 1989), que mantém as melhores regras de uma geração para a próxima. Os novos indivíduos de cada geração são obtidos através de crossover e mutação. A seleção dos pais para o crossover é feita diretamente da elite, sem considerar a aptidão de cada indivíduo e é utilizado crossover simples (Goldberg, 1989), caracterizado por um único ponto de corte. A mutação é aplicada após o crossover, sobre cada novo indivíduo gerado, sorteando-se um novo valor para o bit a sofrer mutação, a uma taxa de 2% por bit.

O primeiro experimento que buscamos reproduzir foi o descrito em (Das et al., 1993), que também foi reproduzido em (Oliveira, 1999). Foi utilizada a seguinte configuração nesse experimento:

• População inicial: 100 regras geradas com distribuição uniforme

• Amostra de configurações iniciais: 100 reticulados gerados com distribuição uniforme

• Número de gerações: 100

• Avaliação final realizada em 10.000 reticulados

• 300 passos de tempo para a evolução do AC

• Função de avaliação: somatória de sucessos (Fp)

• Taxa de elitismo: 10%

• Taxa de Crossover: 90%

• Taxa de mutação: 0,016% por bit

• Tamanho do reticulado: 149 células

• Número de execuções: 100

Em (Das et al., 1993), é relatado que o sorteio inicial das regras do reticulado foi realizado de forma uniforme e não totalmente aleatório, como é mais usual. Os dois métodos foram implementados e os resultados obtidos para ACs de raio 2 e de raio 3 podem ser comparados na Tabela 1. Como podemos observar o sorteio uniforme apresentou resultados bem melhores que o sorteio totalmente aleatório, o que confirma o que foi relatado em (Das et al., 1993), por isso adotamos o sorteio uniforme nos experimentos subseqüentes.

Chamamos o experimento com regras de raio 2 e sorteio uniforme das regras de “SH”. Nesse experimento o teste final das regras é avaliado sobre 10.000 reticulados diferentes. A Tabela

(6)

apresenta a eficácia das cinco melhores regras obtidas, dentre as cinqüenta execuções. Apenas duas execuções obtiveram regras com eficácia superior a 90% nessa tarefa. Contudo, esse resultado merece uma atenção especial, pois a melhor regra obtida apresentou uma eficácia de 95,3%, índice que é superior à melhor regra publicada nos experimentos em (Oliveira et al., 2001b) o qual apresenta uma eficácia abaixo de 95%. Esse resultado inesperado pode ser atribuído a:

(i) utilizamos um número maior de execuções (nesse caso 50) por experimento do que o utilizado em (Oliveira et al., 2001b);

(ii) na geração final avaliamos não apenas a melhor regra, mas as 10 melhores, aumentando as chances de se encontrar uma boa regra.

Raio2 Raio3

Aleatório Uniforme Aleatório Uniforme X < 30 1 0 13 0 30 < X < 40 1 0 1 0 40 < X < 50 1 0 0 0 50 < X < 60 3 0 1 0 60 < X < 70 1 3 2 1 70 < X < 80 4 5 3 1 80 < X < 90 7 10 0 3 X > 90 2 2 0 15 Tempo de Execução 03:52:141 03:57:071 03:48:081 04:00:361 Melhor Regra 93,45% 94,18% 77,38% 99,98%

Tabela 1 – Sorteio das regras (Uniforme x Aleatório).

SH FX1 FX2 FX3 1ª Regra 95,5% 95,5% 95,9% 96,2% 2ª Regra 90,9% 93,4% 95,7% 95,0% 3ª Regra 88,4% 91,8% 94,3% 94,5% 4ª Regra 87,7% 91,6% 93,5% 91,8% 5ª Regra 87,6% 91,0% 93,2% 87,5%

Tabela 2 - Eficácia das 5 melhores regras obtidas no experimentos sem uso de parâmetros (SH) e com a incorporação da heurística (FX1, FX2 e FX3).

4.2 Experimentos com a heurística dos parâmetros

A heurística baseada nos dois parâmetros citados na seção 2 foi incorporada no AG de forma semelhante ao que foi realizado no experimento descrito em (Oliveira et al., 2000). Primeiramente, a heurística foi traduzida em uma função Fp que retorna um valor entre 0 e 100, dependendo dos valores dos parâmetros de cada regra de transição. Inicialmente, são estabelecidas faixas desejáveis

para o parâmetro sensitividade (Sensmin, Sensmax) e para o parâmetro domínio da vizinhança

(Domimin, Domimax). A função Fp, calculada sobre uma regra de transição qualquer, foi definida de

tal forma que irá retornar 100 se os dois parâmetros da regra analisada estiverem dentro das faixas desejadas, sendo que seu valor decresce à medida que os parâmetros se distanciam destas faixas. Ambos os parâmetros contribuem igualmente no cálculo da função Fp.

O AG utilizado nos experimentos sem a heurística usa como avaliação de uma regra o número de sucessos da mesma ao executar a tarefa especificada em uma amostra de reticulados iniciais. Por exemplo, se for utilizado um conjunto de 100 reticulados iniciais gerados aleatoriamente, a regra é executada a partir de cada reticulado e ao final computa-se o número de sucessos (S).

(7)

Para que fosse feita a incorporação da heurística dos parâmetros, o AG foi modificado em dois pontos básicos:

A função de avaliação: A função de avaliação da regra é dada por uma soma ponderada entre a função de avaliação S (número de sucessos em 100 CIs diferentes) e a função Fp (avaliação dos valores dos parâmetros das regras em relação às faixas desejáveis):

A = S +

ρ

×Fp (1)

Crossover e Mutação: Tanto o sorteio do ponto de corte, quanto dos bits que devem sofrer

mutações, são direcionados e feitas algumas tentativas, dentre as quais, as regras que produzirem maior Fp serão selecionadas.

Realizamos novamente a execução da TS, porém fazendo uso da incorporação da heurística dos parâmetros no AG e efetuamos alguns experimentos utilizando-se as três faixas apresentadas na Tabela 3. Os três experimentos que utilizaram estas faixas como sendo as regiões desejáveis para cada parâmetro, foram nomeados “FX1”, “FX2” e “FX3”.

Sensitividade Domínio da Vizinhança

Sensmin, Sensmax Dommin, Domimax

Faixa1 0,25 0,75 0,00 0,67

Faixa2 0,35 0,49 0,17 0,19

Faixa3 0,40 0,55 0,15 0,25

Tabela 3 - Faixas desejáveis para cada parâmetro.

A incorporação da heurística dos parâmetros permitiu a obtenção de um número superior de regras eficazes (acima de 90%). Podemos notar que em quatro execuções regras com eficácia similar à melhor regra encontrada no experimento sem parâmetros, com eficácia de 95,5%, foram encontradas. Em duas execuções, encontramos regras em um patamar mais alto de eficácia, em torno de 96%. Na verdade, essas regras se resumem a quatro, pois em dois experimentos houve a repetição de uma delas. A Tabela 4 apresenta o código hexadecimal dessas regras, bem como o experimento em que cada regra foi encontrada. A segunda regra encontrada no experimento FX3, com 95% de eficácia, refere-se exatamente à regra EAC38AE8, publicada em (Oliveira et al., 2001b) e também é apresentada na tabela.

Regra Experimento Eficácia em 105

FD9E9042 FX3 96,3%

AAE80AC0 FX2 95,8%

BD9EB000 SH, FX2 95,6%

BD9EB040 FX1 95,5%

EAC38AE8 (Oliveira, 2001), FX3 95,2%

Tabela 4 - Avaliação das melhores regras executadas em 105 reticulados.

A avaliação real da regra em um reticulado de N células é dada pelo número de sucessos

(execução total da tarefa onde esta atinge seu objetivo) dessa regra em 2N reticulados possíveis.

(8)

avaliarmos qualquer regra em 2149 reticulados. Por isso, é comum utilizar-se uma amostra maior na tentativa de alcançarmos uma avaliação mais próxima da avaliação real, quando for feita a comparação de desempenho entre as melhores regras conhecidas para essa tarefa.

A Tabela 4 apresenta a avaliação das regras em uma amostra de 100.000 reticulados com 149 células cada, gerados aleatoriamente. Essa estimativa é, portanto, mais realista do que a estimativa feita ao final de cada execução. Considerando-se os quatro experimentos descritos nesse trabalho com a heurística dos parâmetros, podemos afirmar que foi possível encontrar quatro regras com eficácia superior à melhor regra publicada anteriormente, sendo que três delas encontram-se próximas a um patamar de 95,5% e duas delas mais próximas do patamar de 96% de eficácia. 4.3 Experimentos com autômatos celulares bidimensionais

Enquanto os ACs unidimensionais possuem apenas uma linha de células (formato linear), nos ACs bidimensionais as células são dispostas em forma de grade (formato planar). Existem dois tipos de vizinhança comuns no estudo dos ACs bidimensionais:

Vizinhança de Von Neumann: considera as células imediatamente associadas à célula

central. Para raio 1, a vizinhança é formada pela célula central e mais 4 que estão ao lado (vizinhança com 5 células), representada pela Figura 4 (a).

Vizinhança de Moore: considera as células que rodeiam a célula central, sendo que para raio

1, a vizinhança é formada pela célula central mais 8 que a rodeiam (vizinhança com 9 células), representada pela Figura 4 (b).

Figura 4 – Vizinhanças bidimensionais (a) Von Neumann e (b) Moore.

Como em ACs bidimensionais a vizinhança é formada por um plano, as regras de transição também deverão considerar esse espaço bidimensional.

Em (Oliveira e Siqueira, 2006) foi apresentado um experimento no qual um AG foi utilizado na evolução de regras de ACs bidimensionais que executassem a Tarefa de Classificação da Densidade. Nesse trabalho, investigamos a evolução de regras na resolução da versão bidimensional da Tarefa de Sincronização. Foi utilizada a seguinte configuração nesses experimentos:

• População inicial: 100 regras geradas com distribuição uniforme

• Amostra de configurações iniciais: 100 reticulados gerados com distribuição uniforme

• Número de gerações: 100

• Avaliação final realizada em 10.000 reticulados

• 420 espaços de tempos para evolução do AC

• Função de avaliação: somatória de sucessos (Fp)

• Taxa de elitismo: 10%

• Taxa de Crossover: 90%

• Taxa de mutação: 0,016% por bit

• Tamanho do reticulado: 12x12 (144 células)

• Número de execuções: 100

Inicialmente, os experimentos foram realizados utilizando-se a vizinhança de Moore, composta por 9 células. Em 100% das execuções, foi possível encontrar regras “perfeitas” para a

(9)

TS. Ou seja, as melhores regras evoluídas a cada execução do AG, resolveram corretamente a TS para todos os 10.000 reticulados testados. Esse resultado era até certo ponto esperado pois sabe-se que no caso unidimensional existem várias regras perfeitas para regras de raio 3, que resultam numa vizinhança de 7 células.

Assim, passamos a executar o experimento utilizando a vizinhança bidimensional Von Neumann, que é formada por 5 células. Portanto, o número de células é igual ao da vizinhança unidimensional de raio 2 utilizada nos experimentos das seções 4.1 e 4.2. Foram obtidas regras perfeitas em 19% das execuções. Na maioria das demais execuções, foram obtidas regras “quase perfeitas”, com eficácia acima de 99% na avaliação dos 10.000 reticulados iniciais.

5. CONCLUSÕES

Durante a etapa inicial desse trabalho, não houve dificuldades no estudo e tão pouco na implementação do AG simples apresentado em (Das et al., 1993) e (Mitchell et al., 1993) para a evolução da tarefa computacional unidimensional conhecida por tarefa de sincronização (TS).

Nessa tarefa, a incorporação da heurística dos parâmetros, feita conforme apresentado em (Oliveira et al., 2000), nos trouxe bons resultados. Encontramos várias regras melhores que as publicadas até o presente momento. Para a TS em ACs de raio 2, os resultados nos motivaram a publicar dois artigos (Mariano et al., 2007; Mariano e Oliveira, 2008).

No caso bidimensional, os resultados com a vizinhança de Von Neumann, composta por 5 células, nos surpreenderam. Embora o melhor resultado conhecido para a vizinhança unidimensional de 5 células seja 96,3%, foi possível encontrar com facilidade regras com 100% de eficácia na vizinhança bidimensional. Isso mostra que essa tarefa é mais fácil de ser resolvida com conectividade das células em quatro direções, ao invés de duas.

6. AGRADECIMENTOS

GMBO agradece ao CNPq e à FAPEMIG pelo suporte financeiro. ASM e LBC agradecem ao CNPq por suas bolsas de iniciação científica.

7. REFERÊNCIAS

Binder, P.M. (1993). A Phase Diagram for Elementary Cellular Automata. Complex Systems, v.7, p.241–247.

Culik II, K., Hurd, L. P., Yu, S. (1990). Computation Theoretic Aspects of Cellular Automata.

Physica D, v.45, p.357-378.

Das R.; Crutchfield, J. P.; Mitchell, Melanie; Hanson J. E. (1995). Evolving globally synchronized cellular automata. In. L. J. Eshelman (ed.), Proceedings of the Sixth International Conference on

Genetic Algorithms: Morgan Kaufmann.

Goldberg, D.E. (1989). Genetic algorithm in search, optimization and machine learning. Addison-Wesley.

Li, W.; Packard, N. (1990a). The Structure of Elementary Cellular Automata Automata Rule Space.

Complex Systems, Vol. 4.

Mariano, A., Dantas, A., Macedo, H. e Oliveira, G. (2007). Novas abordagens na evolução de autômatos celulares unidimensionais na tarefa de sincronização. V Conferência de Estudos em

(10)

Mariano, A. e Oliveira, G. (2008). Evolving One-Dimentional Radius-2 Cellular Automata Rules for the synchronization task.. AUTOMATA2008, Bristol, 2008.

Mitchell, M.; Hraber, P. T.; Crutchfield, J. P. (1993). Evolving cellular automata to perform computations: mechanism and impediments. Physica D, vol. 75, pages 361-391.

Oliveira, G. M. B.; de Oliveira, P. P. B.; Omar, N. (2000a). Guidelines for Dynamics-Based Parameterization of One-Dimensional Rule Spaces Cellular Automata, Complexity Journal, 6(2), MIT Press, 63-71.

Oliveira, G. M. B.; de Oliveira, P. P. B.; Omar, N. (2001a). Definition and Applications of a Five-Parameter Characterization of One-Dimensional Cellular Automata Rule Space, Artificial Life, MIT Press, 277-301.

Oliveira, G. M. B.; de Oliveira, P. P. B.; Omar, N. (2001b). Improving Genetic Search for One-Dimensional Cellular Automata, Using Heuristics Related to Their Dynamic Behavior Forecast,

Proceedings of IEEE Congress on Evolutionary Computation, Seoul.

Oliveira, G.M.B.; Siqueira, S.R.C. (2006). Parameter Characterization of Two-Dimensional Cellular Automata Rule Space. Physica D - Nonlinear Phenomena, v. 217, n. 1, p. 1-6, 2006. Wolfram, S. (1983). Cellular Automata. Los Alamos Science. Vol. 9.

EVOLUING CELLULAR AUTOMATA TO SOLVE ONE-DIMENSIONAL

AND TWO-DIMENSIONAL SYNCHRONIZATION TASK.

Laura Barbosa de Carvalho¹

Faculdade de Ciência da Computação – Av. João Naves de Ávila, Bloco B, UFU. Uberlândia – MG - Brasil laurabcarvalho7@hotmail.com

Alexsandro Souza Mariano¹

Faculdade de Engenharia Elétrica – Av. João Naves de Ávila, Bloco 3E, UFU. Uberlândia – MG - Brasil eng.alexsandro@gmail.com

Gina Maira Barbosa de Oliveira²

Faculdade de Ciência da Computação – Av. João Naves de Ávila, Bloco B, UFU. Uberlândia – MG - Brasil gina@facom.ufu.br

Abstract: One of the most studied aspects of cellular automata (CA) concerns in how they perform computations. CA compute through local and intrinsically parallel processes that interact with each other to exhibit a global and coordinate behavior. A recent approach related to the study of this computability is the application of evolutionary methods to search CA rules able to execute specific tasks. Density Classification Task (DCT) and Synchronization Task (ST) are the most known computational tasks. Here we show some results of the evolution of rules for ST, in one-dimensional and two-dimensional lattices.

Referências

Documentos relacionados

For additional support to design options the structural analysis of the Vila Fria bridge was carried out using a 3D structural numerical model using the finite element method by

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Ficou com a impressão de estar na presença de um compositor ( Clique aqui para introduzir texto. ), de um guitarrista ( Clique aqui para introduzir texto. ), de um director

6 Num regime monárquico e de desigualdade social, sem partidos políticos, uma carta outor- gada pelo rei nada tinha realmente com o povo, considerado como o conjunto de

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

Avaliação do impacto do processo de envelhecimento sobre a capacidade funcional de adultos mais velhos fisicamente ativos.. ConScientiae

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia