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