Você está na página 1de 11

FACULDADE 7 DE SETEMBRO FA7

CURSO DE SISTEMAS DE INFORMAO

MARCOS JOS DE CASTRO SARAIVA FILHO


STEFAN

JOHN CONWAYS GAME OF LIFE UMA IMPLEMENTAO

FORTALEZA
2016
MARCOS JOS DE CASTRO SARAIVA FILHO
STEFAN

JOHN CONWAYS GAME OF LIFE UMA IMPLEMENTAO

Trabalho da disciplina de Inteligncia Artificial do


curso de Sistemas de Informao do Centro
Universitrio 7 de Setembro para complemento de nota
da segunda avaliao parcial.

rea de habilitao:

Orientador: Me. Prof. Herleson Pontes

FORTALEZA
2016
LISTA DE FIGURAS

Figura 1 Tela Inicial do Aplicativo................................................................................. 7


LISTA DE TABELAS

Tabela 1 Regras da Simulao........................................................................................ 6


Tabela 2 Legenda de Componentes da Interface............................................................ 7
Tabela 3 Principais Funes no Cdigo.......................................................................... 8
SUMRIO

1 INTRODUO COMPREENSIVA ................................................................................... 4


1.1 JUSTIFICATIVA ................................................................................................................. 5
1.2 OBJETIVOS ......................................................................................................................... 6
1.2.1 objetivo geral .................................................................................................................... 6
1.2.2 objetivos especficos ......................................................................................................... 6
2 O JOGO DA VIDA DE JOHN CONWAY ......................................................................... 7
2.1 INTERFACE DO APLICATIVO ........................................................................................ 7
2.2 PRINCIPAIS SEES DE CDIGO.................................................................................. 8
2.2.1 funo gol() ....................................................................................................................... 8
3 CONCLUSO........................................................................................................................ 9
4

1 INTRODUO COMPREENSIVA

Estre trabalho detalha uma implementao particular do Game of Life de John


Conway, tambm conhecido simplesmente como Life. Apesar do nome sugerir, no se trata
exatamente de um jogo, mas sim de uma simulao de autmatos celulares, desenvolvido pelo
matemtico Britnico John Horton Conway no ano de 1970. No h jogadores, sendo
determinada a evoluo a partir do estado inicial e de uma srie de regras pr-estabelecidas.
Esta verso da simulao foi desenvolvida utilizando o framework Corona SDK, permitindo
que funcione em diversas plataformas. As regras da simulao foram estabelecidas previamente
na solicitao do trabalho.
5

1.1 JUSTIFICATIVA

Existem vrias verses da simulao Life disponveis, contudo, nenhuma atende as


regras especficas solicitadas no trabalho. Alm disso, o trabalho serve para demonstrar as
habilidades adquiridas durante o curso de Sistemas de Informao, principalmente em relao
a disciplina de Inteligncia Artificial, pois pede a aplicao do conceito de agente racional.
6

1.2 OBJETIVOS

Criar aplicativo que oferea uma verso do Game of Life que atenda a requisitos
especficos estabelecidos previamente.

1.2.1 objetivo geral

Oferecer um aplicativo com interface grfica para que o usurio possa configurar o
estado inicial da simulao e interagir com a mesma.

1.2.2 objetivos especficos

O aplicativo proposto deve apresentar um tabuleiro de tamanho 20x20, cujos espaos


tem dimenses idnticas. Neste tabuleiro, o usurio poder germinar em qualquer casa uma
clula viva de uma das espcies, denominadas A e B. Aps configurar o estado inicial, o usurio
poder executar um passo da simulao, como tambm disparar seu funcionamento automtico,
havendo a possibilidade de interromp-la e alterar o tabuleiro. Em cada iterao da simulao,
o programa percorrer o tabuleiro por completo para determinar qual ser o estado de cada
clula na prxima iterao, seguindo as regras estabelecidas na solicitao do trabalho e
descritas na tabela abaixo.
Tabela 1. Regras da Simulao
Espcie A Espcie B
1.Qualquer clula viva com menos de dois 1. Qualquer clula viva com menos de quatro
vizinhos vivos morre de solido. vizinhos vivos morre de solido.
2. Qualquer clula viva com mais de trs 2. Qualquer clula viva com mais de seis
vizinhos vivos morre de superpopulao. vizinhos vivos morre de superpopulao.
3. Qualquer casa com exatamente trs vizinhos 3. Qualquer casa com exatamente quatro
vivos se torna uma clula viva. vizinhos vivos se torna uma clula viva.
4. Qualquer clula com dois vizinhos vivos 4. Qualquer clula com dois ou trs vizinhos
continua no mesmo estado para a prxima vivos continua no mesmo estado para a
gerao. prxima gerao.
Fonte: Documento de solicitao do trabalho
7

2 O JOGO DA VIDA DE JOHN CONWAY

2.1 INTERFACE DO APLICATIVO

A interface do aplicativo quando iniciado apresentada abaixo:


Figura 1 Tela Inicial do Aplicativo

Fonte: Programa desenvolvido

Na tela apresentada acima, possvel observar a existncia de alguns componentes


como botes e contadores textuais. Segue uma breve descrio de cada um deles:
Tabela 2 Legenda de Componentes da Interface

NOME TIPO DO COMPONENTE FUNO


Run Boto Inicia a simulao automtica
Pause Boto Interrompe a simulao automtica
Step Boto Executa uma interao da simulao
Clear Boto Limpa toda a grade e reinicia os contadores
Debug Boto Exibe detalhes da grade no console do Corona
Iteration Speed Slider Altera a velocidade de cada iterao do jogo
Alive A Contador textual Indica o nmero de seres vivos da espcie A
Alive B Contador textual Indica o nmero de seres vivos da espcie B
# Births Contador textual Indica o nmero total de nascimentos
# Deaths Contador textual Indica o nmero total de mortes
Fonte: Programa desenvolvido
8

2.2 PRINCIPAIS SEES DE CDIGO

Todo o cdigo fonte do programa desenvolvido est contido em um nico arquivo,


main.lua. As principais funes contidas no cdigo esto listadas na tabela abaixo:
Tabela 3 Principais Funes no Cdigo
NOME UTILIDADE
initGrid Inicializa a grade que ir receber os agentes racionais
gol Contm a lgica que decide sobre a morte ou o nascimento dos autmatos
runGol Executa a funo gol de forma automtica
setSpeed Configura a velocidade da execuo automtica
stepGOL Executa uma iterao do jogo
spawnPiece Gera novas peas na grade
updateCounters Atualiza os contadores durante a execuo do jogo
Fonte: Programa desenvolvido

2.2.1 funo gol()

A funo gol(), nomeada assim por ser um acrnimo para Game of Life, a principal funo do
programa, sendo responsvel por decidir sobre o nascimento e morte de novos agentes. Seu
funcionamento bsico consiste em percorrer toda a grade em largura, visitar cada clula e realizar
algumas verificaes. Primeiro, obtm os vizinhos da clula visitada, os separando por espcie (A ou
B). Aps isso, verifica se a clula est vazia. Estando vazia, gera um novo autmato do tipo A h caso
haja 3 vizinhos dessa mesma espcie, ou um novo autmato do tipo B, casa haja 4 vizinhos desta outra
espcie, nessa ordem. Se a casa visitada no estiver vazia, obtm a espcie do autmato que est
naquele espao. Para ambos os tipos, novamente obtm seus vizinhos e os separa por espcie. Depois
decide se aquele autmato permanecer vivo ou ser marcado para morrer na prxima iterao de
gol(), cada tipo de acordo com as regras descritas na tabela 1.
9

3 CONCLUSO

Este trabalho apresente o desenvolvimento de uma verso do Jogo da Vida de John


Conway. Atravs do estudo sobre os Agentes Reativos Simples, foi possvel compreender e
demonstrar com sucesso o funcionamento desse tipo de agente, aplicando todos os conceitos
aprendidos durante o curso da disciplina.

Você também pode gostar