Autómato celular: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Etiquetas: Inserção de predefinição obsoleta Editor Visual Edição via dispositivo móvel Edição feita através do sítio móvel Edição móvel avançada
Etiquetas: Inserção de predefinição obsoleta Edição via dispositivo móvel Edição feita através do sítio móvel Edição móvel avançada
Linha 9: Linha 9:
As classificações primárias de autômatos celulares, conforme descrito por Wolfram, são numeradas de um a quatro. Eles são, em ordem, autômatos nos quais os padrões geralmente se estabilizam em [[Homogeneidade e heterogeneidade|homogeneidade]], autômatos nos quais os padrões evoluem para estruturas principalmente estáveis ​​ou oscilantes, autômatos nos quais os padrões evoluem de maneira aparentemente caótica e autômatos nos quais os padrões se tornam extremamente complexos e podem durar por muito tempo, com estruturas locais estáveis. Esta última classe é considerada [[computacionalmente universal]], ou capaz de simular uma [[máquina de Turing]]. Tipos especiais de autômatos celulares são reversíveis, onde apenas uma única configuração leva diretamente a uma subsequente, e totalísticas, em que o valor futuro de células individuais depende apenas do valor total de um grupo de células vizinhas. Autômatos celulares podem simular uma variedade de sistemas do mundo real, incluindo [[Biologia|biológicos]] e [[Química|químicos]].
As classificações primárias de autômatos celulares, conforme descrito por Wolfram, são numeradas de um a quatro. Eles são, em ordem, autômatos nos quais os padrões geralmente se estabilizam em [[Homogeneidade e heterogeneidade|homogeneidade]], autômatos nos quais os padrões evoluem para estruturas principalmente estáveis ​​ou oscilantes, autômatos nos quais os padrões evoluem de maneira aparentemente caótica e autômatos nos quais os padrões se tornam extremamente complexos e podem durar por muito tempo, com estruturas locais estáveis. Esta última classe é considerada [[computacionalmente universal]], ou capaz de simular uma [[máquina de Turing]]. Tipos especiais de autômatos celulares são reversíveis, onde apenas uma única configuração leva diretamente a uma subsequente, e totalísticas, em que o valor futuro de células individuais depende apenas do valor total de um grupo de células vizinhas. Autômatos celulares podem simular uma variedade de sistemas do mundo real, incluindo [[Biologia|biológicos]] e [[Química|químicos]].


{{Referências}}
== História ==
Nos anos 1940, [[Stanisław Ulam]] estudou o crescimento dos cristais no Laboratório Nacional de Los Alamos, modelando-o usando uma grelha. Ao mesmo tempo, [[John von Neumann]], colega de Ulam em Los Alamos, trabalhava em sistemas auto-replicativos e encontrava dificuldades para explicitar o seu modelo inicial de um robô que fosse capaz de se copiar sozinho a partir de um conjunto de peças separadas. Ulam sugeriu-lhe que inspirasse nos seus trabalhos, o que conduziu a [[von Neumann]] a conceber um modelo matemático abstracto para seu problema. O resultado foi o “copiador e constructor universal” (universal copier and constructor, em inglês), o primeiro autómato celular, baseado numa grelha com duas dimensões onde cada célula podia estar em um de 29 estados.


==Bibliografia==
Em 1969, [[Konrad Zuse]] publicou o livro ''Rechnender Raum'' (“Calcular o espaço”) onde adiantou a hipótese de as leis físicas serem discretas e que o universo era o resultado de um gigantesco autómato celular.
{{Refbegin|30em}}

*{{cite book | title=Game of Life Cellular Automata|editor-first=Andrew | editor-last=Adamatzky | editor-link=Andrew Adamatzky | publisher=Springer | year=2010 | isbn=978-1-84996-216-2 }}
Nos anos 1970, um autómato celular a duas dimensões e dois estados, chamado “o [[jogo da vida]]”, inventado por [[John Conway]], conheceu um grande sucesso, particularmente entre a comunidade informática nascente. Foi popularizado por Martin Gardner num artigo da revista [[Scientific American]].
** Wainwright, Robert. "Conway's game of life: early personal recollections". Em Adamatzky (2010).

** Eppstein, David. "Growth and decay in life-like celular autometa". Em Adamatzky (2010).
Em 1983, [[Stephen Wolfram]] publicou a primeira de uma série das publicações onde analisou de uma maneira sistemática um tipo autómatos celulares muito simples. A complexidade do seu comportamento, induzida por régras elementares, levou-o a conjecturar que mecanismos similares poderiam esclarecer fenómenos físicos complexos, ideias que desenvolveu no seu livro ''A New Kind of Science'', publicado em 2002.
*{{cite book | first1=Iwo | last1=Bialynicki-Birula | first2=Iwona | last2=Bialynicka-Birula | title=Modeling Reality: How Computers Mirror Life | year=2004 | publisher=[[Oxford University Press]] | isbn=978-0198531005| ref=bialynick}}

*{{cite book | first1=Bastien | last1=Chopard | first2=Michel | last2=Droz | title=Cellular Automata Modeling of Physical Systems | year=2005 | publisher=[[Cambridge University Press]] | isbn=978-0-521-46168-9 | ref=chopard-droz}}
No seu livro ''The Lifebox, The Seashell and The Soul'', publicado 2005, o Dr. [[Rudy Rucker]] expandiu as teorias de Wolfram para uma teoria do ''Automatismo Universal'', que usa os autómatos celulares como um modelo para explicar como regras simples podem gerar resultados complexos [http://zenbullets.com/blog/?p=72]. Segundo esta teoria, tudo que existe no universo (o tempo meteorológico, a forma das folhas das árvores ou dos continentes, o movimento das estrelas, os processos da mente, etc) tem por base algoritmos simples capazes de gerar a complexidade que vemos nos mundos da física, biologia, sociedade, cultura e até da psicologia.
*{{cite book | editor=Gutowitz, Howard | title=Cellular Automata: Theory and Experiment | year=1991 | publisher=[[MIT Press]] | isbn=9780262570862 | ref=gutowitz}}

*{{cite book | author=Ilachinski, Andrew | title=Cellular Automata: A Discrete Universe | year=2001 | publisher=[[World Scientific]] | isbn=9789812381835 | ref=ilachinski}}
== Autómatos celulares unidimensionais ==
*{{cite book | first1=Lemont B. | last1=Kier | first2=Paul G. | last2=Seybold | first3=Chao-Kun | last3=Cheng | title=Modeling Chemical Systems using Cellular Automata | year=2005 | publisher=Springer | isbn=9781402036576 | ref=kier-seybold-cheng}}
O '''autómato celular''' mais simples e não trivial é unidimensional, com dois estados possíveis por célula e sendo os vizinhos de uma célula as células adjacentes de cada lado dela. Uma célula e as suas duas vizinhas formam uma vizinhança de 3 células, por isso existem 2³=8 padrões possíveis para uma vizinhança. Há então 2<sup>8</sup>=256 regras possíveis. Referem-se usualmente os autómatos pelo número decimal que, em binário, representa a tabela da regra. Por exemplo, a representação gráfica da evolução de um autómato com a regra 30 (em binário 11110) começando com um padrão de entrada inicial com apenas um 1 no centro é a seguinte:
*{{cite journal |last1=Kroc |first1=Jiří |last2=Jiménez-Morales |first2=Francisco |last3=Guisado |first3=José Luis |last4=Lemos |first4=María Carmen |last5=Tkáč |first5=Jakub |title=Building Efficient Computational Cellular Automata Models of Complex Systems: Background, Applications, Results, Software, and Pathologies |date=December 2019 |url=https://www.researchgate.net/publication/338019707 |journal=Advances in Complex Systems |volume=22 |issue=5 |pages=1950013 (38 pages) |doi=10.1142/S0219525919500139 |s2cid=212988726 }}

*{{cite book | author=Wolfram, Stephen | author-link=Stephen Wolfram | title=A New Kind of Science | year=2002 | publisher=[[Wolfram Media]] | isbn=978-1579550080 | ref=wolfram | url=https://archive.org/details/newkindofscience00wolf }}
<div align="center">
*[http://cafaq.com/ Cellular automaton FAQ] from the newsgroup comp.theory.cell-automata
[[Imagem:CA rule30s.png]]
*[http://cell-auto.com/neighbourhood/index.html "Neighbourhood Survey"] (includes discussion on triangular grids, and larger neighborhood CAs)

*von Neumann, John, 1966, ''The Theory of Self-reproducing Automata'', A. Burks, ed., Univ. of Illinois Press, Urbana, IL.
{| class="wikitable"
*[http://bactra.org/notebooks/cellular-automata.html Cosma Shalizi's Cellular Automata Notebook] contains an extensive list of academic and professional reference material.
|+ '''Autómato celular com Regra 30'''
*[http://www.stephenwolfram.com/publications/articles/ca/ Wolfram's papers on CAs] {{Webarchive|url=https://web.archive.org/web/20130927134344/http://www.stephenwolfram.com/publications/articles/ca/ |date=27 September 2013 }}
|-
*A.M. Turing. 1952. The Chemical Basis of Morphogenesis. ''Phil. Trans. Royal Society'', vol. B237, pp.&nbsp;37–72. (proposes reaction-diffusion, a type of continuous automaton).
|padrão actual
*Evolving Cellular Automata with Genetic Algorithms: A Review of Recent Work, Melanie Mitchell, James P. Crutchfeld, Rajarshi Das (In Proceedings of the First International Conference on Evolutionary Computation and Its Applications (EvCA'96). Moscow, Russia: Russian Academy of Sciences, 1996.)
|111
*The Evolutionary Design of Collective Computation in Cellular Automata, James P. Crutchfeld, Melanie Mitchell, Rajarshi Das (In J. P. Crutch¯eld and P. K. Schuster (editors), Evolutionary Dynamics|Exploring the Interplay of Selection, Neutrality, Accident, and Function. New York: Oxford University Press, 2002.)
|110
*The Evolution of Emergent Computation, James P. Crutchfield and Melanie Mitchell (SFI Technical Report 94-03-012)
|101
*[https://web.archive.org/web/20110718031006/http://www.wepapers.com/Papers/16352/files/swf/15001To20000/16352.swf Ganguly, Sikdar, Deutsch and Chaudhuri "A Survey on Cellular Automata"]
|100
{{Refend}}
|011
|010
|001
|000
|-
|| novo estado para a célula central
| align=center | 0
| align=center | 0
| align=center | 0
| align=center | 1
| align=center | 1
| align=center | 1
| align=center | 1
| align=center | 0
|}
</div>

Uma tabela define completamente uma regra de um autómato porque indica o que vai acontecer para cada um dos padrões possíveis para uma vizinhança. Por exemplo, a tabela da regra 30 diz que se três células adjacentes têm actualmente o padrão 100 (célula da esquerda a 1, com as outras a 0) ou 001 (célula da direita a 1, com as outras a 0) então a célula do meio tornar-se-a 1 na próxima iteração.

A regra 30 gera uma sequência aparentemente aleatória apesar da falta de qualquer coisa que poderia razoavelmente ser considerada uma entrada aleatória. [[Stephen Wolfram]] propôs usar a sua coluna central como um gerador de números pseudoaleatórios (PRNG); de facto, passa muitos testes padrão para a aleatoriedade e Stephen Wolfram usa esta regra na seu programa [[Mathematica]] para criar inteiros aleatórios. (Embora a regra 30 produza aleatoriedade para muitos padrões da entrada inicial, há também um número infinito dos testes padrões da entrada inicial que resultam num ciclo repetitivo. O exemplo trivial é o padrão da entrada que consiste somente de zeros.)

== Autómatos celulares bidimensionais ==
[[Imagem:Gospers glider gun.gif|thumb|180px|Animação do jogo da vida.]]
O '''autómato celular bidimensional''' mais conhecido é o [[jogo da vida]], inventado pelo matemático britânico [[John Horton Conway]] em 1970.

O jogo da vida é um autómato celular que simula processos de evolução de células biológicas. Pode-se provar que é um autómato «computacionalmente universal», ou seja, potencialmente seria capaz de simular qualquer sistema possível.

As regras deste autómato são as seguintes:

- Uma célula sobrevive (continua com um valor 1) se tem 2 ou 3 vizinhos vivos (com um valor 1).

- Uma nova célula é criada num quadrado vazio (o seu valor passa de 0 a 1) se esse quadrado tem exatamente 3 vizinhos vivos.

- Uma célula com 4 vizinhos vivos ou mais, acaba por morrer por excesso de população.

O jogo da vida em si consiste em escolher uma configuração inicial de células vivas tais que elas acabem por sobreviver.

== Autómatos celulares naturais ==
[[Imagem:Textile cone.JPG|thumb|direita|250px|''Conus textile'' apresentando um motivo parecido com o de certos autómatos celulares.]]

Os motivos de certas conchas são gerados como autómatos celulares naturais. As células responsáveis pela pigmentação estão situadas sobre uma banda estreita ao longo da boca da concha. Cada célula segrega pigmentos de acordo com a segregação (ou ausência de segregação) das suas vizinhas e o conjunto das células produz o motivo da concha à medida que ela cresce. Por exemplo, a espécie ''conus textile'' apresenta um motivo parecido com o de um autómato com regra 30.

== Uso em criptografia ==
Algumas regras de evolução de um autómato celular finito (como a regra 30) foram sugeridas como uma cifra possível para uso em [[criptografia]]. Dada uma regra, qualquer um pode facilmente calcular os estados futuros, mas parece ser muito difícil calcular estados precedentes. No entanto, o desenhador da regra pode criá-la de tal maneira que seja fácil invertê-la. Consequentemente, será uma função que pode ser usada como chave pública criptográfica. A segurança de tais sistemas não é actualmente conhecida.
{{commonscat|Cellular automata}}


==Ligações externas==
==Ligações externas==
{{Commons category|Cellular automata}}
*[http://to-campos.planetaclix.pt/fractal/celular/Vida.html O jogo da vida] e outros autómatos celulares bidimensionais (Ou Exclusivo, Gerador de padrões) - aplicação JAVA.
{{Wikibooks|Cellular Automata}}
*[http://to-campos.planetaclix.pt/fractal/celular/celular.html Autómatos Celulares Unidimensionais]- aplicação JAVA.
{{Refbegin}}
*[http://sjsu.rudyrucker.com/ Links, papers, and Java applets relating to Stephen Wolfram's book, A New Kind of Science.]
*{{cite SEP |url-id=cellular-automata |title=Cellular Automata |first=Francesco |last=Berto |first2=Jacopo |last2=Tagliabue}}
*[http://www.mirwoj.opus.chelm.pl/ca/ Mirek's Cellebration - a freeware CA program]
*[http://www.mirekw.com/ca/index.html Mirek's Cellebration] – Lar do software gratuito de explorador de autômatos celulares MCell e MJCell e bibliotecas de regras. O software suporta um grande número de regras 1D e 2D. O site fornece um extenso léxico de regras e muitas galerias de imagens carregadas de exemplos de regras. O MCell é um aplicativo do Windows, enquanto o MJCell é um applet Java. O código-fonte está disponível.
*[http://www.collidoscope.com/modernca/ Modern Cellular Automata]- Automatos celulares coloridos. O software de AC gratuito inclui regras para tabuleiros hexagonais.
*[https://web.archive.org/web/20040404023614/http://www.collidoscope.com/modernca/ Modern Cellular Automata] – Exposições interativas fáceis de usar de autômatos celulares 2D em cores vivas, com tecnologia Java applet. Estão incluídas exibições de regras tradicionais, reversíveis, hexagonais, de múltiplas etapas, geração fractal e geração de padrões. Milhares de regras são fornecidas para visualização. O software livre está disponível.
*[http://www.iwriteiam.nl/Rule30.html Repeating Rule 30 patterns]- Uma lista de imagens de entrada Rule 30 que produzem padrões repetitivos.
*[https://web.archive.org/web/20160114212847/http://necsi.edu/postdocs/sayama/sdsr/java/ Loops de auto-replicação no espaço celular] – exibições de loops de auto-replicação alimentadas por miniaplicativos Java.
*[http://kidojo.com/cellauto Web base CA generator]- Experimento na criação de imagens com autômatos celulares. (Código-fonte em C++ disponível)
*[https://web.archive.org/web/20160210112521/http://vlab.infotech.monash.edu.au/simulations/cellular-automata/ Uma coleção de mais de dez applets de autômatos celulares diferentes] (no Laboratório Virtual da Monash University)
*[http://necsi.org/postdocs/sayama/sdsr/java/ Self-replication in CAs (java applets)]
*[http://www.sourceforge.net/projects/golly Golly] suporta von Neumann, Nobili, GOL e muitos outros sistemas de autômatos celulares. Desenvolvido por Tomas Rokicki e Andrew Trevorrow. Este é o único simulador atualmente disponível que pode demonstrar a autorreplicação do tipo von Neumann.
*[http://kybernet.org/wiki/index.php/EvoCell EvoCell is a platform for evolving cellular automatons]- Publicado sobre a GPL
*[http://fourierlife.blogspot.com/ Fourier Life] - Uma coleção de regras que demonstram padrões auto-replicantes que emergem espontaneamente de um campo de células aleatórias. A maioria das regras foi encontrada usando um algoritmo que usa uma transformada de Fourier para detectar a autorreplicação.
*[http://sourceforge.net/projects/capig Cellular Automata Pre-Image Generator]- Use CAPIG para gerar pré-imagens de ACs. CAPIG é software livre e está sob a GPLv3.
*[http://mathworld.wolfram.com/CellularAutomaton.html Cellular Automaton] em [[MathWorld]]
*[http://atlas.wolfram.com/TOC/TOC_200.html Wolfram Atlas] Um atlas de vários tipos de autômatos celulares unidimensionais.
*[http://www.conwaylife.com/ Conway Life]
*[https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html Primeira criatura replicante gerada no simulador de vida]
*[https://web.archive.org/web/20120311205526/http://www.mmdr.it/provaEN.asp ''The Mathematics of the Models of Reference''], apresentando um tutorial geral sobre AC, applet interativo, código livre e recursos sobre AC como modelo de física fundamental
*[http://www.fourmilab.ch/cellab Fourmilab Cellular Automata Laboratory]
*[http://busyboxes.org Busy Boxes], um AC de arquitetura [https://web.archive.org/web/20121114100940/http://64.78.31.152/wp-content/uploads/2012/08/2stateRevCAin3D.pdf SALT SALT 3-D reversível]
*[https://web.archive.org/web/20151107004059/http://uncomp.uwe.ac.uk/genaro/CA_repository.html Cellular Automata Repository] (pesquisadores de AC, ligações históricas, ''software'' livre, livros e muito mais)
*[https://public.tableau.com/profile/a.m.5517#!/vizhome/CellularAutomatainTableau256/CellularAutomata256 Autômatos celulares em 256 regras] (visualização interativa de uma única folha de 256 regras elementares)
*[https://medium.com/swlh/building-simulations-with-a-go-cellular-automata-framework-89b2bb1246d3 Petri -- uma estrutura de autômatos celulares Go]
{{Refend}}
{{Portal3|Biologia}}


{{DEFAULTSORT:Automato Celular}}
[[Categoria:Autômatos celulares| ]]
[[Categoria:Autômatos celulares| ]]

Revisão das 10h32min de 28 de outubro de 2022

Glider Gun de Gosper criando "planadores" no autômato celular Conway's Game of Life[1]

Um autómato (português europeu) ou autômato (português brasileiro) celular (AC) é um modelo discreto de computação estudado na teoria dos autômatos. Autômatos celulares também são chamados de espaços celulares, autômatos de mosaico, estruturas homogêneas, estruturas celulares, estruturas de mosaico e arranjos iterativos.[2] Autômatos celulares encontraram aplicação em várias áreas, incluindo física, biologia teórica e modelagem de microestrutura.

Um autômato celular consiste em uma grade regular de células, cada uma em um número finito de estados, como ligado e desligado (em contraste com uma rede de mapa acoplado). A grade pode estar em qualquer número finito de dimensões. Para cada célula, um conjunto de células chamado vizinhança é definido em relação à célula especificada. Um estado inicial (tempo t = 0) é selecionado atribuindo um estado para cada célula. Uma nova geração é criada (avançando t em 1), de acordo com alguma regra fixa (geralmente, uma função matemática)[3] que determina o novo estado de cada célula em termos do estado atual da célula e dos estados das células em sua vizinhança. Normalmente, a regra para atualizar o estado das células é a mesma para cada célula e não muda ao longo do tempo, e é aplicada a toda a grade simultaneamente,[4] embora sejam conhecidas exceções, como o autômato celular estocástico e o autômato celular assíncrono.

O conceito foi originalmente descoberto na década de 1940 por Stanislaw Ulam e John von Neumann enquanto eles eram contemporâneos no Laboratório Nacional de Los Alamos. Embora estudado por alguns ao longo das décadas de 1950 e 1960, não foi até a década de 1970 e Conway's Game of Life, um autômato celular bidimensional, que o interesse no assunto se expandiu para além da academia. Na década de 1980, Stephen Wolfram se envolveu em um estudo sistemático de autômatos celulares unidimensionais, ou o que ele chama de autômatos celulares elementares; seu assistente de pesquisa Matthew Cook mostrou que uma dessas regras é Turing-completo.

As classificações primárias de autômatos celulares, conforme descrito por Wolfram, são numeradas de um a quatro. Eles são, em ordem, autômatos nos quais os padrões geralmente se estabilizam em homogeneidade, autômatos nos quais os padrões evoluem para estruturas principalmente estáveis ​​ou oscilantes, autômatos nos quais os padrões evoluem de maneira aparentemente caótica e autômatos nos quais os padrões se tornam extremamente complexos e podem durar por muito tempo, com estruturas locais estáveis. Esta última classe é considerada computacionalmente universal, ou capaz de simular uma máquina de Turing. Tipos especiais de autômatos celulares são reversíveis, onde apenas uma única configuração leva diretamente a uma subsequente, e totalísticas, em que o valor futuro de células individuais depende apenas do valor total de um grupo de células vizinhas. Autômatos celulares podem simular uma variedade de sistemas do mundo real, incluindo biológicos e químicos.

Referências

  1. Daniel Dennett (1995), Darwin's Dangerous Idea, Penguin Books, London, ISBN 978-0-14-016734-4, ISBN 0-14-016734-X
  2. Wolfram, Stephen (1983). «Statistical Mechanics of Cellular Automata». Reviews of Modern Physics. 55 (3): 601–644. Bibcode:1983RvMP...55..601W. doi:10.1103/RevModPhys.55.601. Consultado em 28 February 2011. Cópia arquivada em 21 September 2013  Verifique data em: |acessodata=, |arquivodata= (ajuda)
  3. Toffoli, Tommaso; Margolus, Norman (1987). Cellular Automata Machines: A New Environment for Modeling. [S.l.]: MIT Press. p. 27. ISBN 9780262200608 
  4. Schiff, Joel L. (2011). Cellular Automata: A Discrete View of the World. [S.l.]: Wiley & Sons, Inc. p. 40. ISBN 9781118030639 

Bibliografia

Ligações externas

O Commons possui uma categoria com imagens e outros ficheiros sobre Autómato celular
Wikilivros
Wikilivros
O Wikilivros tem um livro chamado Cellular Automata