|
||
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 5. Informática na Educação | ||
AMBIENTE PARA SIMULAÇÃO DE AUTÔMATOS VIRTUAIS EM LINGUAGEM PASCAL COMO SUPORTE AO ENSINO DE PROGRAMAÇÃO E INTELIGÊNCIA ARTIFICIAL | ||
Jorge André G. Albuquerque 1 (Prof. Dr. / jorge@faculdadefb.com.br), Felipe Oquendo Nogueira 1 e Ramon Siebra 1 | ||
(1. Curso de Ciências da Computação da Faculdade Farias Brito, FFB) | ||
INTRODUÇÃO:
A literatura aponta uma dificuldade em manter o interesse do aluno no aprendizado de linguagens algorítmicas no ensino superior da área de ciências exatas, causando baixo rendimento e evasão. A concepção de jogos, adequada ao escopo dos ambientes de simulação para multi-agentes, apresenta na literatura um grande motivador para a aplicação da lógica aprendida em cursos de programação. Os jogos possuem uma meta bem definida, representada pela tarefa a ser executada, a característica da competitividade e as regras bem definidas que permitem caracterizar uma forma de avaliar a performance dos participantes. Este trabalho apresenta um ambiente gratuito para compilação em linguagem Pascal de um jogo de guerra de autômatos competitivos orientados a meta. Neste ambiente, equipes de alunos utilizam livremente o ambiente para desenvolver algoritmos de inteligência artificial contando apenas com os fundamentos de programação, que devem competir entre si. |
||
METODOLOGIA:
O ambiente de simulação do jogo foi escrito em linguagem Pascal, consistindo de um módulo de lógica do jogo, das bibliotecas de funções dos alunos e da interface gráfica do usuário (GUI). O ambiente do jogo representa uma grade computacional ou tabuleiro (pré-definido em 128 x 128 posições), onde cada robô ocupa uma posição aleatoriamente definida. Para cada rodada do jogo, os robôs recebem uma visão do campo em uma região quadrada de 12 posições, centrada no mesmo, denominada “radar”, e deve retornar uma ação na forma de um byte. Cada robô consiste de uma função implementada pelos alunos em linguagem Pascal, onde são recebidos por valor a matriz “radar”, na forma de um vetor de 128 x 3 bytes, representando a posição relativa de um objeto e um código para o objeto visto (tais como robôs ou paredes do tabuleiro). Também é recebido um vetor de 128 bytes por referência que pode ser utilizado como memória. Em reação ao ambiente o robô retorna um código para passar a rodada, movimentar-se ou atirar em uma das 8 direções. O projétil se move no dobro da velocidade dos robôs e não é possível atirar consecutivamente 3 vezes. O robô é destruído ao ser atingido por projétil, colidir com outro robô ou com a parede do tabuleiro. Cada destruição custa um ponto a equipe que projetou o robô, e cada robô alvejado acrescenta um ponto na competição. |
||
RESULTADOS:
O ambiente de simulação foi denominado “rMatrix” e empregado na disciplina de “Introdução à Programação” do curso de ciência da computação da Faculdade Farias Brito. O projeto dos robôs foi assumido como avaliação final da disciplina, onde a nota de cada equipe foi assumida por uma proporção entre a colocação geral de seu robô em um total de um milhão de rodadas do jogo. Os alunos contaram com três meses para desenvolvimento de suas funções, que podiam simular livremente do ambiente “rMatrix” contra 15 robôs aleatórios. No final das aulas, um intervalo foi dedicado à discussão conceitual de algoritmos avançados como algoritmos gulosos, backtracking e redes Bayesianas. Os alunos foram deixados livre para implementar suas funções usando a estratégia lhes conviesse. Foram entregues um total de 12 implementações de robôs, onde além da competição individual, ocorreu ainda uma divisão das equipes da manhã e noite, com um ponto extra a equipe campeã. O jogo foi executado paralelamente em três dias em 5 computadores Pentium IV, totalizando um milhão de rodadas. A equipe campeã conseguiu a melhor pontuação superior ao dobro do segundo colocado. Os alunos foram obrigados gerar um procedimental de sub-funções para manejar a complexidade do problema. A estratégia empregada pela maioria consistia de uma árvore de decisão baseada em prioridades entre as opções de se esquivar de projétil e atirar. As equipes melhores colocadas usaram alguma técnica exaustiva. |
||
CONCLUSÕES:
Em geral, as implementações revelaram criatividade e domínio da lógica de programação. Foi observado envolvimento e motivação dos alunos com o projeto final de curso, representado pela competição com o ambiente rMatrix. Houve um incremento das notas da disciplina em relação às provas anteriores de 1,9±1,5 pontos. A solução proposta se mostrou uma ferramenta robusta ao suporte a aulas práticas de algoritmos em linguagem Pascal, permitindo explorar conceitos avançados mesmo em disciplinas introdutórias. A interface gráfica do jogo permitia aos alunos acompanharem a implementação de seus algoritmos assim como visualizar seu desempenho contra as equipes rivais, trazendo grande envolvimento e formação de uma visão de grupo. O ambiente de simulação, com as implementações das equipes pode ser encontrada em http://www.fbtechcenter.com/free/rmatrix. |
||
Palavras-chave: algoritmos; inteligência artificial; ensino em ciência da computação. | ||
Anais da 57ª Reunião Anual da SBPC - Fortaleza, CE - Julho/2005 |