Você está na página 1de 61

Autômato Celular

O primeiro a cunhar a palavra auto-maton

Aristóteles (a.C.) ficou fascinado por “Autômato” e teria dito:

“Evidentemente, se abri-los, descobrirei apenas um mecanismo ridículo; mas se conservar a


“caixa preta” fechada, então lhe atribuirei “livre-arbítrio”, uma vez que ignoro a causa e o
efeito da mudança”.
E o denominou de auto-maton, isto é, “que agem por sua própria vontade”.

Segundo a interpretação aristotélica , o “livre-arbítrio” seria aquilo do qual ignoramos o


funcionamento, ao passo que, se o conhecêssemos, então seria puro determinismo.
Autômato Celular
Prof. Dr.Marco Aurélio Amaral Henriques
Aluna: Sílvia R.L.Magossi
Data: 27/04/2015
Agenda

• Áreas de Aplicação
• Precursores dos trabalhos sobre: Autômato Celular
• Autômato Celular Unidimensional
• Autômato Celular Bidimensional
• Game 0f Life
• Trabalhos futuros
• Trabalhos de Wolfran
• Autômato Celular e Criptografia
Áreas de Aplicação
Áreas de aplicação
Autômato Celular tem sido estudados extensivamente nas áreas:
• Ciências natural,
• Matemática,
• Ciência da computação.

São usados como modelo de fenômenos físicos e biológicos tais como:


• Fluxo de fluido,
• Formação de galáxias,
• Terremotos,
• Formação de padrão biológico.

Também são considerados objetos matemáticos sobre propriedades formais as quais elas
podem ser provadas.
Usados como dispositivos de computação paralela tanto para simulação de alta velocidade de
modelos científicos e para tarefas computacionais como processamento de imagem.
Estão sendo estudados como modelos abstratos emergentes com comportamentos
cooperativos ou coletivo em sistemas complexos.
Desde a sua publicação, Jogo da Vida de Conway tem atraído muito interesse, devido
as maneiras surpreendentes em que os padrões podem evoluir.
“Life” é um exemplo de crescimento e auto-organização.
Vários campos da ciência tem utilizado Autômato Celular para encontrar padrões
complexos, que podem vir da implementação das regras simples de jogos, tais como :

• computer science,
• physics,
• biology,
• biochemistry,
• economics,
• mathematics,
• philosophy, e
• generative sciences.
Precursores dos trabalhos na área
Autômato Celular
John von Neumann
Qualquer um que tentar gerar
números aleatórios por meios
determinísticos, é claro, está
vivendo em estado de pecado

Born Neumann János Lajos


December 28, 1903
Budapest, Austria-Hungary

Died February 8, 1957 (aged 53)


Walter Reed General
Hospital
Washington, D.C.
Alan Mathison Turing

Nacionalidade Reino Unido Britânico


Nascimento 23 de Junho de 1912
Morte 7 de Junho de 1954 (41 anos)
Stanislaw Marcin Ulam

Left to right— John von Neumann, Richard Feynman, Stanislaw Ulam


Nascimento 13 de abril de 1909
Local Lviv - Ucrânia
Morte 13 de maio de 1984 (75 anos)
Local Santa Fé
Quais as ideias que estavam sendo discutidas naquele momento?

Computers were being built and used at Los Alamos. While the analogy
between the computer and the brain seems obvious to us today, that was not
so in the early days of computing.

Ulam , Alan Turing, and John von Neumann shared an interest in this analogy.

Also, the birth of the new biology with the Crick and Watson discovery of the
structure of DNA in 1953 stimulated more applications of mathematics to biology
and Ulam participated in these applications.
Final 1940: von Neumann inicia teoria geral sobre autômato.
Haviam discussões frequentes com Ulam , o qual fez
sugestões e suas próprias contribuições.
1949: von Neumann foi o primeiro a apresentar na
University de Illinois em Dezembro de 1949.
1964: Aluno de Burks - J.W. Tatcher publica um relatório
técnico: Universality in the von Neumann Cellular Model .
1966: Esse trabalho foi revisado, editado e publicado por
Arthur W. Burks, após a morte de von Neumann.
Von Neumann, J., Theory of Self-Reproducing Automata,
Univ. of Illinois Press, Urbana, 1966.

Arthur Walter Burks


(Duluth, Minnesota, 13 de outubro de 1915 —
Ann Arbor, Michigan, 14 de maio de 2008)
Foi um matemático americano. E na década de 1940
que trabalhou como engenheiro sênior no projeto que
contribuiu para a construção do ENIAC, o
primeiro computador digital eletrônico de grande escala.
John von Neumann. The general and logical theory of automata. In Taub [Tau63b], pages
288–328. LCCN ???? See also volumes I–IV, VI [Tau61a, Tau61b, Tau63a, Tau62, Tau63c].

Dichotomy o f the Problem: Nature o f the Elements, Axiomatic


Discussion of Their Synthesis.

The Axiomatic Procedure.

DISCUSSION OF CERTAIN RELEVANT TRAITS OF COMPUTING MACHINES


• Computing Machines-Typical Operations.
• Precision and Reliability Requirements
• The Analogy Principle.
• The Digital Principle.
• The Role o f the Digital Procedure in Reducing the Noise Level.
COMPARISONS BETWEEN COMPUTING MACHINES AND LIVING ORGANISMS

• Mixed Character of Living Organisms.


• Affixed Character of Each Element.
• The Concept of a Switching
• Comparison of the Sizes of Large Computing Machines and Living Organisms.
• Determination of the Significant Ratio of Sizes fur the Elements.
• Analysis of the Reasons for the Extreme Ratio of Sizes
• Technological Interpretation of These Reasons

THE FUTURE LOGICAL THEORY OF AUTOMATA


• Further Discussion of the Factors That Limit the Present Size of
• Artificial Automata.
• The Limitation Which Is Due to the Lack of a Logical Theory ofAutomata.
• Probable Characteristics of Such a Theory.
• Effects of the Lack of a Logical Theory of Automata on the Procedures in Dealing with Errors.
• The Single-Error Principle.
. PRINCIPLES OF DIGITALIZATION

• Digitalization of Continuous Quantities


• Comparison of the Two Methods The Preference of Living Organisms for the Counting Method

FORMAL NEURAL NETWORKS

• The McCulloch-Pitts Theory of Formal Neural Networks.


• The Main Result of the McCulloch-Pitts Theory.
• Interpretations of This Result.

THE CONCEPT OF COMPLICATION SELF-REPRODUCTION DISCUSSION com DR. VON


NEUMANN
• Turing's Theory of Computing Automata.
• The Main Result of the Turing Theory. • DR MC CULLOCH
• Broadening o f the Program to Deal with Automata That Produce Automata. • DR. GERARD
• The Basic Definitions. • DR. WEISS
• Outline of the Derivation o f the Theorem Regarding Self-reproduction. • DR. LASHLEY
• Interpretations of This Result and of Its Immediate Extensions. • DR. HALSTEAD
• DR. LORENTE DE NÓ
No livro Stanislaw M. Ulam’s Contributions to Theoretical Theory
WILLIAM A. BEYER
PETER H. SELLERS
MICHAEL S. WATERMAN

os autores apresentam 5 modelos de self-reproducing automata:

1. Kinematic model;
2. Cellular Model;
3. Excitation-threshold-fatigue model;
4. Continuous Model , and
5. Probabilistic Model.

O modelo celular (Cellular Model) foi sugerido em conversa com Ulam,


onde o mesmo sugere que esse modelo pudesse ser mais amigável para
tratamento matemático e lógico.
Autômato Celular Unidimensional
A Brief History of Cellular Automata
PALASH SARKAR
Indian Statistical Institute
ACM Computing Surveys, Vol. 32, No. 1, March 2000

A mais simples descrição de um autômato celular é uma array de células de uma dimensão
(possivelmente infinito nas duas direções). O tempo é discreto, marcado a cada tick do relógio,
cada célula tem em um conjunto finito de possibilidade de estados. O estado da célula muda a
cada tick do relógio, e o novo estado é completamente determinado pelo presente estado da
célula e seus vizinhos da esquerda e da direita.

Computation in Cellular Automata: A Selected Review


Melanie Mitchell
Santa Fe Institute 1399 Hyde Park Road Santa Fe, NM 87501 U.S.A. email: mm@santafe.edu

In T. Gramss, S. Bornholdt, M. Gross, M. Mitchell, and T. Pellizzari, Nonstandard Computation, pp. 95–140.
Weinheim: VCH Verlagsgesellschaft, 1998.

Para Melanie Mitchell autômato celular (CAs) são sistemas estendidos espacialmente
descentralizados, contendo um grande número de componentes idênticos com conectividade
local. Tais sistemas tem potencial para desempenharem complexas computações com alto grau
de eficiência e robustez, tão bom como o comportamento de um modelo do Sistema complexo
da natureza
Palash tenta mostrar as pesquisas realizadas nos últimos 40 anos, e divide o
trabalho de autômato celular em 3 grandes áreas:

Clássica: Os temas os quais foram influenciado pelo trabalho inicial de von


Neumann.

Moderna: Os temas que foram influenciado por um lado pelo trabalho de


Wolfram , e por outro, pelos desenvolvimentos de outros ramos da ciência da
computação.

Games: Além do Game of Life e s-game , Palash também incluiu o Firing Squad
problem (um problema de sincronização)
Regra local é a função que determina esta mudança de estado e é a mesma
para todas as células.
O autômato não tem nenhuma entrada e dessa forma é autônomo.

Configuração ou estado global de CA: é a coleção de estados das células em


algum ponto no tempo o qual descreve o estágio da evolução do CA.

Mapa Global ou regra global do autômato: A aplicação da regra local em cada


célula do CA resulta em uma transformação do conjunto de todas as
configurações em si mesmo.
Evolução de um elementar Autômato Celular (unidimensional) regra 30
O autômato-celular é dividido em oito células, cada célula pode carregar 0 ou 1 e os
valores decimais que as células representam em binário variam de 0 a 7 da esquerda para
direita.
Representação 1:
7 6 5 4 3 2 1 0

Representação 2:
7 6 5 4 3 2 1 0
111 110 101 100 011 010 001 000
0 0 0 1 1 1 1 0

A terceira linha na representação 1 e 2 indica o número da regra que se está utilizando,


exemplo: 00011110 = 30 , e como se dará o comportamento da evolução desse autômato
utilizando essa regra.
A evolução de um autômato-celular de uma dimensão pode ser ilustrado com o estado
inicial (geração zero) na primeira linha, a primeira geração na segunda linha e assim
por diante.
A figura abaixo ilustra as primeiras 15 gerações da elementar regra 30 de um
autômato-celular iniciando com uma simples célula preta.

(Wolfram 2002, p. 871), Se


observarmos a coluna
central , ela é dada por 1,
1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0,
0, 1, ... (OEIS A051023).
Exemplos de regras:
As ilustrações ao lado
mostram alguns números de
autômatos que dão padrão
particularmente interessante
propagada por 15 gerações
começando com uma única
célula preta na iteração
inicial.
A regra 30 é de especial
interesse porque é caótica
(Wolfran 2002, p.871).
Na verdade , esta regra é
usada como gerador de
números aleatórios utilizado
para grandes inteiros em
Mathematica (Wolfram
2002).
Padrão de propagação das regras
anteriores.
Temos 8 possíveis padrões de
vizinhança 23 = 8

e 28 = 256 regras possíveis.


Formalização dos ECAs Autômato
Celular Elementar
No trabalho de Melanie Mitchell um autômato celular é composto
por dois componentes:

1. Espaço Celular

2. Regra de Transição.
Espaço Celular: uma malha (reticulado) com N máquinas de estado finito idênticas (células).

Seja:
∑ o conjunto de estados dentro das células de uma máquina de estado finito.

K = |∑| o número de estado por célula.

Cada célula é indicada por um índice i e o estado no tempo t é indicado por 𝑥𝑖𝑡 (onde 𝑥𝑖𝑡
Є ∑ ).

Os estados 𝑥𝑖𝑡 da célula i junto com os estados das células a qual a célula está conectada
é chamada de vizinhos η𝑡𝑖 da célula i.
Regra de Transição: é o segundo componente (ou “CA rule”) Φ (η𝑡𝑖 ) a qual fornece a
atualização do estado 𝑥𝑖𝑡+1 para cada célula i como uma função η𝑡𝑖 .

A cada tick do relógio num CA é fornecido um sinal de atualização para todas as células , a
cada passo do tempo todos os estados das células são atualizados de forma síncrona de
acordo com Φ (η𝑡𝑖 ).

Um autômato celular unidimensional , com K = 2 (∑ = {1,0}) é ilustrado no próximo slide.

Vizinhos :Consiste na própria célula e dos dois vizinhos mais próximos sendo as condições de
contornos periódicas.

Ex.: A célula mais a esquerda é considerada ser vizinho direito da célula mais a direita e vice-
versa
CA Rules

•One-dimensional CA:
•next state of cell i:

•Example: Rule 3010 = 1E16 = 000111102


Para autômato celular unidimensional o tamanho dos vizinhos η𝑡𝑖 (podemos tirar o tempo
quando ele não for necessário) é escrito como :
|η𝑖 | = 2r +1 onde r é chamado de raio do CA.

No caso unidimensional Φ(η𝑡𝑖 ): ∑ ∑


2𝑟+1

Portanto temos 256 autômato celular unidimensional, k=2, r = 1 e eles são chamados de
autômatos celulares elementares.

Uma célula e as suas duas vizinhas formam uma vizinhança de 3 por isso existem 23 = 8
padrões possíveis para uma vizinhança. Há então 28 = 256 regras possíveis.
Modificações - aumentando o número das dimensões como:

• o número de estados por célula,


• o tamanho dos vizinhos modificando as condições de contornos.

Pode mudar transformando a regra de um CA para estocástica ao invés de determinística.


Autômato Celular Bidimensional

Uma descrição alto nível como o autômato de auto reprodução de von Neumann
trabalha.
O autômato originalmente descrito
por von Neumann é um array infinito
de duas dimensões de células
uniformes, onde cada célula é
conectada por quatro vizinhos
ortogonal. Figura 2.
Originalmente foi chamado de espaço
celular, mas o termo CA (Cellular
Automata) é mais popular agora.
Autômato Celular foi apresentado por
von Neumann em 1963 como um
modelo formal de sistemas biológicos
de auto reprodução (formal model of
self-reproducing)
“The main purpose of von Neumann was to bring the rigor of axiomatic and
deductive treatment to the study of “complicated” natural systems.
The basic idea of a self-reproducing automaton is presented in von Neumann
[1963a], and is a beautiful adaptation of the idea of constructing a universal
Turing Machine (TM). Here we present a brief sketch of the idea.”
A grande ideia na mente de von Neumann :

O fenômeno biológico de auto reprodução.


Então ele coloca uma questão:

“What kind of logical organization is sufficient for an automaton to be


able to reproduce itself?”

A ideia em utilizar autômato celular como um framework para responder a


esta questão, foi sugerida à von Neumann por Stanislaw Ulan (Burks,
1970b).
Assim, o conceito original de autômato celular pode ser creditado a Ulam
enquanto o desenvolvimento embrionário desse conceito pode ser
creditado a von Neumann.
Von Neumann acreditava que autômato celular seria essencial em dois aspectos:
entendimento sistemas complexos da natureza e para projeto de sistemas complexos
artificiais.

Figura 3: (a) The von Neumann neighborhood. (b) The Moore neighborhood.

Em ambos os casos a célula a ser atualizada é a sombreada.


Autômato celular de von Neumann.

A figura 4 (próximo slide) ilustra esquematicamente o processo alto-nível pelo


qual o autômato auto reprodução trabalha.

Há 29 possíveis estados por célula (incluindo o estado em repouso).

A configuração é composta de duas unidades funcionais:

• Uma unidade de construção (que constrói o novo autômato).

• Uma unidade de fita (que armazena e lê a informação necessária para


construção do novo autômato).
Figuras tiradas do livro: Burks, A. W.
(editor) (1970a) . Essays on Cellular
Automata. Urbana, IL: University of
Illinois Press.
Descrição de Funcionamento

A construção do novo autômato é feita através do envio de sinais (na forma de propagação de
estados das células) entre a unidade de fita e a unidade de construção.
A unidade de construção é composta do controle de construção e de um “constructing arm”
(braço em construção).
O braço em construção é um array de células através do qual os estados das células para serem
construídos devem ser enviados a partir do controle da construção, para os locais designados na
área da construção.
O autômato original Mc é “turned on” por um sinal externo, enviado para o controle de
construção, para então construir o “arm”, braço, um array de estados de células expandindo e
contraindo, e movendo (mudando os estados intermediários das células) da sua posição inicial
para o canto superior esquerdo da área de construção.
O controle de construção pergunta e recebe, os valores sucessivos de estado da fita, e move
para o braço de construção para colocá-los em suas posições adequadas na área de construção.
Quando a construção estiver completa, o controle da construção move o braço em construção
para o canto inferior esquerdo de M , e envia o sinal start para ele, produzindo em M um novo
processo de auto reprodução. Então Mc volta a construção do braço de volta a posição original.
Game of Life
http://pt.wikipedia.org/wiki/Jogo_da_vida#O_Jogo
Autômato Bidimensional

“Game of Life” - inventado por John Conway em 1960


Popularizado por Martin Gardner em artigo na Scientific American - Data: Outubro de
1970.

A vizinhança da célula η𝑡𝑖 é o Moore neighborhood.

A regra transição 𝑥𝑖𝑡+1 = Φ(η𝑡𝑖 )


Quando

𝑥𝑖𝑡+1 = 1 𝑠𝑠𝑒 𝑒𝑥𝑎𝑡𝑎𝑚𝑒𝑛𝑡𝑒 2 𝑜𝑢 3 𝑣𝑖𝑧𝑖𝑛ℎ𝑜𝑠 𝑒𝑠𝑡ã𝑜 𝑛𝑜 𝑒𝑠𝑡𝑎𝑑𝑜 1


𝑥𝑖𝑡 = 1
𝑥𝑖𝑡+1 = 0

𝑥𝑖𝑡+1 = 1 𝑠𝑠𝑒 𝑒𝑥𝑎𝑡𝑎𝑚𝑒𝑛𝑡𝑒 3 𝑣𝑖𝑧𝑖𝑛ℎ𝑜𝑠 𝑒𝑠𝑡ã𝑜 𝑛𝑜 𝑒𝑠𝑡𝑎𝑑𝑜 1


𝑥𝑖𝑡 = 0
𝑥𝑖𝑡+1 = 0

Life inicia uma configuração com um finito números de 1s e todos os outros conjunto
de células zero (0), se desenvolvendo num reticulado infinito bidimensional.
Regras do Game of Life

O valor das células se tornaram 0 ou 1, on ou off dependendo do estado das células


que estão ao redor de uma determinada célula ou célula corrente.

São oito células ao redor da célula a ser checada.


Verifica-se a situação das oito células ao redor da célula em questão, e altera se for o
caso.
As células que estão ligadas são contadas e esta contagem é utilizada para determinar
o que vai acontecer com a célula corrente.

1. Morte: Se a contagem das células vivas (on, 1) for menor que dois (2)
ou maior que três (3) a célula corrente é então trocada para
situação de morte (off, 0).
2. Sobrevivência: a) Se a contagem é exatamente 2;ou
b) A contagem é exatamente 3 e a célula corrente está em on,
a célula corrente não é alterada.
3. Nascimento: Se a célula corrente está em off e a contagem é exatamente 3,
a célula corrente é trocada para on (1).
Outras formas criam padrões complexos de movimento a partir de sua configuração inicial e
movem-se em padrões repetitivos, dando "nascimento" a formas de vida independentes.
Weisstein gives an extensive alphabetical tabulation of life forms and terms.

Um padrão que não muda de uma geração para a próxima é conhecido como uma
natureza morta, e é dito ter período 1. Várias naturezas-mortas são ilustrados acima.
Os números de células ainda vive de n para n = 1, 2, 3, ... são 0, 0, 0, 2, 1, 5, 4, 9,
10, 25, 46, 121, 240, 619, 1353 , ... (OEIS A019473).
http://mathworld.wolfram.com/GameofLife.html

O desenho da grade vai se alterando de acordo com as regras para


completar o preenchimento das células
Trabalhos Futuros
A Fast Cryptographic Hash Function Based on Linear Cellular Automata
over GF(q)
Miodrag Mihaljevi, Yuliang Zheng , and Hideki Imai .

Survey of Cellular Automata Based Hash Functions


Jun-Cheol Jeon
Department of Computer Engineering at Kumoh National Institute of Technology,
Gumi, Korea
jcjeon@kumoh.ac.kr
ISA 2013, ASTL Vol. 21, pp. 168 - 170, 2013 © SERSC 2013
Proceedings, The 7th International Conference on Information Security and
Assurance
Abstract. A cellular automata based schemes are very useful to design hash functions with a low hardware
complexity because of its logical operation attribute and parallel property. In this paper, we discuss some
hash functions based cellular automata.