Autômatos Celulares Inspiração da Natureza O que é um autômato

Propaganda
Computação Natural:
Autômatos Celulares
Autômatos Celulares
Como comportamentos globais altamente
complexos podem emergir a partir de regras de
interação local extremamente simples?
Prof. Dr. Rafael Stubs Parpinelli
E-mail: [email protected]
Autômatos celulares são um grande exemplo
disto!
Programa de Pós-Graduação
em Computação Aplicada - UDESC
Inspiração da Natureza
O que é um autômato celular?
Uma matriz de células onde cada célula atualiza
seu valor com base nos valores de suas células
vizinhas.
Tipicamente os estados das células são on ou off
(1 ou 0).
Definição de Autômato Celular

Suponha a existência de um sistema infinito reticulado capaz de se
configurar em diferentes estados S 1 , . . . , Sk





Cada ponto neste reticulado tem um sistema bem definido de m vizinhos
O estado de cada ponto no tempo t+1 é unicamente determinado pelo seu
próprio estado e o de todos os seus vizinhos no tempo t
Autômato Celular
Um CA bem simples deve funcionar da seguinte maneira:


Considere uma linha de células onde cada célula pode
assumir dois estados possíveis (0 ou 1)
O processo se inicia ativando-se uma das células
Assumindo que no tempo t somente um conjunto finito de pontos estão
ativos, deseja-se saber como a ativação vai se espalhar pelo sistema
Sendo que o estado de uma célula no reticulado depende somente do seu
estado e das células vizinhas, todas as interações são locais
Um conjunto de regras determinam como computar o estado de uma
célula no tempo t+1, dado o estado de seus vizinhos no tempo t


O estado de uma célula influencia o estado de seus vizinhos
e vice-versa
Em um CA, a influência (regras) pode ser bastante intuitiva.
Suponha:


Se um célula está ativada, então no próximo passo (t+1)
ela se mantém ativada
Se um célula está ativada, ela também ativa seus vizinhos
A consequência desta definição é...
Autômato Celular
Neste autômato celular unidimensional, a
vizinhança é definida pelas duas células
adjacentes.
Autômato Celular
Autômato Celular
Autômato Celular
Autômato Celular
Exemplo 1
Tem-se aqui outro conjunto de regras:
Pode-se usar a seguinte convenção para representar as
regras que evoluem o sistema:
Uma célula se torna ativa se algum vizinho for
ativo e se torna inativa se ambos vizinhos forem
inativos.
Faça o desenvolvimento de quatro passos do
seguinte cenário inicial:
Exemplo 1
Algumas observações


Regras simples originam um padrão
quadriculado
Uma célula ativada dispara seus vizinhos e
inibe a si mesma
Nós realmente não esperávamos surgir nada
complexo de algo tão simples... certo?
Exemplo 2
Exemplo 2
Teste o seguinte conjunto de regras:
Uma célula é ativada quando algum (mas não
ambos) de seus vizinhos é ativo, caso contrário
se torna desativada.
Faça o desenvolvimento de quatro passos do
seguinte cenário inicial:
Algo mais complexo está acontecendo aqui!
Algumas observações


Assim que todas as outras células se tornam
ativadas, a região central fica completamente
desativada, deixando apenas os pontos finais
A longo prazo, isto tem um efeito interessante:
Triângulo de Sierpinski

diferentes escalas de tamanho



Auto-Similaridade
Um objeto é dito ser auto-semelhante, se este se
assemelha (igualmente ou aproximadamente) a
sua forma em qualquer escala.
Samambaias

Encostas

Corais

Raios, ...
Os triângulos menores mostram a mesma
estrutura do triângulo principal
Este é um exemplo de emergência: este
padrão complexo emerge de algumas regras
extremamente simples
O triângulo de Sierpinski é um exemplo
clássico de estrutura fractal
Comportamento Complexo



O padrão é auto-similar em


Vimos um exemplo de emergência de um padrão
interessante a partir de regras extremamente simples!
A pesar disto, o padrão era regular e previsível,
mesmo que surpreendente de certa maneira.
É natural esperar que um conjunto regular de regras
origine padrões regulares (possivelmente complexos).
Entretanto, seria possível este conjunto regular de
regras simples originarem saídas complexas e
irregulares?
O que sua intuição lhe diz?
Comportamento Complexo
Comportamento Complexo
Considere o seguinte conjunto de regras:
Se a célula e seu vizinho da direita são ambos inativos, então
a célula assume o estado do seu vizinho da esquerda.
Caso contrário a célula assume o estado inverso do seu
vizinho da esquerda.
Faça o desenvolvimento de quatro passos do seguinte
cenário inicial:



Comportamento Complexo
Após 100 iterações tem-se:
Deste desenvolvimento fica claro que o padrão final será
não-simétrico.
Nenhuma surpresa, dado que as regras também são
não-simétricas!
Porém, ainda se espera que o padrão seja regular, uma vez
que as regras sejam extremamente simples?
Comportamento Complexo
Após 500 iterações tem-se:
Jogo da Vida de John Conway
Comportamento Complexo



Mesmo após 500 iterações não existe padrão distinguível!
Existem experimentos executando milhares de iterações e
nenhum padrão é encontrado.
O ponto chave é que mesmo utilizando regras
extremamente simples, um sistema pode se desenvolver
para algo incrivelmente complexo e detalhado.
É um autômato celular bi-dimensional, inventado em 1970 pelo
matemático John Conway.
Cada célula pode estar populada (ativada) ou não-populada
(desativada).
Regras para as células populadas:


Wolfram, S. A New Kind of Science. Wolfram Media; 2002. Disponível
em:



Modelagem e simulação:


Propagação de incêndio florestal
Conclusões




Desenvolvimento urbano

Comportamento gasoso

Turbulência em fluidos

Imunologia e envelhecimento biológico


Fluxo de eletricidade


Cristalização

Vida artificial
Arte, ...
Cada célula com três vizinhos se torna populada (se ativa).
http://www.bitstorm.org/gameoflife/
Aplicações
Geração de números aleatórios
Cada célula com dois ou três vizinhos vive (se mantém ativa).
Game of Life:
http://archetyp.al/other_pages/care.html

Cada célula com quatro ou mais vizinhos também morre (se desativa),
como se fosse por super-população.
Regras para células não-populadas:
http://www.wolframscience.com/nksonline/toc.html
Cellular Automata Wolfram's Rule Explorer:
Cada célula com um ou nenhum vizinho morre (se desativa), como se
fosse por solidão.

CAs são governados por regras simples
Embora fáceis de descrever, eles podem gerar alguns
comportamentos extremamente complexos e imprevisíveis
Quando tendo inspiração nos sistemas naturais para
projetar sistemas computacionais, comportamentos
complexos podem ser alcançados através de interações
bastante simples
Encontrar as regras locais não é uma tarefa trivial
CAs possuem um uso prático, especialmente para
modelagem e simulação
Entretanto, seu poder ainda não foi completamente
explorado para aplicações do mundo real
Download