MutantIS - Uma Arquitetura Multi-Agente para a Autoria de Tutores Inteligente

Artigo Completo


Breno F. T. Azevedo
 Orivaldo de L. Tavares
 Davidson Cury
breno@rol.com.br
 tavares@inf.ufes.br
 dede@inf.ufes.br

Universidade Federal do Espírito Santo
Centro Tecnológico - Mestrado em Informática
Av. Fernando Ferrari, s/n - Campus de Goiabeiras
CEP 29060-900 - Vitória - ES - Brasil

Resumo

Este artigo apresenta uma arquitetura multi-agente para tutores inteligentes, usada pelo MutAntIS, um sistema tutor que ajuda no aprendizado de conceitos de orientação a objeto. Descreve os agentes inteligentes que compõem essa arquitetura, com as heurísticas (conhecimento) de cada um, bem como a topologia deles em uma rede de computadores que suporte a WWW (World Wide Web). Mostra que mudando-se apenas um agente do MutAntIS, o agente especialista, instancia-se um sistema tutor para outro domínio. Aborda também algumas técnicas de análise de resposta usadas por esse sistema.

Palavras-chave: Arquiteturas Distribuídas para Software Educativo, Inteligência Artificial Aplicada à Educação.

Abstract

This paper presents an MultAgent Architecture for Intelligent Tutoring Systems, used by MutAntIS, a tutoring system to help in the learning of object orientation concepts. It describes the intelligent agents that compose this architecture, with their heuristics (knowledge), and their topology on the Internet. It shows that is necessary to change only one agent, the expert agent, to instanciate a tutoring system to another domain. It presents also some diagnostic techniques used by that system.

Keywords: Distributed Architecture for Educational Software, Artficial Intelligence in Education.
 
 

  1. Introdução

  2.  

     

    A utilização do computador na educação vem demonstrando ser um grande auxílio no processo de ensino-aprendizagem. Uma das formas desta utilização é através de software educacional, um software para auxiliar um estudante no aprendizado de um determinado conteúdo. Um software educacional possui o objetivo de auxiliar o professor no processo de ensino-aprendizagem, fazendo com que o mesmo tenha a seu dispor valiosos recursos para ajudá-lo com seus alunos [Cury96, Azevedo97].

    A utilização de agentes inteligentes para construção de sistemas tutores inteligentes (STIs) possibilita o desenvolvimento de diferentes raciocínios e a integração de várias ações para alcançar um determinado objetivo. Além disso, a utilização de agentes inteligentes é uma boa opção para reduzir o custo dos sistemas tutores inteligentes, devido à reusabilidade dos softwares baseados em agentes. Com a utilização de agentes inteligentes, os tutores podem se tornar modulares e podem permitir evolução.

    Com a grande disseminação do uso da "World Wide Web" (WWW) e com o seu poder de alcançar pessoas nos mais diversos lugares do mundo, a WWW tornou-se um grande recurso para distribuição de informação e para vários outros fins. Dentro dessas perspectivas, pode-se utilizar a WWW com fins educacionais [Schneider95], de diversas formas. Uma delas é a utilização de softwares educacionais.

    Este artigo apresenta um prototipo de um STI, o MutAntIS, organizado segundo uma arquitetura multi-agente. Na seção 2 é feita sua apresentação geral e, mais especificamente, sobre seus agentes e suas técnicas de análise de resposta. A seção 3 discute suas facilidades de autoria e a seção 4 exemplifica sua utilização. E, finalmente, a seção 5 contém algumas conclusões e propõe trabalhos futuros.

  3. O MutAntIS
O MutAntIS é um STI baseado em uma arquitetura multi-agente que constitui uma sociedade de agentes inteligentes, onde cada um possui suas tarefas e se comunica com os demais.

Os agentes dessa arquitetura podem estar em um único computador ou podem estar localizados em computadores diferentes, estando interligados por uma rede. Na primeira abordagem, o MutAntIS estará localizado em um único computador, podendo ser utilizado por vários aprendizes, alternadamente. Na segunda, ele poderá ser utilizado por vários aprendizes simultaneamente, onde cada aprendiz estará em um computador interligado pela rede. Nesse segundo caso, o MutAntIS possuirá um agente que estará sendo executado no computador do aprendiz, enquanto os outros agentes estarão sendo executados de forma distribuída através da rede.

O MutAntIS possui a arquitetura multi-agente apresentada na figura 1.
 

Fig. 1: Arquitetura multi-agente do MutAntIS.

Cada um dos agentes dessa arquitetura possui: um conjunto de tarefas específicas que ele deve realizar, um conjunto de informações que ele deve apresentar a outros agentes e um conjunto de informações que ele deve adquirir de outros agentes.

Para realizar a troca de informação entre os agentes é necessária uma linguagem. Após várias pesquisas foi escolhida a linguagem KQML (Knowledge Query and Manipulation Language) [Finin94] para essa finalidade. Os agentes dessa arquitetura interagem entre si, trocando mensagens, cooperando entre si, para que o MutantIS possa auxiliar o aprendiz. A utilização dessa arquitetura multi-agente para construção de sistemas tutores inteligentes, traz várias vantagens, como:

Como estudo de caso foi construído um protótipo para o domínio de Conceitos de Orientação a Objetos, devido à sua importância em cursos de graduação de informática.
    1. Descrição dos Agentes Inteligentes do MutAntIS
Em seguida descrevemos as principais características dos agentes da arquitetura.

Apresentador

Esse agente é responsável pela interface do aprendiz com o MutAntIS, sendo responsável pelo controle da interação entre o aprendiz e o sistema. A interface do MutAntIS com o aprendiz será na forma de perguntas de múltipla escolha. O Apresentador é responsável por apresentar as perguntas ao aprendiz e receber as respostas. As perguntas são enviadas ao Apresentador pelo agente Tutor, e as respostas dadas pelo aprendiz são enviadas pelo Apresentador ao agente Aprendiz. O Apresentador também é responsável por apresentar ao aprendiz as dicas provenientes do Companheiro.

O Apresentador também recebe informações particulares do aprendiz, como: identificação, nome, e-mail e o nível de conhecimento inicial (se o aprendiz "conhece" ou não os conceitos do domínio). Estas informações são enviadas ao agente Aprendiz. O Apresentador pode estar localizado no mesmo computador dos outros agentes ou pode estar localizado em outro(s) computador(es) em uma rede. No primeiro caso, o MutAntIS pode ser utilizado alternadamente por vários aprendizes. No segundo caso, o MutAntIS pode ser utilizado simultaneamente por vários aprendizes. Nesse último caso, é necessário que em cada computador da rede, onde estiver um aprendiz, haja um agente Apresentador.

Mediador

A função deste agente é atuar como um elo de ligação entre todos os agentes, fazendo um roteamento de mensagens entre eles. Quando o MutAntIS for inicializado, todos os agentes devem enviar ao Mediador os serviços que eles oferecem (as tarefas que eles podem executar) e as necessidades de cada um (as informações de que precisam). Com isso, o Mediador será capaz de "saber" quais os serviços oferecidos por cada agente e as necessidades de cada um.

Durante o funcionamento do MutAntIS, toda vez que um agente executar um serviço, ele enviará uma mensagem ao Mediador com as informações sobre o serviço realizado. Ao receber esta mensagem, o Mediador enviará as informações do serviço ao agente que tem necessidade em recebê-las. Da mesma forma, toda vez que um agente precisar de informações (necessidade), ele enviará uma mensagem ao Mediador, pedindo as informações que deseja. Ao receber essa mensagem, o Mediador enviará o pedido das informações ao agente que pode fornecê-las, isto é, ele enviará a mensagem ao agente que oferece o serviço desejado.

Para realizar as suas tarefas, o agente Mediador possui uma base de conhecimento com o endereço, os serviços e as necessidades de cada agente.

Aprendiz

É responsável por criar e manter modelos dos aprendizes que utilizam o MutAntIS. Esses modelos retratam o estado atual do conhecimento e do comportamento dos aprendizes. O modelo do aprendiz é construído dinamicamente, à medida que o aprendiz utiliza o MutAntIS e contém: características do aprendiz (identificação, nome, e-mail, nível de conhecimento anterior), os conceitos aprendidos e o histórico do aprendiz (informações sobre as sessões realizadas pelo aprendiz durante sua interação com o sistema). O histórico contém todas as perguntas já apresentadas ao aprendiz, com as respectivas respostas dadas por ele.

Na primeira interação do aprendiz com o MutAntIS, o agente Aprendiz deve começar a construir o modelo do aprendiz, que pode variar de acordo com o nível de conhecimento anterior que o aprendiz possui sobre o domínio em questão. O agente Aprendiz deve fornecer informações ao agente Tutor para identificação de deficiências no modelo do aprendiz e para controle do progresso do aprendiz.

Para realizar as suas tarefas, o agente Aprendiz possui uma base de conhecimento com: as características (identificação, nome, e-mail, nível de conhecimento), os conceitos aprendidos e o histórico do aprendiz.

Companheiro

O papel do agente Companheiro é fornecer dicas ao aprendiz, de forma a ajudá-lo a responder as perguntas feitas pelo MutAntIS. Essas dicas auxiliam o aprendiz a escolher qual caminho seguir, ao responder uma pergunta. As dicas serão fornecidas sempre que o aprendiz as solicitar ao agente Apresentador. Ao receber uma solicitação do aprendiz, o agente Apresentador envia uma mensagem ao Companheiro pedindo que lhe seja enviada uma dica, para ajudar na pergunta que está sendo feita no momento.

Para realizar as suas tarefas, o agente Companheiro possui uma base de conhecimento com as dicas referentes a todas as perguntas que podem ser feitas ao aprendiz

Especialista

O agente Especialista contém uma representação do conhecimento a ser comunicado ao aprendiz, agindo como a fonte do conhecimento a ser apresentado. O MutAntIS pode ser utilizado por dois tipos de aprendizes: os que não "conhecem" os conceitos de orientação a objetos e os que já os "conhecem". Para atender esses dois tipos de aprendizes, o conhecimento do agente Especialista (a sua base de conhecimento) está organizado conforme segue.

a) Para "atender" ao primeiro tipo de aprendiz, esse conhecimento é composto de:

b) Para "atender" ao segundo tipo de aprendiz, esse conhecimento é composto de: Tutor

O agente Tutor projeta e regula as interações instrucionais com o aprendiz. O agente Tutor determina o que o STI vai apresentar ao aprendiz, como isso deve ser realizado e quando deve ser feito. Para isso, ele age de acordo com informações obtidas do agente Aprendiz e do agente Especialista. O Tutor busca no Especialista o material que deve ser apresentado ao aprendiz. Este material corresponde às perguntas que devem ser feitas, com as suas respectivas alternativas. Para selecionar e seqüenciar o material que deve ser apresentado, o Tutor utiliza o currículo, que contém a representação e a estratégia pedagógica adotada.

Para realizar as suas tarefas, o agente Tutor possui uma base de conhecimento com: informações para determinar o que deve ser apresentado ao aprendiz, como isso deve ser realizado e quando deve ser feito, bem como, mensagens para motivar o aprendiz.

    1. A Análise da Resposta do Aprendiz feita pelo MutAntIS
Uma das tarefas mais importantes que deve ser realizada pelo MutAntIS é a análise da resposta que o aprendiz forneceu a uma determinada pergunta. Para que o MutAntIS possa "atender" aos aprendizes que já "conhecem" os conceitos do domínio, cada pergunta é relativa a um ou mais conceitos. As alternativas propostas para cada pergunta, abordam implicitamente, o diagnóstico de um dos possíveis casos: Para que seja possível diagnosticar em qual dos casos apresentados anteriormente se encontra um determinado aprendiz, tem-se:
  1. Para avaliar se o aprendiz sabe um conceito apresentado, cada conceito deve ser representado por uma relação da forma: P1 & ... & Pn ®C , onde:
  1. Para avaliar se o aprendiz possui conceitos mal compreendidos, têm-se relações da seguinte forma: P ®C(P1).
O lado direito da relação indica que, para saber o conceito C, precisa-se do conceito P e o conceito mais primitivo P1. Porém a relação indica pode-se chegar ao conceito C, sem o conceito P1, indicando portanto, que pode haver mal embasamento de conceitos. Com base nas relações deste tipo, pode-se construir autômatos que descrevam o caminho que o STI deve seguir. Por exemplo, a partir da relação P ® C(P1) tem-se o autômato:

c) Para avaliar se o aprendiz não possui o(s) conceito(s) abordado(s), têm-se relações da seguinte forma:

Se um conceito C é descrito pela relação P1 & P2 ®C, então pode-se escrever a relação P1®C para indicar que se chegou ao conceito C somente a partir da premissa P1, indicando a falta do conceito relacionado à premissa P2. Com base nas relações deste tipo, podem-se construir autômatos que descrevam o caminho que o STI deve seguir. Por exemplo, a partir da relação P1®C (que indica a falta do conceito relacionado à premissa P2), tem-se o autômato:


 

  1. Um Ambiente de Autoria para o MutAntIS

  2.  

     

    Para demonstrar que a utilização de arquiteturas multi-agentes nos STIs favorece a construção de ferramentas e ambientes de autoria, foi implementado um ambiente de autoria para auxiliar na criação e/ou modificação do domínio do MutAntIS. Esse ambiente permite que o desenvolvedor altere o domínio do sistema, através da alteração da base de conhecimentos do agente Especialista, ou crie um novo domínio, através da criação de uma nova base de conhecimento. Desta forma, o ambiente de autoria permite que, utilizando-se a arquitetura multi-agente proposta neste trabalho, seja criado um novo MutAntIS, para um outro domínio.

    Como a arquitetura já está disponível para ser utilizada, o desenvolvedor tem que se preocupar somente com o domínio do MutAntIS. Para criar um novo MutAntIS, basta criar um novo Especialista (criar uma nova base de conhecimento) e reutilizar os outros agentes. Como exemplo da utilização deste ambiente, pode-se visualizar na figura 2 a elaboração de uma pergunta que deve ser feita a um aprendiz que não conhece os conceitos do domínio.

    Fig. 2: Tela de autoria.

  3. Exemplo de Utilização do MutAntIS
São visualizadas abaixo duas perguntas sobre os conceitos de orientação a objetos, feitas pelo MutAntIS a dois aprendizes de níveis de conhecimento diferentes:
  1. Uma pergunta para um aprendiz que não conhece os conceitos.
  2. Uma pergunta para um aprendiz que conhece os conceitos.
  1. Considerações Finais

  2.  

     

    O trabalho aqui relatado procura mostrar que um STI é uma ferramenta poderosa que pode ser utilizada por professores e alunos. Um STI usado na WWW, oferece como grande vantagem a possibilidade dele poder ser utilizado por diversos aprendizes, em diversos lugares.

    O custo financeiro e o tempo para desenvolvimento de Sistemas Tutores Inteligentes são grandes, o que torna esses sistemas pouco utilizados. Uma das maneiras possíveis de diminuir o custo deles é através da utilização de agentes inteligentes, o que os torna modulares e extensíveis, favorecendo o reuso do software, diminuindo o seu custo e o tempo de desenvolvimento. A arquitetura utilizada no MutAntIS pode ser utilizada para construir outros Sistemas Tutores Inteligentes nas mais diversas áreas.

    Ainda há uma grande dificuldade para realizar escolhas sobre metodologias e ambientes para desenvolvimento de sistemas multi-agentes, pois essa tecnologia ainda é muito recente. O protótipo do MutAntIS está em fase de testes e expansão.

    Pretende-se agora instanciar o MutAntIS para o domínio de conceitos de uma metodologia de engenharia de software, a Análise Essencial. Com essa experiência, buscar-se-á comprovar a reusabilidade da arquitetura apresentada.

  3. Referências Bibliográficas
[Azevedo99] Azevedo, B.F.T.; "Uma Arquitetura Multi-Agente para um Sistema Tutor Inteligente"; Dissertação de Mestrado a ser defendida em 18.08.99; Mestrado em Informática, CT-UFES, 1999.

[Azevedo97] Azevedo, B. F. T., "Tópicos em Construção de Software Educacional", Estudo Dirigido, Mestrado em Informática, UFES, 1997.

[Cheikes95] Cheikes, B. A., "GIA: An Agent Based Architecture for Intelligent Tutoring Systems", CIKM Workshop on Intelligent Information Agents, 1995.

[Cury96] Cury, D.; "FLAMA: Ferramentas e Linguagens de Autoria para a Modelagem da Aprendizagem"; Tese de Doutorado em Ciência da Computação; ITA, 1996.

[Finin94] Finin, T. et al, "KQML as na Agent Communication Language", Proceedings of the Third International CIKM, 1994.

[Marietto97] Marietto, M. G. B., et al, "Tendências nas Áreas de Sistemas de Tutoria Inteligente e Modelagem do Aprendiz", VIII SBIE, 1997.

[Pessoa96] Pessoa, J. M., Tavares, O. L., Menezes, C. S., "QSabe – Trocando Experiências sobre Informática Educativa em uma Rede de Educadores", VIII Simpósio Brasileiro de Informática na Educação, p.563-578, 1996.

[Schneider95] Schneider, D., Block K., "The World Wide Web in Education", 1995. http://tecfa.unige.ch/tecfa/tecfa-research/CMC/andrea95/andrea.text