MODELAGEM E IMPLEMENTAÇÃO DE JOGOS APLICADOS A APRENDIZAGEM DE MÁQUINA 1

Documentos relacionados
USO DE JOGOS LÓGICOS APLICADOS A APRENDIZAGEM DE MÁQUINA. 1

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

Algo+: um app para o auxílio na aprendizagem de programação

SOFTWARE EDUCATIVO. Ri-Li

Professora Orientadora do Departamento de Ciências Exatas e Engenharias. 4

Manual do Bovo. Aron Bostrom Eugene Trounev Tradução: Luiz Fernando Ranghetti BOVO N 5

ESTUDO DE PLATAFORMAS PARA A CONSTRUÇÃO DE APLICAÇÕES MÓVEIS. Gabriel de Biasi¹; Nilton Cézar de Paula²

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

DESENVOLVIMENTO DE APLICATIVO PARA GERENCIAMENTO E ACOMPANHAMENTO DE ESCAVAÇÃO ARQUEOLÓGICA

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

INTELIGÊNCIA ARTIFICIAL 2008/09

LA VOUIVRE JOGO DA GLÓRIA

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

MOODLE 3.2 MÓDULO BÁSICO EM CONSTRUÇÃO

Manual do KSquares. Matt Williams Revisor: Eugene Trounev Tradução: Luiz Fernando Ranghetti Tradução: André Marcelo Alvarenga

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

GUIA DO CLIENTE VETTI INSTALANDO SEU KIT IP-Onvif 720P

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Ambiente Virtual de Aprendizagem (AVA)

Manual de utilização

MANUAL DO INSTALADOR DE CURSOS VERSÃO

Material criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

IF Sudeste MG Notícias IF Sudeste MG News

Manual do Kiriki. Albert Astals Cid Eugene Trounev Tradução: Luiz Fernando Ranghetti

SISTEMA DE AUTOMAÇÃO RESIDENCIAL: ACESSIBILIDADE NO CONTROLE DOMÉSTICO JASON SCALCO PILOTI

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO - UFRJ. Instituto Tércio Pacitti de Aplicações e Pesquisas Computacionais - ince

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de

Sistema colaborativo para monitoramento de focos de Aedes aegypti

Apresentação. Acesso ao Moodle. O acesso será feito através do site

Manual de instruções do

Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula

MTA Monitor. Manual de Usuário. Transferência de Arquivos. Versão: Última modificação: 11/11/2014

Desenvolvimento de um aplicativo básico usando o Google Android

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

Refinamentos sucessivos

APÊNDICE C. Produto da Dissertação: Sequência de Atividades. Encontro 1 ( 2 períodos de 50 minutos)

CRIAÇÃO DE UM APLICATIVO DA USESKILL PARA O AMBIENTE MOBILE

CAPÍTULO 1. Os elementos. O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ

Behavioral Patterns Chain of ofresponsability

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

moodle mudou Um guia para auxiliar você no novo moodle da UFSM.

Manual do Picmi. Jakob Gruber Tradução: Marcus Gama

DESENVOLVIMENTO DE UM MODELO DE SIMULAÇÃO BASEADO EM UMA SOLUÇÃO DE INTEGRAÇÃO REAL UTILIZANDO A FERRAMENTA PRISM 1

Manual do KReversi. Clay Pradarits Desenvolvedor: Mario Weilguni Revisor: Lauri Watts Tradução: Stephen Killing

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO

MAC 115 Introdução à Ciência da Computação ROTHELO

Instalando o Eclipse e o Android

Usando um smartphone Android pela primeira vez? Calma que vamos te ajudar!

SISTEMA GUARDIÃO. Manual de Usuário

Microsoft Faculty Connection

UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória

Universidade Federal de Ciências da Saúde de Porto Alegre

Manual do KFourInLine. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Tradução: Marcus Gama Revisão: Stephen Killing

Curso online de Fundamentos em Android. Plano de Estudo

INF Fundamentos de Computação Gráfica /1

MyMLE MOODLE Ferramenta para desenvolvimento de Objetos de Aprendizagem para Celulares

DESENVOLVIMENTO DE UM APLICATIVO MÓVEL (JOGO) PARA AUXÍLIO NO ENSINO DE MATEMÁTICA. Beatriz Polita Franchin 1, Elvio Gilberto da Silva 2

Manual do Konquest. Nicholas Robbins Tradução: Stephen Killing

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

BI ApexBrasil. Mudanças da Versão 11g. BI 11g Fevereiro/2012

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

SOFTWARE EDUCATIVO. Manual CHILDSPLAY

6 IMPLEMENTAÇÃO DO MODELO DE REFERÊNCIA

Novo Painel de Gerenciamento dos produtos LifeSys MANUAL DO USUÁRIO

Manual da Turma Virtual: CONFIGURAÇÕES. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Desenvolvimento de Simuladores de Movimento em Escala para Análise e Visualização da Dinâmica de Veículos. Sistemas de Instrumentação e Controle.

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática

Passo-a-passo: como abrir os e-pubs sobre Astronomia

Aplicativo Mobile Usuário e Credenciada

ATIVIDADES PRÁTICAS SUPERVISIONADAS

APLICAÇÃO DE REDES NEURAIS RECORRENTES EM AMBIENTES PARCIALMENTE OBSERVÁVEIS 1

Ferramenta 1 -NetBeans 8.0

DESENVOLVIMENTO DE UM SISTEMA ELETRÔNICO E GRÁFICO PARA O ENSINO DA ENGENHARIA DE ESTRUTURAS COM O USO DO KIT ESTRUTURAL MOLA

Projeto GoHome. Tutorial de Instalação Android Studio e SDK

ELABORADO POR ALBINO SZESZ JUNIOR E JEAN POPOATZKI (NUTEAD/UEPG) PONTA GROSSA, MARÇO DE 2017

PROJETO CLUBE DE MATEMÁTICA

Design de Interface - Avaliação Final

DESENVOLVIMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO DE APLICAÇÕES PARA AUTOMATIZAR RESERVAS DE VIAGEM 1

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 14/360

Manual de Instruções. O que você vai precisar. Como usar o eclips3 Dongle:

Sankhya Web Connection. Versão: 02 Criado em: 28/03/2017

Manual do Kollision. Paolo Capriotti Tradução: Marcus Gama

DESENVOLVIMENTO DE UMA APLICAÇÃO PARA TESTES DE CONHECIMENTO EM MATEMÁTICA 1 DEVELOPMENT OF AN APPLICATION FOR KNOWLEDGE TESTS IN MATHEMATICS

Ferramenta: Spider-CoCoMo

Ciência da Computação

Salvar Relatórios em Arquivo

BOLETIM DE ATUALIZAÇÕES

Introdução. A quem se destina este livro. Sobre o que este livro é (e não é)

Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks

Manual do KBounce. Tomasz Boczkowski Revisor: Eugene Trounev Tradução: Luiz Fernando Ranghetti

Sistema de Importação de Avaliações PAINT (Integrador)

Guia do Usuário para Entrada de Dados em Android

Java Básico. Aula 1 por Thalles Cezar

Como criar menus para as suas planilhas

Transcrição:

MODELAGEM E IMPLEMENTAÇÃO DE JOGOS APLICADOS A APRENDIZAGEM DE MÁQUINA 1 Jean Rafael Reus Da Silva 2, Rafael Zancan Frantz 3, Sandro Sawicki 4. 1 Projeto de Iniciação Científica. 2 Aluno do Curso de Graduação em Ciências da Computação da UNIJUÍ, PIBIC/UNIJUÍ, jrafaelrs.silva@gmail.com 3 Professor Orientador, Doutor em Engenharia de Software, Curso de Ciências da Computação, rzfrantz@unijui.edu.br 4 Professor Orientador, Doutor em Ciências da Computação, Curso de Ciências da Computação, sawicki@unijui.edu.br INTRODUÇÃO Na atualidade, as tecnologias evoluiram a um ponto que oferecem grande mobilidade a seus usuários. Neste momento surgiu a necessidade de criarmos softwares que posam exercer funções em dispositivos móveis, que devem ser similares as realizadas em Desktops ou até iguais. Analizando o mercado atual é possível perceber que o Android é o sistema operacional com maior abrangência no mercado de dispositivos móveis, chegando a 79% das preferências em smartphones no mundo em 2013 segundo a firma Strategy Analytics, porém por ser uma tecnologia recente existe ainda uma falta de aplicativos em determinadas áreas. O foco desse projeto é a produção de jogos para serem utilizados em teste de técnicas de inteligência artificial e também para proporcionar aprendizagem de jogos que melhoram o raciocínio lógico, realizando assim a aproximação da forma de aprendizagem da maquina com a forma de aprendizagem humana, como é o caso do jogo de caça da lebre e cachorros, o qual foi produzido para aplicativos moveis no decorrer desse projeto. Durante o projeto é inevitável encontrar empecilhos, erros nos programas de desenvolvimento são os mais comuns, mas também existe a dificuldade de escolher o melhor método para estruturar o software, por se tratar de um sistema operacional recente ainda existem muitas divergências na hora de escolher a melhor forma de desenvolvimento e pouco material disponível. Nessa linha o projeto visa buscar uma melhor forma para desenvolver jogos e a melhor metodologia para implementá-los, utilizando o padrão de projeto MVC para aumentar as formas de uso, assim fazendo com que se possa testar as técnicas de inteligência artificial e serem utilizados para a aprendizagem de jogos específicos como é o caso do jogo lebre e cachorro produzido no projeto. METODOLOGIA

Para o desenvolvimento do projeto foi optado pela escolha da IDE Eclipse Juno 4.2, disponível gratuitamente para download no site http://www.eclipse.org/juno/, a escolha se deu pelo fato de ser uma boa ferramenta para a finalidade em questão, ocorrer a sua citação em vários fóruns destinados a debates sobre o desenvolvimento para o Android e por ser uma ferramenta grátis onde o usurário pode a modificar como desejar. Além da IDE é necessário à instalação de um Plug-in chamado SDK, é a sigla de Software Development Kit, ele é disponibilizado gratuitamente no site http://developer.android.com/sdk/index.html, no caso da IDE Eclipse basta somente instalar o Plugin e escolher as versões do Android para qual se deseje programar. Na hora de escolher a versão deve se levar em conta que muitos dispositivos ainda utilizam versões antigas por isso uma boa escolha é a versão 1.8, observando-se que ela serrá aceita pela maioria dos dispositivos com Android do mercado.. Onde o Java é utilizado como o motor do programa sendo com ele que serão criados os métodos e funções do programa, bem como todo o gerenciamento dele, exercendo assim a função de parte principal. O XML e responsável pela parte gráfica do programa e é nele que será controlada a parte de imagens e forma como será a visualização do programa e sua estrutura, também é responsável por ajudar no controle do programa, apesar de ser no Java que se criam os métodos que controlam o software é no XML que eles serão chamados, realizando o gerenciamento conforme o desejo do usuário. RESULTADOS E DISCUSSÃO O jogo desenvolvido foi o da lebre e cachorros, onde o jogador possui três peças sob seu controle representando os cachorros, enquanto isso a inteligência do jogo controla uma peça que representa a lebre. O objetivo do jogador é impedir que a lebre atravesse pelos cachorros e tentar encurralar a lebre para que a mesma fique sem movimentos, caso isso não ocorra o jogador perde a partida. Além dessa regra existem as que controlam as jogadas onde o jogador pode mexer suas peças apenas para frente ou para os lados, nunca para trás, em diagonal ou sobre a peça que representa a lebre. Por sua vez a lebre possui seu movimento livre entre as casas vazias, ou seja, ela é impedida apenas de ocupar as casas onde estão as peças que representam os cachorros e de passar sobre elas. A figura 1 mostra como é organizado a estrutura do jogo, onde cada quadrado metálico representa uma posição do tabuleiro, o qual será acionado somente após o jogador pressionar o botão Novo Jogo.

Figura 1 - Estrutura básica do jogo A seguir a figura 2 mostra como são dispostas as peças no inicio da partida, no qual os quados azuis representam o jogador, o quado vermelho representa a máquina, posicionadas aos extremos do tabuleiro representando os oponentes. Os quadros verdes representam as posições livres dentro do tabuleiro.

Figura 2 - Estrutura das peças no jogo Durante o jogo existem dicas para o jogador de onde ele poderá posicionar suas peças, mostrando as possibilidades de jogo, conforme figura 3, porém não informa a melhor estratégia a ser utilizada, como mostra na imagem três, quando for selecionar a peça a ser movimenta a mesma tem sua cor apagada e são marcadas em amarelo as posições para onde é possível fazer a movimentação, que deve ser apenas uma posição de cada vez.

Figura 3 - Dicas do jogo Os movimentos entre os jogadores são alternados, assim cada vez que o jogador movimenta uma de suas peças a inteligência do jogo movimentara a peça que representa o inimigo, como é o caso da figura 4, onde o jogo tentará ir cada vez mais a frente ou para as laterais do tabuleiro buscando desviar as peças do jogador de forma que ela possa ultrapassar por uma delas e terminar a partida com a menor quantidade de movimentos possíveis a serem realizados. A movimentação da peça vermelha é feita de maneira aleatoria, onde o código verifica se a posição sorteada estiver livre e assim movimenta a peça casso contrário faz um novo sorteio e se não for possível movimentá-la para nenhuma posição o jogo é dado como encerado e o jogador é o vitorioso.

Figura 4 - Movimento do jogo Toda vez que o jogador realizar um movimento ocorre um teste no software que verifica se a jogada é válida ou inválida, quando a jogada for inválida é retornado na tela o número da posição selecionada, onde ela é descrita como inválida, visualizado na figura 5, isso ocorrera caso tentar selecionar um campo que não represente a peça ou uma posição inválida para realizar o movimento da mesma, como está ilustrada na imagem cinco, mostrada a seguir. As posições são estabelecidas da esquerda para a direita e de baixo para cima onde cada quadrado é uma posição.

Figura 5 - Movimento invalido No caso do jogo ser utilizado para testar inteligência artificial, ela será representada pelas peças azuis, ou seja, representando o caçador. A diferença é que os dados enviados ao jogo não serão através da interface, mas sim diretamente ao controle dentro do código do jogo, assim ela controlará a variável responsável pela movimentação diretamente, onde essa retornara somente posições valida ocultando as invalidas do código. Necessitando assim a modificação de algumas partes do código referentes à entrada e saída de dados. Com isso o tempo necessário para cada execução será menor, nesse período também ocorrerá o desligamento da interface gráfica, para que desse modo ocorra uma quantidade ainda maior de execuções do jogo nesse período de tempo. A função destinada à parte visual do programa então é apenas mostrar a evolução da inteligência artificial, onde ela é executada a um determinado período de tempo que pode ser marcado por quantas vezes o jogo foi executado ou por minutos de execução. Por exemplo, a cada dez mil vezes que o programa for rodado ou 2 minutos sem a interface gráfica ativada será executado uma vez com a interface ativada para mostrar a evolução entre um período e outro. Assim o ciclo de evolução entre uma visualização e a outra será de dez mil vezes por exemplo. CONCLUSÕES

Considerando a quantidade de aplicativos para dispositivos móveis no mercado que estão exercendo as funções de testes de inteligência artificial e possibilitam o aprendizado de como ele será realizados encontrasse muito reduzido atualmente e de difícil compreensão. Deste modo o projeto foca em aplicativos para essa área da tecnologia, tendo como objetivo mostrar novos campos a serem explorados dentro dessa nova área da computação, visando principalmente a área de aprendizagem e desenvolvimento de habilidades humanas como é o caso de melhorar o raciocínio lógico. É gerado uma maior facilidade na hora de realizarmos testes, podendo ser utilizado de dispositivos moveis para a realização do mesmo e deixando a sua compreensão mais fácil ao publico em geral, sendo este em sua maioria leigos na computação ou desprovidos de conhecimento necessário de programação para a compreensão de um código sem interface gráfica. Palavras-chave: Android; Java; XML; Lebre e cachorros. AGRADECIMENTOS Ao CNPq pela concessão da bolsa de Iniciação em Desenvolvimento Tecnológico e Inovação (PIBIC). REFERÊNCIAS Eclipse Juno IDE 4.2, disponível em http://www.eclipse.org/juno/, acesso em 9 de abril de 2014. Android SDK, disponível em http://developer.android.com/sdk/index.html, acesso em 15 de maio de 2014. Java Documentação, disponível em http://docs.oracle.com/javase/7/docs/api/, acesso em 9 de abril de2014.