Agentes Reativos no Ambiente Virtual de

Propaganda
Agentes Reativos no Ambiente Virtual de Ensino Inteligente
utilizando Java 3D
Maria Augusta S. N. Nunes1•, Leandro L. Dihl2, Lisiane Oliveira, Cristiane R.
Woszezenki, Luciane Fraga, Deise J. Francisco •, Glaucio J.C. Machado •, Carmen R. D.
Nogueira •, Maria da Glória C. Notargiacomo2•
Universidade Regional Integrada – URI,Departamento de Engenharias e Ciência da Computação
GPEAD – Grupo de Educação à Distância
AV. Universidade das Missões 464Cp: 203 - Santo Ângelo - RS – Brasil -98802-470
Fone/Fax: 00- 55-55-3137900
{guta, ldihl, loli, cristianerw, fraga, dfrancis, gcmachado, crdn, gloria}@urisan.tche.br
ABSTRACT
This paper describes the Intelligent Virtual Teaching Environment (IVTE) implementation. IVTE software uses the
newest technologies to develop educational software. Technologies like Multi-Agent Systems, Virtual Reality,
Intelligent Tutoring Systems and Distance Learning are being used in it. The paper gives emphasis in reactive agents
model and implementation using Java and Java 3D API. It is going to describe an introduction in terms of MultiAgent Systems, mainly in Reactive Agents aspects. It will be talking briefly about IVTE project, followed by Java,
Java 3D API and finally, Reactive Agents in IVTE the software.
Keywords: Artificial Intelligence, Multi-Agents Systems, Computer in Education, Distance Learning, Reality
Virtual.
RESUMO
Este artigo descreve a modelagem e implementação de um Software Educacional Inteligente intitulado AVEIAmbiente Virtual de Ensino Inteligente. O AVEI utiliza tecnologias inovadoras para o desenvolvimento de um
software educacional adaptável ao aluno. Dentre estas tecnologias é destacado Sistemas Multiagentes, Realidade
Virtual e Educação à Distância. O artigo descreve a modelagem e implementação dos Agentes Reativos iniciando
por uma introdução de Sistemas Multiagentes, seguido por uma breve descrição do projeto AVEI, tecnologias de
modelagem de Agentes Reativos e, finalmente, conclusões e propostas de trabalho futuro.
Palavras Chaves: Inteligência Artificial, Sistemas Multiagentes, Informática na Educação, Educação à Distância,
Realidade Virtual.
1
Supervisor of IVTE project
GPEAD Group
2
Scholarship student
•
1. INTRODUÇÃO
Os softwares de ensino a distância por computador na área da educação estão sendo produzidos atualmente com
especial atenção. Por conseguinte, há interesses científicos em como desenvolver um software educacional eficiente,
barato e de qualidade. Assim Sistemas Multiagentes (SMA) na área de Inteligência Artificial parece preencher esta
lacuna. De acordo com Demazeau [1], SMA é um novo paradigma de programação que objetiva desenvolver
Software com agentes inteligentes. A tendência de um Software Educacional é usar conceitos de agentes capazes de
fornecer serviços complexos, agir e interagir no ambiente para alcançar objetivos específicos. Segundo Russel e
Norvig [2], um agente é qualquer coisa que pode perceber através de sensores e agir por dispositivos em um
ambiente. O agente pode ser implementado através de funções para perceber e agir no ambiente. Conforme Ferber
[3], um agente é uma entidade real ou virtual capaz de agir em um ambiente; pode comunicar-se diretamente com
outros agentes; é dirigido por um conjunto de objetivos; possui recursos próprios, ele é capaz de perceber seu
ambiente; possui habilidades e pode oferecer serviços; pode reproduzir-se, seu comportamento tende para satisfazer
os seus objetivos. Considerando estas razões, a metodologia de SMA é indicada à modelagem e implementação do
AVEI pois é diferente de todos os outros paradigmas de programação. Somando se a isso, o AVEI usa técnicas de
Realidade Virtual para simular o mundo real das crianças.
O AVEI modela um software educacional destinado a preparar crianças na faixa etária de 8 a 10 anos para a
conscientização com relação à coleta e seleção do lixo urbano.
2. AMBIENTE AVEI
O ambiente AVEI [4,5] é simulado por um vilarejo onde a criança realiza o trajeto de volta para a sua casa após um
dia na escola, podendo realizar diversos itinerários. O micromundo mostra características similares a realidade da
criança, sendo que o contexto no qual o ele está inserido representa ações que ocorrem no dia a dia de uma criança
brasileira. No Ambiente do AVEI, conforme na vida real, a criança poderá tomar diferentes caminhos (itinerários,
heurísticas) de sua escola até a sua casa. Todas estas decisões fornecem à criança uma possibilidade de interagir e
manter contato com os diferentes tipos de lixo da vida diária, desta maneira a criança terá a possibilidade de
selecioná-los corretamente (Figura 1).
Figura 1 – Tela Principal do AVEI
O ambiente trabalha em um contexto de Realidade Virtual não imersiva, onde o aluno tem a nítida sensação de
mergulho em um ambiente virtual. Portanto, o aluno possui uma visão parcial do ambiente, pois a tecnologia de
Realidade Virtual permite que o aluno visualize apenas o que está muito próximo dele. Para permitir o senso de
localização do aluno o ambiente dispõe de um “mapa”. Através do mapa o aluno verifica sua localização no
ambiente do jogo, bem como a localização dos outros alunos e dos elementos do cenário.
A ação do aluno no ambiente é proporcionada através dos elementos do cenário. O cenário é composto de diversos
caminhos entre a Escola e a residência do aluno. Nestes caminhos pode-se encontrar árvores, arbustos, fachadas de
casas, diferentes tipos de lixos espalhados pelo chão, vendedores de guloseimas. A ação do aluno acontece em dois
ambientes diferenciados, considerados como ambiente externo e interno.
Por ambiente externo pode-se considerar os caminhos que levam o aluno da escola a sua residência. Neste caminho o
aluno se depara com diferentes tipos de lixo já existentes no ambiente ou produzidos por ele próprio na interação. Os
lixos produzidos pelo aluno no ambiente externo decorrem da interação feita com o ambiente, como exemplo cita-se:
2
a compra de guloseimas, refrigerantes nos vendedores que se encontram nos caminhos, pedaços de papéis
encontrados no chão, folhas recém caídas das árvores, etc.
Por ambiente interno considera-se a residência do aluno, ou seja, os ambientes internos da residência onde o aluno
poderá interagir. O ambiente interno compreende a cozinha e o toilete da residência do aluno (Figura2). No
ambiente interno o aluno pode interagir com lixos como, iogurte, frutas saco de bolachas, pasta de dente, toalha de
papel, etc.
Figura 2 – Ambiente Interno
Tanto no ambiente externo como no interno o aluno terá disponível, lixeiras especiais para a seleção adequada do
lixo encontrado e/ou produzido. A lixeira seca é diferenciada da lixeira úmida pela coloração das mesmas no
ambiente. Desta maneira, a criança poderá conhece-los e fazer a sua seleção corretamente.
O ambiente possui vários recursos que auxiliam o aluno na sua aprendizagem. Existe no ambiente um dispositivo
que é controlado pelas ações dos alunos e é representada pelas fases de desenvolvimento de uma árvore, ela sofre
alterações com o passar do tempo dependendo se o aluno tem uma atitude correta ou não. Outro recurso que o aluno
dispõem é o mecanismo zoom onde ele pode verificar o resultado futuro de suas ações presentes Através do uso
deste dispositivo é permitido ao aluno ver o impacto de sua ação no ambiente após determinado tempo. (10, 20 ou
100 anos). O ambiente AVEI é multiusuário, ou seja, vários alunos podem interagir ao mesmo tempo, trocando
mensagens e conhecimentos adquiridos no ambiente. Além disso, o AVEI possui ainda um tutor inteligente chamado
GUILY, ele é representado por um agente pedagógico [6] que monitora as ações das crianças. O GUILY auxilia as
crianças através do envio de mensagens, e/ou expressões faciais e corporais.
3. ARQUITETURA DO AVEI
O AVEI é baseado em uma arquitetura híbrida de Sistemas Multiagentes composto de agentes reativos e cognitivos
[7]. SMA definem agentes capazes de fornecer serviços complexos, dessa forma, os agentes podem definir seus
próprios objetivos e planos, e executam complexas interações com os outros, usando um domínio de alto nível
independente das comunicações primitivas. Pode-se definir uma abordagem multiagente como sendo uma atividade
de agentes autônomos em um mundo multiagente.
Um sistema de agentes é semelhante a uma sociedade de seres que tentam resolver problemas específicos com suas
capacidades, e que trocam informações ou passam problemas adiante quando não têm capacidade de resolve-los.
Segundo Davidsson [8], um agente autônomo é "um sistema capaz de interagir independentemente e efetivamente
em seu ambiente através de seus próprios sensores e dispositivos, com o objetivo de realizar alguma tarefa dada ou
gerada por ele próprio".
Sistema Multiagente Reativo pode ser definido como um tipo de sociedade composta por agentes simples que
reagem a estímulos e não têm memória, isto é, não guardam ações ocorridas no passado, e, assim, não planejam
ações futuras.
Os agentes reativos são basicamente comportamentais, isto é, sofrem uma reação a partir de uma ação, chamados de
estímulo-resposta. Possuem capacidade de percepção e comunicação, a qual é propiciada através do ambiente, que é
utilizado como meio de transmissão de mensagens.
Segundo Ekdahl [9], os agentes reativos têm evidenciado suas limitações, embora sejam considerados mais eficientes
do que os agentes cognitivos para uma série de tarefas relacionadas ao acesso direto ao mundo real. Além de não
serem muito versáteis, eles têm problemas para obter conhecimento que dependa de raciocínio, pois o raciocínio
envolve elementos que não estão diretamente ligados à percepção.
3
4. AGENTES REATIVOS EM JAVA E JAVA 3D API
Java é uma linguagem orientada a objeto e desta maneira a sintaxe básica do AVEI será um conjunto de classes,
objetos e dados. Adicionando-se a isto o AVEI possui métodos codificados para manipular os dados. A API Java 3D
pode ser definida como um pacote de classes a ser utilizada juntamente com a linguagem Java, criando geometrias
em terceira dimensão e mundos virtuais. Segundo Sowizral [10], a API Java 3D é uma interface de programação
voltada para aplicações gráficas e applets tridimensionais.
Em Java 3D os elementos gráficos são construídos com objetos que podem ser tratados tanto individualmente quanto
em grupo. Em função disto, os objetos são interligados na forma de árvore. Este tipo estrutura possui uma descrição
de todo o universo virtual, como dados geométricos, atributos e a visualização a ser adotada na renderização da cena.
Para a modelagem de agentes reativos no AVEI utilizaremos agentes baseados em regras, ou seja, suas ações são
mapeadas em um conjunto de regras condição – ação. Se uma condição em regra especificada for satisfeita uma ação
deve ser tomada. As lixeiras e os lixos foram abstraídos como agentes reativos do AVEI.
Um construtor em Java é um método que tem o mesmo nome da classe e cujo propósito é executar toda a
inicialização necessária ao novo objeto. Utilizando uma abstração para o agente reativo lixo, podemos passar três
argumentos para a sua inicialização, os nodes superiores (pais) necessários para a implementação do objeto no
mundo virtual solicitados pela API Java 3D, um vetor com três pontos (x, y e z) que indique a sua posição no
micromundo virtual e tipo de lixo que deve ser criado (Figura 3).
/* O Construtor receberá o node Pai para ser inserido o novo objeto, uma string para identificar
o tipo do lixo e um vetor que indicará a sua posição no mundo virtual */
construtorLixo(Node_Pai node, String tipo_lixo, Vector3f position){
Scene scene = null;
VrmlLoader loader = new VrmlLoader;
geometria = this.ObjVrml(scene, loader, tipo_lixo); //Cria uma geometria.
node_Pai.setTranslation(position); //Configura a posição no mundo.
node_Pai.addChild(geometria);
return node_Pai;
}
Figure 3 - New object constructor in IVTE microworld
As geometrias utilizadas no AVEI serão criadas utilizando a linguagem Virtual Reality Model Language (VRML). A
figura 4 mostra um fragmento de codigo para utilização de um loader e inserção das geometrias no mundo virtual.
/* Método para a criação de uma geometria 3D utilizando um formato de arquivo VRML, recebe
um objeto Scene para ser inserida a cena, a classe Loader para ler o arquivo e uma string que é o
nome do arquivo em VRML */
public node ObjVrml(Scene scene, VrmlLoader loader, String string){
try {
URL loadUrl = new URL(string);
try {
scene = loader.load(new URL(string));
} catch (Exception e) {
System.out.println("Exception loading URL:" + e);
}
Node node = scene.getSceneGroup();
return node;
}
Figura 4 – Método do AVEI
4
Este método demonstra em linhas gerais como o agente lixo trata uma percepção baseada em um conjunto de regras
definidas. É passada a ele uma percepção do ambiente, dependo desta percepção o objeto possui um estado, este
estado é comparado com o conjunto de regras condição – ação, com esta comparação é gerada uma ação que o objeto
deve retornar (Figura 5).
método_agente_reativo_lixo (percepção)
{
regras : conjunto de regras percepção-ação para um problema específico
estado = Interpretar_entradas(percepção)
regra = Comparar_regras(estado,regras)
ação = Ação_regra(regra)
retornar ação
}
Figura 5 – Método do AVEI
As principais reações dos agentes se darão aos eventos disparados pelo usuário, ou seja, a criança ao encontrar um
lixo (agente) no ambiente, utilizando o mouse, poderá clicar sobre ele, os métodos do agente serão disparados e as
suas propriedades tais como nome, tipo, tempo de duração, devem ser armazenados, como se estivessem em poder da
criança. Quando a criança encontrar uma lixeira em seu trajeto, poderá clicar sobre ela e novos métodos do agente
serão disparados pelo evento do mouse que compararão o tipo de lixo armazenado com as regras de condição –
reação do agente.
Alguns agentes inseridos no AVEI poderão gerar novos agentes, ou seja, uma criança realiza a ação no ambiente de
comer um hotdog – agente hotdog – esse agente gera dois novos tipos de agentes lixo, o papel e o resto do hotdog.
Na figura 6 exemplificamos de maneira sucinta algumas ações e reações dos agentes reativos do AVEI.
Estimulo (razão para ação)
Objeto que reage
Agent_Alimento
Agent_lixo
MouseEvent.MOUSE_CLICKED Compra do alimento Armazenamento de
dados do agente
Armazenamento de
dados do agente
tempo
Dissolução do
Dissolução do lixo
alimento
Criação de novos
agentes
Usuá
rio
Agent_lixeira
Comparação do tipo
de lixo com o tipo
de lixeira
_____
Figure 6 – Algumas ações dos agentes do AVEI.
5. CONCLUSÕES E TRABALHOS FUTUROS
O trabalho desenvolvido é considerado de fundamental importância para o projeto AVEI pois contribui fortemente
para a área de Inteligência Artificial na Educação. Os Modelos de Agentes Reativos propostos neste trabalho trazem
inovações tecnológicas para implementação de Softwares Educacionais Inteligentes, transformado-os em softwares
mais adaptáveis ao aluno. As tecnologias utilizadas na implementação do AVEI são: A linguagem Java que permite
ao AVEI ser projetado como um software de Educação a Distancia; Realidade Virtual que possibilita ao AVEI ser
um software educacional mais próximo a realidade da criança; Sistemas Multiagentes que permitem ao AVEI ser
mais adaptável ao usuário e dar uma modularidade maior ao sistema; Os sistemas tutores inteligentes que dotam o
AVEI de características pedagógicas. Finalmente, a contribuição principal deste trabalho é considerada a modelagem
e criação de modelos de agentes reativos. Assim, o trabalho futuro consiste em desenvolver uma ferramenta de
autoria no contexto de software educacional para implementar micromundos virtuais baseados nos modelos de
agentes reativos utilizados no AVEI.
5
REFERÊNCIAS
[1] DEMAZEAU, Yves. Next Agent World. IN: ASAI´2000 Argentine Symposium on Artificial Intelligence.
Proceedings of ASAI´2000 SADIO: Tandil, Argentina, 2000. p 11-13.
[2] RUSSEL, Stuart, NORVIG, Peter. Artificial Intelligence: A Modern Approach. New Jersey: Prentice – Hall
Series in Artifice Intelligence, 1995.
[3] FERBER, Jaques. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. Great Britain:
Addison Wesley, 1999.
[4] NUNES, Maria Augusta Silveira Netto, DIHL, Leandro L. Modeling an Intelligent Virtual Teaching
Environment based on Multi-Agent Systems. In: IC-AI’2000 – International Conference in
Artificial Intelligence.Proceedings... CSREA: Las Vegas- Nevada – USA :2000.
[5] NUNES, Maria Augusta silveira Netto, CASTANHO, Carla L., DIHL, Leandro Lorenzet. IVTE – Intelligent
Virtual Teaching Environment. IN: CATE’2000 – COMPUTERS AND ADVANCED
TECNOLOGY IN EDUCATION, Proceedings... 2000, Cancun-Mexico. Iasted. v.1,p. 274278.
[6] OLIVEIRA, Lisiane Cézar de, DIHL, Leandro Lorenzet, NUNES, Maria A.S.N. Uma proposta de Software
Educacional Construtivista utilizando uma Metodologia Lúdica para a Conscientização da
importância da Coleta Seletiva do Lixo. WIE- Workshop Informática na Educação,2000
Anais...Passo Fundo: UPF Universidade de Passo Fundo.
[7] NUNES, Maria Augusta S. N. Modelagem de um Agente Cognitivo em um Ambiente de Simulação Utilizando
uma Arquitetura Híbrida em Sistema Multiagente. Porto Alegre: CPGCC-UFRGS, 1998.
Dissertação de Mestrado.
[8] DAVIDSSON, Paul On the Concept of Concept in the Context of Autonomous Agents. II World Conference on
the Fundamentals of Artificial Intelligence. pp. 85-96, 1995.
[9] EKDAHL, Bertil; ASTOR, Eric; DAVIDSSON, Paul Towards Anticipatory Agents. M. Woolridge and N. R.
Jennings, editors, Intelligent Agents Theories, Architectures, and Languages. Lecture Notes in
Artificial Intelligence 890, pp. 191-202, Springer Verlag, 1995.
[10] SOWIZRAL, Henry, RUSHFORTH Kevin, MICHAEL Deering, The Java 3D API Specification – USA :
ADDISON – WESLEY, 1997.
6
Download