Artigo 12 - Revista INICIARE - Rose TADS port ingl ok

Propaganda
159
ARTIGO ORIGINAL
ANÁLISE DO ALGORITMO JOGO DA VIDA
Junior Nakamura (1)
Rosely Scheffer (2)
(1)
Acadêmico do curso de Tecnologia em Análise e Desenvolvimento de Sistemas –
Faculdade Integrado de Campo Mourão
(2)
Coordenadora do curso de Tecnologia em Análise e Desenvolvimento de Sistemas
–Faculdade Integrado de Campo Mourão. E-mail: [email protected]
RESUMO
O algoritmo do jogo da vida, desenvolvido por John Horton Conway em 1970, é um
importante autômato celular que até os dias de hoje é utilizado em pesquisas na química,
biologia e ciências em geral. O objetivo dessa pesquisa é o de reproduzir o algoritmo do jogo
da vida para qualquer ambiente, não importando seu estado inicial. O algoritmo foi
desenvolvido na linguagem Java e deve simular quantas iterações forem solicitadas de
maneira exata. A metodologia utilizada foi a empírica, baseada em análises e testes, bem
como a revisão bibliográfica. Observou-se que em ambientes com alta população a tendência
é sempre de redução total da população em poucas gerações, já em ambientes de média
lotação, a estabilização da população é recorrente. Conclui-se que a pesquisa obteve êxito,
pois foram alcançados os objetivos propostos, demonstrando que o algoritmo do jogo da
vida até hoje é válido.
PALAVRAS CHAVE: algoritmo; jogo da vida; autômato celular; ambiente.
ANALYSIS ALGORITHM GAME OF LIFE
ABSTRACT
The Game of Life algorithm developed by John Horton Conway in 1970 is an important
cellular automata that even today is used for research in chemistry, biology and science in
general. The purpose of this research is to reproduce the game of life algorithm for any
environment regardless of its initial state. The algorithm was developed in java language and
must simulate as many interactions as required exactly. The methodology used was
empirical, with analysis and testing, and bibliographic review. It was observed that in
environments with high population the trend is total reduction of the population within a
few generations, however, on environments of medium population, the population
stabilization is recurrent. It is concluded that the research was successful because all the
goals were achieved, demonstrating that the game of life algorithm is valid until today.
KEYWORDS: algorithm; game of life; cellular automata; environment.
Revista Iniciare, Campo Mourão, v. 1, n. 1, p. 159-163, jul. /dez. 2016.
160
INTRODUÇÃO
O algoritmo do jogo da vida é conhecido como um autômato celular, foi
desenvolvido por John Horton Conway em meados da década de 1970 e é também
um modelo matemático de grande valia para estudos comportamentais de combate a
incêndios, combate a câncer, crescimento e morte de colônia de bactérias entre
outros.
Um autômato celular é baseado em quatro conceitos: o da geometria, que diz
respeito ao formato do ambiente; o das regras dos estados, que são de regras simples
que simulam mudanças e acontecimentos dentro de grupos de seres vivos; do estado
da célula, que deve ser finito e dizer respeito aos possíveis estados dessa célula (vivo
ou morto); e da vizinhança, que é a forma que elas se relacionam.
Hoje em dia existem diversas evoluções do jogo da vida que se aplicam a
contextos específicos, porém que se baseiam na ideia original. Sendo que uma de
suas aplicações práticas é o seu uso com as equações diferenciais utilizadas em
faculdades norte-americanas na pesquisa para entender o crescimento de câncer em
seres humanos.
O jogo da vida foi um passo importante para o desenvolvimento da
computação distribuída e redes peer- to-peer, que dentre outras coisas dependem da
cooperação de um conjunto de recursos para funcionar adequadamente.
Este estudo tem como objetivo reproduzir um algoritmo do jogo da vida
utilizando a linguagem Java para qualquer tipo de ambiente, não importando o
estado inicial, e o algoritmo deve simular um número indefinido de gerações. Para o
seu desenvolvimento adotou-se como ferramenta o NetBeans, bem como foi
utilizado o enunciado original sobre o jogo da vida.
2 METODOLOGIA
Para esta pesquisa, utilizou-se a revisão bibliográfica e o método empírico que
é aquele que se dedica ao tratamento da “face empírica e fatual da realidade; produz
e analisa dados, procedendo sempre pela via do controle empírico e fatual” (1).
A valorização desse tipo de pesquisa é pela “possibilidade que oferece de
maior concretude às argumentações, por mais tênue que possa ser a base fatual, pois
o significado dos dados empíricos depende do referencial teórico, porém estes dados
Revista Iniciare, Campo Mourão, v. 1, n. 1, p. 159-163, jul. /dez. 2016.
161
agregam impacto pertinente, sobretudo no sentido de facilitarem a aproximação
prática” (2).
Utilizou-se a ferramenta NetBeans e a linguagem Java e como notação optouse pelo uso de 0 para representar células mortas e 1 para células vivas. Exemplo: [1, 0,
1].
3 RESULTADOS E DISCUSSÕES
A partir do enunciado base do jogo da vida proposto por John Horton
Conway, reproduziu-se com exatidão o jogo da vida na linguagem Java em qualquer
tipo de ambiente, não importando seu estado inicial.
Observou-se que um algoritmo, proveniente dos anos 1970, até hoje funciona
perfeitamente, apenas com suas regras básicas e que pode ser adaptado para
qualquer linguagem computacional.
Percebeu-se ainda, que quando se utiliza uma matriz cheia, ou seja, um
ambiente com todos os seus integrantes vivos após duas gerações, a matriz ou o
ambiente fica totalmente vazio devido à superpopulação que é uma das regras do
jogo da vida.
Resultado para ambientes com superpopulação:
[1 1 1]
[1 1 1]
[1 1 1]
[1 0 1]
[0 0 0]
[1 0 1]
[0 0 0]
[0 0 0]
[0 0 0]
1ª Geração
2ª Geração
3ª Geração
Quando se utiliza uma matriz equilibrada, ou seja, um ambiente mais conciso
e com menos integrantes vivos e em lugares estratégicos, observa-se que a população
tende a estabilizar-se por N gerações.
Resultado para ambientes com população em equilíbrio:
0 0 0]
[1 1 0]
[1 1 0]
[0 0 0]
[1 1 0]
[1 1 0]
[0 0 0]
[1 1 0]
[1 1 0]
1ª Geração
100ª Geração
Nª Geração
Já em ambientes com escassez de indivíduos, ou seja, menos populosos existe
tendência à extinção completa da população, como no exemplo a seguir.
Revista Iniciare, Campo Mourão, v. 1, n. 1, p. 159-163, jul. /dez. 2016.
162
Resultado para ambientes com subpopulação:
0 0 0]
[1 0 0]
[0 1 0]
[0 0 0]
[0 0 0]
[0 0 0]
1ª Geração
2ª Geração
Esses resultados demonstram certos padrões e modos de crescimento, morte e
estabilização de seres vivos, tais como: a tendência à extinção quando ocorre
superpopulação e subpopulação em um ambiente; a estabilização da população em
ambientes com população equilibrada.
Além disso, pôde-se perceber que com testes maiores poderia se chegar a
resultados mais significativos, no entanto, o objetivo da pesquisa era apenas o de
implementar esse algoritmo e analisar alguns resultados obtidos.
4 CONSIDERAÇÕES FINAIS
O algoritmo do jogo da vida foi o resultado de uma grande pesquisa que se
baseou nos autômatos celulares de John Von Neumann, que até hoje possuí grande
valia para as ciências de modo geral.
Observou-se que o mais interessante de um autômato celular é sua
simplicidade conceitual, que se baseia em quatro fatores principais: a geometria,
regras de estado, estado da célula e a vizinhança. Devido a essa objetividade e
simplicidade que um autômato celular possui, muitos pesquisadores foram atraídos
para esse tema e acabaram por evoluir o projeto.
O jogo da vida é um dos resultados mais famosos de um autômato celular e o
seu enunciado base pode ser implementado em qualquer linguagem computacional
obtendo-se o mesmo resultado.
Essa pesquisa demonstrou que quanto mais cheio e populoso for a matriz ou o
ambiente, existe uma tendência à redução e extinção da população em poucas
gerações posteriores. Além disso, quando o ambiente apresenta uma subpopulação, a
tendência à extinção é grande, e em ambientes que possuem uma população mais
coesa e equilibrada, há tendência à estabilização populacional por N gerações
posteriores.
Revista Iniciare, Campo Mourão, v. 1, n. 1, p. 159-163, jul. /dez. 2016.
163
Esse resultado mostra que para perpetuação de uma colônia de seres vivos em
um ambiente controlado é preferível o equilíbrio populacional em detrimento aos
extremos populacionais.
A pesquisa obteve êxito pode ser considerada um sucesso, tendo em vista que
cumpriu seus objetivos, os quais eram de implementar um algoritmo para simular
gerações do jogo da vida na linguagem Java em quaisquer tipos de ambientes.
REFERÊNCIAS
(1)
DEMO, Pedro. Metodologia do conhecimento científico. São Paulo: Atlas,
2000.
DEMO, Pedro. Pesquisa e construção do conhecimento: metodologia
(2)
científica no caminho de Habermas. Rio de Janeiro: Tempo Brasileiro, 1994.
Enviado: 14/07/2016
Aceito: 14/08/2016
Publicado: 09/2016
Revista Iniciare, Campo Mourão, v. 1, n. 1, p. 159-163, jul. /dez. 2016.
Download