|
Acadêmico(a): Germano Fronza |
Título: Simulador de um Ambiente Virtual Distribuído Multiusuário para Batalhas de Tanques 3D com Inteligência Baseada em Agentes BDI |
|
Introdução: |
Com o progresso das técnicas de computação, principalmente na área gráfica e de
inteligência artificial, tem sido possível a construção de ferramentas que simulam
determinadas atividades do mundo real. Tais simuladores possuem a responsabilidade de
produzirem cenários sempre mais convincentes, para que possam ser extraídos resultados e
utilizá-los, se necessário, em atividades reais.
No início, devido a complexidade e falta de recursos, as interfaces eram criadas em
modelos 2D. Porém, com o avanço dos computadores e das técnicas de computação gráfica já
é possível a criação de ambientes 3D que representam o mundo real. Entre essas aplicações
3D encontram-se os simuladores de ambientes virtuais.
Um ambiente virtual é um cenário 3D gerado por computador, através de técnicas de
computação gráfica, usado para representar um mundo real ou fictício (PINHO et al., 1999).
Estes cenários possuem a característica de se modificarem durante sua execução conforme
seus integrantes interagem com o ambiente.
Uma das classificações dos ambientes virtuais vem da necessidade de suportar um ou
mais usuários e permitir que estes estejam em computadores distintos. Quando surge a
necessidade de um ambiente comportar vários usuários, este é denominado de Ambiente
Virtual Distribuído (AVD).
Segundo Singhal e Zyda (1999, p. 2), um AVD é um sistema computacional onde
vários usuários interagem entre si em tempo real, mesmo que estes usuários estejam em
lugares remotos. Tipicamente, cada usuário acessa o ambiente virtual através de uma interface
usando o seu próprio computador.
Conforme a popularização das engines gráficas1 freeware e open-source desenvolvidas
para linguagens atuais, como Java e .NET, o alto nível de abstração tem contribuído para a
criação, com mais facilidade, de Rich Interface Applications (RIA), em português, Aplicações
com Interfaces Ricas (AIR).
Entretanto, para que uma aplicação possa simular o mundo real, não é suficiente ter
apenas gráficos de qualidade, é necessário também que os personagens que o compõem ajam
de forma natural, pretendendo ser cada vez mais convincentes.
Neste ponto, algumas áreas da inteligência artificial podem ser muito úteis. Uma delas
1 Engine gráfica é usada no texto para descrever um middleware para construção de aplicações gráficas 3D.
15
é a área de Sistemas MultiAgentes (SMA) baseados na arquitetura Beliefs-Desires-Intentions
(BDI). Tal arquitetura provê formas de programação de agentes cujas características muito se
assemelham às dos seres humanos, ou seja, baseados em crenças, desejos e intenções.
Atualmente, nas aulas de inteligência artificial das universidades, quando estudam-se
assuntos referentes a SMAs, tem-se muitas dificuldades na criação de exemplos que envolvam
uma grande variedade de práticas destes sistemas. Isso faz com que sejam especificados
exemplos menores e pouco motivadores para aplicar tais técnicas. Todavia, acostumados com
o paradigma de Programação Orientada a Objetos (POO), muitos alunos deixam de gostar da
área de Programação Orientada a Agentes (POA), justo porque não vêem a aplicabilidade
desta em sistemas reais, que por sua vez são mais complexos.
Concentrando-se nesses fatores, procurou-se desenvolver um simulador de um
ambiente virtual distribuído em 3D, para que estudantes da área de inteligência artificial
possam programar agentes (que representem os tanques de guerra no cenário) na linguagem
AgentSpeak(L) do interpretador Jason. Para participar da batalha, os estudantes devem formar
times de tanques, ou seja, desenvolver agentes que cooperem entre si para atingirem o
objetivo de vencer a batalha.
O simulador, além de permitir o controle dos tanques de guerra através de agentes
(comportamento autônomo e cooperativo), permite também que os tanques sejam controlados
por usuários (através de avatares) durante a execução da batalha, usando teclado e mouse,
conforme exemplifica a Figura 1. Com isso, os estudantes podem formar times de tanques
avatares, controlando-os em tempo real para batalhar contra seus times programados na forma
de agentes, podendo assim verificar o quão eficiente os mesmos podem ser.
Neste trabalho, desenvolveu-se um AVD com uma arquitetura híbrida (com
características de arquitetura centralizada combinadas com arquitetura distribuída), composto
por um servidor e vários clientes. O aplicativo servidor é responsável por interceptar
determinadas mensagens enviadas pelos clientes e manipular o corrente estado do AVD. O
aplicativo cliente é responsável por exibir a cena 3D, baseado em eventos do usuário, estado
do AVD armazenado localmente e mensagens recebidas de outros usuários. Além disso,
dependendo do tipo do cliente, pode servir de estação de entrada de comandos de controle do
tanque, ou servir para executar agentes dentro do ambiente Jason.
|
|
|