You are on page 1of 13

Vida Artificial na Computação

Vida Artificial na Computação


(MCZA030-13)

Automato Celular:
Conceitos Fundamentais

AUTÔMATO CELULAR:
INTRODUÇÃO

Profa Maria das Graças Bruno Marietto graca.marietto@ufabc.edu.br

Autômato Celular: Conceitos Fundamentais 2

Vida Artificial na Computação Vida Artificial na Computação

AUTÔMATO CELULAR E SISTEMAS COMPLEXOS AUTÔMATO CELULAR E SISTEMAS COMPLEXOS


Autômato Celular é um modelo matemático representado por: Automata Celulares são modelos matemáticos discretos no
uma matriz de células distribuídas no espaço tempo e no espaço:
que evoluem segundo um conjunto de regras bem são formados por unidades simples que interagem entre si,
definidas influenciando-se mutuamente
na medida que o sistema evolui no tempo, surgem estados
complexos decorrentes dessas influências mútuas
esta é uma das característica importantes dos sistemas
complexos

Autômato Celular: Conceitos Fundamentais 3 Autômato Celular: Conceitos Fundamentais 4


Vida Artificial na Computação Vida Artificial na Computação

AUTÔMATO CELULAR: DEFINIÇÃO AUTÔMATO CELULAR: DEFINIÇÃO


Um autômato celular (AC) é um sistema O autômato celular evolui de acordo com um conjunto de
dinâmico formado por muitas unidades, regras locais, baseadas nos estados das células vizinhas.
interagindo umas com as outras. Construindo regras apropriadas no funcionamento do
Estas unidades são modeladas na forma de autômato celular é possível simular diversos tipos
células. diferentes de comportamentos complexos.
Usualmente, um autômato celular é modelado
por uma matriz de células.
As células são identicamente programadas .
A geometria do AC permite definir, para cada célula,
uma vizinhança.
As entradas de uma célula são os estados das
células da sua vizinhança.
O funcionamento do AC terá uma evolução temporal, Ocupação urbana e rede de Conus textile apresentando um
através dos sucessivos estados das células que o transporte da Amazônia motivo parecido com o de certos
compõem. (Pedrosa, 2003) automata celulares
Autômato Celular: Conceitos Fundamentais 5 Autômato Celular: Conceitos Fundamentais 6

Vida Artificial na Computação Vida Artificial na Computação

AUTÔMATO CELULAR: CARACTERÍSTICAS


Um autômato celular possui as seguintes características:
Célula
Formato das células
Grade (dimensão)
Vizinhança
AUTÔMATO CELULAR: Tipos de fronteiras (limites)
Estado de uma célula
ELEMENTOS Estado inicial do AC
Regras de transição
Iteração

Autômato Celular: Conceitos Fundamentais 7 Autômato Celular: Conceitos Fundamentais 8


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: CÉLULAS


Uma célula é o elemento básico de um AC.
Cada célula tem um conjunto de atributos (variáveis) que
podem mudar como o passar do tempo
Por isto, uma célula é um tipo de elemento da memória que
armazena estados celulares
ELEMENTOS: Em um caso simples, cada célula pode ter os estados em
forma de números binários: assumir apenas os valores
CÉLULAS E FORMATOS DE zero ou um.
CÉLULAS

Autômato Celular: Conceitos Fundamentais 9 Autômato Celular: Conceitos Fundamentais 10

Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: FORMATO ELEMENTOS DE UM AC: CÉLULAS


Dependendo da modelagem proposta de um sistema, a
forma geométrica de cada célula pode assumir diversas
configurações.
Dentre elas cita-se a quadrangular, triangular e hexagonal.

Por exemplo, considerando para simplificar que células


vizinhas são aquelas que têm arestas em comum entre si
temos que:
na forma geométrica triangular cada célula tem 3
A escolha da forma das células de um AC bidimensional é células vizinhas
influenciada:
na forma quadrangular cada célula tem 4 células
por um problema de conseguir uma pavimentação do plano vizinhas
por polígonos regulares
na forma geométrica hexagonal cada célula tem 6
pelo número de células que assumimos influenciar o estado
células vizinhas
de cada célula
Autômato Celular: Conceitos Fundamentais 11 Autômato Celular: Conceitos Fundamentais 12
Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: GRADE


As células estão dispostas em uma rede espacial que
forma a grade celular
A rede que apresenta maior simplicidade é a grade
unidimensional, onde todas as células estão arranjadas
umas ao lado das outras, em forma de uma fita
As construções mais usuais em AC são as grades de duas
ELEMENTOS: dimensões. Existem também grades de três dimensões

GRADE

Representação Unidimensional (1D), Bidimensional (2D) e Tridimensional


(3D) de um Autômato Celular. Fonte: (Leite, Lins e Cerqueira, 2005)
Autômato Celular: Conceitos Fundamentais 13 Autômato Celular: Conceitos Fundamentais 14

Vida Artificial na Computação Vida Artificial na Computação

GRADE DE TRÊS DIMENSÕES

ELEMENTOS:
VIZINHANÇA

Grade de três dimensões


Autômato Celular: Conceitos Fundamentais 15 Autômato Celular: Conceitos Fundamentais 16
Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: VIZINHANÇA ELEMENTOS DE UM AC: VIZINHANÇA DE NEUMANN


O conceito de vizinhança especifica quais serão os A vizinhança de Von Neumann ocorre com quatro células:
vizinhos de uma célula células acima, abaixo, da direita e da esquerda de cada
Os vizinhos são as células que serão analisadas célula
pelo AC ao se aplicar as regras de transição
Quando o raio (r) desta definição é 1, somente a camada
assim, as regras de transição serão aplicadas seguinte será considerada
baseadas nos estados da vizinhança e da
própria célula considerada
A vizinhança é a determinação da fronteira que cada célula terá
dentro da grade
Há várias formas de determinar a vizinhança de uma célula
As figuras abaixo mostram a célula preta que está sendo analisada,
e as células cinzas que são as células vizinhas
Raio 1 Raio 2
Primeiros Vizinhos Segundos Vizinhos

Autômato Celular: Conceitos Fundamentais 17 Autômato Celular: Conceitos Fundamentais 18

Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: VIZINHANÇA DE NEUMANN ELEMENTOS DE UM AC: VIZINHANÇA DE MOORE


Raio 1 A vizinhança de Moore é uma ampliação da vizinhança de
Primeiros Vizinhos
Neumann, onde as diagonais também são consideradas
como células vizinhas

Raio 1 Raio 2
Primeiros Vizinhos Segundos Vizinhos

Autômato Celular: Conceitos Fundamentais 19 Autômato Celular: Conceitos Fundamentais 20


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: VIZINHANÇA DE MOORE ELEMENTOS DE UM AC: VIZINHANÇA ALEATÓRIA


Raio 1
Primeiros Vizinhos Na vizinhança aleatória, os vizinhos ficam espalhados pela
grade de forma não ordenada

Autômato Celular: Conceitos Fundamentais 21 Autômato Celular: Conceitos Fundamentais 22

Vida Artificial na Computação Vida Artificial na Computação

FRONTEIRA DE UMA VIZINHANÇA


A grade de um AC, teoricamente, pode ser
finita ou infinita
As grades infinitas geralmente são
analisadas em nível matemático, e não
possuem limitações laterais
ELEMENTOS: Mas em simulações computacionais a
grade é considerada finita, pois a matriz
FRONTEIRA DE UMA de células deve ter tamanho finito

VIZINHANÇA

Grade infinita
Autômato Celular: Conceitos Fundamentais 23 Autômato Celular: Conceitos Fundamentais 24
Vida Artificial na Computação Vida Artificial na Computação

FRONTEIRA DE UMA VIZINHANÇA FRONTEIRA DE UMA VIZINHANÇA


Grades finitas devem definir as condições de limite (ou
contorno) para saber o que acontece nas bordas A questão a ser analisada é que
as células da borda possuem
Isto porque a cada iteração do AC algumas das células
analisadas estarão na borda da matriz vizinhanças incompletas
seja na primeira ou na última célula de qualquer
dimensão do AC, por causa da finitude da matriz
Há três possibilidades de resolver este problema:
Estando uma célula na borda da matriz, ela não
possuirá vizinhos à esquerda/direita, ou
Limite de valores fixos
acima/abaixo Limite reflexivo
Isto é um problema, pois a cada iteração deve ser Limite periódico
analisada a vizinhança de todas as células da
matriz A condição de limite irá simular o comportamento
daquelas células que na verdade não existem

Autômato Celular: Conceitos Fundamentais 25 Autômato Celular: Conceitos Fundamentais 26

Vida Artificial na Computação Vida Artificial na Computação

FRONTEIRA DE UMA VIZINHANÇA: VALORES FIXOS FRONTEIRA DE UMA VIZINHANÇA: LIMITE REFLEXIVO
Limite de valores fixos: O limite reflexivo é a condição de contorno obtida refletindo-se
o autômato em cada borda
Supor que existem
células “invisíveis” Células Consiste em “espelhar” os valores da borda
ao redor da grade “Invisíveis

Descreve-se como
serão os estados
das células no Por exemplo, considere a figura abaixo:
contorno do onde o raio da vizinhança é igual a dois, r = 2
autômato então, a vizinha de C1 são duas células vizinhas à direita,
e se estes C1 e C2
estados serão os E a vizinhança de C10 são duas células vizinhas à
mesmos em esquerda, C10 e C9
qualquer instante
da simulação
Autômato Celular: Conceitos Fundamentais 27 Autômato Celular: Conceitos Fundamentais 28
Vida Artificial na Computação Vida Artificial na Computação

FRONTEIRA DE UMA VIZINHANÇA: LIMITE REFLEXIVO FRONTEIRA DE UMA VIZINHANÇA: LIMITE PERIÓDICO
O limite periódico é
representado quando há
uma extensão da grade,
de forma que cada célula
da borda tenha uma célula
vizinha
A grade se fecha como em
um círculo

Assim, por exemplo, na figura a seguir:


a primeira célula terá como um de seus vizinhos a última
célula (C10)
E a célula C10 terá como um de seus vizinhos a célula C1

Autômato Celular: Conceitos Fundamentais 29 Autômato Celular: Conceitos Fundamentais 30

Vida Artificial na Computação Vida Artificial na Computação

FRONTEIRA DE UMA VIZINHANÇA: LIMITE PERIÓDICO

ELEMENTOS:
ESTADO DE UMA CÉLULA

Autômato Celular: Conceitos Fundamentais 31 Autômato Celular: Conceitos Fundamentais 32


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: ESTADO ELEMENTOS DE UM AC: ESTADO


Cada célula de um AC pode assumir um estado, dentro
de um número finito de possíveis estados
Uma célula i em um momento t está em um dos k
estados de um conjunto finito Σ. Por exemplo:
Conjunto binário, Σ = { 0, 1 }
Conjunto ternário. Σ = { 0, 1, 2 }
A quantidade de estados é estabelecida em função do
problema a ser analisado
Por exemplo:
Com a variação dos estados das A união dos estados de
Uma célula com dois estados pode estar morta ou viva, ativada ou
desativada células, a cada tempo da todas as células forma
Uma célula com três estados pode estar morta, viva ou doente; ou pode
simulação podemos observar as o estado global, ou a
representar um semáforo, com os estados verde, amarelo ou vermelho mudanças na grade e acompanhar configuração geral do
Uma célula de quatro estados poderia assumir quatro cores, ou estar se o seu desenvolvimento AC
movendo em quatro direções diferentes
Autômato Celular: Conceitos Fundamentais 33 Autômato Celular: Conceitos Fundamentais 34

Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: ESTADO INICIAL


A condição ou estado inicial de um AC corresponde ao
conjunto dos estados iniciais de cada célula
O comportamento de um autômato é função de sua
configuração inicial
Isto porque, a partir do estado inicial das células e aplicando um
conjunto de regras de transição, teremos desencadeada a
ELEMENTOS: evolução temporal no AC

ESTADO INICIAL DE UM AC Portanto, a análise da configuração inicial é


fundamental para a previsão da forma
como o AC irá evoluir
Partindo desta configuração inicial o AC
evolui com o passar do tempo, mudando
os estados das células de acordo com as
regras locais

Autômato Celular: Conceitos Fundamentais 35 Autômato Celular: Conceitos Fundamentais 36


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: ESTADO INICIAL


Dependendo do tipo de estudo que se pretende efetuar, a
configuração inicial pode ser escolhida:
de maneira aleatória
de maneira específica
por exemplo, configurações iniciais com uma única célula
num estado diferente das restantes
ELEMENTOS:
Qualquer mudança no
estado inicial, por menor REGRAS DE TRANSIÇÃO
que seja, pode levar
depois de um certo número
de iterações a estados do
AC com grandes
diferenças

Autômato Celular: Conceitos Fundamentais 37 Autômato Celular: Conceitos Fundamentais 38

Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: REGRAS DE TRANSIÇÃO ELEMENTOS DE UM AC: REGRAS DE TRANSIÇÃO


Um AC precisa de regras (ou funções) de transição para REGRA 30 DE WOLFRAM
determinar o estado de cada célula após cada iteração
Dado o estado da célula e os estados das células de sua
vizinhança, estas regras determinam o estado da célula no
próximo passo
Estas regras são locais em dois sentidos:
REGRA 30 DE WOLFRAM Cada célula tem seu conjunto próprio de regras locais
O estado futuro de uma célula em um instante T depende:
de seu próprio estado atual e
dos estados das células do sistema no instante
imediatamente anterior (T-1)

Autômato Celular: Conceitos Fundamentais 39 Autômato Celular: Conceitos Fundamentais 40


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: REGRAS DE TRANSIÇÃO ELEMENTOS DE UM AC: REGRAS DE TRANSIÇÃO


Em ACs a aplicação das regras de evolução temporal deve ser Dizer que um AC trabalha de maneira discreta significa que o
realizada em instantes discretos, por passo de tempo T=0,1,2,... tempo transcorre passo a passo:
Os estados de todas as células são atualizados simultaneamente Cada célula examina seu ambiente e determina seu estado
(de forma síncrona): futuro
baseado nos valores do estado de sua vizinhança, e da própria Quando todas as células fizeram esta análise, a transição
célula ocorre
tendo como base as regras locais
Os estados são atualizados em passos DISCRETOS
Se todas as
células tiverem
o mesmo
conjunto de
regras, o AC é
dito
homogêneo
Autômato Celular: Conceitos Fundamentais 41 Autômato Celular: Conceitos Fundamentais 42

Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: REGRAS DE TRANSIÇÃO REGRAS DE TRANSIÇÃO POR ESPECIFICAÇÃO DIRETA


Existem quatro tipos de regras para se determinar o novo As regras por especificação direta definem uma lista de
estado de uma célula após uma iteração: todos:
Regras por especificação direta os estados possíveis das células vizinhas
Regras por especificação implícita o estado da própria célula
Regras totalísticas o seu estado futuro
Regras probabilísticas Assim, todas as possibilidades de estado devem incluir os
estados futuros associados a cada possibilidade
É o caso das regras de Wolfram

Autômato Celular: Conceitos Fundamentais 43 Autômato Celular: Conceitos Fundamentais 44


Vida Artificial na Computação Vida Artificial na Computação

REGRAS DE TRANSIÇÃO POR ESPECIFICAÇÃO IMPLÍCITA REGRAS DE TRANSIÇÃO TOTALÍSTICA


As regras por especificação implícita utilizam uma função, As regras totalísticas analisam a quantidade de células
que pode ser polinomial, exponencial, logarítmica e outras vizinhas que estão em um estado específico
que são usadas para calcular o estado futuro de célula Por exemplo, o Jogo da Vida de Conway, que utiliza regras
Os parâmetros da função são os estados das células vizinhas totalísticas pois:
mais o estado da célula analisada não leva em consideração a localização das células
vizinhas (se está acima, à direita, em cima ou em baixo)
mas sim a quantidade de células vizinhas que estão no
estado “vivo” ou no estado “morto”

Autômato Celular: Conceitos Fundamentais 45 Autômato Celular: Conceitos Fundamentais 46

Vida Artificial na Computação Vida Artificial na Computação

REGRAS DE TRANSIÇÃO PROBABILÍSTICA


As regras probabilísticas são as regras que, dependendo das
células vizinhas, é atribuída uma probabilidade para a que
célula analisada mude de um estado para outro
As regras probabilísticas podem ser utilizadas em conjunto
com as regras totalísticas:
podemos ter regras de transição que são função da
quantidade de células vizinhas ELEMENTOS:
e uma tabela de transição com uma probabilidade de
mudar para outro estado em função do número de INTERAÇÃO
vizinhos com algum estado

Autômato Celular: Conceitos Fundamentais 47 Autômato Celular: Conceitos Fundamentais 48


Vida Artificial na Computação Vida Artificial na Computação

ELEMENTOS DE UM AC: ITERAÇÃO ELEMENTOS DE UM AC: ITERAÇÃO


Uma iteração do autômato celular Com o estado de uma célula depende das células vizinhas,
consiste em analisar o estado atual uma mudança de estado em uma única célula pode levar
de cada célula (em alguns casos resultados de alta complexidade
não se analisa o estado da própria
célula) junto com os estados das Pois com o andamento das interações, as mudanças vão se
células vizinhas propagando espacialmente
Assim, cada célula faz a leitura Assim, conclui-se que o autômato celular evolui em função de
dos estados atuais da suas regras que usam parâmetros locais
células vizinhas Mas que depois de algumas (ou muitas) iterações podem
provocar grandes mudanças em nível global no sistema
Baseando-se nessas informações, e usando um conjunto de regras
de transição, determinar o novo estado da célula analisada Vale destacar que uma interação do autômato
Em cada instante de tempo, todas as células são atualizadas de celular corresponde ao menor intervalo de tempo
maneira simultânea que pode ser considerado ao se estudar a
Isto se dá de célula em célula, pois assim que todas tiverem evolução temporal da matriz de células
executado suas regras, dá-se início à próxima interação
Autômato Celular: Conceitos Fundamentais 49 Autômato Celular: Conceitos Fundamentais 50

You might also like