Principal    Definições    Especificações    Regras de Transição  Exemplo  Aplicações e Links
 

Especificações na Construção de um Sistema Autômato Celular

Ao se aplicar um sistema de autômatos celulares a um dado problema, é preciso especificar o sistema em relação a alguns pontos básicos, como, por exemplo, a geometria do sistema, quais serão os vizinhos de uma dada célula, etc.

A seguir, temos uma breve explicação dos principais pontos na implementação de um sistema autômato celular.

  1. Geometria

  2. Para um sistema de autômatos celulares, é necessário que se tenha uma geometria regular.

    A geometria do sistema pode ser classificada quanto a dois pontos: a dimensão e o formato da célula. A seguir, encontram-se os sub-tipos mais freqüentes de cada aspeto.

    Dimensão

    Podemos ter um autômato celular de uma, duas ou três dimensões. No autômato unidimensional, as células estão distribuídas linearmente. No bidimensional, teremos uma distribuição no plano e no tridimensional, uma distribuição espacial.

    Esquemas de autômatos de dimensões diferentes:
     
     

    Formato da célula

    As células podem ter de várias formas(triangular, quadrangular, hexagonal, etc), desde que num mesmo autômato todas as células sejam de uma mesma forma.

    Esquemas de autômatos com algumas formas de células:


     
     
     

  3. Tamanho da Vizinhança

  4. É necessário também especificar quais serão os vizinhos de uma célula, pois as regras de transição serão aplicadas baseadas nos estados deles e da própria célula. Há algumas formas de vizinhança que seguem uma lógica ou regra (von neumann e moore) e há formas que são arbitrárias.

    Na figura abaixo, as células de cinza escuro estão representando as vizinhas da célula preta. (e r é o raio da vizinhança)


     
     

  5. Condições de Limite (ou contorno)

  6. Geralmente há uma necessidade de que o autômato seja infinito em todas as dimensões, mas é impossível que isso seja implementado em um computador (por limitação de espaço de memória), então precisamos determinar condições de limite para que possamos simular um autômato infinito. Estas condições de limite indicam como o autômato se encontra além do seu limite. Estas condições são também necessárias para completar o conjunto de vizinhos das células que se encontram nas bordas do autômato.

    Por exemplo: as células que se encontram na extremidade esquerda não terão vizinhos à sua esquerda. A condição de limite irá justamente simular o comportamento daquelas células que na verdade não existem.

    Há vários tipos de condições de limite, das quais citaremos três delas:
     
     

    Limite periódico

    São obtidos periodicamente estendendo-se o autômato. É como se autômato fosse copiado nas bordas, da maneira como ele se encontra num dado instante. Para um ganho de tempo e memória, não precisamos colocar o autômato inteiro, basta colocarmos um pedaço dele (que são as r colunas ou r linhas mais próximas, e r é o raio da vizinhança).

    Esquema de um autômato unidimensional com raio de vizinhança 1 e condição de contorno periódica:
     
     

    Limite reflexivo

    Esta condição de contorno é obtida refletindo-se o autômato em cada limite.

    Esquema de um autômato unidimensional com raio de vizinhança 2 e condição de contorno reflexiva:

    Limites de valores fixos

    Esta condição de limite é obtida, simplesmente descrevendo como serão os estados das células no contorno do autômato, e estes estados serão os mesmos em qualquer instante da simulação. Por exemplo, se um autômato tem 2 estados possíveis para uma célula, PRETO e BRANCO, podemos determinar uma condição de limite onde todas as células no contorno são BRANCAS, como se vê na figura abaixo.
     
     


     
     

  7. Condições Iniciais

  8. Um outro ponto importante na implementação de uma sistema de autômatos celulares é a condição em que o sistema se encontra no tempo inicial (t0). Dependendo de como o sistema seja iniciado, diferentes evoluções são obtidas. Dependendo do caso, podem ser obtidos padrões que permanecem constantes indeterminadamente, que se anulam, ou que permanecem num estado aparentemente aleatório. Essa característica importante pode ser visualizada no applet (http://www.cin.ufpe.br/~if114/Monografias/Automatos Celulares/exemplo.htm) do exemplo do jogo da vida.
     
     
     
     

  9. Conjunto de estados

  10. Todo autômato celular deve ter um conjunto de estados, que serão os possíveis estados em que as células poderão se encontrar. Por exemplo, o conjunto de estados pode ser um conjunto de cores (preto, branco e azul), uma certa propriedade (ligado e desligado), etc. Cada célula poderá encontrar-se em apenas um estado, e em qualquer instante, algum estado pode não ocorrer no autômato.

    Por exemplo: Digamos que o conjunto de estados sejam as cores AZUL, VERMELHO, VERDE e PRETO. Então uma célula só poderá estar com apenas uma destas cores e alguma cor pode não ocorrer em nenhuma célula deste autômato.

    Uma possível configuração de um autômato unidimensional com o conjunto de estados citado acima.

    É interessante que este conjunto de estados seja tão menor quanto possível, pois o número de elementos da tabela de regras cresce exponencialmente , isto é, é proporcional a #S(v+1), onde #S é a cardinalidade do conjunto de estados e v é o número de vizinhos que uma célula possui, e um elemento da tabela de regras é uma (v+2)-tupla, contendo o estado de uma célula os estados dos seus vizinhos e o estado final(o novo estado daquela célula). O estado final não importa neste cálculo, pois é tido como a saída de uma função (função de transição de estados), então só devemos considerar os dados de entrada desta função.