dissertation
Transcrição
dissertation
RODRIGO FILEV MAIA SISTEMA MULTI-AGENTES PARA ACOMPANHAMEMENTO E AUXÍLIO DE AVALIAÇÃO DE ALUNOS EM AMBIENTES DE ENSINO À DISTÂNCIA Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Mestre em Engenharia. São Paulo 2004 RODRIGO FILEV MAIA SISTEMA MULTI-AGENTES PARA ACOMPANHAMEMENTO E AUXÍLIO DE AVALIAÇÃO DE ALUNOS EM AMBIENTES DE ENSINO À DISTÂNCIA Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Mestre em Engenharia. Área de Concentração: Engenharia Elétrica Orientador: Prof. Dr. Márcio Lobo Neto São Paulo 2004 FICHA CATALOGRÁFICA Maia, Rodrigo Filev Sistema multi-agentes para acompanhamento e auxílio de avaliação de alunos em ambientes de ensino à distância / Rodrigo Filev Maia. -- São Paulo, 2004. 167 p. Dissertação (Mestrado) - Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Sistemas Eletrônicos. 1. Sistemas multiagentes 2. Educação à distância (Avaliação) 3. Inteligência artificial I. Universidade de São Paulo. Escola Politécnica. Departamento de Engenharia de Sistemas Eletrônicos II. t. “Suponho o espírito humano uma vasta concha, o meu fim, Sr. Soares, é ver se posso extrair a pérola, que é a razão; por outros termos, demarquemos definitivamente os limites da razão e da loucura. A razão é o perfeito equilíbrio de todas as faculdades; fora daí insânia, insânia e só insânia”. Machado de Assis AGRADECIMENTOS Ao meu orientador Prof. Dr. Márcio Lobo Netto que me aceitou como orientado, acreditou em minhas idéias e pacientemente guiou- me na direção correta, contribuindo com ensinamentos que foram além de seu compromisso de orientar esta dissertação. Aos Professores Doutores Moacyr Martucci Jr., Denis Gabos, Edison Spina e Marco Túlio Carvalho de Andrade pelos incentivos e encorajamento durante a execução deste trabalho. Aos amigos da Escola Politécnica da USP, da Universidade Anhembi Morumbi e à amiga Célia Cassanha pelo apoio e atenção com que sempre me trataram. A minha esposa Denise pela infinita paciência, apoio e amor, fundamentais para a conclusão deste trabalho. E por fim aos meus pais Marco e Maria, e meus irmãos Samantha e Erico, que mesmo com poucos recursos financeiros e todas as dificuldades enfrentadas proporcionaram- me uma educação de qualidade e um ambiente amoroso, onde pude desenvolver- me e aprendi a construir o caminho para chegar à conclusão deste trabalho. RESUMO A dissertação apresenta conceitos sobre agentes e sistemas multi-agentes e sua utilização no acompanhamento de estudantes, principalmente em cursos não presenciais, através de tecnologias de educação à distância. Os agentes, através de um método estatístico proposto, são capazes de diagnosticar e recomendar ações com o intuito de aumentar a probabilidade de aprovação de um estudante. A pesquisa apresenta conceitos de educação e avaliação, além de propor uma arquitetura de uma sociedade multi-agentes, bem como um simulador para testá- la. Tais desenvolvimentos seguiram os conceitos de orientação a objetos através da linguagem Java, e seguindo as recomendações da FIPA (Foundation of Intelligent Physical Agents), o que garante a compatibilidade com diversos sistemas operacionais e dispositivos, além de seguir a tendência de padronização de sistemas multi-agentes, proposta por diversas empresas de tecnologia. ABSTRACT This dissertation presents the conducted studies on agent and multi-agent systems, with emphasis on student accompaniment for distance learning environments. The agents, using a statistical method proposed in this work are able to diagnose and recommend actions to improve the chances of success of a student in the course. In order to achieve the objective of this work, a multi-agent system and a software simulator are proposed to test the agent model and the statistical method. The simulator and agents were created using on a software platform based on Java technologies and FIPA (Foundation of Intelligent Physical Agents) recommendations. It is based on object-oriented paradigms, which grants software portability between operating systems, and follows multi- agent standard trends. SUMÁRIO AGRADECIMENTOS RESUMO ABSTRACT LISTA DE FIGURAS LISTA DE TABELAS 1 Introdução ............................................................................................... 1 1.1 Objetivo .................................................................................................... 1 1.2 Motivação ................................................................................................. 4 1.3 Escopo ...................................................................................................... 6 1.4 Conteúdo da Dissertação .......................................................................... 8 2 Educação e Avaliação........................................................................... 10 2.1 Conceituação de Aprendizagem............................................................. 10 2.1.1 Aprendizagem Segundo Piaget .............................................................. 10 2.1.2 A aprendizagem Segundo Vygotsky...................................................... 13 2.1.3 Uma Crítica às Idéias Propostas Face à Tecnologia Computacional..... 14 2.2 Conceituação de Avaliação .................................................................... 15 2.2.1 Avaliação Escolar Tradicional ............................................................... 15 2.2.2 Características da Medida Educacional.................................................. 19 2.3 Modalidades de Avaliação ..................................................................... 19 2.3.1 Normas e Critérios da Avaliação ........................................................... 22 2.3.2 Tipos de Questões .................................................................................. 23 2.3.2.1 Questões Dissertativas............................................................................ 23 2.3.2.2 Questões Objetivas ................................................................................. 24 2.4 Objetivos Educacionais e a Taxionomia Educacional de Bloom........... 26 2.4.1 Taxionomia dos Objetivos Educacionais ............................................... 27 2.4.1.1 Adequação da Taxionomia ..................................................................... 29 2.4.2 Hierarquia da Taxionomia dos Objetivos Educacionais ........................ 30 3 Agentes e Sistemas Multi-Agentes ...................................................... 34 3.1 Definições e Características de Agentes e de Inteligência ..................... 34 3.1.1 Inteligência de Agentes .......................................................................... 40 3.1.2 Mobilidade de Agentes........................................................................... 41 3.1.3 Características de Ambientes de Agentes .............................................. 42 3.1.3.1 Quanto à Previsibilidade ........................................................................ 43 3.1.3.2 Quanto à Acessibilidade ......................................................................... 43 3.1.3.3 Quanto à Dependência Temporal (histórico) ......................................... 43 3.1.3.4 Quanto à Dinamicidade .......................................................................... 44 3.1.3.5 Quanto à Quantidade de Ações e Estados Possíveis .............................. 44 3.1.4 Arquitetura dos Agentes ......................................................................... 45 3.1.4.1 Classificação de Agentes........................................................................ 47 3.1.5 Tipos de Agentes .................................................................................... 51 3.1.5.1 Agentes Estruturais ................................................................................ 51 3.1.5.2 Agentes de Aplicação ............................................................................. 58 3.2 Sistemas Multi-Agentes ......................................................................... 61 3.2.1 Modelagem Lógica do Conhecimento de um Sistema Multi-Agentes .. 64 3.2.2 Aprendizado em Sistemas Multi- Agentes.............................................. 66 3.2.3 Comunicação em um Sistema Multi-Agentes ........................................ 68 3.2.4 Protocolos de Comunicação de um Sistema Multi-Agentes .................. 70 3.2.4.1 Mecanismos de Cooperação ................................................................... 71 3.2.4.2 Protocolos ............................................................................................... 73 3.2.4.3 Protocolo KQML.................................................................................... 74 3.3 Plataformas de Agentes e Sistemas Multi- Agentes................................ 77 3.3.1 FIPA ....................................................................................................... 77 3.3.1.1 Mensagens .............................................................................................. 80 3.3.2 Plataforma JADE.................................................................................... 82 3.3.3 JATLite e IBM AGLET ......................................................................... 84 3.3.4 VOYAGER ............................................................................................ 85 3.3.5 IBM ABLE............................................................................................. 85 4 Sistemas Tutores Inteligentes e Suas Representações Como Sociedade de Agentes ........................................................................... 88 4.1 Sistemas Tutores Inteligentes (STI) ....................................................... 88 4.1.1 Representação do Aluno em um STI...................................................... 93 4.1.2 Representação de um STI Como uma Sociedade de Agentes................ 97 4.1.2.1 Agentes e Sistemas LMS........................................................................ 97 4.1.2.2 STI Formado Exclusivamente por Agentes ........................................... 98 4.2 Aplicações Educacionais com Tecnologia de Agentes........................ 100 4.2.1 AMON-AD........................................................................................... 101 4.2.2 White Habbit ........................................................................................ 102 4.2.3 Agentes Utilizando os Conceitos de Vygotsky.................................... 103 4.2.4 Ambiente de Aprendizagem Baseado em Agentes FIPA..................... 104 4.2.5 Agentes para Sistemas On-line ............................................................ 105 4.2.6 Ambiente de Avaliação Utilizando Agentes ........................................ 107 5 Proposta de Acompanhamento e Diagnóstico de Estudantes Através uma Sociadade Multi-Agentes........................................................... 110 5.1 Arquitetura do Sistema Multi-Agentes Proposto ................................. 110 5.1.1 Descrição dos Agentes da Arquitetura................................................. 112 5.1.1.1 Classificação dos Agentes e do Ambiente ........................................... 114 5.1.2 Método Estatístico de Diagnóstico....................................................... 116 5.1.3 Características da Arquitetura como um Sistema Distribuído ............. 119 5.2 O Simulador SADE.............................................................................. 120 5.2.1 Agente Professor .................................................................................. 121 5.2.2 Agente Gerenciador.............................................................................. 122 5.2.3 Agente Aluno ....................................................................................... 123 5.3 Operação do Simulador SADE ............................................................ 124 5.4 Resultados Obtidos............................................................................... 126 5.4.1 Informações Históricas......................................................................... 127 5.4.2 Cenários de Simulação ......................................................................... 128 5.4.2.1 Primeiro Cenário de Simulação............................................................ 129 5.4.2.2 Segundo Cenário de Simulação............................................................ 131 5.4.2.3 Terceiro Cenário de Simulação ............................................................ 133 5.4.2.4 Quarto Cenário de Simulação .............................................................. 134 5.4.2.5 Quinto Cenário de Simulação .............................................................. 136 5.4.2.6 Sexto Cenário de Simulação – Obrigatoriedade do Reforço................ 137 5.4.2.7 Sétimo Cenário de Simulação – Alteração da faixa de notas............... 138 6 Considerações Finais .......................................................................... 140 6.1 Contribuições do Trabalho ............................................................. 144143 6.2 Trabalhos Fut uros........................................................................... 145144 A Anexo A - Parâmetros da Simulação................................................147 B Anexo B - Engenharia de Software do Simulador SADE...............153 B.1 Diagramas de Seqüência......................................................................157 LISTA DE R EFERÊNCIAS ...........................................................................................159 LISTA DE FIGURAS Figura 2.1– Hierarquia das categorias dos objetivos educacionais ............................ 31 Figura 3.1 – Classificação de um agente ((Bradshaw, 1997) adaptado).................... 37 Figura 3.2 – Classificação de agentes segundo (Nwana, 1996) (adaptado) ............... 38 Figura 3.3 – Classificação dos agentes, segundo (Franklin, 1996) (adaptado) .......... 38 Figura 3.4 – Exemplo de uma máquina de estados.................................................... 39 Figura 3.5 – Agente puramente reativo ((Wooldridge, 1999), adaptado).................. 48 Figura 3.6 – Esquema da arquitetura de um agente com percepção ( (Wooldridge, 1999) adaptado) .................................................................................... 49 Figura 3.7 – Esquema da arquitetura de um agente com estados internos ((Wooldridge, 1999), adaptado) ........................................................... 50 Figura 3.8: Esquema da arquitetura BDI ((Wooldridge, 1999)) ................................ 53 Figura 3.9 – Arquitetura em camadas horizontais (Muller apud (Wooldridge, 1999), adaptado) ................................................................................................. 55 Figura 3.10 - Arquitetura em camadas verticais “sentido único” (adaptado (Wooldridge, 1999)) ............................................................................. 56 Figura 3.11 – Arquiteturas vertical “sentido duplo” (adaptado (Wooldridge, 1999)) 56 Figura 3.12 – Esquema de um agente de interface ((Nwana, 1996); adaptado) ........ 58 Figura 3.13 – Arquitetura InterRRAP ((Wooldridge, 1999)) adaptado ..................... 60 Figura 3.14 – Taxionomia dos agentes em uma sociedade (adaptado (Huhns, 1999)) ................................................................................................................. 62 Figura 3.15 – Exemplo de uma mensagem KQML (Huns, Stephens, 1999) ............. 76 Figura 3.16 – componentes do KQML (adaptado de (Finin, 1994)).......................... 77 Figura 3.17 – Arquitetura abstrata da FIPA ((FIPA, 2002), adaptado)...................... 79 Figura 3.18 – Mensagem do padrão FIPA ((FIPA, 2002)) ........................................ 81 Figura 3.19 - Mensagem com envelope ((FIPA, 2002)) ........................................... 82 Figura 4.1 – Arquitetura de um STI ........................................................................... 89 Figura 4.2 – Representação de uma árvore de decisão. ............................................. 94 Figura 4.3 – Representação de uma árvore de relação ............................................... 95 Figura 4.4 – Uma seqüência representado um plano reconhecido pelo agente((Carberry, 2000), adaptado)...................................................... 96 Figura 4.5 – Integração entre sistemas LMS e sociedade de age ntes ........................ 99 Figura 4.6 – Arquitetura do AMON-AD (Silva, 2000)............................................ 102 Figura 4.7 – Arquitetura do sistema multi-agentes de LIN (adaptado (Lin, 2001)) 106 Figura 4.8 – Módulos do sistema de aprendizagem (Prata, 2003). .......................... 108 Figura 5.1 – Arquitetura multi-agentes proposta. .................................................... 111 Figura 5.2 – Divisão dos alunos por intervalos de notas.......................................... 116 Figura 5.3 – Integração entre o simulador e o sistema de geração de alunos virtuais ............................................................................................................... 121 Figura 5.4 – Esquema de operação do simulador SADE ......................................... 126 Figura 5.5 – Simulação 1: Desempenho dos estudantes sem reforço ...................... 131 Figura 5.6 – Simulação 2: Desempenho dos estudantes com reforço ...................... 132 Figura 5.7 - Simulação 3: Desempenho dos estudantes com reforço....................... 134 Figura 5.8 - Simulação 4: Desempenho dos estudantes com reforço...................... 135 Figura 5.9 - Simulação 5: Desempenho dos estudantes com reforço....................... 136 Figura 5.10 - Simulação 6: Desempenho dos estudantes com reforço..................... 137 Figura 5.11 – Simulação 7: Desempenho dos estudantes sem reforço ................... 138 Figura 5.12 - Simulação 7: Desempenho dos estudantes com reforço..................... 139 Figura A.1 - Distribuição dos alunos considerando a média de aprovação e a nota na Primeira Prova........................................................................................152 Figura A.2 - Distribuição dos alunos considerando a média de aprovação e a nota na Segunda Prova........................................................................................152 Figura B.1 - Acompanhamento da troca de mensagens entre agentes JADE...........154 Figura B.2 - Diagrama de classes do simulador SADE............................................157 Figura B.3 - Criação do Agente Aluno e Parâmetros da Simulação.........................158 Figura B.4 - Diagnóstico de um aluno sem reforço..................................................159 Figura B.5 - Diagnóstico de um aluno com reforço..................................................159 LISTA DE TABELAS Tabela 2.1 - Tipos de avaliação e suas características (Adaptado de (Bloom, 1983)).......................................................................................................22 Tabela 3.1 – Classificação de funcionalidades de agentes conforme características do ambiente (Russel, 2004 - adaptado). ...................................................... 44 Tabela 3.2 – Características do ambiente dos agentes ............................................... 45 Tabela 5.1 – Porcentagem de alunos aprovados (dados dos alunos analisadas)...... 127 Tabela 5.2 – Porcentagem de alunos por perfil ........................................................ 127 Tabela 5.3 – Probabilidades condicionais de aprovação, dado a primeira prova ..... 129 Tabela 5.4 – Simulação 1: Probabilidade de Realização do Reforço....................... 129 Tabela 5.5 - Simulação 1: Probabilidade de Aprovação .......................................... 130 Tabela 5.6 – Simulação 1: Intervalo de Notas ......................................................... 130 Tabela 5.7 – Simulação 1: Porcentual de Aumento de nota dado reforço. .............. 130 Tabela 5.8 – Alteração dos dados da “Simulação 2” ............................................... 133 Tabela 5.9 – Probabilidade de Aumento de nota para a Simulação 4 ...................... 134 Tabela 5.10 – Simulação 5: Probabilidade de Aumento de nota ............................. 136 Tabela 5.11 – Simulação 6: Probabilidade de Realização do Reforço..................... 137 Tabela 5.12 – Simulação 7: Intervalo de notas ........................................................ 138 Tabela 6.1 – Melhoria do índice de aprovação dado o reforço .......................... 143142 Tabela A.1 - Distribuição de alunos por perfil.........................................................147 Tabela A-2 – Porcentagem de alunos por perfil (comparado com o total de alunos).................................................................................................148 147 Tabela A.3 - Média de notas da primeira avaliação, por perfil.................................148 Tabela A.4 - Desvio padrão das notas da primeira avaliação, por perfil..................148 Tabela A.5 - Quantidade de alunos no intervalo de nota x ? ? (por perfil).............148 Tabela A.6 - Quantidade de alunos no intervalo de nota x ? 2? , excluindo intervalo de ? 1? ....................................................................................................148 Tabela A.7 - Quantidade de alunos no intervalo de nota x ? 3? , excluindo intervalo de ? 1? e ? 2? ......................................................................................149 Tabela A.8 - Quantidade de alunos aprovados dado a primeira avaliação...............149 Tabela A.9 - Média de notas da segunda avaliação, por perfil.................................149 Tabela A.10 - Desvio padrão das notas da segunda avaliação, por perfil................150 Tabela A.11 - Quantidade de alunos no intervalo de nota y ? ? (por perfil)...........150 Tabela A.12 - Quantidade de alunos no intervalo de nota y ? 2? excluindo intervalo de ? 1? ................................................................................................150 Tabela A.13 - Quantidade de alunos no intervalo de nota y ? 3? excluindo os intervalo de ? 1? e ? 2? ......................................................................151 Tabela A.14 - Probabilidades condicionais de aprovação, dado a primeira prova...151 Tabela A.15 - Probabilidade do estudante ser classificado em um dos intervalos de notas....................................................................................................151 LISTA DE ABREIATURAS E SIGLAS ABLE Agent Building and Learning Environment ACC Agent Communication Channel ACL Agent Communication Language AMS Agent Management System BDI Believe, Desire, Intention CAI Computer Assisted Instruction CBT Computer Based Training CORBA Common Object Request Broker Architecture DCOM Distributed Component Object Model DF Directory Facilitator DSL Digital Subscriber Line EAD Educação à Distância FIPA Foundation for Intelligent Physical Agents HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure ICAI Intelligent Computer Assisted Instructional ILE Internet Learning Environment JADE Java Agent DEvelopment framework JATLite Java Agent Template Lite KIF Knowledge Interchange Format KQML Knowledge Query and Manipulation Language KRILL KQML Router Interface Library KSE Knowledge Sharing Effort LMS Learning Management System OSI Open System Interconnection RPC Remote Procedure Call SADE Simulador para Análise do Desempenho de Estudantes SMA Sociedade Multi-Agentes STI Sistema Tutor Inteligente XML eXtensible Markup Language ZDP Zona de Desenvolvimento Proximal LISTA DE SÍMBOLOS ? Base de Crenças do Agente ? Crença de um Agente L sentenças lógicas de ? P Percepção do Agente P* Múltiplas percepções do Agente A Conjunto de Ações de um Agente S Conjunto de Estados de um Ambiente comp Comportamento de um Agente ? Cláusula Vazia ? Verdade Necessária ? Verdade Possível ou de Contingência ? Cláusula Lógica ? Conseqüência Lógica W Conjunto dos mundos possíveis (não vazio) R Conjunto das Relações possíveis dos mundos ? Função de Estimativa (valuation function) ki? Agente i conhece ? M Modelo de mundo w Mundo de referência E Operador lógico: Todos os Agentes Sabem C? Conhecimento de um Sistema Multi-Agentes p Probabilidade do agente mudar para o próximo estado interno r Recompensa pela ação (valor escalar) ? Conjunto de recompensas existentes para um agente. Pa Probabilidade de aprovação cadastrada pelo professor Pr Probabilidade de Reforço cadastrada pelo professor Pi Probabilidade de Intervenção Professor cadastrada professor I1 a I 4 Intervalos de notas definidos pelo professor I xI y Perfil de aluno P( ap | Provax ) Probabilidade condicional de aprovação dado a nota da prova 1 1 INTRODUÇÃO A Educação à Distância (EAD) é um tema bastante discutido atualmente, tanto no âmbito acadêmico como em empresas e indústrias. Ainda existem diversos pontos de controvérsia, como a validade de uma avaliação ou a eficácia do aprendizado num ambiente onde o aluno não possui contato direto com o professor. Embora estas questões sejam relevantes, este também é um momento para reflexão e melhoria tanto da educação à distância (on-line) quanto do presencial, pois se está frente a uma nova realidade, onde se podem quebrar vícios presentes nos métodos tradicionais e aplicar conceitos pedagó gicos mais adequados aos nossos dias. Uma das discussões que se faz presente no contexto de EAD é como um professor pode acompanhar os estudantes em um curso à distância, dada a pouca ou nenhuma interação presencial. Deve-se considerar inclusive a quantidade de alunos substancialmente maior, comparada aos cursos presenciais, uma vez que as limitações físicas de espaço e cadeiras, dentre outras, existente no ambiente escolar tradicional desaparecem na educação à distância. Esta dissertação baseia-se na hipótese de que agentes de software possam de alguma forma acompanhar a evolução dos estudantes no processo de aprendizagem, identificando aqueles que necessitam de algum auxílio em seus estudos. Com isto espera-se que o agente de software seja capaz de avaliar o desempenho do estudante, com o que o estudante poderá melhorá- lo durante o curso, procurando aumentar as chances de sua aprovação. Este resultado esperado tem como base o aumento da interação entre o estudante e o ambiente de aprendizado. 1.1 Objetivo O objetivo desta dissertação é elaborar uma arquitetura multi-agentes para auxiliar o professor a acompanhar estudantes em cursos de educação à distância, e propor um método para este acompanhamento. Os agentes devem possuir a capacidade de analisar o desempenho do estudante, através do acesso ao resultado de suas avaliações, e assim identificar aqueles que não apresentam um “rendimento” considerado adequado, de acordo com critérios 2 estabelecidos pelo professor. A análise irá considerar apenas a avaliação, pois neste momento obrigatoriamente o estudante interage no ambiente de aprendizado, com o intuito de registrar de alguma forma o que aprendeu. Portanto nesta dissertação não estão sendo implementadas outras formas de análise, senão a baseada no acompanhamento do resultado das avaliações. Entretanto, há outras variáveis que poderiam ser utilizadas para o acompanhamento do estudante, como o tempo de estudo associado com a nota obtida em um determinado tópico de um curso. Ainda se pode acrescentar a relação ent re o desempenho nos pré-requisitos e o tópico de estudo. Estima-se que estas formas de acompanhamento indicam que o aluno pode não obter bons resultados em um tópico devido a problemas não solucionados adequadamente durante o estudo dos pré-requisitos. Ou então porque o tempo de estudo está abaixo do considerado adequado pelo professor. Porém este trabalho não considera estes fatores, atendo-se somente a forma de acompanhamento por resultado da avaliação. Acredita-se que os resultados obtidos nesta dissertação poderão ser utilizados para novos estudos, os quais considerem estas e outras variáveis. Para os estudantes que não atingiram o desempenho esperado na avaliação, estima-se que necessitem de algum tipo de auxílio para que consigam corrigir ou entender certos pontos do estudo, e assim obter melhor aproveitamento no curso. O que se propõe é uma forma de diagnóstico e acompanhamento do aluno através de uma estrutura de agentes que permita também a comunicação professor-aluno, independentemente do software de aprendizagem aos quais as personagens estejam vinculadas. Para este objetivo, traçaram-se as seguintes metas: ?? elaboração de uma arquitetura multi-agentes: para acompanhar e diagnosticar o estudante; ?? elaboração de métodos de acompanhamento do aluno através de uma análise baseada em modelos estatísticos; 3 ?? definição de um cenário de testes para comprovação dos conceitos apresentados na dissertação; ?? elaboração de um simulador, para a obtenção de dados para análise da arquitetura proposta. Como forma de atingir as metas desta dissertação foram estudados aspectos pedagógicos da avaliação e do aprendizado para o bom entendimento destes conceitos. Alguns pontos considerados fundamentais para o aprendizado de um estudante nortearam a decisão sobre o método a ser aplicado, para o acompanhamento do aluno. Isto foi feito para que uma sociedade multi-agentes não apresente apenas o conceito final (aprovação ou reprovação) de um determinado curso. Em vez disto, critérios de aproveitamento dos estudos são estabelecidos baseados no desempenho dos estudantes, e alinhados com os critérios do professor permitem aos agentes intervir no processo de aprendizagem de forma a auxiliar o estudante, fazendo com que sua probabilidade de aprovação em um curso aumente. Baseado nos conc eitos de inteligência artificial e sistemas tutores inteligentes, foi possível estabelecer uma arquitetura multi-agentes e os mecanismos para verificar os objetivos propostos. As avaliações do aluno e o diagnóstico sobre seu desempenho no aprendizado são baseados em critérios a que os agentes podem se adaptar de forma autônoma, sem a necessidade de intervenção do professor. A arquitetura permite tanto uma visão geral dos estudantes pelo professor, contemplando todos os alunos participantes de seu curso, como uma visão individual, particularmente importante para acompanhar aqueles que apresentam dificuldades e necessitam de atenção especial. O resultado apresentado na dissertação é uma arquitetura de sistema multiagentes, dotado de algoritmos, que podem ser considerados dentro de certo escopo, inteligentes, em um ambiente computacional distribuído, estabelecido sobre uma rede de computadores baseada no protocolo IP. Contudo, cabe salientar que o modelo não se limita a apenas esta infra-estrutura de comunicação, podendo utilizar outros sistemas de transmissão e recepção de dados, embora este tema não pertença ao escopo deste trabalho. 4 A análise dos resultados obtidos será feita através de dados extraídos de um simulador que utiliza os componentes principais da arquitetura. Este simulador também estima o comportamento de estudantes através de perfis de desempenho, estabelecidos a partir de dados de alunos de um determinado curso de graduação. 1.2 Motivação Os sistemas de educação à distância ganharam mais espaço e consideração ao longo do tempo, tanto no ambiente escolar, aqui entendido como compreendendo desde a educação fundamental até o nível superior e pós-graduação, quanto, e principalmente, no âmbito empresarial. Parte de sua adoção deve-se à redução dos custos e problemas inerentes à distância entre os participantes do processo educacional. Outro motivo vem da contínua necessidade de aprendizado acelerado de novos conceitos, impostos pela sociedade e vinculados às atividades das pessoas. (Rosenberg, 2001). As organizações há tempos investem em treinamento, o que é diferente de educação ou de aprendizado. O treinamento é um modo de comunicar instruções e praticá-las, sem que tais instruções sejam necessariamente compreendidas pelo estudante. Já o aprendizado, segundo Piaget, é uma evolução de estruturas mentais, ou seja, o estudante absorve certa quantidade de informações, reflete e constrói uma nova compreensão sobre um determinado fenômeno. E com esta nova estrutura mental o aluno está apto a entender novos conceitos que dependem do que foi aprendido. (Palangana, 1998), (Rosenberg, 2001). Um outro ponto a considerar é o fato de que as organizações, apesar de requisitarem que seus funcionários obtenham novos conhecimentos para que estes compreendam novas situações de trabalho, ou adquiram novas habilidades com treinamento, não podem dispensá-los por grandes períodos de tempo. Isto decorre do fato destes funcionários deixarem de exercer suas funções nestes períodos, não produzindo bens para a companhia, além de gerarem gastos. As companhias procuram então formas de atualização que permitam que seus funcionários estudem de forma a gastar menos recursos e estar presente no ambiente de trabalho pelo maior tempo possível. 5 Em termos de avaliação, o que se tem atualmente são provas iguais para todos os estudantes, sendo considerados aptos a realizá- las os alunos que passaram por uma aula ou estudaram um determinado material. O pesquisador americano Howard Gardner (1994) afirma que uma das dificuldades de se avaliar um aluno está na diversidade de inteligências (aqui podendo ser compreendidas como habilidades) existentes no ser humano, e, portanto avaliações padronizadas não apresentariam um resultado correto da medição do saber de um aluno. Moulin (2002) explora em seu trabalho o conceito de portfólio de Gardner, como “... uma pasta individual, onde são colecionados os trabalhos realizados pelo aluno, no decorrer de seus estudos de uma disciplina, de um curso, ou mesmo durante alguns anos, como ao longo do ciclo de estudos.”. Com este tipo de informação, pode-se avaliar e traçar um perfil acadêmico do estudante, o que lhe interessa, com que ritmo absorve informações e como estas direcionam seu crescimento intelectual. Moulin (2002) ainda incentiva o aluno a armazenar em sua pasta de estudos, sensações, observações sobre todo o processo de aprendizagem, enriquecendo a análise. Apesar deste ser um cenário ideal, há sérias limitações em como armazenar os dados sobre o aluno (organização), e ter principalmente, um tutor ao seu lado, capaz de analisar todas as variáveis propostas. Um tutor humano normalmente conhece o assunto cujos conceitos devam ser aprendidos pelo estudante, porém, não é um especialista em avaliar portifólios. O mesmo se passa com o professor. Um tutor baseado em uma solução de software também encontraria severas restrições, pois deve existir necessariamente um modelo computacional do aluno para que se possam utilizar técnicas de inteligência artificial para estimar e predizer o que se passa com o estudante. Modelar comportamentos humanos através das técnicas atuais, como lógica de primeira ordem ou modelos cognitivos é tarefa demasiadamente complexa (Russel, 2004). Porém, a inteligência artificial pode auxiliar o professor em outro aspecto, o de acompanhar alunos. Na sala de aula tradicional o professor, muitas vezes, estima que determinado aluno não está compreendendo um tema e, portanto pode agir de forma a sanar a dificuldade. No ambiente virtual, esta interação é prejudicada uma vez que o computador não captura sensações ou sentimentos. Mas um agente de software 6 poderá analisar avaliações de todos os alunos, e estimar segundo algum modelo prédefinido pelo professor, quais estudantes requerem maior atenção. Acredita-se que com uma ferramenta desta natureza a eficiência da relação professor–aluno seja aumentada, pois o estudante em dificuldades receberá um auxílio e não necessitará procurar pelo professor, que nem sempre dispõe de tempo para recebê- lo, como ocorre no processo tradicional inúmeras vezes. 1.3 Escopo Esta dissertação de mestrado apresenta como uma arquitetura de sistema multiagentes pode ser utilizada para auxiliar no acompanhamento de um estudante. Não se pretende elaborar uma solução para substituir um tutor ou professor, mas buscar e indicar a estes quais são os estudantes que apresentam dificuldades no aprendizado, segundo critérios do professor e sobre dados do desempenho da turma, e desta forma promover maior interatividade1 entre as personagens. Cada pessoa que utiliza uma ferramenta de educação à distância, ou Learning Management System (LMS) para seu estudo, conta um repositório de dados para os materiais dos cursos e avaliações, assim como diversas ferramentas, tais como: ?? salas de bate-papo; ?? fórum de discussões; ?? listas de e-mails dos participantes do curso, dentre outros. Embora os LMS possuam os mesmos tipos de ferramentas, suas formas de operação são distintas, assim como as interfaces oferecidas para o usuário. Como o 1 Segundo o dicionário Aurélio, interação é uma “ação que se exerce mu tuamente entre duas ou mais coisas, ou duas ou mais pessoas; ação recíproca...”. No contexto deste trabalho, entende-se interação como a possibilidade de um agente de software, de acordo com o contexto do estudante, poder gerar diagnósticos que indiquem uma determinada situação, diminuindo a passividade apresentada tradicionalmente pelo ambiente computacional. 7 professor e o estudante podem trabalhar com cursos pertencentes a LMS distintos, podem surgir dificuldades de utilização de determinadas características dos aplicativos. Em um sistema multi-agentes, cada personagem (professor e aluno) possui seu próprio representante, que por sua vez acessa os ambientes de aprendizagem. Desta forma, o usuário não necessita conhecer características específicas de cada LMS, pois se beneficia de uma interface única (a oferecida pelo agente), através da qual realiza todas as suas tarefas. O agente por sua vez, pode agregar funcionalidades não presentes no LMS, como uma outra forma de análise do desempenho do estudante ou formas adicionais de busca de materiais para corrigir uma falha detectada de aprendizado. Isto pode ser executado em qualquer repositório de dados (desde que este possua algum canal de comunicação que o agente possa utilizar). Outra funcionalidade interessante é a possibilidade de estudar um determinado assunto com materiais de vários LMS, pois o aluno não precisa saber onde cada material está, basta que o professor indique o que deve ser utilizado e que o agente saiba procurar e apresentar o conteúdo. O mesmo vale para o professor quando possui diversas turmas da mesma disciplina em LMS distintos. O agente que o representa pode analisar os dados de alunos dos diferentes sistemas, procurando por características semelhantes, como pontos de dificuldades, tópicos com maior incidência de dúvidas dos alunos, dentre outros. Como os agentes podem executar tarefas específicas e no escopo desta dissertação são cooperativos 2 , o professor dispõe de inúmeras possibilidades de análise enquanto todos os usuários podem ter ao seu dispor diversos serviços. Em ambos os casos, inserir ou alterar uma funcionalidade torna-se uma tarefa mais 2 Esta dissertação apresenta tanto uma arquitetura quanto um simulador desta. Neste trecho é referenciada a arquitetura, pois cada agente executa tarefas específicas, as quais sendo executadas em uma certa seqüência, geram um comportamento mais complexo do que é apresentado pelos agentes separadamente. Porém não necessariamente todas estas potenciais características estejam presentes no simulador implementado. 8 simples em geral do que fazer o mesmo em sistemas LMS tradicionais, pois basta criar um agente na sociedade ou alterá- lo para se ter uma nova funcionalidade. Estes agentes idealmente trabalham na Internet, pois através dela é possível atingir uma grande quantidade de LMS e usuários. Para verificar a hipótese e a arquitetura propostas foi desenvolvido um simulador, no qual os agentes além de executar as funções da arquitetura, simulam os alunos de um curso. Isto se faz necessário devido a limitações para se produzir os conteúdos a serem utilizados em um curso, bem como a disponibilidade de estudantes e professores para utilizar o sistema. Os modelos dos alunos foram baseados em dados reais de estudantes de um curso de graduação.Assim foi averiguado se o agente era capaz de indicar quais alunos apresentaram dificuldades, e propor tipos de reforço adequados a estes estudantes. Os resultados gerados pelo sistema multi-agentes foram obtidos através de métodos estatísticos. Pretende-se verificar se esta arquitetura é capaz de melhorar os índice de aprovação de estudantes de um curso, principalmente daqueles que apresentam dificuldades de aprendizado. 1.4 Conteúdo da Dissertação Esta dissertação trata uma determinada tecnologia que pretende auxiliar o estudante e o professor em cursos à distância. A pedagogia e outros conceitos da área educacional fornecem os alicerces para entender quais são os tipos de avaliação existentes, e a partir deste conhecimento pode-se buscar quais destes podem ser aplicados por meios eletrônicos sem a intervenção de professores ou tutores humanos. Por se tratar de um trabalho com orientação educacional, fez-se necessário realizar estudos sobre pedagogia relacionados à aprendizagem e avaliação, abordando conceitos e formas de avaliação, objetivos educacionais e interpretação de 9 resultados. Foram estudados autores como Piaget, Vygotsky e Bloom, dentre outros. Este estudo originou o capítulo dois deste trabalho. O capítulo 3 apresenta as definições de agentes e sistemas multi-agentes. São apresentadas as classificações, taxionomias e conceituação ló gica tanto dos agentes como de suas sociedades, definindo seus ambientes, propriedades, capacidades e arquiteturas. Também se definiu o que é inteligência de um agente no escopo da dissertação, bem como o que é conhecimento e comunicação. O capítulo 4 trata de tecnologias aplicadas à educação, onde é apresentado um breve histórico dos Treinamentos Baseados em Computador (Computer Based Training (CBT)), culminando em Sistemas Tutores Inteligentes (STI). Neste ponto, discute-se a arquitetura de um STI e suas propriedades. Com os conceitos das tecnologias apresentadas, discute-se como os sistemas multi-agentes podem contribuir com a evolução de um STI, adequando-se ao conceito de Ambientes de Aprendizado Inteligentes (Intelligent Learning Environment (ILE)). O capítulo também apresenta aplicações que fazem uso de agentes e sociedade de agentes na educação. O capítulo 5 traz o detalhamento da arquitetura proposta, apresentando os modelos de software, bem como o programa em si, os testes realizados, os resultados obtidos e finalmente a avaliação destes resultados com o objetivo de analisar o real potencial da proposta apresentada. No capítulo 6 são exploradas possibilidades de aplicação dos conceitos estudados aqui e extrapoladas futuras linhas de pesquisa que podem ser desenvolvidas, em continuidade ao projeto atual. Encerra-se este capítulo sintetizando-se algumas conclusões a respeito da pesquisa e sobre os trabalhos realizados. 10 2 EDUCAÇÃO E AVALIAÇÃO Por se tratar de uma dissertação sobre tecnologia visando a avaliação de estudantes, é necessário entender-se primeiro, o que é aprendizagem e como esta ocorre; e desta forma entender os princípios da avaliação e propor um modelo computacional para auxiliá- la. Foram estudados para tanto, os trabalhos de Piaget e Vygotsky como referência para conceitos de aprendizagem, e analisada a taxionomia de Bloom, como forma de estabelecer um mecanismo de análise de uma avaliação. 2.1 Conceituação de Aprendizagem 2.1.1 Aprendizagem Segundo Piaget Jean Piaget, pesquisador suíço, licenciado em biologia, realizou uma série de estudos, principalmente com crianças, sobre as formas com que estas aprendiam os assuntos que lhes eram apresentados. Ele observou que não é a resposta correta a uma questão dada por uma criança que determina se esta aprendeu algo ou não, pois existe mesmo nas respostas aparentemente erradas uma estrutura de pensamento que evolui, reflexo da maturação do ser humano. Embora estivesse interessado em entender o desenvolvimento do pensamento, Piaget contribui muito para o estudo da aprendizagem. Este pesquisador, talvez pela sua formação em biologia, argumenta que existem estruturas no corpo específicas para aprender, e estas, como todas as demais partes do organismo de um ser humano, desenvolvem-se durante toda a vida, sendo evidenciada na diferença da lógica e do comportamento de uma criança, se comparada a um adulto. Essencialmente, a criança através de sua interação com objetos, recebe estímulos biológicos e desta forma estrutura os componentes do aprender, superando estágios, os quais foram chamados por Piaget de desenvolvimento cognitivo. As mudanças de estágio ocorrem essencialmente porque o ser encontra-se em desequilíbrio com o meio e tenta estabelecer uma condição estável, o que proporciona sua evolução. As estrut uras do aprender podem ser agrupadas em 11 esquemas, que representam o conhecimento do mundo. Qualquer nova situação apresentada pelo meio, não corresponderá no indivíduo a um esquema próprio, o que necessariamente causa um desequilíbrio. O indivíduo tentará então se adaptar à nova situação, ocorrendo, portanto a evolução do esquema, ou a criação de outro. Isto é inerente ao ser humano, uma vez que além da organização, todo ser biológico busca a adaptação ao meio. Para Piaget “... em seu início, a assimilação é, essencialmente, a utilização do meio externo pelo sujeito, tendo em vista alimentar seus esquemas hereditários ou adquiridos.”3 . O movimento de adaptação tende a ser uma espiral positiva, sempre levando o ser a desenvolver organizações mentais mais complexas, o que implica num grau superior de conhecimento (Palangana, 1998). Das mudanças observadas no desenvolvimento de uma criança, Piaget divide o desenvolvimento cognitivo em quatro etapas, o que necessariamente indica um tipo de avaliação diferente, com objetivos e métodos diferentes para que se possa acompanhar a evolução da criança, sendo o que diferencia cada uma das fases são os esquemas mentais criados. A primeira fase, compreendendo desde o nascimento até os dois anos de idade (as idades são refe rências, não marcos divisórios), é chamada de sensório- motora, e segundo Piaget “... à falta de função simbólica, o bebê ainda não apresenta pensamento nem afetividade ligados a representações, que permitam evocar pessoas ou objetos na ausência deles” (Palangana, 1998) Portanto, as ferramentas que o recém-nascido possui são seus reflexos, os quais com a interação com o meio permitem a ele construir seus primeiros esquemas, que devem mostrar à criança a noção de causa, tempo e espaço. O segundo estágio, conhecido como “pré-operacional” engloba crianças de dois a sete anos. O que é mais notável nesta fase do desenvolvimento é a capacidade simbólica adquirida; isto porque a pessoa deixa de depender exclusivamente das suas sensações, e pode absorver uma situação e reproduzi- la posteriormente, imaginando os objetos e ações, o que significa a criação de esquemas simbólicos. Contudo, a criança não apresenta a capacidade de reversibilidade da situação, não consegue a 3 Piaget, Jean, A construção do real pela criança, 1975 12 partir do que sabe voltar à situação da qual aprendeu. Isto reflete diretamente o tipo de avaliação que se pode fazer com crianças, uma vez que pelas capacidades descritas, não há formas de medir-se seu desenvolvimento com o tipo de avaliação clássica, baseado em algum tipo de indução a ser realizado pelo aluno. Na terceira etapa do desenvolvimento cognitivo, chamada de “operações concretas”, a criança ainda não consegue trabalhar com enunciados e proposições e, portanto ainda não está desvinculada de ações; mas a criança entende e realiza operações de troca, o que a distingue da fase anterior. Nesta fase inicia-se o raciocínio lógico, onde a criança busca a objetividade e coerência no raciocínio, e onde as operações de reversibilidade são desenvolvidas e, portanto, o raciocínio indutivo toma forma. E o último estágio é intitulado “operações formais”, onde segundo Piaget, a criança distingue o real do possível, consegue raciocinar de forma ampla, desvinculada do concreto, do empírico, e mostra capacidade de inferir, testar e formular hipóteses sobre os fatos (Palangana, 1998). Neste ponto o aluno deve ser incentivado a raciocinar, e a avaliação, bem como outras atividades devem levar em consideração este desenvolvimento, e não cobrar apenas memorização, como ocorre em muitos casos (sendo discutido no item: “Conceituação de Avaliação”). Piaget foi fortemente influenciado por diversas correntes de pensamento, entre elas Kant e o Estruturalismo. De Kant, vêm a idéia de que o conhecimento é resultado de reflexões sobre um objeto a ser conhecido, captado através das impressões que se tem dele, pondo em ação a capacidade de entendimento. Mas deve ser claro que a experiência não garante a compreensão, se faz necessária a atividade reflexiva. Kant coloca também que a razão “... é a faculdade da unidade das regras do entendimento dos princípios”. 4 Piaget faz parte de uma corrente chamada Construtivismo ou Interacionismo, a qual prega que a origem do conhecimento está na interação do sujeito com o objeto. 4 (Palangana, 1998). p. 39 13 A teoria de Piaget reflete muito da idéia desta linha de pensamento. Outro pensador que também é enquadrado como interacionista é Vygotsky. 2.1.2 Aprendizagem Segundo Vygotsky O pesquisador Lev Semynovitch Vygotsky, trabalhou em diversas áreas da literatura e psicologia, sendo contemporâneo de Piaget, e desenvolveram suas teorias praticamente nos mesmos anos. Apesar de ambos serem interacionistas5 , há fortes diferenças entre suas teorias, principalmente porque Piaget centra todo o desenvolvimento no indivíduo, enquanto Vygotsky leva em consideração o ambiente como um fator preponderante na aprendizagem, ou seja, considera o efeito causado pelo ambiente sócio- histórico no desenvolvimento cognitivo (Palangana, 1998). Vygotsky não menospreza o desenvolvimento biológico, porém sua grande contribuição é conceber que o ser humano adquire os conhecimentos da espécie, sendo condicionado à sua evolução biológica e à qualidade da troca entre os indivíduos de sua espécie. Para Vygotsky, há estruturas elementares, cuja formação está ligada ao processo biológico do indivíduo, e outras consideradas estruturas superiores, mais complexas, cujo desenvolvimento está totalmente ligado ao processo cultural do meio. O pesquisador russo coloca que destas estruturas, há dois tipos de desenvolvimento do ser humano, o primeiro, chamado de real ou efetivo, engloba funções mentais resultantes de um determinado ciclo de desenvolvimento completado, de informações que o indivíduo possui. E o segundo tipo de desenvolvimento é o potencial, que é definido como os desafios que podem ser vencidos com o auxílio de outras pessoas mais experientes. A diferença entre estes dois desenvolvimentos cria a chamada “zona de desenvolvimento proximal”, que é criada exatamente pela aprendizagem, como fruto da interação do ser com seu ambiente, o que não aparece na teoria de Piaget. Vygotsky também acredita que a 5 Interacionismo: estabelecimento de relações recíprocas entre o sujeito que busca conhecer o objeto e o objeto em si; relações estas que modificam ambos. A teoria interacionista não privilegia nem o objeto nem o sujeito que o analisa, mas a interação que se estabelece entre ambos. 14 aprendizagem converte-se em desenvolvimento (ao contrário dos demais) e que este só é possível ser adquirido com a interação com o meio através da linguagem (Palangana, 1998), (Moura, 2002). Comparando Piaget e Vygotsky, vemos que enquanto um aponta o indivíduo como o responsável pelo seu desenvolvimento, o segundo coloca que o ambiente é fundamental, sendo necessário um trabalho organizado e coletivo em busca de um objetivo. Isto é bastante pertinente, pois no caso da sala de aula, não teríamos mais a figura de um professor que transmite informações, mas sim de facilitadores de desenvolvimento, que auxiliariam na busca da informação, na troca de idéias, induzindo uma conclusão e, portanto conhecimento. Vygotsky aponta a condição sócio-histórica do ambiente como motivador ou limitador do desenvolvimento cognitivo. 2.1.3 Uma Crítica às Idéias Propostas Face à Tecnologia Computacional Os estudos, tanto de Vygotsky quanto de Piaget sugerem que parte do aprendizado surge por esforço próprio do indivíduo, enquanto outra parte vem da coletividade, da troca de experiências ou entre pessoas que estudam o mesmo tópico ou entre pessoas mais experientes, as quais guiam os alunos durante o processo de aprendizado. Disto resulta a necessidade dos ambientes eletrônicos de aprendizado oferecerem, de alguma forma, interatividade entre os participantes, principalmente nos casos onde o curso é feito totalmente à distância, além de apresentarem o conteúdo de forma a instigar a curiosidade do estudante, de forma a este se sentir compelido a aprender novos conceitos (desequilíbrio das organizações mentais). Para que um sistema eletrônico seja capaz de realizar esta tarefa, seria necessário que permitisse total interação entre os participantes, além de analisar o comportamento do estudante de forma autônoma, detectando sua evolução. Porém, estas características não são triviais de serem alcançadas. Uma das grandes dificuldades em se obter um ambiente virtual, o qual permitisse a um indivíduo ter um aprendizado construtivista e interacionista, como proposto por 15 Piaget e Vygotsky, é criar um modelo de aluno que identifique e reaja adequadamente ao desenvolvimento do estudante. Este modelo do aluno teria de ser capaz de detectar o desequilíbrio das estruturas intelectuais do indivíduo e baseado nisto procurar outros que estejam em fase semelhante, de forma a formarem um grupo e evoluírem no aprendizado, como propôs Vygotsky. Certamente a tecnologia multi-agentes auxilia na busca de alunos com semelhantes perfis, assim como possibilita a comunicação entre eles de forma eficiente. Esta tecnologia também permite o acompanhamento individualizado de um estudante de forma local, ou seja, sem a necessidade de um canal de comunicação constante entre o estudante e um sistema eletrônico remoto. Entretanto, um sistema multi-agentes não possui nenhuma técnica de modelagem para construir o perfil do estudante. Este tema pertence à inteligência artificial, como nos campos de estudo dos sistema s especialistas (ou redes Bayesianas), redes neurais e algoritmos genéticos, dentre outros. Embora todas estas abordagens para sistemas inteligentes sejam capazes de modelar, através da lógica, situações complexas, não se possui ainda modelo para represent ar comportamentos tão complexos como o aprendizado humano. 2.2 Conceituação de Avaliação 2.2.1 Avaliação Escolar Tradicional Segundo diversos autores, o educador deve ser o agente que ajuda o aluno a desenvolver suas capacidades, levando sempre em consideração fatores psicológicos e biológicos, dentre outros, uma vez que influenciam diretamente no aprendizado. Em suas funções pedagógicas, o professor deve averiguar se os estudantes construíram seu conhecimento, e para tal buscará na avaliação respostas às seguintes perguntas (Sant’anna, 1995): ?? se os objetivos propostos foram alcançados; ?? se o programa proposto foi cumprido; ?? se o tempo foi suficiente; 16 ?? se outros objetivos indiretos foram alcançados. Outro ponto bastante importante, defendido por diversos autores é o fato da avaliação ser contínua, tendo como maior objetivo o desenvolvimento integral do aluno; e além disto servir como ferramenta para o professor verificar se os procedimentos e métodos pedagógicos adotados são adequados às propostas do curso. Ou seja, a avaliação só atinge os objetivos (eficiência e eficácia) se for um processo interativo, em princípio entre professor e aluno, ambos trabalhando para alcançar uma determinada meta, sendo estes objetivos claros, simples e precisos (Sant’anna, 1995), (Hoffman, 2000). Diversos autores elaboraram definições a respeito do que é avaliação, e algumas delas são transcritas abaixo (Sant’anna, 1995): “A avaliação educativa é um processo complexo, que começa com a formulação de objetivos e requer a elaboração de meios para obter evidências de resultados, interpretação dos resultados para saber em que medida foram os objetivos alcançados, formulação de um juízo de valor.” (Sarabbi, 1971) “O crescimento profissional do professor depende de sua habilidade em garantir evidências de avaliação, informações e materiais, a fim de constantemente melhorar seu ensino e a aprendizagem do aluno. Ainda, a avaliação pode servir como meio de controle de qualidade, para assegurar que cada ciclo novo de ensino e aprendizagem alcance resultados tão bons ou melhores que os anteriores”. (Bloom, Hasting, Madaus,) “Avaliação significa atribuir um valor a uma dimensão mensurável do comportamento em relação a um padrão de natureza social ou científica” (Bradfield e Moredock, 1963) 17 “É um processo contínuo, sistemático, compreensivo, comparativo, cumulativo, informativo e global que permite avaliar o conhecimento do aluno”. (Juracy C. Marques, 1976) Destaca-se desta lista ainda os termos comparativo, cumulativo e global. E Bloom (1972) coloca que a “... avaliação é uma coleta sistemática de dados, por meio da qual se determinam as mudanças de comportamento do aluno e em que medida estas mudanças ocorrem.”. A avaliação deve sempre estar baseada em objetivos claros, simples e precisos. Com isto, espera-se que a atividade avaliadora sirva para analisar o rendimento e mudanças ocorridas no aluno, na metodologia de ensino e no professor. Mas o que ocorre geralmente é que o educador não tem uma visão clara do que será avaliado, tão pouco sabe qual tipo de instrumento utilizar e como tratar as informações coletadas nos testes. Como resultado os estudantes não atingem os objetivos educacionais e sentem-se muitas vezes punidos, pois não entendem nem a serventia daquela atividade nem o resultado, causando frus tração (Hoffman, 2000), (Romão, 1998), (Sant’anna, 1995). Além disto, os métodos de avaliação geralmente aplicados são passivos, o que os pesquisadores que tratam de aprendizagem condenam veementemente. Um outro ponto a ser considerado quando da avaliação, é a confusão instaurada sobre o que é medir e o que vem a ser avaliar. Segundo Romão (1998), a avaliação deveria se referir a todo processo de formulação de questões e análise dos resultados, mas comumente o termo é utilizado para uma comparação entre os desempenhos obtidos, e neste ponto o teste assume a função de mensuração e não de investigação. Além do mais, como o objetivo do teste não está claro, e os resultados esperados não são definidos a priori, as tarefas são geralmente pontuadas arbitrariamente. Para o professor, o aluno ideal é “o nota 10”, e os demais são avaliados conforme o desempenho deste. Portanto a avaliação toma o significado de medida, e por muitas vezes em atividades que não permitem de forma clara, uma gradação em uma escala de valores numéricos. A medida, que deveria ser uma forma de se medir erros e 18 acertos baseados em um modelo, a partir da qual fossem extraídas conclusões, tornou-se a medida absoluta, não levando critérios de análise em consideração. Não são vistas desta forma, as relações possíveis entre as respostas, nem com o passado de estudo do aluno, uma vez que a resposta é algo estático e centrado apenas em si, sem nenhuma forma de complementação. Romão (1998) traz um exemplo da questão: suponha que exista uma balança em uma farmácia, e um observador anota as medidas de peso das pessoas que utilizam o instrumento balança. Uma senhora apresenta como resultado 81,5 kg e reclama do instrumento, pois está triste com o resultado apresentado. Um outro senhor sobe à mesma balança e registra a mesma medida. Contudo, este sai alegre com o resultado, e o observador não tem como saber o porquê da diferença na atitude, uma vez que os resultados foram os mesmos. Ele não tem como avaliar o fato, pois não sabe o histórico das pessoas; não sabe que o senhor tinha como meta emagrecer até 81,5 kg, e como alcançou o resultado esperado, ficou contente. Já a senhora deveria ter emagrecido até 80 kg, e não conseguiu, e, portanto o resultado para ela é ruim. O mesmo acontece com as avaliações escolares, pois as respostas são estanques, a medida que revelam um determinado evento, mas não refletem o que ocorre e, portanto como o professor saberia o que ocorreu com o aluno? O quadro vivenciado nos sistemas de ensino é parecido como exposto acima, onde um resultado 6 que não esteja de acordo com a escala comparativa é considerado um fracasso, e não uma oportunidade de aprendizado, muitas vezes rica. O aluno é incentivado a memorizar e repetir um padrão. Não é colocado a ele situações onde possa utilizar-se de seu aprendizado para resolver um problema, e não é criada a discussão em torno da solução, ou seja, não aparece o “ato inteligente” (Hoffman, 2000). 6 Considerando a avaliação formativa como ela geralmente é aplicada nas escolas, no final de um módulo de ensino (como nas chamadas provas mensais e bimestrais). 19 Uma possível solução é de alguma forma utilizar-se de ferramentas que possam auxiliar na análise do histórico e na medição de testes, e que consiga correlacionar eventos para que o professor tenha a possibilidade de se utilizar da avaliação, em seu termo mais amplo, e os alunos possam dela se beneficiar como um veículo de aprendizagem. 2.2.2 Características da Medida Educacional Romão (1998) aponta que o processo de medição deve considerar quatro pontos, sendo dois de caráter objetivo: saber o que se quer medir, e quais os resultados esperados, e dois de caráter subjetivo: o que se pode entender com as respostas e o processo de medição. Em educação, não se tem uma medida rígida e precisa como em ciências exatas, principalmente em termos de questões abertas. É nestas que a objetividade se faz importante para permitir uma mensuração adequada e correta de determinado fenômeno. O segundo ponto importante é a validade e fidedignidade do instrumento de medição, pois este deve possuir o rigor necessário à medida, e ser constantemente analisado para verificar se os seus métodos ainda são válidos para determinado público. Com os resultados obtidos, analisa-se sua utilidade, ou seja, se satisfaz a necessidade que se apresenta. O último passo é verificar a pertinência e oportunidade da medida, entendendo-se por pertinente a adequação daquela medida, verificando se esta é suficiente para as conclusões que se quer tirar, e oportuna no sentido de existirem as condições ideais para a aplicação do instrumento de medida. Estas considerações são extremamente importantes em termos de educação à distância, uma vez que o público de alunos não se encontra necessariamente condicionado ao mesmo ambiente, não é formado por pessoas de mesma faixa etária ou de interesses comuns. 2.3 Modalidades de Avaliação Como dito no item anterior, o professor ou tutor, ao aplicar a avaliação, deve estar preocupado com o que quer medir para efetuar a avaliação, sendo o mais objetivo e claro possível. Para isto, Bloom (1983) idealizou três categorias, cada qual adequada a uma meta: 20 ?? Diagnóstica: permite averiguar se há ou não a presença de determinado conhecimento ou habilidade, possibilitando inclusive a verificação da existência ou não de pré-requisito para novos aprendizados; ?? Formativa: verifica se o aluno absorveu determinado conhecimento, e geralmente deve ser aplicada regularmente; ?? Somativa: classifica os alunos ao final de um período de tempo determinado, segundo critérios de aproveitamento pré-determinados. A avaliação diagnóstica, muito pouco utilizada nas escolas, pode ser útil para determinar mudanças de direção durante o curso, pois detecta objetivos não alcançados e permite a elaboração de estratégias de reforço. Com esta avaliação, o aluno e o professor podem verificar o que e como foi aprendido, e com isto pode-se planejar os futuros passos do aprendiz, de acordo com o seu grau de dificuldade. Deveria ser aplicada no início de módulos de ensino, para verificar se os alunos apresentam os pré-requisitos necessários para a nova fase da aprendizagem. Amplamente utilizada, a avaliação formativa indica ao professor e ao aluno se determinado módulo de ensino 7 foi aprendido, sendo aplicada ao seu final. É importante o professor deixar claro qual o objetivo a ser alcançado e, com isto, é possível verificar, individualmente, quais são as deficiências do aluno, tornando possível sua recuperação durante o processo educacional. A avaliação formativa tem de ser aplicada em períodos de tempo curtos para obter-se resultados mais precisos. É necessário deixar claro aos alunos que este tipo de avaliação não possui função classificatória e, portanto, não deve estar associada a uma nota. O ideal é ter uma escala de conceitos para o aluno ser posicionado perante o objetivo educacional a ser avaliado. Não se deve cometer a injustiça da precisão, como explana Hoffman (2000)8 . 7 8 módulo de ensino: conjunto de unidades definidas nos objetivos educacionais. Ver (Hoffman, 2000) pg. 58 a 60 21 Já a avaliação somativa, visa verificar se o objetivo educacional foi alcançado de maneira satisfatória. Portanto visa avaliar se todo o conjunto de conhecimentos, individualmente verificados pela avaliação formativa foi absorvido e suas interrelações compreendidas. É importante ser feita sempre que se deseje averiguar o aprendizado de um conhecimento ou habilidade, e não apenas no final de determinado número de módulos. E, segundo Sant’anna (1995), ainda existem dois tipos de avaliação somativas: a intermediária, com um grande número de itens a serem avaliados; e a junção de todas estas avaliações somativas, a qual fornece o resultado final do curso. Com este processo, é possível verificar as relações entre os alunos e os itens estudados, verificando como cada aluno se encontra perante seus colegas, e como cada item do objetivo educacional foi absorvido pelos alunos, podendo indicar correções de percurso para aprendizados futuros. A Tabela 2.1Tabela 2.1 resume os principais pontos das avaliações diagnóstica, formativa e somativa: 22 Propósito Diagnóstica - Determinar a presença ou ausência de habilidades ou pré-requisitos; - Identificar as causas de repetidas dificuldades na aprendizagem. dos resultados Interpretação Instrumentos Época - No início do módulo ou do objetivo educacional; - Durante o ensino, caso o aluno evidencie alguma incapacidade. - Pré-teste; - Teste padronizado de rendimento; Tipos de avaliação Formativa - Informar ao professor e aluno sobre o rendimento da aprendizagem durante o desenvolvimento da atividade; Somativa - Classificar os alunos ao fim de um objetivo, atribuindo uma nota. - Localizar possíveis falhas no processo de aprendizagem. - Durante o processo de aprendizagem. - Final de um módulo ou objetivo. - Instrumentos planejados de acordo com o objetivo proposto. - Exame, prova ou teste final. - Baseado em critérios. - Geralmente baseado em normas, podendo ser baseado em critérios. - Teste diagnóstico; - Ficha de observação; - Instrumento elaborado pelo professor. - Baseado em critérios ou normas. Tabela 2.1Tipos de avaliação e suas características (Adaptado de (Bloom, 1983)) 2.3.1 Normas e Critérios da Avaliação Feita a aplicação da avaliação, é necessário que esta seja corrigida e avaliada por critérios previamente estabelecidos, de forma a obter os resultados dos estudantes e averiguar se os objetivos educacionais foram alcançados. Há dois métodos para a análise dos resultados obtidos: por critério e por normalização. O método do critério é o mais utilizado nas instituições de ensino, e no qual um aluno é comparado segundo um ou mais critérios pré-estabelecidos, os quais identificarão se o estudante alcançou o objetivo educacional. É verificado o quanto o 23 estudante realmente absorveu de um determinado tópico, identificando pontos onde o aprendiz está apto e pontos onde um reforço se faz necessário. Segundo Popham apud Zaina (2002) esta avaliação fornece dados sobre o desempenho específico do aluno, e não permite realizar uma comparação entre os estudantes. Não é necessária a medição do desempenho por uma nota. Porém, se existir, esta deve servir de referência para o aluno para este saber se o seu desempenho está de acordo com o esperado e indicar os pontos positivos e aqueles que devem ser aprimorados para atingir os objetivos educacionais. Já no método por normalização não há uma meta estabelecida, e sim o propósito de verificar e diferenciar o desempenho dos estudantes, sem especificar o que realmente foi aprendido. Esta é uma classificação útil quando se deseja realizar uma classificação do estudante, independentemente dos erros e acertos obtidos, sem o parâmetro do aprendizado ideal. 2.3.2 Tipos de Questões As questões que compõem uma avaliação podem ser basicamente de dois tipos: dissertativas e objetivas. Ambas podem fazer parte de uma mesma prova ou teste, desde que seja feito um certo balanço que garanta um equilíbrio e a cobertura de todo o conteúdo do objetivo educacional. 2.3.2.1 Questões Dissertativas Estas questões são marcadas por textos livres, onde os alunos podem responder a determinada pergunta com suas palavras, utilizando-se de considerações e comentários sobre um tema. Com estas questões, pode-se verificar a chamada aquisição de conhecimento do aluno, onde é analisado o quanto o aprendiz memorizou de determinado assunto. O professor também pode argüir sobre relações entre assuntos, podendo ser por associação, onde dois tópicos são confrontados; ou por comparação, quando são verificadas semelhanças e diferenças entre duas situações aprendidas. Ainda o aluno pode ser questionado a aplicar determinado conhecimento, transpondo-o para uma situação, ou fazendo com que ele explique certo fenômeno ou 24 que ele interprete algo. Isto significa generalizar a partir de uma descrição, segundo Sant’anna (1995). E pode-se ter também o que é chamado de “generalização de conhecimento”, onde o aluno reorganiza o conteúdo aprendido, envolvendo outros conhecimentos e experiências, expandindo seu entendimento. Isto pode ser realizado através da síntese de um assunto, ou uma crítica, uma suposição, dentre outros. Este tipo de questão apresenta uma difícil análise das respostas, uma vez que o aluno possui total liberdade para exprimir suas opiniões, evidenciando a individualidade, com respostas subjetivas. São consideradas boas questões para verificar a compreensão, a análise e habilidades de síntese, mas pouco adequadas para medir o domínio de determinado tópico. Portanto, dado o grau de precisão que se tem neste tipo de resposta, a avaliação geralmente é feita por um ser humano. Atualmente diversas ferramentas tecnológicas para auxílio na avaliação deste tipo de questão procuram palavras-chave ou outros pontos específicos da resposta sem, contudo analisar o contexto (embora existam pesquisas sobre este tema). 2.3.2.2 Questões Objetivas As questões são consideradas objetivas quando a opinião ou interpretação do avaliador não influi na correção da questão. É característica deste tipo de questão a atribuição de pontuação, pois existem palavras e frases “chave”, ou pode-se optar por dentre diversas respostas selecionadas, qual é a mais adequada. Esta categoria dividese em duas sub-categorias: recordação ou evocação, onde a resposta é dada por uma lembrança ou por completar lacunas; e reconhecimento, caracterizado por questões de verdadeiro - falso, ordenação, múltipla escolha ou itens de interpretação. Devido às características das questões, um sistema computadorizado pode auxiliar na avaliação dos alunos. As questões de recordação (ou simples lembrança) apresentam respostas curtas e simples, através de uma palavra ou símbolo. Tem como vantagens a facilidade de construção, a naturalidade e a grande dificuldade de se adivinhar a resposta. Mas também traz a desvantagem de não avaliar de forma satisfatória, pois apenas memorizar o conteúdo é suficiente para ser bem sucedido e, portanto não se avalia o quanto o aprendiz sabe do tópico. As perguntas podem ser feitas de maneira direta, 25 como: “Quem descobriu o Brasil?” ou por questões de preencher lacunas, como: “A capital do estado de São Paulo é: ___________.”. Já as questões de reconhecimento podem ser classificadas em: ?? Verdadeiro - Falso: estas questões são simples de corrigir e são de rápida execução, uma vez que o aluno deve apenas ler uma proposição e assinalar se é verdadeira ou falsa. A sua construção pode ser complexa, uma vez que não pode haver margem a dúvida e outras interpretações em nenhuma das proposições; traz como desvantagem a possibilidade de respostas ao acaso, e na maioria dos casos favorecimento do uso da memória em detrimento do raciocínio. Exemplo: A memória RAM é parte essencial para um PC. ( ) Verdadeiro ( ) Falso. ?? Múltipla escolha: neste tipo de questão, o aluno deve escolher uma ou mais alternativas dentre uma série. Geralmente, todas as alternativas devem estar relacionadas com a pergunta; e apresenta uma versatilidade grande, uma vez que se pode marcar as corretas, as erradas ou a mais certa ou mais errada. Além disto, consegue-se verificar o raciocínio e julgamento dos alunos. Em compensação, sua elaboração pode ser mais demorada se comparada às questões de verdadeiro- falso, pois a não ambigüidade deve ser preservada. Exemplo: Qual das alternativas melhor define um triângulo? ( ) figura que possui três vértices ( ) figura que possui dois vértices e três lados ( ) figura que possui três vértices e três lados ( ) cinco vértices ?? Ordenação ou Associação: são questões formadas por duas ou mais listas as quais devem ser combinadas. Este tipo de questão reduz a adivinhação, mas não avalia a compreensão dos alunos, dada a característica da associação. Exemplo: Relacione os personagens com os fatos históricos: 26 (a) Dom Pedro I ( ) Proclamação da República (b) Marechal Deodoro ( ) Período da Regência (c) Princesa Isabel ( ) Independência do Brasil (d) Cipriano Barata ( ) Abolição da escravatura ?? Itens de Interpretação: geralmente são questões baseadas em um texto, mapas ou gráficos, das quais se faz uma série de afirmações, e o aluno deve indicar quais são as afirmações corretas ou incorretas, ou que mais se adequam às fornecidas. São questões que estimulam a inferência, a identificação de explicações e o raciocínio. Exemplo (Sant’anna, 1995): O futuro pode não ser tão incerto como se pensa. Ele pode ser visto, sentido e pensado no presente. Mas exige que a pessoa aprenda a vê-lo como futuro, a sentí-lo e percebê-lo como futuro que, inevitavelmente, se tornará presente. A partir da idéia expressa no texto, concluímos que o processo educacional está exigindo: ( ) uma ação dinâmica; ( ) uma ação planejada; ( ) uma ação de mutações múltiplas; ( ) um processo de adaptação e readaptação; ( ) uma nova filosofia no agir. 2.4 Objetivos Educacionais e a Taxionomia Educacional de Bloom Pode-se definir um objetivo educacional como metas que identifiquem eficazmente o que é esperado do aprendizado de algo, ou seja, no momento que o 27 professor define o conteúdo a ser ensinado, deve ser claro para o aluno identificar quando ele chegou à meta. Portanto, tem-se claro qual é a mudança de comportamento esperada por parte do aluno, e quais são as habilidades que ele possuirá ao final do estudo. Suponha um curso de engenharia elétrica, em que uma das matérias é introdução à programação de computadores. Os alunos devem aprender os fundamentos lógicos de programação, e uma forma de escrever programas de computador em uma linguagem especifica, como C ou JAVA. Esta meta educacional demanda um certo tempo, sendo razoavelmente complexa. Portanto pode ser dividida em objetivos menores, chamados de objetivos educacionais. Por muitas vezes, os objetivos educacionais são definidos de forma equivocada, e a conseqüência natural é que alunos, professor, e até mesmo a instituição não sabem identificar de forma clara se os objetivos educacionais foram cumpridos, e então se recorre à subjetividade como ferramenta de decisão. Para auxiliar na criação de objetivos educacionais, Benjamin Bloom et. al. propuseram a chamada taxionomia dos objetivos educacionais em 1956. A teoria apresentada divide-se em três domínios: o cognitivo, o afetivo e o psicomotor. O domínio afetivo contempla os objetivos que indicam as mudanças de interesses e valores de um indivíduo durante seu desenvolvimento. O domínio psicomotor contempla as habilidades manipulativas ou motoras, e sobre isto Bloom coloca: “... encontram-se tão poucas realizações a este respeito na escola secundária e nas faculdades que não se crê muito útil, no momento, o desenvolvimento de uma classificação sobre este tipo de objetivos.”. O domínio cognitivo, no qual este trabalho procura sustentação, contempla os objetivos vinculados à memória, reconhecimento e o desenvolvimento das capacidades intelectuais. Portanto, este domínio é o apropriado aos sistemas de avaliação, ao currículo escolar, e por isto foi o primeiro trabalho desenvolvido pelo pesquisador (Bloom, 1972). 2.4.1 Taxionomia dos Objetivos Educacionais A taxionomia visa auxiliar os educadores a classificar os objetivos educacionais e, baseado nesta, é possível definir formas de mensuração apropriadas. O caráter 28 hierárquico desta teoria capacitaria o professor, e até mesmo um aluno a entender com maior clareza a localização de um objetivo particular, o que se pretende ao atingi- lo, e com isto, a avaliação poderia ser melhor dimensionada. Segundo Bloom (1972) a principal finalidade da taxionomia é “... facilitar a comunicação. Em nossas considerações iniciais do projeto, concebemos a taxionomia como um método de favorecer a troca de idéias e materiais entre os especialistas em avaliação, bem como entre outras pessoas vinculadas à pesquisa educacional e ao desenvolvimento do currículo”. O interesse de um avaliador deve estar nas mudanças ocorridas no indivíduo, resultado das experiências educacionais e, portanto a taxionomia deve classificar os comportamentos do aluno, que representam os resultados do processo educacional. Durante o desenvolvimento da teoria, constatou-se uma quantidade intratável de resultados educacionais que se imaginava utilizar como base para o desenvolvimento da classificação proposta. Como solução quatro princípios foram elaborados como base para um sistema mais simples de classificação. O primeiro princípio argumenta se a taxionomia trata de unidades e programas educacionais existentes, mantendo a figura do aluno e do professor com suas funções e hierarquia tradicionalmente utilizadas na escola. O segundo princípio prega que a taxionomia deve ser logicamente desenvolvida e internamente coerente. O terceiro diz que deve ser compatível com os fenômenos psicológicos. Por fim, o quarto princípio afirma que a classificação de um objetivo educacional deve ser representada de forma neutra, como a classificação de uma biblioteca, onde são descritos todas as classes e tipos de livros, mas não indica (ou se pode inferir) sobre as qualidades destes, nem especifica quantidades adequadas de volumes (Bloom, 1972). O domínio cognitivo, embora em sua concepção inicial limite os objetivos em capacidade, conhecimento e habilidade intelectual, também inclui memória, raciocínio, solução de problemas e formação de conceitos. Outras considerações importantes vêm da afirmação de Bloom de que para classificar os itens de um teste corretamente, deve-se levar em conta as experiências anteriores do estudante, pois se acredita que através de uma hierarquia, um comportamento educacional mais 29 simples, unido a outro igualmente simples, além de se tornar mais complexo, permite o entendimento de outro conceito. Uma vantagem de se utilizar a taxionomia está na ordenação que faz dos fenômenos, esclarecendo suas propriedades essenciais e suas inter-relações. 2.4.1.1 Adequação da Taxionomia Uma das principais dificuldades na categorização dos itens de um teste surge do fato de ser necessário conhecer ou considerar experiências educacionais anteriores do aluno. Isto porque um problema pode requerer um tipo muito complexo de comportamento para se chegar à solução, ou pode necessitar apenas de memorização, caso o estudante já tenha alguma experiência anterior da aprendizagem. A taxionomia pode auxiliar na classificação de uma prova, levando em conta estes fatores históricos. Mas para classificar adequadamente a diversidade dos objetivos existentes, deve-se ter dois pontos em mente, a comunicabilidade e inteligibilidade, ou seja, a taxionomia tem de ser uma fonte de estímulos à reflexão do problema educacional proposto, e ao mesmo tempo servir como orientação aos métodos de desenvolver tanto a avaliação como as técnicas de ensino. Esta teoria foi aplicada em diversos estabelecimentos com a finalidade de se classificar os materiais de avaliação. Os resultados apresentados por Bloom mostram que a taxionomia detectou vários problemas nas estruturas educacionais e que os testes apresentavam uma relação muito baixa entre as capacidades e habilidades cognitivas e inteligência. Dentre os problemas apontados estão a falta de definição dos objetivos de uma atividade; o não saber do professor, pelo menos de forma clara, quais são os requisitos do aprendizado; como montar uma continuidade de aprendizado; e nem tampouco se a avaliação é objetiva e clara. E neste ponto a taxionomia mostra seu poder, pois em um objetivo o professor deve relacionar as matérias afins, quais os problemas que poderão ser encontrados e a expectativa de desempenho do aluno. Com relação à natureza do domínio cognitivo, Bloom indica quatro tipos de decisões a serem tomadas: qual a porção de conhecimento que deve ser exigida do aluno, qual a necessidade dele aprender este conteúdo, como organizar o conhecimento de forma 30 a aumentar a chance de aprendizado, e como a informação pode ser útil para o aprendiz. O ideal é o estudo de um item do conhecimento de forma abrangente, e a partir deste ponto ir refinando e detalhando, até chegar no nível indicado para aquele aluno, podendo se tornar até mesmo um especialista. A taxionomia permite avaliar quão efetiva a aprendizagem foi por meio de testes e processos sistemáticos de coleta de dados. E para isto, as informações necessárias para resolver um problema proposto necessariamente integram os recursos de um determinado grupo de conhecimentos, além das habilidades que abrangem os processos mentais de organização e reorganização dos materiais para alcançar o objetivo. Já a capacidade intelectual tem referência em situações onde o individuo utiliza informações para resolver um novo problema. Ainda que estas distinções possam ser feitas entre habilidades e capacidades em um teste, fica difícil avaliá- las sem o conhecimento das experiências anteriores dos alunos. Elas são mais amplamente aplicáveis do que conhecimento, e se estamos preocupados com a transmissão deste, devemos selecionar as capacidades e habilidades que apresentem a maior taxa de transferência. E, segundo o autor, o motivo da eficiência das capacidades e habilidades é sua permanência, ou teoria do reforço, pregando que os conteúdos que são vistos ao longo da formação do aluno tendem a permanecer, enquanto aqueles pouco vistos tendem a ser esquecidos. 2.4.2 Hierarquia da Taxionomia dos Objetivos Educacionais A Taxionomia dos Objetivos Educacionais é composta por seis categorias ou comportamentos observáveis, sendo que os objetivos e alterações atingidas pelo individuo em uma categoria são necessários para as categorias posteriores, sugerindo a organização da Figura 2.1Figura 2.1: 31 Figura 2.1– Hierarquia das categorias dos objetivos educacionais A primeira categoria, Conhecimento, refere-se a estruturas específicas e universais, de métodos e processos, padrões ou composições, onde o que é privilegiado é a memória. A idéia é que a questão apresentada contenha sinais ou indícios que ativem aquele conhecimento armazenado. A idéia de avaliação nesta categoria é criar questões que, de alguma forma, forneçam indícios ao aluno para que este recupere algum conhecimento armazenado. O conhecimento pode ser dividido, segundo o autor, em três grandes áreas, sendo a primeira a do conhecimento específico, ou seja, unidades isoladas ou pontuais, com baixo nível de abstração. Esta área é subdividida ainda em conhecimentos de terminologia e de fatos específicos. A segunda área trata da maneira de lidar com o conhecimento e de como organizá-lo. Isto se verifica como a observação de escalas, como por exemplo, a temporal, o tratamento de convenções, tendências, classificação em categorias e uso de critérios e metodologias. E por fim, a terceira área é a dos conhecimentos abstratos, ou seja, trata de princípios, generalizações e teorias. Esta categoria ainda pode ser subdividida em várias outras, como conhecimento específico, onde a ênfase está em símbolos concretos, com um nível de abstração baixo. Há ainda os conhecimentos das maneiras de organizar, julgar, criticar, incluindo os métodos de indagação e padrões de julgamento em determinado campo. E por fim há conhecimentos 32 universais e abstrações para um determinado assunto, que é composto por esquemas e padrões pelos quais os fenômenos são organizados. A segunda categoria, a Compreensão, trata as capacidades e habilidades de organizar operações e as técnicas para generalizar e tratar com materiais e problemas. É um tipo de entendimento considerado de nível mais baixo, onde o aluno sabe o que está sendo comunicado, podendo até fazer uso do material ou idéia sem, contudo associá- la com outros conteúdos. Nesta categoria ainda existem três subdivisões: ?? Translação: verter uma comunicação em outra, sendo precisa e mantendo o material original (idéias) inalterado. ?? Interpretação: explicação ou síntese de uma comunicação. ?? Extrapolação: determinar implicações e conseqüências baseadas nas informações ou material da comunicação original. A terceira categoria, Aplicação faz uso das abstrações e as utiliza em situações reais, onde princípios e operações são utilizados na compreensão de um fenômeno. Neste ponto ainda não se faz hierarquização ou relações entre conceitos de forma mais ampla, mas se utilizam todas as capacidades desenvolvidas nos passos anteriores, ainda mantendo as idéias originais inalteradas. Já a Análise, quarta categoria, é onde ocorrem desdobramentos e hierarquização das idéias. Neste ponto o aprendiz é capaz de relacionar conceitos, entender implicações não diretamente enunciadas, formular e reconhecer hipóteses, dentre outros. Bloom subdivide a Análise em elementos da comunicação, das relações entre eles e a análise de estruturas implícitas e explicitas. A penúltima categoria, a Síntese, é a combinação dos elementos anteriores, o momento onde o estudante consegue combinar um conjunto de conhecimentos, análise e os demais passos anteriores e forma uma nova estrutura de conhecimento, anteriormente desconhecida ou não trivial. Isto se reflete na elaboração de textos de idéias organizadas, em testes de suposições, dentre outros. Neste momento, o 33 raciocínio torna-se preponderante, onde o estudante pode realizar suas próprias descobertas. E por fim a Avaliação, que são os métodos e materiais utilizados para aferir o aprendizado, segundo critérios pré-estabelecidos. Cabe ressaltar a adequação dos testes discutida em itens anteriores deste trabalho, pois para cada objetivo da taxionomia de Bloom existem diversos tipos de testes que melhor medem o estágio que o aluno alcançou. Pode-se dividir a avaliação em duas categorias, como é enfatizado na teoria dos objetivos educacionais em evidências externas, como generalizações de conceitos ou comparação de trabalhos; e as evidências internas, as quais são a clareza, a consistência, e a estrutura do raciocínio. Nota-se que os atuais sistemas de avaliação não possuem as condições necessárias para realizar, de forma automática, todos os pontos abordados na taxionomia dos objetivos educacionais, visto que em muitos deles a intervenção do professor é necessária para uma tomada de decisão. Mas é interessante o fato de tais sistemas poderem, mesmo assim, auxiliar na tarefa da avaliação. Há tentativas de avaliar-se a semântica das palavras em textos, e com isto determinar-se computacionalmente, o significado de uma expressão dentro de um texto. Mas estas pesquisas não fazem parte do escopo deste trabalho. 34 3 AGENTES E SISTEMAS MULTI-AGENTES 3.1 Definições e Características de Agentes e de Inteligência Atualmente, não há uma concordância em torno de uma única definição para o que seja um agente. Entretanto há algumas bastante aceitas, como a proposta por Shohan (Bradshaw, 1997): “Um agente é uma entidade de software que funciona de forma contínua e autônoma em um determinado ambiente, freqüentemente associado com outros agentes e processos”. Pode-se também abordar como Wooldridge (1995a), que define um agente como uma entidade encapsulada capaz de resolver problemas, ou como Laurel (1997): “um agente é uma personagem, encenada pelo computador, que age representando os interesses de um usuário no ambiente virtual”. Wooldridge e Jennings (1998) definem agentes como “um programa autocontido capaz de controlar seu processo de tomada de decisão, e de atuar baseado nas percepções do ambiente, em resposta aos seus objetivos”. Segundo Nwana (1996), “um agente refere-se a um componente de software ou hardware que é capaz de executar tarefas em nome do usuário”. O ponto importante de todas as definições é o fato de colocar um agente como uma entidade autônoma, sem a intervenção do ser humano ou outros sistemas, em todo ou na maior parte do tempo de operação. Isto significa que este agente deve controlar seus estados internos e, conseqüentemente, dominar seu comportamento, dado um determinado ambiente. Esta autonomia é válida para o meio onde o agente se encontra, dado que em um ambiente, devido a características particulares, o agente pode não ser considerado autônomo. A autonomia tem de estar associada a um objetivo e este a ações que o realizem. Logo, o agente necessariamente deve possuir uma tarefa a ser executada. Além da autonomia, pode-se elencar uma série de características que os agentes podem apresentar, como (Bradshaw, 1997), (Wooldridge, 1995a): ?? reatividade; ?? comportamento cooperativo; 35 ?? capacidade de comunicação; ?? capacidade de inferência; ?? continuidade temporal; ?? personalidade; ?? mobilidade; ?? pró-atividade. A reatividade é a capacidade de perceber o ambiente e responder às mudanças deste, de forma a satisfazer os objetivos do agente. É importante em ambientes dinâmicos (ver item 3.1.3), pois dado que o ambiente torna-se incerto, assumir posições imutáveis não é razoável, devendo haver adaptação à nova realidade. O comportamento cooperativo retrata a capacidade de um agente trabalhar em parceria com outros, característica esta marcante em um sistema multi-agentes. Isto é necessário uma vez que determinadas tarefas são demasiadamente complexas para um agente resolver sozinho. Nestes casos, pode-se trocar dados com agentes que ajudem na solução, particularmente quando estes são especialistas em uma parte do problema a ser solucionado. Naturalmente, esta capacidade só se torna viável se houver comunicação entre eles. Portanto é necessário estabelecer protocolos comuns, para que todos os participantes troquem informações, tendo por base um conhecimento comum da sua ontologia 9 . Desta forma o caráter semântico de uma mensagem é garantido, pois todos os seres têm um mesmo tipo de conhecimento e, portanto de interpretação do mundo que habitam. Isto denota sociabilidade dos 9 Ontologia é o estudo do ser, sendo através dela possível descrevê-lo para que seja então conhecido. Na medida em que a ontologia de um ser seja conhecida por outro torna-se possível ao primeiro entender o segundo e, portanto com ele se comunicar e trocar conhecimento. O eventual uso de diferentes ontologias para um mesmo ser permite sua descrição sob diversos enfoques , ou com diferentes roupagens. Neste caso consegue-se criar interfaces do ser descrito que sejam apropriadas para reconhecimento por interlocutores de diferentes espécies. 36 agentes, podendo-se falar de sociedade de agentes. (Bradshaw, 1997), (Wooldridge, 1999), (Russel, 2004). A capacidade de inferência é o poder de agir sob um determinado ambiente, utilizando o conhecimento adquirido, analisar cenários e tomar decisões baseadas em processos “cognitivos” que se aproximam do raciocínio. Com isto o agente torna-se flexível para responder às mudanças do ambiente e satisfazer os seus objetivos. Um agente com esta característica é chamado de agente inteligente, já que possui algum conhecimento e pode adaptá-lo, ou seja, aprender novos itens para adequar-se à realidade do ambiente em que se encontra. É importante frisar que este conhecimento é válido no contexto no qual está o agente; qualquer alteração deste contexto pode invalidar totalmente o conhecimento adquirido. Outra característica fundamental é a continuidade temporal do agente. Isto significa que ele pode permanecer desativado por um certo período, durante o qual mantém seus estados internos, e que ao ser reativado retomará como seu estado inicial o mesmo estado imediatamente anterior à desativação, ou seja, o agente reinicia seu processamento do ponto exato onde parou. Esta característica é importante, pois garante que o conhecimento adquirido pelo agente seja mantido e possa ser restabelecido quando este for reativado. E por pró-atividade entende-se a capacidade do agente trabalhar orientado a um objetivo, executando uma ação sempre que seus estados internos o levarem à conclusão de que deva fazê-la. Ou seja, além de reagir a mudanças ocorridas no ambiente, o agente ainda pode alterar seus estados internos durante o processamento e tomar uma ação, baseada em seus novos estados. Os agentes pró-ativos podem em função de seus objetivos se antecipar e efetuar ações que não sejam meramente reativas. Cada tipo de agente pode ser classificado segundo Gilbert apud Bradshaw (Bradshaw, 1997) em três eixos determinantes: o da mobilidade, da inteligência, e do “tipo de serviço” (agency) prestado, conforme o gráfico abaixo: 37 Tipo de serviço (agency) Interatividade Serviço Interatividade Dados Representação do Usuário Agentes Funções Fixas Interatividade Aplicação Sistema Especialista Inteligência Estáticos Scripts Móveis Preferências Raciocínio Planejamento Aprendizado Agentes Móveis Mobilidade Figura 3.1 – Classificação de um agente ((Bradshaw, 1997) adaptado) A terminologia “tipo de serviço” significa a interatividade do agente face ao ambiente em que está imerso. Por exemplo, se este é síncrono ou não, se presta um serviço ou representa ou usuário, dentre outros. (Wittig, 1999). Nwana (1996) ressalta que um agente pode ser classificado em termos de mobilidade (móvel ou estático) e inteligência (deliberativo ou puramente reativo). Porém propõe ainda outra forma de classificação, baseada em três características que o agente deve exibir em algum grau: autonomia, aprendizado e cooperação. A autonomia é a capacidade de cumprir tarefas sem intervenção humana, ou de outros agentes. O aprendizado é a capacidade de adaptação do agente, face às suas interações com o ambiente. E a cooperação é entendida como uma forma de realizar tarefas mais complexas, compartilhando recursos. Cabe ressaltar que em um ambiente podem existir diversos agentes que não colaborem entre si. Estas características podem ser combinadas, resultando em diversos tipos de agentes, como os agentes colaborativos, ou seja, aqueles que possuem autonomia e 38 cooperação, ou os agentes de interface, os quais são autônomos e aprendem com as interações do usuário. Nwana (1996) ainda classifica como agente inteligente àquele que possui as três características citadas. Agency Agente Aprendizado Autonomia Figura 3.2 – Classificação de agentes segundo (Nwana, 1996) (adaptado) Franklin e Graesser (1996) propõem a classificação de agentes apresentada na figura a seguir. Figura 3.3 – Classificação dos agentes, segundo (Franklin, 1996) (adaptado) 39 Segundo esta classificação, este trabalho trata de agentes computacionais, da família de agentes de software, e do gênero agentes de tarefas específicas. Os autores elaboraram uma classificação similar a dos seres vivos, buscando organizar todas as entidades que podem ser consideradas agentes, segundo o critério por eles estabelecido. Isto auxilia na discussão de como distinguir um agente de um daemon, de um objeto ou de um vírus de computador. De fato, todos poderiam ser classificados como agentes de software, e como mostra Franklin (1996), o vírus de computador é uma variação de agente. Os daemons também podem ser considerados agentes, pois possuem autonomia em seu ambiente, uma vez que são iniciados pelo sistema operacional e executam uma tarefa específica, como o monitoramento de uma aplicação. Não se pode dizer, entretanto que sejam colaborativos ou inteligentes. Alguns daemons podem aceitar parâmetros de configuração assim como agentes também podem aceitar dados de configuração do usuário sem, contudo ferir o controle do seu estado interno. Entende-se por estado de um sistema o valor assumido por um conjunto de suas variáveis características, os quais definem uma situação específica. Uma máquina de estados é uma composição de estados ligados por transições, ou seja, por ocorrências de fatos que geram uma alteração das características do sistema. Para se determinar o estado de um computador, por exemplo, devem-se analisar algumas características como se este está ligado ou não, se o sistema operacional está carregado, qual processo está em atividade no equipamento, a temperatura do processador, dentre outros. Qualquer ocorrência nova, como a ativação de um novo processo (uma transição) leva a uma nova realidade, ou seja, a um novo estado. O conjunto destas alterações que podem ocorrer e os estados resultantes definem a máquina de estados do computador, como ilustra a figura abaixo: Temp = Temp+2 transição Temp=10 Temp=12 Estado A Estado B Figura 3.4 – Exemplo de uma máquina de estados 40 Já a distinção entre agente e objeto pode ser entendida em função da autonomia. Em muitos casos um objeto faz parte de um sistema maior, e executa alguma ação, mas sempre sob comando do sistema maior; o objeto em si não executaria uma ação baseada apenas em seus estados internos ou em resposta aos seus objetivos. Ocorre em diversos casos que os estados internos são controlados por outros objetos. 3.1.1 Inteligência de Agentes A inteligência de um agente, apesar de ainda não ser plenamente aceita na comunidade científica que estuda a Inteligência Artificial, pode ser definida como a capacidade de raciocínio e comportamento aprendido (Bradshaw, 1997), (Wooldridge, 1999). Segundo Maturana apud Wittig (1999): “a capacidade de sobreviver dá o grau de inteligência. Um sistema é inteligente tanto quanto sua capacidade de maximizar as propriedades de sobrevivência em um dado ambiente”. Isto também pode ser entendido como a capacidade de adaptabilidade, como exposto por Netto (2002), onde um sistema multi- agentes aprende que determinadas figuras dentro de seu ambiente fornecem suprimentos de energia, enquanto outras o retiram; e que sua operação gasta uma certa quantidade de energia, limitada a cada agente. Os testes mostraram que aqueles cujas decisões fossem mais acertadas acumulavam energia. E através de algoritmos genéticos, os mais adaptados forneciam maior parte de conhecimento às novas gerações, sendo estas melhor sucedidas. Apesar do agente não aprender durante uma geração, quando observada a espécie o comportamento evoluiu, gerando seres mais adaptados. Mas há aqueles agentes que aprendem durante sua existência, adaptando sua base de conhecimento ao ambiente e às preferências do usuário (quando estas existem). Estes agentes devem realizar experimentos e tirar conc lusões que contribuam para alcançar algum objetivo. Este comportamento de caráter experimental pode ser definido em termos de construção ou de operação do software. Em se tratando da construção, o agente pode ser implícito se não possui as suas instruções de comportamento fixas, ou seja, as instruções podem variar de acordo com o ambiente, como ocorre com sistemas que se utilizam de algoritmos genéticos. Por outro lado, o agente pode ser explícito, ou seja, ter todas as suas instruções definidas no código 41 (em tempo de compilação). Porém pode-se definir, em termos de operação, que um agente é implícito se os valores dos parâmetros que definem seu comportamento não são definidos na programação, e explícito caso contrário. Neste trabalho, os agentes são explícitos em sua construção, pois as estruturas de decisão são definidas, porém são implícitos em sua operação, pois todos os parâmetros são definidos de acordo com as condições do ambiente. 3.1.2 Mobilidade de Agentes O paradigma de mobilidade dos agentes pode ser considerado uma evolução dos mecanismos de Chamadas de Procedimentos Remotos (Remote Procedure Call – RPC), criados na década de 1970. Um sistema RPC permite que uma aplicação localizada em um computador possa executar um procedimento em uma outra máquina, desde que esta esteja disponível para execução, e o protocolo 10 utilizado entre os equipamentos seja o mesmo. Esta é a base da arquitetura cliente-servidor, onde aplicações clientes podem ativar rotinas nos servidores, e receber dados resultantes do processamento remoto. A abordagem do RPC, apesar de amplamente utilizada, possui algumas restrições, como a necessidade de se ter um processo de comunicação contínuo entre a máquina cliente e servidora, durante todo o processamento da requisição. E para cada instrução a ser solicitada pelo cliente, uma mensagem deve ser enviada ao servidor. O caminho contrário também acontece, ou seja, o servidor envia uma confirmação das tarefas que está executando para o cliente. Segundo White (White, 1997), caso uma aplicação remota (cliente), através de RPC, apague N arquivos, serão necessárias 2 ?N ? 1? mensagens trocadas entre os equipamentos, além de existir uma conexão ativa durante todo este processo. Uma outra abordagem para o RPC é a programação remota, na qual os agentes móveis estão baseados. A diferença está em ver a comunicação entre dois 10 As regras e convenções utilizadas em uma conversação. 42 equipamentos não apenas como chamadas de procedimentos, mas como envio de procedimentos a serem executados na máquina remota (destino ou servidor), através de uma linguagem própria para este fim. Com isto, a quantidade de mensagens trocadas em uma rede diminui sensivelmente, uma vez que um agente executa as tarefas na máquina remota, e neste contexto, a interação entre as aplicações se dá em uma única máquina. Assim não há a necessidade de transmissão de dados em uma rede enquanto o processo é executado no computador remoto. A abordagem acima trata da performance da comunicação, dado que quanto mais tarefas forem executadas, tanto mais mensagens deixarão de ser transmitidas (comparado com o modelo do RPC), o que demonstra grande vantagem em sistemas de comunicação de baixa performance, como as conexões de dados via rede pública de telefonia (desconsiderando as soluções xDSL). Outra forma de se analisar benefícios, está na personalização do programa, pois cada usuário que possuísse um agente poderia tê- lo ajustado às suas necessidades, sem interferir no programa remoto. Mas para que diversos agentes possam interagir, uma padronização da comunicação se faz necessária (ver item 3.2.3). Além disto, conceitualmente, um agente móvel não precisa necessariamente deslocar-se para apenas uma máquina e depois retornar ao seu ponto de partida; em vez disto, pode migrar de uma máquina remota para outra qualquer, de forma a completar sua tarefa. 3.1.3 Características de Ambientes de Agentes O ambiente de um agente pode ser definido como a estrutura onde o agente realiza suas ações e percebe (ou recebe) sinais enviados pelas entidades com as quais se relaciona ou que de alguma forma o influenciam. O ambiente é composto por agentes e outros objetos (não agentes) e as interações destes alteram os estados do meio. Os agentes podem estar imersos em diversos tipos de ambientes, sendo que um agente pode operar em apenas um deles em determinado instante de tempo. A classificação abaixo identifica características do ambiente que influenciam tanto na construção como na forma de agir dos agentes. 43 3.1.3.1 Quanto à Previsibilidade Segundo Russel e Norvig (2004), pode-se iniciar a cla ssificação de um ambiente considerando-o como Determinístico ou Não Determinístico. Esta classificação divide os ambientes entre aqueles nos quais sabe-se exatamente o resultado de uma determinada ação quando executada, ou seja, o agente sabe qual será o efeito de sua ação no ambiente, e não há qualquer incerteza a este respeito, chamados “determinísticos”; e aqueles em que não há tal certeza, classificados como “não determinísticos”. 3.1.3.2 Quanto à Acessibilidade Um ambiente também pode ser classificado como acessível, parcialmente acessível ou inacessível. Ambiente acessível é aquele no qual o agente pode acessar todos os valores das variáveis de estado do ambiente. Já o parcialmente acessível ocorre quando o agente acessa apenas parte das variáveis de estado do ambiente, mas pelo menos uma não está disponível para acesso (independente deste ser para consulta ou alteração). Os ambientes parcialmente acessíveis ainda podem ser considerados “efetivamente acessíveis” se o agente acessar todas as variáveis de estado relevantes ao seu funcionamento, ou seja, se não houver nenhum valor presente no ambiente e necessário ao agente que este não consiga acessar. Quando nenhuma variável de ambiente está disponível para acesso diz-se que o ambiente é inacessível. 3.1.3.3 Quanto à Dependência Temporal (histórico) Um ambiente é considerado episódico quando a percepção dos agentes ocorre em episódios. Um episódio compreende um determinado estado do ambiente e a conseqüente ação do agente. Cada episódio é analisado independente dos demais, correspondendo a situações mais simples de serem tratadas (comparado ao não episódico), pois a análise na qual o agente deverá se basear para tomar uma ação está restrita aos seus estados internos e aos atuais do ambiente apenas, não levando em conta episódios anteriores. Ambientes que não possuem esta característica são chamados de não-episódicos. 44 3.1.3.4 Quanto à Dinamicidade Os ambientes cuja alteração de estado é determinada exclusivamente pelo agente são considerados estáticos, pois não alteram seus estados, a não ser pela ação direta deste agente. Porém há ambientes cujo estado se altera sem o controle do agente, podendo inclusive ocorrer durante a ação do agente, sendo classificados como dinâmicos. Certamente torna-se mais complexa a ação de um agente em um ambiente dinâmico, uma vez que a alteração das variáveis de estado pode invalidar a ação do agente, ou mesmo alterar algum objetivo. Para este tipo de ambiente, o agente deve possuir maior robustez à falhas se comparado a um agente de um ambiente estático. 3.1.3.5 Quanto à Quantidade de Ações e Estados Possíveis Se em um determinado ambiente existe um número definido de percepções e ações possíveis, diz- se que este é discreto. Porém se a quantidade destes não pode ser definida em princípio, ou seja, se tem um espectro contínuo de valores, então se trata de um ambiente contínuo. Embora todo o ambiente computacional seja discretizado, a granularidade dos valores, ou seja, sua precisão define o ambiente discreto. Segundo Russel e Norvig (2004) qualquer programa age nte deve abstrair esta discretização e considerar o ambiente contínuo, quando não se trabalha com um conjunto de valores bem determinados. A tabela abaixo ilustra o conceito: Funcionalidade do Agente xadrez sem relógio Acessível Determinista Episódico Estático Discreto Sim Sim Não Sim Sim motorista de taxi Não Não Não Não Não Médico Não Não Não Não Não Tutor Não Não Não Não Sim analisador de imagem filtrador de mail Sim Sim Sim Sim Não Sim Não Sim Não Sim Tabela 3.1 – Classificação de funcionalidades de agentes conforme características do ambiente (Russel, 2004 - adaptado). Um ambiente pode ser classificado em mais de uma categoria, dependendo de suas características. A Tabela 3.2Tabela 3.2 resume as classificações dos ambientes: 45 Categoria Acessibilidade Previsibilidade História Dinamicidade (Ocorrência de Alterações) Continuidade (Quantidade de estados possíveis) Tipo de ambiente Acessível Efetivamente acessível Parcialmente acessível Inacessível Determinístico Características Agente possui acesso a todos os estados do ambiente Agente possui acesso a todos os estados relevantes do ambiente Agente possui acesso a parte dos estados relevantes do ambiente Agente não possui acesso a nenhum estado do ambiente O próximo estado é completamente determinado pelo estado atual e ação do agente Não Determinístico O próximo estado do ambiente é determinado pelo estado atual, pelo agente e por outras entidades das quais o agente não possui controle. Episódico Apenas o episódio atual é necessário, sendo independente do passado Não episódico O passado (episódios passados) influem no estado atual Estático O ambiente não se altera enquanto o agente delibera (age). Dinâmico O ambiente pode se alterar enquanto o agente delibera (age). Discreto Possui um conjunto finito de estados e ações possíveis Contínuo Possui um conjunto contínuo de estados e ações possíveis Tabela 3.2 – Características do ambiente dos agentes 3.1.4 Arquitetura dos Agentes Antes de definir a arquitetura do agente em si, deve-se formalizar matematicamente o ambiente onde ele está imerso. Pode-se definir um ambiente por um conjunto de estados S , onde S ? ? S0 , S1 ,..., Sn ? , dos quais o agente terá percepção parcial (de um subconjunto de S ), e baseada nesta tomará suas ações, que por sua vez podem ser representadas como elementos de um conjunto (finito na implementação deste trabalho) A ? ? a1 , a2 ,..., am ? . (Wooldridge, 1999), (Genesereth, 1988). Cada estado Si é uma situação específica do ambiente. Então formalmente, um agente pode ser visto como uma função S ? ? A , ou seja, como uma entidade capaz de traduzir um estado (ou um conjunto destes) em uma ação. Em outras palavras, o agente mapeia estados do ambiente em ações. O aparente comportamento de um ambiente, com relação a um particular agente, pode ser modelado pela função comp , descrita como: comp ? S ? A ? ? ( S ) (1) 46 Dado um ambiente em seu estado atual s, e uma ação a, resulta em um conjunto de possibilidades de novos estados do ambiente ( ? ( S ) pode ser representado também por comp( s , a) ). Se o conjunto gerado pela função comp( s , a) contiver apenas um estado futuro, então o ambiente é determinístico, pois ele decorre da ação escolhida pelo agente. Entretanto, se o conjunto resultante da função comp não for unitário, então trata-se de um ambiente não-determinístico, pois neste caso o agente apenas delimita um subconjunto do espaço de estados. Observe que estas definições valem para um certo agente, à que elas se referem. Ou seja, o ambiente é determinístico do ponto de vista de um particular agente, se e somente se qualquer alteração de estado do ambiente se dever exclusivamente a uma ação deste agente. Em ambientes não-episódicos, os estados anteriores são necessários para a tomada de uma ação pelo agente, e mesmo nos episódicos o agente pode necessitar de seu histórico para alguma função que não seja a decisão por uma ação. Como existe a necessidade de saber o passado, define-se como história h a seqüência de todas as interações entre os agentes e seu ambiente: 0 1 h : s0 ? a?? s1 ? a?? ... ? ?au ?1? su ... (2) O estado s0 é o estado inicial do ambiente, e a cada ação, um novo estado é atingido. A função h (ag , env) define a história de determinado agente em um dado ambiente. Esta seqüência registra uma possível história do agente se as seguintes condições forem satisfeitas: ? ? u ? ? , au ? acao(( s0 , s1... su )) ? ? ? u ? ? talque u ? 0, su ? comp( su ?1 , au? 1 ) (3) 47 Estas condições significam que qualquer ação é tomada pelo agente considerando a situação atual do ambiente e seus estados passados 11 . E que qualquer estado no qual o ambiente se encontre é sempre derivado do conjunto de possíveis estados e ações passados, cuja determinação é feita pela função comp( su ?1 ,au? 1 ) (a qual representa todas as possibilidades de estados imediatamente anteriores). (Wooldridge, 1999). Ainda deve-se definir a arquitetura de um agente como a sua estrutura geral e a organização lógica de seu funcionamento. Portanto, há várias arquiteturas possíveis devido às formas de atuação de um agente e às características do ambiente onde se encontra. (Maes apud Wooldridge (1995a)). 3.1.4.1 Classificação de Agentes Com os conceitos acima, definem-se duas possíveis arquiteturas abstratas de agentes: ?? agentes puramente reativos; ?? agentes baseados em estados internos. Os agentes com estados internos ainda podem ser divididos em agentes com percepção (exibem um comportamento mais sofisticado se comparado ao puramente reativo) e agentes com percepção e modelos de mundo. Agentes Puramente Reativos Os agentes puramente reativos são aqueles que executam uma ação baseada exclusivamente na observação feita, sendo a decisão tomada com base apenas na mudança de estado do ambiente (no instante da observação), sem considerar a história ( h (ag , env) ). Podem ser definidos como: 11 A dependência dos estados passados é a generalização para qualquer situação, sendo que no caso de ambientes episódicos, apenas o estado atual do ambiente é considerado e, portanto a primeira condição é definida como: acao ( su ) 48 acao : S ? A (4) Ou seja, a mudança de estado do ambiente causa uma ação imediata do agente. Seu comportamento é baseado em uma função matemática, relacionando uma alteração do ambiente observada pelos sensores do agente e uma ação (resultado da F(x) Atuadores Sensores função) executada pelos seus atuadores, como ilustra a figura abaixo: Figura 3.5 – Agente puramente reativo ((Wooldridge, 1999), adaptado) Agentes Baseados em Estados Internos Os agentes baseados em estados internos possuem uma máquina de estados, responsável por determinar as ações do agente no meio. Estes agentes podem ser sub-categorizados em agentes com percepção e agentes com percepção e modelos de mundo. Os agentes com percepção possuem dois módulos internos, um de detecção e um de ação. O módulo de detecção recebe dados dos sensores do agente e determina qual ação deverá ser executada. Pode-se dizer que este agente apresenta um comportamento mais sofisticado que o anterior, pois podem ocorrer diversas detecções (ou mudanças de estados internos) até que uma ação seja tomada. As expressões abaixo descrevem o agente com percepção: ? detecção : S ? P ? ? ? ação : P ? A (5) 49 Ou seja, um determinado estado do ambiente é capturado pelos sensores, resultando em uma percepção (P) do agente, e um conjunto de percepções ( P? ) faz com que uma ação seja tomada (o asterisco significa uma ou muitas). Esquematicamente, podemos representar os módulos DETECÇÃO e AÇÃO, sendo o AÇÃO Atuadores De tec ção Sensores primeiro o responsável pela decisão de qual ação deve ser executada. P* Figura 3.6 – Esquema da arquitetura de um agente com percepção ( (Wooldridge, 1999) adaptado) A outra sub-categoria possível é de um agente com percepção e um modelo de mundo, onde as percepções geradas pelo agente interferem em um modelo de mundo, e este determina qual ação deve ser tomada. O modelo desta arquitetura é: ? detecção : S ? P ? ? ação : I ? A ? prox : I ? P ? I ? (6) Ou seja, a ação é determinada apenas pelo modelo de mundo que o agente possui (ação derivada do modelo de mundo I ). A percepção do agente pode fazer com que I seja alterado, o que não significa que uma ação seja tomada baseada nesta mudança, pois podem ocorrer diversas mudanças no ambiente, e conseqüentes mudanças no modelo de mundo do agente sem que este tome uma ação. E esta definição não exclui a possibilidade de uma percepção resultar em uma ação imediata, desde que a alteração do estado interno do agente leve a esta situação. 50 Nesta definição não há imposição temporal (seqüência pré-estabelecida) entre as e Modelo AÇÃO Mundo Atuadores De tec ção Sensores funções descritas, podendo-se imaginar como ocorrendo concorrentemente. Figura 3.7 – Esquema da arquitetura de um agente com estados internos ((Wooldridge, 1999), adaptado) Esta sub-categoria é a mais flexível de todas as anteriores, uma vez que o agente pode utilizar seu modelo de mundo para construir predições sobre como será o comportamento do ambiente quando determinadas ações forem tomadas (Genesereth, 1988) (Wooldridge, 1999). Estas predições podem determinar planos, que são conjuntos de ações a serem executadas. O agente deve avaliar qual destes planos melhor se adequa aos seus objetivos, e após executá- lo, avaliar os resultados. Certamente pode ocorrer um replanejamento quando as ações executadas não surtem o efeito esperado, ou se houver mudança no ambiente. Esta arquitetura ainda prevê a evolução do agente através de adaptações no modelo de mundo. Para tal são utilizadas técnicas de inteligência artificial, como sistemas especialistas, teoria Bayesiana e algoritmos genéticos, dentre outros. Estas técnicas não serão discutidas neste trabalho. (Dekhtyar, 2002). Os agentes com percepção e modelo de mundo podem ser estendidos, segundo Gudwin (2001) adicionando ao agente um módulo de valores, o qual é responsável pela interpretação de certas condições do ambiente, e de estados que devam ser considerados de forma diferenciada. 51 3.1.5 Tipos de Agentes Destas arquiteturas, resultam algumas classes de tipos de agentes que podem ser construídas. Dentre elas pode-se destacar: Agentes BDI (Believe, Desire, Intention – Crença, Desejo e Intenção), Agentes Deliberativos ou baseados em lógica e Agentes em Camadas (Wooldridge, 1995a), (Wooldridge, 1999). Destes ainda derivam os Agentes Colaborativos, os de Interface, de Informação, Móveis, Reativos e Híbridos, dentre outros (Nwana, 1996). Já para Murch e Johnson (1999), os agentes podem ser classificados em: Inteligentes, de Aprendizado, Móveis e Believable. Considerando as características dos agentes descritos acima, percebe-se que estes podem ser re-classificados em duas categorias: agentes estruturais e agentes de aplicação. Os agentes estrutur ais são aqueles que se caracterizam pelas diferentes propostas arquiteturais que representam. Neste caso a escolha da arquitetura é feita de forma a dotar o agente de certas propriedades e características, sem haver preocupação com o papel a ser exercido pelo agente. Por exemplo, permitindo a descrição de diferentes formas de operação do agente. Já os agentes de aplicação são aqueles definidos pela sua função, sendo implementados com um dos modelos propostos para agentes estruturais. 3.1.5.1 Agentes Estruturais Tipo de Agente: Believe, Desire, Intention (BDI) Os agentes BDI caracterizam-se por uma estrutura de decisão na qual existe um conjunto de crenças, desejos e intenções que determinam quais metas devem ser alcançadas durante a execução do agente. O comportamento de um agente BDI é baseado nos estados perceptíveis, e em sua base de conhecimento ou sua base de crenças (beliefs) ? . Dado um estado inicial para esta base, o agente a modifica com suas novas percepções, adicionando e excluindo crenças de acordo com a análise do ambiente. As crenças são excluídas quando as condições do ambiente mostram que estas são inatingíveis. Da manipulação de ? resultam os desejos, ou seja, quais são as metas que o agente deve 52 atingir. Estas podem mudar ao longo de sua existência, sempre que ele perceber que um de seus desejos (desires) não pode ser alcançado, ou que uma crença tornou-se inconsistente com o meio. Avaliando o ambiente, o agente opta, dentre todos os seus desejos, por aqueles que podem ser alcançados, criando o conjunto de objetivos (goals). Estes objetivos selecionados formam as intenções (intention), as quais o agente realizará, ou seja, os objetivos mais prováveis de serem atingidos tornam-se as intenções pelas quais o agente trabalhará para realizar (Dignum, 2000), (Cavedon, 1998), (Wooldridge, 1999). Segundo Cavedon (1998) pode-se representar os conceitos acima pelos seguintes átomos lógicos: Bel ( a ,? ) : o agente a acredita em ? , sendo ? a crença do agente; Des ( a ,? ) : o agente a deseja alcançar ? ; Goal ( a ,? ) : o agente a colocou ? entre os objetivos a serem alcançados; Int ( a ,? ) : o agente a trabalhará para realizar ? . A relação entre Objetivos (goals) e Intenção (Intention) pode ser formulada como segue: Goal ( a ,? ) ? Bel ( a, Achivable( a ,? )) Int (a ,? ) ? Goal ( a ,? ) ? Bel (a , Coherent (a ,? )) (7) A função Achivable (a ,? ) denota que o objetivo baseado na crença ? pode ser atingido pelo agente a , e deve ser coerente com as crenças de a ( Coherent (a ,? ) ), ou seja, a análise daquele instante de tempo deve mostrar que ? ainda é coerente com as crenças do agente. Esquematicamente tem-se: 53 Figura 3.8: Esquema da arquitetura BDI ((Wooldridge, 1999)) Agentes Baseados em Lógica ou Deliberativos Este tipo de agente segue a linha tradicional da Inteligência Artificial, buscando uma representação simbólica do meio, e através de prova de teoremas e deduções lógicas busca-se o comportamento inteligente. Genesereth e Ginsberg (Genesereth, 1985) exploram os conceitos de regras de inferência e construção de átomos, bem como o método de dedução, enquanto Elkan trabalha como a lógica de primeira ordem pode auxiliar em solução de problemas (Elkan, 1992), (Robinson, 1992). Wooldridge e Jennings (1995a) definem um agente deliberativo como “uma arquitetura que possui explicitamente representada, um modelo simbólico do mundo, e suas decisões (por exemplo, qual ação executar) são tomadas via julgamento lógico, baseado em padrões e manipulações simbólicas”. Neste tipo de agente, a base de conhecimentos ? é constituída de sentenças L, as quais representam o universo de discurso do agente, ou seja, seu conhecimento do ambiente. Segundo Robinson e Generesth, ? deve possuir apenas proposições lógicas verdadeiras, pois Gödel e Herbrand provaram que o cálculo de predicados possui o princípio da completude para bases com proposições corretas, ou seja, de 54 uma base correta deduz-se sempre proposições verdadeiras, dado que estas são conseqüências lógicas das proposições anteriores. Gödel ainda propõe um método para encontrar a prova da proposição. (Gödel e Herbrand apud (Robinson, 1992)). Wooldridge (1999) propõe a seguinte forma de representar o comportamento desta arquitetura: ? percepcao : S ? P ? ? proximo _ estado : ? ? P ? ? ? acao : ? ? A ? (8) Dada uma percepção, esta é confrontada com ? , podendo gerar alterações em ? , desde que a percepção faça com que seja deduzida uma proposição verdadeira. Porém, pode ocorrer de uma percepção gerar uma inconsistência na base de dados, e portanto, esta não pode fazer parte de ? . Os métodos de dedução lógicos geram nestes casos uma cláusula especial denominada cláusula vazia ( ? ) representando a inconsistência lógica e fazendo com que ? mantenha-se inalterado. Esta abordagem possui limitações sobre como representar o ambiente em lógica proposicional, de forma que o agente tenha a percepção exata do mundo em que está inserido, e como representar as características das entidades (outros agentes, por exemplo) com os quais o agente interage. A representação destas características pode ser tarefa demasiadamente complexa, dada a gama de possibilidades e a dificuldade de adequar esta diversidade em uma quantidade de proposições e símbolos lógicos. Há diversos sistemas implementados, como os agentes planejadores de Fikes e Nilsson chamados STRIPS, ou o IRMA de Bratman et. al.. (Wooldridge, 1995a). Apesar da robustez lógica, estes agentes sofreram um revés com a pesquisa de Chapman apud (Wooldridge, 1995a), pois este demonstrou teoricamente que mesmo técnicas refinadas de modelagem os tornariam sem utilização, mesmo em sistemas restritos. Agentes em Camadas Segundo Wooldridge (1999) há duas possíveis abordagens para estes agentes, em camadas horizontais ou em camadas verticais. 55 O tipo horizontal define que toda camada recebe dados do ambiente e também envia respostas para o mesmo, como mostra a Figura 3.9Figura 3.9. Em decorrência desta característica, pode acontecer de duas ou mais camadas, ao receberem um estímulo, externarem respostas conflitantes, causando incoerência da entidade agente. Porém, se for criada uma camada de controle, esta poderá definir qual camada deve responder a determinado estímulo do meio. Apesar de solucionar a questão, esta abordagem gera um elemento de atraso no agente, pois se cada camada possuir n estados possíveis, e o agente possuir m camadas, tem-se: controle ? n mestados (9) Uma característica marcante desta arquitetura é sua fácil adaptabilidade a mudanças, pois para um novo comportamento ou característica, basta acrescentar uma nova camada. Figura 3.9 – Arquitetura em camadas horizontais (Muller apud (Wooldridge, 1999), adaptado) Já o tipo vertical possui uma hierarquia entre camadas (Figura 3.10Figura 3.10), o que torna o agente mais complexo para realizar alterações. Neste caso, há uma camada que recebe todas as percepções do meio, e uma camada que fornece as respostas ao ambiente. Cada camada possui relacionamentos com as adjacentes, motivo pelo qual uma alteração constitui tarefa complexa. Porém não há necessidade de uma camada de controle, dado que a hierarquia intrinsecamente impõe uma ordem de tratamento de estímulos do ambiente, o que garante um comportamento coerente. 56 CAMADA n ……. CAMADA 2 AÇÃO CAMADA 1 PERCEPÇÃO AMBIENTE Figura 3.10 - Arquitetura em camadas verticais “sentido único” (adaptado (Wooldridge, 1999)) No tipo vertical, caso a informação passe apenas uma vez em cada camada, diz-se que a arquitetura é de sentido único (“one pass control”) (Figura 3.10Figura 3.10); porém, caso a camada que percebe seja a mesma que envia as respostas ao meio, então tem-se a arquitetura de duplo sentido (“two pass control”) (Figura 3.11Figura 3.11). Figura 3.11 – Arquiteturas vertical “sentido duplo” (adaptado (Wooldridge, 1999)) Agentes Colaborativos Estes agentes possuem sua tônica na autonomia e na cooperação para a realização de tarefas complexas. Portanto a sociabilidade e a capacidade de negociação são fundamentais para este tipo de agente. Estes geralmente não possuem grande capacidade de aprendizagem; porém, isto não deve ser uma regra. Para haver 57 colaboração há necessidade de mais de um agente, formando uma sociedade de múltiplos agentes. Esta pode ser, por exemplo, uma sociedade BDI. A colaboração tem como resultado a realização de tarefas complexas, as quais dificilmente poderiam ser integralmente realizadas por único agente. Nwana (1996) expõe vantagens na utilização destes agentes, pois além de resolver problemas complexos, permite a conexão com sistemas legados 12 e auxilia na resolução de problemas distribuídos. Porém há dificuldades inerentes ao sistema, pois é necessário fazer uma coordenação entre os agentes, de forma que eles saibam da existênc ia dos demais e possam achá- los. Além disto, deve existir alguma confiabilidade nos agentes, pois em se tratando de trabalho colaborativo, necessariamente um agente prestará algum serviço a um outro. Como saber se o agente informará dados incorretos sobre um determinado recurso, de acordo com seus objetivos (caso de agentes concorrentes)? Como garantir que o agente fará aquilo a que se propõe? Se não fizer, como tratar a situação? Estas perguntas devem ser respondidas na implementação de controles para estes agentes. Agentes Reativos Estes agentes não possuem um modelo de mundo em sua construção, sendo diretamente relacionados com a arquitetura puramente reativa. Estes agentes reagem diretamente às mudanças do ambiente, sem considerar ações anteriores. É de se esperar que estes agentes sejam mais simples do que os de Informação ou qualquer outro baseado em lógica, porém isto não significa incapacidade de apresentar um comportamento inteligente. Segundo Brooks (1991a) (Brooks, 1991b), o comportamento inteligente pode emergir sem uma representação simbólica, como é proposta pela corrente tradicional da Inteligência Artificial; e pode surgir sem um 12 Entende-se por sistema legado qualquer sistema que deva ser integrado com a tecnologia de agentes, sendo que não está preparado para tal. Estes agentes podem interpretar as interfaces do sistema legado, traduzir e intermediar a comunicação para a sociedade de agentes. Isto também pode ser feito por outros tipos de agentes. 58 raciocínio simbólico, sendo este tipo de comportamento encontrado em sistemas complexos. De fato, o autor diz que o comportamento inteligente “emerge de sistemas complexos” (Murch, 1999), (Wooldridge, 1999), (Wooldridge, 1995a), (Wooldridge, 1995b). 3.1.5.2 Agentes de Aplicação Agentes de Interface A função de um agente de interface é oferecer apoio ao usuário para acesso ao meio onde o agente se encontra. Este pode ser considerado um intermediário na utilização de aplicativos. E também é visto como um facilitador, pois acompanha o usuário em suas tarefas e sugere ações que devam ser tomadas ou caminhos a serem seguidos, não exigindo do usuário grandes conhecimentos na utilização de uma ferramenta, uma vez que o agente o auxiliará em suas atividades (Figura 3.12Figura 3.12). Esta nova forma de interação do usuário com o meio traz grande vantagem face às interfaces tradicionais, as quais são passivas, esperando comandos de quem as utiliza, sem demonstrar qualquer iniciativa ou auxílio. Figura 3.12 – Esquema de um agente de interface ((Nwana, 1996); adaptado) Os agentes de interface são geralmente simples e operam em um domínio limitado tendo como funções: monitorar as ações do usuário, gerar feedback das atividades monitoradas e receber instruções diretas, o que facilita o aprendizado do agente, uma vez que um comando direto do usuário reflete sua vontade ou decisão; e por fim, este tipo de agente pode aprender aumentando seu conhecimento sobre o usuário e o ambiente no qual está inserido. Nwana (1996) propõe as seguintes funcionalidades para tais agentes: 59 ?? assistentes; ?? guias; ?? assistente de memória; ?? filtros; ?? orientadores; ?? representante do usuário para compra e venda; ?? agentes de entretenimento. Para este tipo de agente ser efetivo, ele deve possuir um sistema de aprendizado que possibilite um auxílio adequado ao usuário. Nwana (1996) afirma que um dos desafios para as novas implementações de agentes de interface é analisar todos os tipos de máquinas de aprendizagem e verificar quais delas são mais interessantes para determinados cenários onde este tipo de agente é utilizado. Agentes de Informação ou de Internet Segundo Nwana (1996), a finalidade destes agentes é explorar dados em sistemas distribuídos e auxiliar o usuário na busca e organização das informações, possuindo como conhecimentos básicos onde encontrar os dados e como selecioná-los, segundo a preferência do usuário. Estes agentes também necessitam de algoritmos que executem inferências sobre a forma de agir de quem os utiliza, de forma a refinar suas buscas e aumentar a acuidade de seus resultados. Nesta categoria, pode-se citar aplicações em correio eletrônico, onde um agente filtra as mensagens mais importantes, baseado no comportamento observado de seu usuário, ou o software chamado Copernic 13 onde se tem um agente que executa buscas em vários sites de pesquisa na Internet e as exibe ao usuário. Ele ainda 13 Copernic: http://www.copernic.com 60 classifica cada resposta de acordo com o grau de importância, e consegue elencar resultados mais interessantes do que outros softwares de busca, como o Google 14 . Agentes Híbridos Esta categorização de agentes agrega as características de mais de uma arquitetura e os tipos de agentes descritos nos itens anteriores. Para Nwana (1996), esta abordagem cria elementos mais apropriados para determinados problemas. Muller et al. apud Woodridge (1999) descreve o sistema InterRRAP, onde se tem um agente em camadas verticais, de duplo sentido (two pass control) composto de: ?? uma camada que representa o comportamento; ?? uma camada responsável pelo planejamento; ?? uma camada responsável pela interação social. Como pode ser visto na Figura 3.13Figura 3.13, este agente possui uma camada de colaboração com outros agentes, e segundo Wooldridge (1999), seu funcionamento é muito próximo de agentes de comunidades BDI. Figura 3.13 – Arquitetura InterRRAP ((Wooldridge, 1999)) adaptado 14 Google – site de buscas na Internet: http://www.google.com 61 Agentes Críveis (Believable) Estes agentes são definidos por Murch e Johnson (1999) como elementos que ainda não possuem inteligência ou não executam tarefas complexas, mas apresentam interfaces amigáveis, como um animal de estimação ou mesmo um rosto e, através de padrões de comportamento, tornam-se entidades confiáveis e que aparentam possuir personalidade própria. Um exemplo desta tecnologia são os Tamagotchi e outros brinquedos considerados de “estimação”, dado o grau de afinidade apresentado pelo usuário. Segundo os autores, esta é uma área em expansão, e pode-se observar que também estão presentes em animações de jogos eletrônicos, pois seus personagens parecem “vivos” segundo o comportamento que apresentam, embora não possuam algoritmos que lhes confiram inteligência. 3.2 Sistemas Multi-Agentes Há tarefas que um único agente não pode solucionar sozinho, pois não possui toda a habilidade e o conhecimento necessário ou lhe falta algum outro recurso, não importando qual arquitetura ou tipo seja implementado. Segundo Jennings (1995) existe o paradigma de desenvolvimento de sistemas agentes, os quais são constituídos de componentes auto-suficientes, e a característica marcante é a capacidade de interação entre componentes similares. Embora não haja a exigência de uma comunicação rígida, através de interfaces pré-determinadas, o sistema deve contar com um mecanismo de negociação entre os componentes, tanto para realizar acordos de tarefas que devam ser realizadas quanto para informar e comunicar uma ação. Isto pressupõe alguma troca de mensagens e, portanto do estabelecimento de protocolos. Os sistemas compostos de muitos agentes, ou sistemas multi-agentes propiciam o surgimento de comportamentos globais não programados em nenhum dos agentes que fazem parte do sistema. Apesar deste parecer um ponto bastante forte, traz alguns problemas. O primeiro é a incerteza dos resultados que serão alcançados pelo conjunto de agentes (ou sociedade de agentes), dado que tal sociedade não possui um controle centralizado e, portanto o sistema opera conforme as evoluções individuais 62 dos agentes. Isto acontece porque os agentes são autônomos e possuem interesses próprios, ou seja, seguem as ações que os levem a alcançar seus objetivos. Neste ponto temos que ou os agentes trabalham de forma cooperativa, ou seja, em conjunto para atingir objetivos próprios (ver item 3.2.4.1) ou então trabalham individualmente, em busca apenas de seus interesses (Huhns, 1999). Tipicamente, para a cooperação ser bem sucedida cada agente deve manter um modelo dos demais agentes e deve desenvolver um modelo das interações futuras (predição), o que sugere uma sociabilidade, baseada na seguinte taxionomia: Figura 3.14 – Taxionomia dos agentes em uma sociedade (adaptado (Huhns, 1999)) Em qualquer cenário, os agentes podem não gerenciar adequadamente seu papel na sociedade, e como conseqüência esta pode entrar em uma condição na qual nenhum resultado pode ser esperado, como o intertravamento de recursos (deadlock) ou o seu esgotamento (starvation). Isto pode ocorrer devido à vantagem apontada de comportamentos não pré-programados surgirem como decorrência da operação do sistema e, portanto esta mesma vantagem pode ser considerada uma desvantagem em determinados casos. Talvez a exceção seja o ambiente com planejamento centralizado, uma vez que esta centralização pode evitar o esgotamento de recursos ou a sua utilização inadequada. Porém não é possível garantir que um determinado sistema possa sempre controlar toda e qualquer situação, uma vez que os agentes possuem alguma independência, o que pode levar a um ponto de descontrole. 63 Para as sociedades de agentes Huhns e Stephens (1999) enumeram seis características que um agente deve possuir: ?? conhecimento; ?? predição; ?? controle; ?? história; ?? tele- lógica (telelogical); ?? execução em tempo real. O conhecimento refere-se ao que o agente sabe sobre seu ambiente e sobre os demais agentes que co-habitam o mesmo meio. Este conhecimento pode ser parcial, o que indica ou um ambiente não totalmente acessível ou agentes com capacidades limitadas. A predição refere-se àquilo que pode ser antecipadamente analisado, em função do que se pode avaliar às conseqüências de ações futuras, antes portanto destas serem escolhidas e executadas. O controle é o que o agente faz para alterar o ambiente e o quanto este domina os efeitos. A história é um registro do passado (recente ou não) e de como seu conhecimento pode ser usado para alterar a determinação das ações futuras. A tele-lógica refere-se a uma lógica global, distribuída no sistema entre os agentes. Desta forma não há necessidade, e normalmente não ocorre, de um particular agente ter consigo o conhecimento de toda a lógica. Neste caso o todo resulta da coleção das partes, de modo que a lógica do sistema é uma composição decorrente das lógicas dos agentes e da forma como estes se inter-relacionam. E tempo real é a capacidade do agente conseguir deliberar suas ações num intervalo de tempo conhecido. Desta forma procura-se responder imediatamente a cada alteração do sistema, evitando o acumulo de tarefas, e assim garantir que o agente cons iga acompanhar a taxa de mudanças do ambiente, que pode se alterar no intervalo de tempo da realização do processamento. 64 Para poder prover estes recursos, os agentes necessitam de suporte de comunicação do ambiente, uma infra-estrutura de envio e recebimento de mensagens, bem como de uma padronização destas. 3.2.1 Modelagem Lógica do Conhecimento de um Sistema Multi-Agentes Uma forma de equacionamento lógico do conhecimento de um agente e de um sistema multi-agentes é através da idéia de mundos possíveis. Estas são as interpretações que um agente pode ter de seu ambiente, ou seja, é a base para a crença dos agentes (Wooldridge, 2002). A representação destes mundos possíveis é feita através da lógica modal, para distinguir entre as verdades necessárias e as de contingência. A primeira refere-se a fatos e conhecimentos que sempre são verdadeiros, por exemplo, a lei da gravidade. Já a segunda categoria é composta pelos fatos que poderão acontecer, ou seja, são conseqüências de fatos que ocorrem no ambiente. As verdades necessárias são verdades em qualquer dos mundos possíveis do agente, enquanto as de contingência só são em determinado mundo possível. Logicamente temos: ?? ? ? ? ? (10) O símbolo ? significa verdade necessária e o símbolo ? verdade possível (ou de contingência). A expressão revela que para ? ser uma verdade necessária, não deve ser negado em nenhum mundo possível, como uma verdade de contingência. Outro termo que será utilizado indica que se o modelo do agente é coerente e suficiente para a representação de seu ambiente, se chamará satisfazível, ou seja, o modelo é satisfazível se satisfaz a uma dada representação do mundo. Será dito não satisfazível se não atender a nenhum mundo possível, e verdadeiro ou válido (TRUE) se satisfizer todos os mundos possíveis (Wooldridge, 2002). O símbolo ? indica uma conseqüência lógica, como a ? b “a conseqüência lógica de a é b”. Pode-se ainda escrever a expressão: ? ? , que deve ser lido como “ ? é válido”. A proposição lógica sobre uma verdade necessária possui a seguinte definição: 65 W , R, ? (11) onde: W é o conjunto dos mundos possíveis (não vazio) R relações possíveis dos mundos: R ? W ? W ? função de estimativa (valuation function) definida como: ? : W ? prop ? {true, false} (12) Este conjunto de definições é o suporte para a epistemologia lógica, base para a conceituação de lógica no sistema distribuído. Utiliza-se o símbolo ki? para representar que o agente i conhece ? . Uma verdade necessária (em todos os mundos) pode ser reescrita como: ?? M , w ? k i? ? ? w' ? W ?if (w , w' ) ? Ri then M , w' ? ? (13) onde: M : modelo tratado w : mundo de referência Esta regra diz que se um determinado modelo, em um mundo tem como conseqüência lógica o agente i saber ? , então, para qualquer outro mundo, desde que estes possuam relação, ? continuará a ser uma conseqüência lógica, e portanto uma verdade em todos os mundos, ou seja, uma verdade necessária. A regra acima pode ser utilizada para exprimir o problema da onisciência, inerente a um sistema multi-agentes, que pode ser enunciado como um agente possuir todos os conhecimentos válidos para o mundo e saber todas as conseqüências lógicas derivadas do que é válido. Dada a dificuldade de modelagem de todos os aspectos do mundo, torna-se muito difícil elaborar um agente onisciente. Porém, pode-se 66 definir conhecimento e crença de um agente como algo não contraditório, ou (Wooldridge, 2002): k i? ? ? ki ? ? (14) A expressão define que se o agente ki conhece ? , então ki não conhece a negação de ? . Para definir conhecimento distribuído, é necessário conceituar a operação “todos sabem” através do operador lógico E , e ainda um operador derivado deste, chamado “todos sabem em determinado grau”, definidos como: E? ? k1? ? ... ? k n? E1? ? E? E k ?1? ? E ( E k? ) As regras acima (15) (16) significam que o conhecimento em grau 1 é o próprio conhecimento do agente, enquanto o de grau k+1 é o conhecimento que se tem do conhecimento do grau anterior. Com isto, define-se conhecimento distribuído como: C? ? E? ? E 2? ? ... ? E k? ? .... (17) Portanto, o conhecimento de um sistema multi-agentes é aquilo que todos sabem (em algum grau) em uma cadeia infinita, demonstrando a evolução do sistema. 3.2.2 Aprendizado em Sistemas Multi-Agentes O aprendizado de um sistema multi-agentes, que resulta em conhecimento ( C? ), pode pertencer a duas categorias, segundo Sens e Weiss (Sen, 1999): centralizado, onde todo o aprendizado é gerado por um único agente, sem requerer a intervenção de nenhum outro, ou descentralizado, no qual diversos agentes estão engajados em um mesmo processo de aprendizagem. O aprendizado descentralizado é típico de sistemas colaborativos, onde mais de um agente participa da construção do conhecimento, sendo que alguns dos agentes podem ser extremamente relevantes para atingir o objetivo de aprendizado, ou seja, estes são uma condição necessária para se alcançar o conhecimento. Há um tipo de aprendizagem que não exige 67 interação ou influência do agente, ou seja, o conhecimento é cadastrado sem necessitar de interação ou dedução do agente. Mas também ocorre a aprendizagem através de mecanismos do próprio agente, e estes podem ser classificados como (Sen, 1999): ?? aprendizagem por instrução: transfo rmação dos estados internos e atualização da base de dados ( ? ) através de instruções recebidas; ?? aprendizado por exemplos: extração de dados de situações exemplos a que o agente tem acesso, ou análise de situações processadas (vivenciadas) pelo agente; ?? aprendizagem por analogia: tentativa de solucionar um problema através do uso de propostas usadas em situações similares e já aprendidas. O resultado desta nova situação é armazenado, aumentando ? ; ?? aprendizagem por descoberta: o agente pode realizar experimentos e observar outras situações, e seu algoritmo pode extrair resultados que atualizem a base de conhecimentos. Este caso difere do segundo pelo fato do agente ser capaz de propor os experimentos que considerar adequado para observar um certo fato. Independentemente do modo de aprendizagem, é necessário que o agente analise sua interação com o meio e, portanto é necessária uma realimentação (feedback) para saber como o aprendizado influi em sua ação. Este retorno pode ser feito pelo ambiente ou pelo próprio agente, podendo ser de três tipos: ?? aprendizado supervisionado: onde o feedback especifica quais são os pontos que devem ser aprendidos e o objetivo do agente é alcançá- los; ?? aprendizado por reforço: feedback especifica a utilidade do aprendizado e o objetivo do agente deve ser maximizar esta utilidade; ?? aprendizado não supervisionado: onde não há feedback das atividades, e os objetivos são encontrados no método da tentativa-erro. 68 Estas idéias são utilizadas para a elaboração de métodos de aprendizado, como aprendizado por recompensas. O funcionamento básico é recompensar o agente caso o feedback seja positivo, e puni- lo, em caso de feedback negativo. Neste sistema, também conhecido com crédito/débito, os resultados obtidos podem ser derivados de uma ação direta do agente, ou ser um resultado de uma alteração global do ambiente. Em ambos os casos, devem existir critérios que premiem ou punam o agente de acordo com a influência que este teve sobre o fato. No aprendizado por reforço, o agente opta por ações que maximizem o valor do feedback dado. Segundo Sen e Weiss (1999), este processo pode ser representado em um processo de decisão de Markov, cuja representação é: S ,A ,P ,r (18) onde S é um conjunto de estados e A o conjunto de ações. O símbolo p é a probabilidade de o agente sair de um estado e passar para o próximo, dada a ação tomada; e r é um valor escalar de recompensa pela ação. ? p : S? S? A ? [0,1] ? ?r : S ? A ? ? (19) O agente deve então manter uma política tal que gere uma ação para determinado estado, e o valor esperado das recompensas seja acumulado (em decorrência das ações). Neste cenário, há um algoritmo chamado Q- learning (Guelpedi, 2003), cuja finalidade é maximizar e acumular recompensas para todos os estados que o agente passar, de modo a reforçar aquela ação tomada na passagem de um estado s para um estado s' . 3.2.3 Comunicação em um Sistema Multi-Agentes O ambiente que os agentes estão inseridos necessita fornecer algum suporte à comunicação destes. A infra-estrutura necessária para o estabelecimento dos agentes deve prover mecanismos reguladores de comunicação, protocolos para organização das mensagens, e padrões de linguagem necessários para o entendimento dos agentes. 69 Os mecanismos reguladores da comunicação podem ser síncronos ou assíncronos. Três aspectos devem ser analisados para caracterizar plenamente a comunicação: ?? a sintaxe: estruturação dos símbolos; ?? a semântica: o significado dos símbolos; ?? e a pragmática: a veracidade da informação, focando como a mensagem deve ser utilizada para expressar a intenção do agente. Note-se que estes aspectos são a parte constituinte do conhecimento do agente sobre uma determinada verdade (C? ). Caso estes aspectos não existam, não é possível garantir que todos os agentes entendam uma determinada afirmação ou pergunta corretamente e, portanto não será possível construir um conhecimento comum. Estes três alicerces de uma comunicação imprimem um determinado significado à mensagem, que pode ser (Huhns, 1999): ?? descritivo ou prescritivo (dizer o que deve ser feito); ?? pessoal: significado pessoal (próprio) do agente ; ?? subjetivo ou objetivo; ?? perspectiva da mensagem: do ponto de vista de quem emite a informação e de quem recebe a informação; ?? cardinalidade: uma determinada mensagem pode ser entendida de uma maneira se enviada a apenas um agente, e de forma diferente se remetida para mais de um agente; ?? contextualização da mensagem: o que esta representa no contexto atual pode ser diferente em outro contexto qualquer. Neste contexto um agente pode ser, em relação à mensagem: ativo, passivo ou ambos. Os agentes em uma comunicação são passivos quando apenas recebem 70 mensagens de outros agentes e enviam uma resposta a algum pedido ou geram uma confirmação. Já os agentes ativos são aqueles que apenas enviam requisições e perguntas a outros agentes sem, contudo aceitar qualquer mensagem que não seja uma resposta a um pedido. E por fim, há os agentes que fazem ambas as funções. Pode-se ainda cons iderar uma quarta classificação, conhecida com agentes básicos, os quais apenas recebem afirmações sem, contudo enviar qualquer resposta. Todas as considerações acima devem ser materializadas na comunicação, sendo isto feito através de protocolos de comunicação. 3.2.4 Protocolos de Comunicação de um Sistema Multi-Agentes Segundo Murch e Johnson (1999) a importância do uso de protocolos, e principalmente de protocolos padrão, está na necessidade de um agente trocar conhecimento e informações com outros agentes, de forma a colaborar para atingir objetivos compartilhados, realizar tarefas comuns, resolver os conflitos, e deste modo contribuir para a realização do conhecimento comum ( C? ). Por protocolo utilizarse-á a definição de Tanenbaum (1996): “As regras e convenções utilizadas em uma conversação são coletivamente conhecidas como protocolo da camada n.”. A camada é o nível do modelo OSI, e neste trabalho o protocolo é referente à camada 7 ou de aplicação. Huhns e Stephens (1999) definem que existem dois tipos de protocolos: de coordenação e cooperação. Os protocolos de coordenação são utilizados com o intuito de melhorar o desempenho da sociedade multi-agentes, permitindo a melhor utilização dos recursos disponíveis no ambiente, e informando quais tarefas estão sendo executadas. As informações trocadas via protocolo de coordenação são basicamente de duas naturezas: representam dados do próprio ambiente e também parte do conhecimento dos agentes, pois estes possuem uma visão parcial dos dados e o conhecimento é disperso entre eles. Logo, para que a realização de qualquer tarefa distribuída seja bem sucedida, os agentes que participam desta devem manter sua obrigação com a execução da tarefa e, portanto antes de aceitar uma nova tarefa, o agente analisa seus recursos, restrições e outros compromissos já assumidos para que sempre possa 71 “honrar” os novos pedidos. Um ponto importante é o agente só assumir compromissos que também sejam consistentes com suas crenças (ou sua base de dados ? ), pois de outra forma uma ação poderá levá-lo a um estado inconsistente, o que fere sua premissa de funcionamento. A conseqüência será o não cumprimento do compromisso assumido. Já os protocolos de cooperação são aqueles que permitem a distribuição de tarefas, bem como sua decomposição em unidades menores, requerendo assim soluções mais simples, as quais podem ser executadas por agentes menos sofisticados. Porém, o controle desta distribuição deve garantir que a decomposição não sobrecarregue os agentes, ou possa exaurir recursos críticos do ambiente, uma vez que existem em quantidade limitada. Huhns e Stephens (1999) sugerem a criação de agentes que possuam uma visão global da distribuição das tarefas em seu meio, como forma de controlar a cooperação. Também é recomendado que tarefas sejam atribuídas a agentes afins, ou seja, a divisão das tarefas interdependentes deve ocorrer entre agentes próximos, para aumentar a eficiência do processo. Esta proximidade deve ser tanto física (próximos em recursos e equipamentos) quanto semântica. Mesmo nestas condições, pode ser necessária a redistribuição de tarefas caso algum agente tenha de cumprir um pedido ou objetivo prioritário. A realização destes protocolos pode ser vista em mecanismos de cooperação, como os de mercado, redes de contrato e quadro de avisos, dentre outros. 3.2.4.1 Mecanismos de Cooperação No mecanismo de cooperação conhecido como “mercado”, cada tarefa possui um preço, e cada agente pode ser classificado como: ?? produtor: aquele que transforma um bem em outro bem; ?? consumidor: aquele que troca bens. 72 O objetivo de cada agente é atingir seus objetivos com o maior lucro 15 nas operações. Cada um oferta suas habilidades em um serviço de diretórios, por exemplo, e quando um agente solicita a realização de determinada tarefa, este deve pagar o preço estipulado. Esta é a forma que os agentes possuem para alcançar o objetivo. Já no mecanismo de “quadro de avisos” (blackboard) os agentes publicam as tarefas demandadas para que todos possam consultá-las. Qualquer agente que provê algum serviço verifica o quadro à procura de alguma tarefa que possa realizar (compatível com suas habilidades e recursos). Achando-a, ele executa a tarefa e publica o resultado do trabalho no mesmo quadro. Este sistema prevê que um agente pode não conseguir realizar a demanda por completo, e neste caso sua contribuição é publicada e algum outro agente pode continuar o trabalho (Huhns, 1999). Note que este mecanismo opera publicando necessidades, enquanto o de mercado trabalha ofe recendo serviços a determinados preços. Pode-se colocar como vantagem do quadro de avisos a independência de especialidades dos agentes e a diversidade de técnicas de solução para um determinado pedido, uma vez que os agentes podem contribuir com parte da solução, ou mesmo gerar uma solução incremental. Necessariamente, ambos os mecanismos ou qualquer outro da categoria deve manter uma comunicação padrão entre os agentes, embora o sistema blackboard permita flexibilidade na representação das informações, ou seja, diversas ontologias, desde que o protocolo seja seguido e a ontologia publicada. Um outro mecanismo que pode ser utilizado é a rede de contratos, onde o agente que possui uma tarefa a ser realizada é chamado gerente, enquanto aqueles que executam a tarefa são os contratados. O gerente deve anunciar o que deve ser feito, e cada contratado que possuir as condições de execução envia sua proposta. Cabe ao gerente analisá- las e associar um contrato a um determinado agente, que executará o serviço. Um agente pode ser gerente e contratado simultaneamente, desde que de 15 Lucro significa maior eficiência na realização das tarefas. 73 tarefas distintas, uma vez que não apresenta sentido um auto-contrato, pois este tipo de demanda é resolvida pelo próprio agente. Novamente, o agente deve sempre avaliar suas condições de realizar a proposta feita antes de oferecê- la. Em todas estas arquiteturas, um pedido de tarefa pode não ser realizado, pois os agentes com as habilidades necessárias para a solução podem não estar disponíveis ou já comprometidos com outras demandas, ou mesmo porque não há nenhum que possa realizar a tarefa. Pode ocorrer também, nos casos das redes de contrato, que os agentes estejam ainda esperando respostas de propostas que foram feitas e que sejam mais importantes e, portanto simplesmente não respondem, uma vez que se ambas as propostas forem aceitas, não haverá recursos suficientes para realizá- las. Nesta configuração da sociedade de agentes, pode-se dizer que não há recurso algum disponível, e embora esta situação de recursos exauridos (starvation) possa ser passageira, pode ocorrer o colapso da sociedade, uma vez que esta pode não ser capaz de realizar nenhuma outra tarefa. Uma forma de se resolver esta situação é existir um agente supervisor, cuja função é detectar deadlocks ou falta de recursos, além de buscar formas de solução para este tipo de situação. 3.2.4.2 Protocolos Diversos protocolos possuem como propósito a comunicação entre agentes, e dentre eles podemos citar: Plataform for Privacy Preferences Protocol (P3P), Plataform for Internet Content Selection (PICS) e o Knowledge and Query Manipulation Language (KQML). Há ainda outros recursos que podem ser utilizados para a comunicação entre agentes, sem terem sido, contudo projetados para este fim específico, como o Hipertext Markup Language (HTML) e o eXtensible Markup Language(XML). (Murch, 1999). Há ainda os esforços de diversas entidades, como a ARPA16 que criou o consórcio Knowledge Sharing Effort (KSE), com o objetivo de desenvolver convenções que facilitem tanto o compartilhamento de recursos como a reutilização de bases de 16 ARPA: Advanced Research Projects Agency 74 conhecimentos entre aplicações (Murch, 1999). Um dos grupos do KSE desenvolveu o Knowledge Interchange Format (KIF), uma sintaxe formal para a representação do conhecimento baseado em lógica de primeira ordem (Huhns, 1999). O KIF promove a tradução de uma determinada linguagem para um formato padrão, para que esta seja entendida por outro agente, o qual traduzirá a mensagem para outro formato qualquer com o qual trabalhe (Finin, 1994). A lógica de primeira ordem garante a não ambigüidade, necessária à descrição do mundo para o agente. O KQML é um protocolo baseado em KIF, e diversas implementações de agente o utilizam devido à suas características. 3.2.4.3 Protocolo KQML O KQML foi idealizado para promover a estrutura de interação entre os agentes inteligentes, baseado no KIF. É um protocolo que traz como grande vantagem o fato de toda a informação necessária à compreensão da mensagem fazer parte de seu conteúdo, ou seja, está incluída na própria comunicação. Finit et.al. (1994) coloca a relação entre agentes e o KQML como: “... um framework do conhecimento de forma a interpretar mensagens que eles trocam. Não é apenas troca de semântica, mas uma troca de ontologias”. Ontologia é uma especificação tanto de objetos, como de conceitos e relações em um determinado domínio, como um mundo possível. Huns e Stephens (1999) consideram que uma ontologia: “... é mais que uma taxionomia de classes (ou tipos); a ontologia deve descrever os relacionamentos. As classes e suas relações devem ser representadas na ontologia; as instâncias da classe não precisam ser representadas”. Portanto, possuindo a mesma ontologia, os agentes compartilham a representação do objeto da comunicação, bem como o conhecimento deste (Amorin, 2003). O KQML também foi baseado na Speech Acts, ou seja, na teoria que analisa a linguagem humana, a qual ajuda a definir os tipos de mensagens e sua semântica. Estas teorias apresentam performativas (performatives), ou tipos de mensagens que podem ser geradas. São eles: ?? assertivas: afirmações impostas sobre um fato (afirmações contundentes); 75 ?? diretivas: ordens em uma estrutura mestre/escravo (ou servidor/cliente); ?? de compromissos (commitments); ?? declarativas: declarações sobre um fato; ?? expressivas: expressão de emoções. Baseados nestes tipos, o KQML criou suas sete categorias básicas de performativa, cada qual representada por um conjunto de expressões: ?? consulta básica: avaliar, perguntar se, perguntar em, perguntar a um, perguntar a todos, dentre outros; ?? resposta múltipla: (stream in, stream all); ?? resposta: resposta, desculpa, dentre outros; ?? informativo geral: diga, cancele, não diga, atingir; ?? gerador: espere, pronto, próximo, descanse, descarte, gere,...; ?? definição de capacidades: anunciar, registrar, monitorar, importar, exportar,...; ?? rede: registrar, desregistrar, encaminhar, broadcast, rotear,.... A estrutura de uma mensagem KQML deve ser composta de um destinatário, um emissor, a linguagem do protocolo, a ontologia e o conteúdo. Um exemplo de Huhns e Stephens (1999) (Figura 3.15Figura 3.15) ilustra uma mensagem KQML, onde um anúncio é feito sobre as capacidades de um agente intitulado agente2: 76 Figura 3.15 – Exemplo de uma mensagem KQML (Huns, Stephens, 1999) O KQML possui uma arquitetura composta dos componentes roteador (router), facilitador (facilitator) e uma biblioteca de rotinas, chamada KRIL (KQML Router Interface Library). O roteador, um tipo especial de agente, interconecta um conjunto de outros agentes, recebendo e entregando as mensagens, sem manipulá- las ou verificar seu conteúdo. O roteador possui a vantagem de ser o único ponto de contato de um software com a comunicação entre os agentes, pois este componente deve localizar o destina tário, sendo este uma máquina da rede de comunicação ou um serviço, e enviar a mensagem. Já o facilitador é aquele cuja missão é prover os serviços de rede. É uma aplicação que mantém os registros dos nomes dos serviços existentes na sociedade multiagentes. O facilitador mantém seu próprio componente roteador e estão presentes em grupos de agentes. Quando um roteador é ativado, ele informa ao facilitador local sua existência, assim este poderá comunicar aos demais agentes da sociedade quem é o intermediário para enviar mensagens (Finin, 1994). E KRIL é um conjunto de funções que formam a interface entre a aplicação e o roteador, facilitando o acesso a este, provendo funções como o envio de mensagens KQML assim como de manipulação destas. A Figura 3.16Figura 3.16 ilustra estes componentes: 77 Figura 3.16 – componentes do KQML (adaptado de (Finin, 1994)) 3.3 Plataformas de Agentes e Sistemas Multi-Agentes Diversas plataformas de software foram criadas para permitir o desenvolvimento de agentes e sistemas multi-agentes, geralmente utilizando-se da linguagem JAVA, pois segundo Bigus et. al. (2002), esta linguagem possui portabilidade entre sistemas operacionais, e além de seguir o paradigma da orientação a objetos, permite trabalhar com multithreading. Algumas das plataformas dedicam-se à utilização de agentes fixos e outras de agentes móveis; porém, todas possuem os mesmos recursos básicos, principalmente em termos de transmissão e composição de mensagens. Das diversas plataformas que podem ser encontradas, destacam-se a JATLite da universidade de Stanford, Voyager da Recursion Software, ABLE 17 e AGLET da IBM18 , a arquitetura FIPA19 e a plataforma JADE20 . 3.3.1 FIPA A Fundação para Agentes Físicos Inteligentes - Foundation for Intelligent Physical Agents (FIPA) possui a missão de desenvolver os padrões de agentes e sistemas baseados nestes, com foco em interoperabilidade. Seus membros são empresas e universidades ligadas de alguma forma com pesquisas e desenvolvimento de mais de vinte países, o que confere credibilidade ao padrão. Todas as 17 ABLE – Agent Building and Learning Environment 18 IBM – Industrial Business Machine 19 FIPA - Foundation for Intelligent Physical Agents 20 JADE – Java Agent DEvelopment framework 78 especificações geradas pela fundação são de livre consulta via Internet, com o intuito de ser utilizado pela maior quantidade possível de soluções baseadas em agentes. A FIPA apenas gera padrões sobre conceitos bem fundamentados e aceitos, sendo que partes incipientes do estudo de agentes, bem como segmentos que não contem com definições claras ou ainda gerem controvérsia não são padronizados (Murch, 1999), (FIPA, 2002). A fundação não implementa qualquer “realização concreta” de agentes, pois os padrões, em sendo abertos, permitem diversas formas de implementação, bastando para tal seguir as recomendações e mecanismos abstratos definidos pela FIPA, como é o caso do ABLE, da IBM. Há diversos documentos gerados pela organização, dos quais será explorado apenas aquele que descreve a arquitetura abstrata 21 da FIPA, ou seja, a estrutura de como os agentes se comunicam e transportam mensagens. A arquitetura da FIPA trata do modelo de serviços, de sua publicação, bem como da busca por agentes e por outros serviços, e da interoperabilidade do transporte das mensagens. Define ainda o suporte a várias Linguagens de Comunicação entre Agentes, ACL (Agent Communication Language) e às linguagens de conteúdo, bem como da utilização ou criação de serviços de diretório. Esta arquitetura não trata do gerenciamento, mobilidade, identidade, e também não padroniza domínios e políticas de conversação entre agentes. Estas áreas são ainda consideradas pela FIPA como em desenvolvimento e, portanto não devem ser padronizadas, e cada aplicação deve definir suas próprias regras. Algumas implementações como o ABLE, possuem seu próprio sistema de gerenciamento, ou como o Voyager ou o AGLET, seus mecanismos de mobilidade. As quatro divisões que a especificação da FIPA traz em sua arquitetura, como mostra a Figura 3.17Figura 3.17 são: ?? transporte de mensagens; ?? diretório de agentes; 21 FIPA Abstract Architecture Specification 79 ?? diretório de serviços; ?? linguagem de comunicação dos agentes (ACL). Arquitetura Abstrata FIPA Transporte Mensagem Diretório Agentes Serviço Diretório ACL Arquitetura Implementável em JAVA Transporte Mensagem Diretório Agentes Serviço Diretório ACL Figura 3.17 – Arquitetura abstrata da FIPA ((FIPA, 2002), adaptado) A figura acima evidencia que a padronização permite diversas implementações, como em JAVA. Porém poderia ser utilizado DCOM22 , ou qualquer outro recurso utilizado em sistemas distribuídos. Nesta especificação, novos elementos podem ser inseridos nas implementações, ou até mesmo agregados, desde que o mínimo previsto na especificação seja realizado. A arquitetura coloca como mensagem a representação dos speech acts entre os agentes, de acordo com a ACL do sistema. Para tal, é necessário que exista uma forma destes agentes se localizar, comunicar e trocar mensagens. A forma de busca para serviços e agentes é padronizada pela FIPA, mas o transporte não, ou seja, a arquitetura dos agentes permite que se trabalhe com quaisquer recursos de comunicação. Quando um agente é iniciado (ou criado), este é ativado juntamente com um serviço chamado service-root 23 , que possuirá o localizador de serviços disponíveis no 22 23 DCOM: Distributed Component Object Model A plataforma ABLE possui este mesmo recurso (item 3.3.5) 80 ambiente, o qual é responsável pelo ciclo de vida do agente e auxiliará este a utilizar os recursos do meio. O serviço “diretório de agentes” (agent-directory service) é o local onde os agentes, ao serem ativados, registram-se. Isto será feito pelo service-root. Os dados obrigatórios são o nome (agent-name), único em toda sociedade multi-agentes, e pelo menos um localizador (agent locator), o qual possui o tipo de transporte e o endereço para atingir o agente. A estrutura “diretório de agentes” ainda pode conter outros atributos, como a descrição dos serviços dos agentes e suas restrições, dentre outros (FIPA, 2002). Já o serviço de “diretório de serviços” (services-directory service) possui como função fornecer os significados de cada serviço presente no ambiente de forma não ambígua mantendo a coerência entre os agentes. Este serviço não substitui o anterior, mas o complementa, pois é em geral estático, e com poucos registros, uma vez que suas descrições fazem com que agentes o consultem e acessem o “diretório de agentes” procurando por aqueles que possuem a especificação do serviço desejado. 3.3.1.1 Mensagens A FIPA trata de três aspectos das mensagens: sua estrutura, sua representação e seu transporte. A estrutura da mensagem (campos e partes da mensagem obrigatórios, opcionais, dentre outros) deve ser escrita em um padrão, representado pela ACL. Já o conteúdo deve seguir o KIF ou qualquer outro padrão, e o significado das expressões utilizadas deve possuir sua ontologia. Informação fundamental em qualquer mensagem é o remetente e o destinatário, compostos pelos nomes dos agentes (identificadores únicos em todo o ambiente). A FIPA prevê que se não existir destinatário, então o destino deve ser entendido como um broadcast. O conteúdo de uma mensagem pode ser ainda outra mensagem. Uma mensagem qualquer, chamada de mensagem de transporte (transportmessage), é dividida em duas partes: 81 ?? conteúdo ou payload, expressa em uma ACL, com conteúdo, remetente e destinatário (Figura 3.18Figura 3.18); ?? envelope: que traz as descrições do transporte, como o endereço do remetente e destinatário, ou seja, os identificadores apropriados para o meio de transporte utilizado, e campos adicionais necessários para a especificação correta da transmissão da mensagem (Figura 3.19Figura 3.19). Desta forma, pode-se transmitir uma mensagem sob qualquer mecanismo de transporte, e mesmo fazer isto através de gateways de conversão dos sistemas de comunicação, que o conteúdo ou payload não será afetado, ou manipulado. O envelope também pode ser utilizado para efetuar criptografia do conteúdo da mensagem, uma vez que as informações sobre segurança podem ser consideradas campos adicionais do envelope. Figura 3.18 – Mensagem do padrão FIPA ((FIPA, 2002)) 82 Figura 3.19 - Mensagem com envelope ((FIPA, 2002)) 3.3.2 Plataforma JADE A plataforma JADE foi criada em 2000 pelos laboratórios da Itália Telecom (TiLab) com o intuído de ser uma estrutura para a criação de agentes, os quais seguem as recomendações da FIPA. A plataforma é composta de (Caire, 2003): ?? um ambiente de execução, responsável por fornecer a infra-estrutura para os agentes; ?? uma biblioteca de classes JAVA, utilizadas para a programação dos agentes, ou seja, permitem o acesso ao ambiente de execução e de métodos de criação da estrutura do agente em si; ?? uma interface gráfica de gerenciamento do ambiente, bastante útil na identificação de operação dos agentes, e para acompanhamento da comunicação e de eventuais falhas ocorridas durante a operação dos agentes. Um ambiente JADE é definido através do conceito de Container, composto por alguns agentes de controle, responsáveis pela administração dos recursos da 83 plataforma e dos agentes. Neste Container, todos os recursos oferecidos pelo JADE estão disponíveis para os agentes, incluindo a comunicação entre estes e entre Containers distintos. Os agentes de controle são (Bellifermine, 2003): ?? Directory Facilitator (DF) – responsável pelo serviço de páginas amarelas da plataforma, ou seja, mantém um catálogo com a identificação de todos os agentes ativos, sua localização e os serviços que presta; ?? Agent Management System (AMS) – responsável pelo controle de todos os agents da plataforma, mantendo o serviço de identificação 24 e controlando o ciclo de vida dos agentes. ?? Agent Communication Channel (ACC) – controla a troca de mensagens entre agentes, tanto em um como entre Containers. Os comportamentos dos agentes são definidos através de uma série de classes presentes na plataforma. Todos os comportamentos presentes no JADE são uma especialização da classe Behavior, que permite também ao desenvolvedor criar um comportamento que seja adequado à sua aplicação. Na plataforma há três tipos de especializações da classe Behavior: ?? Cyclic Behavior; ?? One-shot Behavior; ?? Ticker Behavior. O comportamento Cyclic Behavior é utilizado para uma tarefa que se repete, porém sem um período de tempo definido. Uma vez que este comportamento é ativado, o agente o executa continuamente, independente da situação do ambiente (à priori). Porém, pode-se ativar este comportamento e bloquear sua execução a qualquer momento, desde que tanto a condição de bloqueio quanto de desbloqueio 24 Este serviço de identificação é chamado de AID – Agent IDentifier 84 seja programada. Este comportamento é bastante útil em tarefas como o tratamento de mensagens recebidas pelo agente, uma vez que não há necessariamente um horário definido para o recebimento, podendo ocorrer a qualquer instante. Desta forma pode-se ativar este comportamento e bloqueá- lo, pois sempre que uma mensagem for recebida, o agente identificará o evento, e reativará o comportamento. Já o Ticker Behavior é um comportamento cíclico com tempo de atuação definido na sua instanciação pelo agente, sendo útil para eventos que devam ocorrer periodicamente. Uma tarefa como a verificação da existência de determinados agentes pode utilizar o Ticker Behavior, uma vez que esta atividade, também chamada de verificação de keep-alive, deve ser repetida continuamente em intervalos regulares de tempo. O comportamento One-shot Behavior é executado apenas uma vez por instanciação, ou seja, uma vez acionado executa a tarefa e é finalizado. Como um agente pode possuir diversas funções que devem ser executadas de acordo com determinadas condições do ambiente, este comportamento pode ser utilizado para mapear um determinado cenário e as respectivas ações do agente. 3.3.3 JATLite e IBM AGLET A plataforma – Java Agent Template Lite (JATLite) é utilizada para a comunicação entre os agentes, enquanto a plataforma AGLET, da IBM está direcionada para a implementação de agentes móveis. Esta última arquitetura, segundo Pham e Karmouch (Pham, 1998), segue a linha dos applets JAVA, sobreescrevendo interfaces pré-definidas na linguagem e utilizando métodos, principalmente para a comunicação e busca de agentes em uma sociedade. Assim como o applet trabalha em um sistema com restrições de segurança impostas pela máquina virtual JAVA (JVM – Java Virtual Machine), o AGLET também, e a diferença fundamental entre eles está na conservação dos estados internos do agente quando este é executado, mesmo que em máquinas distintas (caso que o agente migra de uma máquina para outra), algo que não ocorre em um applet. E como numa aplicação JAVA qualquer, a máquina que recebe o agente AGLET necessita ser 85 preparada para tal, o que é conhecido na literatura como “AGLET host” ou “AGLET host enabled”. Nesta plataforma da IBM, um agente migra de uma máquina para outra através do recurso de serialização 25 via RMI (Remote Method Invocation) presente na linguagem JAVA. E a comunicação entre os agentes não é feita diretamente; deve sempre existir um elemento de representação (proxy) no sistema, chamado de AgentProxy, mesmo que a comunicação seja entre agentes em uma mesma máquina. Este sistema não é considerado “escalável” por Pham e Karmouch (1998), pois em altas quantidades de trocas de mensagens, possivelmente o AgentProxy será um ponto de limitação. 3.3.4 VOYAGER Outra plataforma utilizada e que possui suporte a agentes móveis é chamada Voyager, atualmente da empresa Recursion Software. A empresa alega que este framework facilita a criação de aplicações distribuídas, através do recurso chamado Object Request Broker (ORB), o qual suporta a utilização simultânea de diversos objetos, tanto do Voyager quanto de objetos em CORBA, SOAP, RMI, ou DCOM, além de prover comunicação segura, através do protocolo SSL (Secure Socket Layer) ou HTTPS (Hipertext Transfer Protocol Secure) (Pham, 1998), (Recursion, 2003). 3.3.5 IBM ABLE A plataforma Agent Building and Learning Environment (ABLE), proposta pela IBM, é um ambiente de desenvolvimento de agentes autônomos, baseado em componentes JAVABeans, onde estão implementados os algoritmos para a construção de agentes, bem como ferramentas de desenvolvimento e testes. Os agentes autônomos desta arquitetura possuem os recursos de percepção do ambiente, bem como atuadores, além de estarem disponíveis camadas de software para a 25 Recurso que permite implementar o conceito de objetos persistentes, ou seja, objetos cujo estado podem ser gravados em memória secundária e recuperados a posteriori quando o programa for reexecutado. 86 elaboração de agentes reativos ou baseados em lógica, com componentes que possam conferir características de emoção (causar a aparência desta), tornando o sistema mais amigável (Bigus, 2002). A estratégia da IBM é criar uma quantidade de componentes que permitam ao desenvolvedor atribuir as características desejadas ao agente que venha a criar. Segundo a IBM “O toolkit ABLE foi elaborado para prover uma arquitetura rápida, reutilizável e “escalável”, para a construção de agentes” (Bigus, 2002). A arquitetura possui como elemento básico o AbleBean, com seus atributos (nome, estado, dentre outros), e métodos básicos de um agente (como iniciar, reiniciar e parar o agente). Estes e outros métodos permitem aos agentes controlarem seus estados internos e se comunicarem de forma síncrona ou assíncrona, dependendo do tipo da mensagem e do agente. Aqueles que trabalham de forma síncrona processam todas as mensagens, enquanto os que operam de forma assíncrona as enfileiram, e o processamento é feito por outra thread, controlada pelo agente. Porém, mesmo um agente assíncrono pode tratar uma mensagem de forma síncrona, uma vez que existe um bit na mensagem que indica a forma como esta deve ser manipulada. Outra classe fundamental desta plataforma é a AbleEvent, responsável por enviar as mensagens e requisitar que tarefas sejam feitas entre agentes. Para localizar os agentes a plataforma ABLE possui um serviço de diretórios, seguindo o padrão da FIPA, onde os agentes registram uma descrição e localização. Além disto, há o Booter e Service Root, o serviço de nomes, de transporte de mensagens e um controle de ciclo de vida. Porém, ABLE possui um console de gerenciamento onde o administrador do sistema pode verificar o serviço de diretórios e o ciclo de vida dos agentes, manipulando-os e desta forma influindo no ambiente. A plataforma possui outros três tipos básicos de componentes JAVABeans: beans de dados, de aprendizado e de regras. Os beans de dados manipulam as informações tanto do treinamento quanto dos testes de aprendizado e raciocínio dos agentes, através de funções de importação e exportação para arquivos ou de manipulação de bases de dados através do JDBC (Java DataBase Connection da linguagem JAVA). Já os beans de aprendizado são os responsáveis pelos algoritmos de aprendizado, como BackPropagation utilizado em redes neurais, ou classificadores de Naive- 87 Bayes ou árvores de decisão. E os beans de regras definem uma série de padrões para a representação do conhecimento, dentro de uma padronização chamada ABLE Rule Language (ARL). A vantagem de se utilizar este recurso está no fato de se poder alterar o algoritmo de aprendizado sem ter a necessidade de alterar a representação do conhecimento do agente. Logo, podem ser criados diversos agentes, com algoritmos de aprendizado diferentes, operando sobre a mesma base de conhecimento. 88 4 SISTEMAS TUTORES REPRESENTAÇÕES INTELIGENTES E SUAS COMO SOCIEDADE DE AGENTES No capítulo anterior analisou-se os fundamentos de agentes e sistemas multiagentes; o que se entende por um agente inteligente, suas formas de comunicação e algumas plataformas idealizadas para a construção de agentes e sociedades de agentes. Neste capítulo será abordada a tecnologia de Sistemas Tutores Inteligentes (STI) e como esta pode ser implantada em um sistema multi- agentes, apresentandose protótipos e pesquisas. 4.1 Sistemas Tutores Inteligentes (STI) Os primeiros sistemas computacionais para ensino foram do tipo Treinamento Baseado no Computador (CBT – Computer Based Training) e Instrução Assistida por Computador (Computer Assisted Instruction – CAI). Segundo Goulart (2001), estes sistemas não eram individualizados, possuindo tanto um conjunto definido de questões quanto de passos a serem executados pelos estudantes. Portanto, objetivavam uma melhoria de habilidades específicas, e segundo Beck apud Thiry (1999) o estudante não pode decidir nestes sistemas a ordem de seu estudo, podendo apenas seguir uma seqüência pré-determinada por uma árvore de decisão. Tal seqüência podia estar condicionada aos erros e acertos do aluno, que desta forma definem a progressão ou não do estudante. Durante a década de 1970, Carbonell propôs um sistema chamado SCHOLAR, baseado na idéia de um sistema especialista representar o conhecimento através de uma rede semântica (Holt, 1990). Esta rede semâ ntica é composta por nós, representando os conceitos, e por conexões entre os nós, representando as relações entre os conceitos. O objetivo era criar uma estrutura de informação flexível o bastante para permitir ajustes e o melhor acompanhamento do aluno, se comparado aos sistemas de ensino existentes nos anos de 1970. 89 Neste contexto surge a idéia de ICAI (Intelligent Computer Assisted Instructional) ou Sistemas Tutores Inteligentes (STI ou ITS – Intelligent Tutoring Systems). Estes sistemas, segundo Wolf apud (Thiry, 1999) possuem quatro módulos básicos: estudante, tutor, domínio e interface. A Figura 4.1Figura 4.1 representa a arquitetura de um sistema STI: Módulo de Interface (c/ usuário) Módulo Estudante Módulo Tutor Módulo de Domínio Figura 4.1 – Arquitetura de um STI O módulo estudante armazena informações individualizadas dos alunos. Este deve no mínimo armazenar o ponto onde o estudante está em seus estudos. Porém, segundo Holt (1990), um modelo de estudante deve conter todo o passado e conhecimento do aluno que poderia ser aplicado na tarefa, bem como seu progresso e outras informações relevantes para a sua evolução. Isto significa que o STI deve gerar um modelo de usuário (ou de estudante), de forma a adaptar seu desempenho e funcionalidades às necessidades do estudante. Segundo Pohl apud Rosatelli (2003), o modelo do usuário deve ser capaz de elaborar suposições a partir do comportamento exibido; ser capaz de armazená-las e tanto inferir novas suposições como detectar e ser robusto a inconsistências. 90 Já o módulo tutor, também chamado de módulo pedagógico, contempla as estratégias e táticas 26 de aprendizado para a instrução do aluno. Seu objetivo é obter os dados relevantes do módulo estudante e baseado nestes dados optar por qual conhecimento do módulo de domínio apresentar. Algumas decisões que este módulo deve tomar são: quando revisar o conteúdo, qual questão aplicar ou se deve fornecer alguma instrução adicional. (Holt, 1990), (Thiry, 1999), (Goulart, 2001). Todo conhecimento do STI está representado no módulo de domínio, o qual informa o que deve ser ensinado ao aluno. Uma consideração bastante importante é como o conhecimento está representado neste módulo, uma vez que deve ser de rápida recuperação pelo módulo tutor, e deve possuir uma estrutura que evolua com o passar do tempo, ou seja, possa ser atualizada. E como último componente da arquitetura, tem-se a interface com o usuário (ou aluno). Segundo Thiry (1999) e Holt (1990), a complexidade deste módulo pode variar bastante, desde um amb iente de linha de comando até a realidade virtual. É importante salientar que este módulo deve seguir uma metáfora adequada ao público que o utiliza. O conhecimento pode ser modelado no STI segundo princípios encontrados em sistemas especialistas, ou seja, sistemas com uma base de conhecimento, e capacidade de inferência, capazes de derivar ações e tirar conclusões sobre um determinado fato ou assunto. A base de conhecimento do sistema especialista ( ? ) deve ser representada por uma estrutura de dados apropriada, devendo permitir a geração de regras de produção, como “se A for verdadeiro, então faça B”. A máquina de inferência deste sistema especialista determina através de ? o que deve ser feito em uma dada situação. O sistema é dito especialista, se contiver um conjunto de dados que represente um domínio específico do conhecimento, e puder inferir novas informações a partir do 26 Estratégia: forma de atuar em relação a um determinado tópico a ser ensinado. Tática: uma realização de uma estratégia. 91 conhecimento nele presente. A grande utilização destes sistemas está na área médica, onde a base de conhecimentos possui muitos dados sobre uma determinada especialidade como cardiologia, e a partir de sintomas estabelece as possíveis enfermidades, com um grau de precisão tal qual um especialista humano, podendo assim prescrever o mesmo diagnóstico. O STI traz a vantagem de responder melhor aos requisitos individuais do estudante se comparado ao CBT ou CAI, pois o domínio de um determinado assunto, aliado ao modelo do aluno, permite que o STI comporte-se idealmente como se entendesse o estudante, adotando as melhores estratégias sem intervenção humana (Holt, 1990). Segundo Sobral (2002) estes ambientes interativos podem fornecer os conceitos básicos para que o aprendiz os aplique em exercícios propostos pelo STI, resultando na construção do conhecimento. Porém existe um novo conceito, considerado uma evolução do STI, chamado ILE (Intelligent Learning Environment). Este traz uma mudança de enfoque, segundo a qual o estudante não é instruído pelo sistema, mas sim constrói seu conhecimento, cabendo ao ambiente de aprendizado lhe prover o suporte. O tutor deixa seu papel de fornecedor de dados para ser um auxiliar, um guia cuja missão é mostrar os caminhos mais adequados dependendo da atuação do estudante. A individualidade ou a personalização passa então a ser determinada pelo aluno, e não mais pelo tutor (Thiry, 1999). Para tal tarefa, segundo Jameson apud Rosatelli (2003), os modelos de usuário devem ser mais sofisticados, incluindo as seguintes informações: ?? Características pessoais: pontos pessoais que podem interferir na decisão do processo de aprendizagem, assim como idade, sexo e peso de um paciente influenciam uma decisão médica; ?? Interesses: quais são os interesses que o usuário apresenta; fundamental para optar-se por qual tipo de curso oferecer ao estudante; ?? Habilidades: qual é o nível de domínio de um determinado tema, para que o sistema defina os tópicos a serem estudados, pois o estudante conhece os pré-requisitos, e por outro lado não há repetições desnecessárias de conteúdos; 92 ?? Objetivos: o que o estudante está disposto a aprender, quais são suas intenções; ?? Padrões de comportamento: o modelo deve incorporar as reações do usuário para que a interação torne-se mais rica e personalizada; ?? Contexto de interação: mapear o contexto da ação do usuário de forma a avaliar corretamente a ação do usuário. Um sistema multi-agentes pode contribuir para a evolução de um STI ou de um ILE, pois se pode modelar diversas estratégias de ensino pelo módulo tutor, bem como múltiplos modelos de alunos, todos de forma independente. Isto aumenta a capacidade de expansão do sistema, uma vez que basta acrescentar mais agentes para obter-se outros comportamentos e modelos, tanto de alunos quanto de tutores. (Giraffa, 1999), (Bolzan, 2002). Logo com diversos agentes tutores, pode haver uma maior especialização em partes do conhecimento a ser adquirido, com diversas estratégias pedagógicas possíveis, possibilitando uma maior flexibilidade, e por conseqüência, maior possibilidade de adaptação do estudante. Também permite a colaboração entre alunos, através de seus agentes auxiliando a construção do conhecimento. Esta forma de aprendizado é conhecida como conflito sóciocognitivo, onde com uma maior quantidade de opiniões e alternativas, o indivíduo é obrigado a refletir e colocar suas opiniões em análise, aumentando a possibilidade de destacar novos elementos da discussão os quais auxiliam na solução de um problema (Sobral, 2002). A tendência das aplicações educacionais é utilizar a Internet e os objetos distribuídos pela rede, os quais podem ser acessados de qualquer ponto e a qualquer momento. Esta característica também é comum a um sistema multi-agentes, sendo que diversos experimentos e ambientes de aprendizagem estão sendo desenvolvidos utilizando sociedades de agentes. Segundo Webber apud Bolzan (2002), o conceito de agentes trata muito bem as atualizações de conteúdo, distância, cooperação entre estudantes e integração entre diversos componentes de software (ver item 4.1.2 e 4.2). 93 4.1.1 Representação do Aluno em um STI O modelo do aluno é aquilo que mantém todas as informações que um STI possui a respeito do estudante, e que será utilizado para guiá- lo durante o processo de aprendizagem. Estes modelos devem de alguma forma refletir o conhecimento do aluno e sua evolução, e para tal Priest e Young (1988) elaboraram o conceito de micro-teoria (micro-theory system), que corresponde à elaboração de um modelo computacional representativo de uma situação qualquer, como a análise de um ambiente biológico ou educacional. O objetivo é estimular um determinado comportamento de uma população específica, a ser submetida à análise pelo modelo. Estes sistemas de micro-teorias representam as características do universo de discurso de um modelo computacional do aluno, ou seja, é o campo de inferência e de ação sobre os dados obtidos do estudante (tarefa que pode ser realizada por um agente, por exemplo). Estes sistemas devem ser dinâmicos, refletindo as mudanças no modelo do aluno. Em ambientes educacionais, Clancey (1986) elabora diversos modelos que podem ser usados para representar o estudante, ou seja, são micro-teorias a respeito das atitudes e evoluções que o aluno pode apresentar. Estes modelos podem ser classificados como gerais, de tarefas específicas, de inferência, de diagnóstico e os chamados modelos de bug. Os modelos gerais aplicados em STI possuem regras demasiadamente sofisticadas e de difícil manipulação. Porém podem ser utilizados para a geração de modelos específicos através de mecanismos de inferência. Estes modelos específicos tratam de um determinado assunto, como um tema em medicina ou engenharia (Clancey, 1986). Através de mecanismos de inferência, como presente nos sistemas especialistas, pode-se analisar o comportamento, as ações e o desempenho do estudante, gerandose um modelo refinado o bastante para servir de comparação com o aluno real. Podese estimar inclusive possíveis atitudes do aprendiz em relação aos tópicos a serem apresentados. Há ainda o modelo de bug, onde o sistema registra uma série de procedimentos incorretos que levam a resultados equivocados, e com esta base de 94 conhecimento diagnostica o erro do estudante, bem como deduz o erro cometido (Clancey, 1986), (Gilmore, 1988). Gilmore e Self (1988) propõem duas formas de organização do conhecimento para que os mecanismos de modelagem do aluno trabalhem coerentemente. A primeira forma é por árvores de decisão, onde cada nó da árvore representa uma característica do conhecimento, e suas folhas representam as conseqüências destas características. A segunda forma é por uma árvore de relações, onde os conceitos são expressos como uma coleção de valores de uma determinada característica (Gilmore, 1988). A organização dos conceitos em estruturas de dados do tipo árvore é interessante, pois reduz o tempo necessário para a busca de um dado. Em um arranjo de dados do tipo lista, todos os métodos de busca são menos eficientes, em média, do que os métodos de busca em árvores. Um algoritmo de busca de um dado em uma lista é de ordem “n” ( O ( n) ), enquanto em uma árvore é de ordem “ log( n) ” ( O (log(n )) ). (Tenembaun, 1995), (Sedgewick, 1998). As ilustram os conceitos de organização: Validade do Lubrificante SIM NÃO Especificar Viscosidade SIM Alta NÃO Baixa Dissipação Calor SIM Alta Figura 4.2 – Representação de uma árvore de decisão. NÃO Baixa 95 Automóvel Nacional A B Importado C X Y Figura 4.3 – Representação de uma árvore de relação Dos modelos de aluno utilizados para inferência, uma classe particular denominada modelos estatísticos preditivos deve ser destacada. Estes modelos lidam com incertezas sobre os dados coletados, uma vez que estes não representam todas as faces do universo de discurso, e não existindo informações completas, não se pode tomar uma decisão sem que existam dúvidas. Existem diversos modelos estatísticos, como o Modelo Linear, mais simples, até as Redes Bayesianas, mais complexas. Os Modelos Lineares consideram médias ponderadas dos dados conhecidos para produzir a estimativa do dado não conhecido, enquanto Redes Bayesianas, segundo Rosatelli, “são grafos acíclicos direcionados onde os nós correspondem a variáveis randômicas. Os nós conectados por arcos direcionados podem ser vistos como ligações causais de nós pai para nós filho. Cada nó está associado com uma distribuição de probabilidade condicional que atribui uma probabilidade a cada valor possível desse nó para cada combinação de valores dos seus nós pais.” (Rosatelli, 2003). Uma outra forma de modelar o aluno é através de reconhecimento de planos (Carberry, 2000). Este modelo também é de inferência, pois sua função é através de alguns dados estimar possíveis ações de um agente ou de um usuário. O reconhecimento de planos trabalha com um cenário específico, composto por objetivos e ações. Um sistema de inferência observa as ações do meio e analisa como elas podem contribuir para que um agente alcance seus objetivos. Esta análise resulta em seqüências de ações que levam a objetivos, e estes objetivos levam a outras ações, e assim sucessivamente até culminar no objetivo final do agente a ser 96 alcançado. Um plano é a escolha por uma destas seqüências; e a cada passo executado uma nova análise pode ser feita, gerando novos planos. A figura abaixo ilustra dois possíveis planos: X K D H F B G C A Figura 4.4 – Uma seqüência representado um plano reconhecido pelo agente((Carberry, 2000), adaptado) Estendendo esta idéia, pode-se dizer que o estudante inicia em um curso com um determinado estágio do saber, sendo objetivo do curso aumentar o conhecimento do aluno. Para isto, deve ser estudado um conjunto de assuntos, os quais possuem uma relação de pré-requisitos, que devem ser obedecidos, ou seja, para estudar um determinado assunto, os pré-requisitos devem ser abordados. Isto não significa que todos os assuntos do curso devem ser estudados para se alcançar um objetivo, o mesmo ocorrendo com os pré-requisitos; mas existem seqüências de tópicos distintas em um curso que levam o aluno ao estágio de desenvolvimento desejado. Portanto, não há apenas uma ordem possível de estudo e, em cada uma deve-se considerar os pré-requisitos e os tópicos a serem estudados, reconhecendo-se assim um plano. Estes apenas podem ser aceitos se o estudante for capaz de realizar todas as ações previstas e todos os tópicos do plano estejam interconectados, sendo isto uma 97 condição necessária para o sucesso da execução de um plano 27 . Esta abordagem trará maior dinamismo ao ambiente, permitindo ao aluno optar por caminhos mais adequados a ele, como aqueles mais curtos ou algum que possua tópicos mais interessantes. Há de se considerar também que se existir interconexões entre os planos estimados, o estudante pode alterar de um para outro quando for possível, desde que esta opção o satisfaça. 4.1.2 Representação de um STI Como uma Sociedade de Agentes. Uma vez que agentes e aplicações educacionais possuem pontos de intersecção, há pelo menos duas formas de considerar o uso de uma sociedade multi-agentes (SMA) no atual cenário de educação à distância. A primeira forma é utilizar alguns agentes como representantes dos usuários e outros como interfaces para os sistemas de aprendizagem atuais (LMS). A segunda forma é pensar no sistema educacional totalmente distribuído entre os agentes, não existindo um software centralizador como atualmente é utilizado. Para tais abordagens, dois tipos de agentes podem ser definidos: um agente que represente o aluno e outro que represente o professor. 4.1.2.1 Agentes e Sistemas LMS Em um ambiente composto por um LMS, há um repositório central onde os agentes obtêm os conteúdos armazenados a serem estudados pelos estudantes, correspondendo ao módulo de domínio de um STI. O LMS também possuiria parte do módulo tutor, registrando as estratégias existentes no ambiente. Já o agente do aluno pode ser o responsável pelo módulo do estudante e o de interface, uma vez que estes são responsáveis por armazenar as informações sobre o aluno e realizar a interação com este, respectivamente. E o agente professor possuiria parte do módulo tutor, selecionando quais táticas para aprendizado disponíveis devem ser utilizadas, além de possuir um módulo de interface para o professor, com o objetivo de facilitar a interação com o sistema de ensino. 27 Redução de Hipótese: dado um conjunto de planos, seleciona-se os mais adequados através de um princípio, geralmente heurísticas. 98 Este modelo traz como característica positiva em relação ao STI tradicional uma maior proximidade de informações em relação aos usuários. Isto porque qualquer função que um estudante deseje realizar poderá ser interpretada localmente, a partir do conhecimento do agente do aluno, diminuindo a quantidade de acessos a um sistema central. Uma conseqüência imediata é a redução do tempo de resposta do sistema para o estudante. Outra característica positiva é que o modelo do estudante pode ser utilizado em mais de um LMS, uma vez que o agente possui os dados e não necessita estar restrito a apenas uma base de conteúdos de aprendizado. Este grau de liberdade possibilita um maior refinamento do modelo do aluno, pois o agente será capaz de analisar o comportamento do estudante em mais de uma situação e ambiente de estudo. 4.1.2.2 STI Formado Exclusivamente por Agentes A segunda abordagem elimina o LMS e, portanto toda a informação antes contida nele deve ser distribuída entre os agentes. Desta forma, este novo cenário possui total distribuição das informações, sendo que o agente aluno deve ser associado aos módulos do estudante, de interface e parte do tutor, o qual selecionará qual estratégia e táticas serão apresentadas ao aluno. O agente professor terá por sua vez o módulo de domínio e partes tanto da interface quanto do tutor, contendo as estratégias que o professor conhece. Este ambiente possui uma diferença bastante significativa em relação ao anterior, pois neste o conhecimento está distribuído entre diferentes agentes, o que obrigará um estudante a procurar quem possui o tópico a ser estudado, fazendo com que os agentes sejam necessariamente colaborativos, algo que não é obrigatório no caso anterior. Comparando as duas abordagens, vê-se que a segunda traz uma desvantagem clara em termos de complexidade de se conseguir uma informação, uma vez que os dados estão completamente distribuídos e mecanismos mais sofisticados de busca se fazem necessários. Isto deve aumentar o tempo médio para a obtenção de um dado. Porém este modelo elimina o ponto único de falha que um LMS representa, pois em sua falta não há nenhuma informação disponível. Em contrapartida, se um agente professor falhar, apenas parte do conhecimento não poderá ser utilizado, podendo 99 ainda existir outro agente que possua o mesmo conhecimento. Neste ponto há um problema clássico de sistemas distribuídos: o controle de consistência de versões de conteúdo (de conhecimento) entre os agentes. Portanto, mais um mecanismo deve ser inserido neste cenário, aumentando a complexidade em relação ao ambiente com LMS, uma vez que este por si garante que a versão de um determinado material é correta para todo usuário. Ambas as abordagens permitem uma mudança conceitual nos módulos de um STI, da forma como foram apresentados. O agente do aluno, possuindo capacidades de estimar comportamentos, também poderia ser o responsável por escolher, dentre as diversas estratégias e táticas fornecidas pelo agente do professor, quais são as mais adequadas ao estudante. Certamente esta abordagem pode existir em um STI clássico, embora não seja o usual. Sistemas LMS Alunos Ag Interface Usauário Usuário A g professor Primeira Forma de Integração Conteúdo Matemática parte I Alunos Ag Interface Usauário Usuário A g professor Conteúdo Matemática parte II STI formado exclusivamente por agentes Figura 4.5 – Integração entre sistemas LMS e sociedade de agentes 100 4.2 Aplicações Educacionais com Tecnologia de Agentes Nesta seção são descritas algumas aplicações STI construídas com os conceitos e tecnologias de sistemas multi-agentes, bem como aplicações multi-agentes criadas para funções educacionais. Este levantamento será utilizado para auxiliar no projeto e construção de uma arquitetura de um ambiente multi-agentes que possa ser utilizada em ambientes educacionais. Segundo Lin et. al. (2001) os sistemas educacionais estão muito aquém do que a tecnologia pode prover. O paradigma de sistemas multi- agentes pode tratar melhor das demandas da educação à distância, pois é uma melhor abordagem para problemas distribuídos, como ocorre em EAD. Outro ponto relevante é a maior facilidade de desenvolvimento de novas características do sistema, pois estas podem ser representadas por um agente, aumentando a modularidade, velocidade, reusabilidade, confiabilidade e flexibilidade dos componentes do sistema. A avaliação é um ponto de grande divergência entre os pesquisadores sobre educação, pois não há ainda uma tecnologia capaz de certificar que é realmente o aluno que faz uma prova, e não um terceiro. Porém, um ponto é de concordância geral em termos de avaliação: o tutor não deve apenas possuir um efeito meramente classificatório, mas ser auxiliar no desenvolvimento do estudante, preparando-o para melhor aprimorar suas habilidades. Segundo Prata (2003), há desvantagens em se utilizar ambientes que são completamente on-line, ou seja, aqueles que para qualquer atividade o usuário deve estar conectado à Internet. Um dos pontos considerados é o alto custo das conexões de rede. Logo, se existir uma forma de o ambiente não necessitar de uma conexão permanentemente ativa para funcionar, os tempos totais de comunicação podem ser substancialmente reduzidos. O contexto de agentes é adequado para esta demanda, pois aquele responsável pelo acompanhamento do aluno pode ser instalado no equipamento local do estudante, permitindo a execução de atividades sem necessidade de conexão com a Internet. 101 4.2.1 AMON-AD Estes agentes inteligentes, desenvolvidos na Universidade Católica de Petrópolis, objetivam a aprendizagem centrada no estud ante, seguindo os conceitos de Piaget, Vygotsky e Bloom. Este modelo de aprendizagem tem seus alicerces na reflexão crítica do aprendiz e do desenvolvimento da criatividade (Silva, 2000). A teoria de Gardner foi utilizada para a definição dos perfis dos estudantes que utilizassem o sistema. Segundo os autores, a função do AMON-AD (Agente Monitor de Aprendizagem à Distância) é: “... um modelo de agente inteligente de software, cujas funções são: monitorar e auxiliar o aprendiz na tarefa de aprender; manter dados de avaliação; auxiliar na motivação e facilitar o processo de avaliação tanto para o facilitador quanto para o próprio aprendiz.” (Silva, 2000). O AMON-AD é composto por três agentes: o agente aprendiz, agente do sistema e agente facilitador. O agente aprendiz tem como função informar dados da avaliação do aluno, pontos plenamente alcançados pelo aprendiz e aqueles em que este não obteve sucesso. O agente também deve prover revisões de objetivos, agenda de tarefas e compromissos, e principalmente incentivar o aprendiz a buscar as metas estabelecidas. O agente facilitador auxilia na confecção da avaliação e de atividades atribuídas ao aluno, de forma a ajustar o nível da avaliação ao seu propósito, além de informar e buscar dados complementares para o estudo do aprendiz. Também possui a função de rastrear as atividades e desempenho do aluno, e corrigir as avaliações quantitativas. Finalmente, o agente do sistema é responsável por toda a administração do ambiente. O esquema abaixo reflete a arquitetura do AMON-AD. 102 Figura 4.6 – Arquitetura do AMON-AD (Silva, 2000) 4.2.2 White Habbit Este sistema foi implementado com a função de aumentar a comunicação e interação entre grupos de pessoas. Para tal foi implementado um conjunto de agentes móveis, sob a plataforma Voyager, cuja função é encontrar pessoas em salas de bate papo que possuam interesses similares. Neste cenário, cada usuário cadastra no seu agente os assuntos de seu interesse através de um conjunto de palavras-chave. O agente por sua vez analisa o discurso de seu usuário para determinar quais destas são mais relevantes e procura por outros usuários que também as utilizem, identificando pessoas afins. A relevância de uma palavra-chave é determinada pela qua ntidade de vezes que é utilizada no discurso, sendo esta uma forma de aprendizado por reforço. O reforço dado a uma determinada palavra-chave depende do contexto no qual o agente está inserido, representando de forma mais fidedigna os interesses do usuário (Bolzan, 2002). A estrutura conta com dois agentes; um analisa e representa uma pessoa, enquanto o outro é um agente mediador, sabendo localizar todos os demais agentes, facilitando 103 assim a comunicação entre estes. Além disto, este agente é a interface entre o sistema de bate-papo e a sociedade multi-agentes. As características marcantes deste sistema são: a mobilidade e a autonomia dos agentes. Autonomia, pois o usuário não necessita comandar o sistema para que a interação seja estabelecida, o agente procura constantemente por pessoas que atendam ao critério de similaridade. A mobilidade é uma forma de melhor utilizar os recursos da infra-estrutura, uma vez que a quantidade de mensagens transmitidas é bastante reduzida. Isto ocorre, pois o agente locomo ve-se até a máquina em que se encontra o outro agente com o perfil julgado interessante, e assim pode interrogá-lo diretamente utilizando a comunicação local da máquina. Esta ferramenta, apesar de não possuir cunho educacional, poderia ser utilizada para aproximar alunos em aulas virtuais. Como ocorre dos alunos não se conhecerem, a busca por pessoas afins pode tornar o curso mais agradável, pois um estudante poderá criar vínculos afetivos com outros colegas, da mesma forma que ocorre em uma sala de aula tradicional. Isto deverá aumentar a troca de informações, enriquecendo o ambiente e possivelmente aumentando as possibilidades de aprendizado. 4.2.3 Agentes Utilizando os Conceitos de Vygotsky Estes agentes são utilizados para executar um diagnóstico cognitivo do estudante, baseado na teoria sócio- interacionista de Vygotsky. Utilizando o conceito de Zona de Desenvolvimento Proximal (ZDP) 28 , o agente aplica um primeiro questionário para determinar o ponto de conhecimento do aluno, ou seja, em quais habilidades e conceitos o aluno não requer auxílio, constituindo-se então um modelo de aluno. Cada agente interagindo com os demais, montará modelos de aprendizagem coletiva, seguindo o conceito de ZDP. 28 ver item 2.1.2 104 Após esta etapa, este agente de diagnóstico (que acompanha o aluno) requisita, via um agente mediador, o conteúdo pedagógico e avaliações a um agente semiótico. O agente de diagnóstico coleta dados sobre o desempenho do estudante, comparando com o desenvolvimento dos demais, gerando um novo diagnóstico, com o qual as próximas atividades serão definidas. Estes agentes seguem a arquitetura BDI 29 , pois segundo Andrade (2003) a arquitetura BDI “permite descrever o agente diagnóstico em termos de suas crenças, desejos e intenções. A formalização do agente utilizando BDI permite descrever o processo de diagnóstico e raciocínio que o agente utiliza para detectar e dar suporte aos alunos que se encontram na zona de desenvolvimento proximal”. 4.2.4 Ambiente de Aprendizagem Baseado em Agentes FIPA A arquitetura de uma sociedade multi-agentes elaborada por Silveira, Gomes e Vicari (2003) propõe uma evolução da plataforma JADE, utilizando agentes para o ensino personalizado. A utilização desta plataforma FIPA deve-se às facilidades de comunicação entre os agentes. O trabalho propõe dois tipos de agentes, um agente que acompanha o aluno, e é responsável pelo seu histórico, e diversos agentes pedagógicos, os quais representam diversas táticas pedagógicas 30 . O agente aluno possui um modelo do estudante, o qual mantenha armazenado onde este parou suas atividades, e ofereça todas as táticas disponíveis para o aluno aprender um determinado tópico, inclusive sugerindo uma determinada tática. Esta pode ser ou não aceita pelo estudante. Toda vez que uma 29 ver item 3.1.5.1 30 Uma tática pedagógica é composta por componentes ou passos que auxiliem no aprendizado do aluno. Entende-se por componente qualquer tipo de recurso computacional que possa ser utilizado para transmitir um conteúdo para aprendizado do aluno. Passos correspondem a procedimentos adotados para conduzir o aprendizado do aluno. 105 tática é escolhida, uma instância do agente de táticas correspondente é criada para ministrar o assunto. Os resultados obtidos pelo aluno são encaminhados pelo agente pedagógico para o agente aluno, o qual é responsável pelo armazenamento do histórico. A colaboração entre os agentes é fundamental nesta arquitetura, e para que a comunicação seja entendida por todos os agentes, estes trocam dados via a linguagem KQML. 4.2.5 Agentes para Sistemas On-line O sistema proposto por Lin et. al. (2001) é composto por diversos agentes, cuja missão é representar professores, tutores e alunos em ambientes educacionais. Na estrutura existe um servidor de agentes, responsável pela comunicação entre eles. Devem existir diversos servidores deste tipo para não ocorrer sobrecarga em nenhum deles. O servidor de agentes deve permitir a coexistência de múltiplos agentes, a comunicação entre eles, e deve ser capaz de transferir um agente para um outro servidor, permitindo que os estados de processamento sejam preservados durante esta migração, ou seja, o agente deverá voltar a executar em outro servidor no mesmo ponto onde foi interrompido. A arquitetura dos agentes deve permitir que eles troquem mensagens, comuniquem-se com seu ambiente, trabalhem de forma cooperativa, e possam mover-se de um servidor a outro. Nesta arquitetura foram elaborados três agentes, os quais foram subdivididos em duas categorias, agentes do estudante e agentes do servidor. Os agentes da arquitetura são: ?? Agente professor; ?? Agente aluno. 106 Agente Servidor Agente Tutor Repositório Dados Agente Professor Agente Aluno Figura 4.7 – Arquitetura do sistema multi-agentes de LIN (adaptado (Lin, 2001)) O agente aluno é composto por diversos outros agentes na implementação. São eles: ?? Agente interface: apresenta e recolhe os dados do usuário, fornecendo-os aos demais agentes; além de ser responsável pela configuração do ambiente do estudante, autenticação, dentre outras tarefas; ?? Agente de conteúdo: busca o material (download) e monitora o servidor para reconhecer se houve atualizações ou se há novos materiais; ?? Agente de tutoria (agente tutor): agente de perguntas e respostas (FAQ), sendo par do agente de perguntas e respostas do servidor. Consulta o índice de perguntas e respostas em caso de dúvida do estudante, podendo comunicar-se com um tutor humano quando não consegue obter uma resposta conhecida satisfatória; ?? Agente de teste: agente que busca e escolhe os testes para o estudante; ?? Agente de colaboração: responsável por toda a comunicação dos agentes do estudante com o servidor. Já o agente Professor é composto dos seguintes agentes: 107 ?? Agente de conteúdo: responsável pela recuperação de dados e objetos de aprendizagem, e pelo cadastro dos materiais do curso nos bancos de dados do sistema; ?? Agente FAQ: responsável pelo cadastro de perguntas e respostas a serem consultadas pelo agente de tutoria (dos alunos); ?? Agente comunidade: responsável pelo gerenciamento dos serviços da comunidade; ?? Agente de testes: gera testes para os alunos; ?? Agente de avaliação: corrige os testes feitos pelos alunos. Estes agentes são especializados, sendo cada um responsável por uma função específica. Todos foram desenvolvidos utilizando-se a linguagem JAVA, utilizando a estrutura de comunicação Remote Method Invocation (RMI) para troca de mensagens entre os agentes. Toda a comunicação possui características do KQML, sendo implementada no padrão XML31 . 4.2.6 Ambiente de Avaliação Utilizando Agentes Neste ambiente proposto por Prata (2003) a avaliação deve ser feita por um agente facilitador, que acompanha o aluno durante o processo de aprendizagem, enquanto o professor possui também um agente que o representa. Como suporte ao ambientes, há um sistema dividido em módulos, representado na Figura 4.8Figura 4.8: 31 eXtensible Markup Language, padrão do W3C (http://www.w3c.org). 108 Ambiente de Aprendizagem do Aluno Modulo Módulo de AutoAdministração de Avaliação Avaliações Módulo de Reflexões Módulo Portfólio Modo de Perfil Aluno Módulo Avaliação do Curso Ambiente de Aprendizagem do Professor Módulo Módulo Planejamento Administração de Avaliação Avaliação Módulo de Módulo Manual Visualização da Pedagógico do Avaliação Professor Modulo de Modulo de Avaliação Avaliação das do Curso Ferramentas de Comunicação Módulo Colaborativo de Correção da Avaliação On-Line Figura 4.8 – Módulos do sistema de aprendizagem (Prata, 2003). A arquitetura é dividida em duas partes, representando o professor e o aluno. No ambiente do professor, o módulo de administração de avaliações é utilizado para montar as provas de um determinado curso, desde a escolha das questões presentes, até seus pesos e notas a serem atingidas, sendo classificadas de acordo com Bloom (Bloom, 1972). O módulo de planejamento de avaliações é utilizado para definir como será feita a avaliação, quais serão os critérios e métodos utilizados, dentre outros. Há ainda o módulo de visualização de avaliação, onde o professor pode analisar e diagnosticar a avaliação a ser aplicada ao estudante. Há ainda os módulos de julgamento do curso e do ambiente, representados pela avaliação do curso, das ferramentas e correção on-line, onde o aluno pode questionar o professor em uma sala de bate-papo. Já o módulo do aluno possui as seguintes funcionalidades: ?? administração de avaliação (o mesmo do professor); ?? módulo de auto-avaliação: apresentando informações do aluno em comparação com a turma de estudantes do mesmo curso; ?? o módulo Portfólio: onde os estudantes podem armazenar os materiais que produzem; 109 ?? e o módulo das reflexões, responsável por armazenar os depoimentos dos alunos. Para realizar a avaliação, os temas estudados seguem uma hierarquia, regida pelo sistema de pré-requisitos, e representada por uma ontologia, a qual descreve a interrelação entre os conceitos. Esta ontologia segue uma composição de frases lógicas, como M 3 ? M 2 , significando que se o aluno sabe M 3 , é porque conhece também M 2 ( M 2 é um pré-requisito de M 3 ). O agente do professor deve ser capaz de formular sentenças lógicas como esta. O agente do aluno, sabendo destas relações lógicas, deve propor conteúdos para que o estudante aprenda determinado tópico. Segundo Prata (Prata, 2003), o uso de agentes e ontologias permite tanto o diagnóstico quanto o acompanhamento do aluno. 110 5 PROPOSTA DE ACOMPANHAMENTO E DIAGNÓSTICO DE ESTUDANTES ATRAVÉS UMA SOCIADADE MULTI-AGENTES A arquitetura proposta neste capítulo utiliza-se de um sistema multi- agentes como representantes de alunos e professores em um ambiente virtual de aprendizado. Os agentes foram construídos e analisados através de um simulador. Este permite que dezenas de parâmetros possam ser ajustados, de forma a se verificar o comportamento dos agentes em diversas situações e colher resultados, os quais são avaliados através de ferramentas de análise matemática (não fazendo parte do simulador). As simulações foram baseadas em dados reais de dezenas de turmas de um curso de Estrutura de Dados, matéria do currículo básico dos cursos de Engenharia da Computação ou de Ciência da Computação. Este capítulo apresenta além da arquitetura da sociedade multi-agentes, os cenários utilizados para testes, bem como a análise dos resultados obtidos através de simulação. Detalhes da arquitetura do simulador são apresentados no Anexo B. 5.1 Arquitetura do Sistema Multi-Agentes Proposto A arquitetura proposta nesta dissertação é composta de quatro agentes, cada qual responsável por determinadas funções, a saber: ?? Agente Aluno: representa o estudante no ambiente virtual de aprendizagem, responsável por ser seu tutor, auxiliando na busca de material de estudo, e principalmente por gerar um diagnóstico do aluno baseado no seu desempenho. ?? Agente Professor: representa o professor (ou instrutor) de um determinado curso, responsável por ser a interface com os sistemas de educação à distância (LMS), permitindo ao professor postar dados, materiais e receber diagnósticos enviados pelo agente Aluno. 111 ?? Agente Gerenciador: responsável pela comunicação entre os agentes Aluno e Professor. Ainda é a interface com o ambiente de aprendizado, fornecendo uma abstração do LMS para o sistema multi-agentes; ?? Agente Banco de Dados: especializado na busca e armazenamento de dados num LMS específico. Com os agentes descritos acima, toda a complexidade do ambiente computacional torna-se transparente ao usuário, tanto aluno quanto professor. Isto decorre da interface provida pelo agente Aluno (para o estudante) e pelo Agente Professor (para o instrutor ou professor), pois estes usuários não possuem a necessidade de compreender como os agentes funcionam e tampouco saber onde está o conteúdo de estudo. Basta utilizar a interface do agente que este executará as tarefas de como apresentar o conteúdo, enviar requisições e buscar material em diversos pontos, dentre outros. A Figura 5.1Figura 5.1 ilustra a arquitetura proposta: Professor Ag. Banco Dados Repositórios Dados Alunos Ag Professor Sistemas LMS Ag Aluno Ag Aluno Repositórios Dados Ag Gerenciador Alunos Figura 5.1 – Arquitetura multi-agentes proposta. Esta arquitetura pode ser considerada um STI formado exclusivamente por agentes, pois o agente Aluno representa tanto a interface de apresentação (para o estudante) como o módulo do aluno. Já o agente Professor representa novamente a interface (para o instrutor do curso) e o módulo pedagógico, com todas as estratégias e táticas educacionais. Já o LMS é representado pelo agente Gerenciador e agente 112 Banco de Dados, pois estes possuem o módulo de domínio (os conteúdos dos cursos). Esta arquitetura permite, diferentemente de diversos STI, que o conteúdo de um curso esteja localizado em mais de um servidor. Para tal basta que o agente do estudante ou do professor localize o agente Gerenciador para haver a busca e troca de dados. A arquitetura permite também que qualquer professor disponível, não importando onde esteja conectado possa ser descoberto por um aluno. Isto ocorre porque o agente está localizado na máquina do instrutor do curso e, uma vez ativado, comunica-se com todos os agentes Gerenciadores que controlam (ou provem acesso) a cursos deste professor. O agente também indica a disponibilidade do professor em responder perguntas de estudantes, ou de receber dados, entre outras atividades. 5.1.1 Descrição dos Agentes da Arquitetura O agente Aluno é o tutor do estudante durante um curso feito através de um ambiente de educação à distância. Sua principal função é auxiliar o aluno durante seus estudos, aumentando a interatividade com o ambiente de estudo. Dentre suas funções tem-se: ?? busca e exibição de material do curso para o estudante; ?? envio de questionamentos do aluno para um professor ou grupo de alunos; ?? medição de desempenho do estudante; ?? geração de diagnóstico do desempenho do estudante; ?? busca de material para reforço; ?? pedido de intervenção no processo educacional para o professor. Um resultado desejável é fazer com o que o estudante, através da interação com o agente, sinta-se mais motivado e menos solitário durante o estudo. Isto é obtido através de um método estatístico, cuja execução indica as possibilidades do aluno ter 113 algum tipo de dificuldade no acompanhamento do curso, e baseado nestes valores, o agente opta pela solução que ele conheça e que seja a mais adequada. O reforço sugerido pelo agente Aluno pode ser feito tanto através de uma conexão com uma rede de dados quanto por conteúdos armazenados em um CD ou qualquer outra mídia de armazenamento local. Apenas o pedido de interve nção do professor necessita de uma conexão com uma rede de dados. O agente Professor auxilia o responsável por um curso a acompanhar os estudantes, sendo o representante do professor (ou instrutor) em um ambiente de aprendizado. Como o agente é independente do LMS, o professor pode possuir o mesmo representante em diversos ambientes, servindo como uma interface centralizadora das tarefas do professor (como ocorre com o agente Aluno). Suas principais funções são: ?? auxiliar o professor a estabelecer os parâmetros de diagnóstico dos estudantes; ?? receber as análises dos resultados de todos alunos e gerar um diagnóstico por turma; ?? utilizar dados de diversas turmas para gerar diagnósticos por cursos (ou tipos de cursos); ?? receber pedidos de intervenção para alunos e avisar o professor; ?? permitir a comunicação entre professor e aluno, gerando as mensagens nos formatos adequados e permitir a localização do estudante, desde que o Agente Aluno esteja conectado com uma rede de comunicação de dados. O agente Gerenciador possui como função abstrair o LMS, permitindo acesso aos recursos existentes através de sua interface de comunicação com o sistema multiagentes. Com isto os agentes Professor e Aluno tornam-se independentes do LMS utilizado. O agente Gerenciador ainda possui a função de localizar os demais agentes e permitir a comunicação entre eles. 114 A comunicação entre agentes é intermediada pelo agente Gerenciador, recebendo, formatando (se necessário) e retransmitindo a mensagem. Se o agente do estudante ou o professor não estiver ativo na sociedade multi-agentes no instante em que uma comunicação se faz necessária, a mensagem fica armazenada em um quadro de avisos, acessível a todos os agentes (ver item 3.2.4.1). Já o agente Banco de Dados é a interface com os sistemas de armazenagem de dados, sendo estes gerenciados por um LMS ou não. Este agente se faz necessário, pois pode haver sistemas gerenciadores de banco de dados que não possuam um mecanismo de busca de informações ou que o LMS não permita a ação de agentes por não possuir uma interface de comunicação. Portanto, para a sociedade multiagentes ser efetiva na busca dos conteúdos educacionais é necessário existirem agentes especializados que identifiquem e operem adequadamente diversos tipos de repositório de dados. Desta forma o agente Gerenciador torna-se independente do método de acesso de um determinado sistema, pois a requisição de um conteúdo para um agente Banco de Dados é feita através de uma interface padrão da sociedade multi-agentes. 5.1.1.1 Classificação dos Agentes e do Ambiente Todos os agentes da arquitetura proposta, com exceção do agente Banco de Dados (que é classificado como um agente puramente reativo) possuem uma máquina de estados; logo são agentes baseados em estados internos. O ambiente no qual estão inseridos é: ?? Efetivamente Acessível: pois os agentes têm acesso a todos os estados de seu usuário e a alguns dados do ambiente de comunicação, sendo estes todos os necessários para suas atividades. Porém, não têm acesso a todos os estados de todos os usuários e, portanto, não pode ser considerado como ambiente Acessível; ?? Não Determinístico: o agente Aluno apenas sugere um reforço e o traz ao estudante; porém o resultado desta ação não pode ser conhecido a priori, 115 uma vez que depende de uma reação de um ser humano. Logo o agente não consegue prever o resultado de sua ação no ambiente; ?? Não episódico: o agente leva em consideração tanto o histórico de turmas anteriores quanto os resultados passados do estudante e, portanto uma ação atual possui influência das ações passadas; ?? Estático: o ambiente só é alterado pela ação dos agentes. Esta ação é uma resposta a um comportamento ou estado do usuário, sendo todas as variáveis existentes representadas e alteradas pelos agentes; ?? Discreto: pode-se enumerar quais são todos os estados do ambiente proposto. Certamente a quantidade de variáveis abordadas neste trabalho está aquém da quantidade que de fato podem ser encontradas em um ambiente real de EAD. Porém, pode-se enumerar as variáveis e seus valores do modelo proposto, uma vez que este considera apenas um conjunto de possibilidades existentes em um ambiente de aprendizado, particularmente do estudante. Já os agentes podem ser divididos em dois grupos, cada qual com características distintas, associadas às suas capacidades abaixo relacionadas: ?? Agentes Professor e Aluno: o comunicação; o inferência; o pró-atividade (quando do diagnóstico e busca de reforço); o continuidade temporal; o cooperação. ?? Agente Gerenciador e Banco de Dados: o comunicação; 116 o cooperação. 5.1.2 Método Estatístico de Diagnóstico Para que o agente Aluno seja efetivo em seu diagnóstico, é necessário que este identifique características do estudante que indiquem um determinado estado conhecido. Idealmente, o agente Aluno possuiria um modelo do estudante o qual refletisse exatamente o perfil de uma determinada pessoa, de modo a conhecer sua personalidade e forma de agir durante o estudo. Com este modelo e o acompanhamento de todos os passos do estudante, seria possível traçar um diagnóstico bastante preciso, e como conseqüência um auxílio dirigido e personalizado. Na impossibilidade de se elaborar tal modelo, optou-se por determinar certos perfis padrão de estudantes, baseados em dados dos alunos que já participaram de um determinado curso. Para tal, obteve-se a forma de avaliação e os respectivos resultados dos alunos, e através de certos parâmetros fornecidos pelo professor, os estudantes foram divididos em grupos com características comuns, e destes extraíram-se perfis. Estes são utilizados para fut uros diagnósticos dos alunos que estudarão num determinado curso. O critério adotado para divisão dos alunos é o de intervalo de notas. O professor determina três valores, os quais dividem o universo de valores possíveis em quatro partes, como mostra a Figura 5.2Figura 5.2: I4 0 I3 A I2 B I1 C 10 Figura 5.2 – Divisão dos alunos por intervalos de notas. Este procedimento é feito para todas as avaliações, sempre utilizando os mesmos intervalos de notas. Os intervalos são nomeados da seguinte forma (onde 0 ? A ? B ? C ? 10 ): ?? Intervalo 1 ( I1 ): a nota x no intervalo C ? x ? 10 117 ?? Intervalo 2 ( I 2 ): a nota x no intervalo B ? x ? C ?? Intervalo 3 ( I 3 ): a nota x no intervalo A ? x ? B ?? Intervalo 4 ( I 4 ): a nota x no interva lo 0 ? x ? A São contabilizados quantos alunos fazem parte de cada intervalo definido, em cada avaliação. Desta forma pode-se elaborar perfis como sendo a combinação entre cada um destes intervalos, considerando o desempenho do estudante em cada avaliação. Por exemplo, em um curso composto de duas avaliações, considere um aluno que obteve nota no intervalo I1 na primeira avaliação e nota no intervalo I 2 na segunda avaliação. Logo, o perfil deste estudante é denominado I1 I 2 . Em um curso composto de duas avaliações, tem- se dezesseis perfis possíveis, iniciando em I1 I1 , I1 I 2 , ..., até I 4 I 4 . O professor define quais são as referências para as probabilidades de aprovação para que o estudante seja diagnosticado. São três as referências para as probabilidades definidas pelo professor: ?? probabilidade de Aprovação Sem Reforço ( Pa ): a probabilidade do estudante ser aprovado, na qual o professor considera que não é necessário aplicar-se um reforço do conteúdo; ?? probabilidade de Reforço ( P r ): é a probabilidade do estudante ser aprovado, porém é menor que Pa . O professor considera P r uma baixa probabilidade de aprovação e, portanto o estudante necessita de um reforço; ?? probabilidade para Intervenção do Professor ( Pi ): esta probabilidade de aprovação é baixa o suficiente para impedir o aluno de prosseguir os estudos sem o acompanhamento do professor. Estas três probabilidades definem quatro intervalos, cada qual caracterizando um diagnóstico do estudante. Este é decidido dada a probabilidade de aprovação do 118 estudante ( Pap ), calculada através do desempenho deste e de valores históricos. Estes são calculados através da probabilidade condicional de aprovação, dada uma determinada prova. O professor também define o que deve ser o diagnóstico do estudante, dada uma probabilidade de aprovação. Neste método foram definidas quatro situações: ?? Aprovado: não é necessária nenhuma intervenção. A probabilidade de aprovação ( Pap ) é maior que Pa para este diagnóstico; ?? Reforço Sugerido: um reforço se faz necessário, porém não é estritamente necessário para o aluno obter a aprovação. A probabilidade Pap está ent re P r ? Pap ? Pa para este diagnóstico; ?? Reforço Obrigatório: o reforço deve ser feito, pois se estima que o estudante apresenta dificuldades que comprometem sua evolução no curso (aprovação). O aluno deve fazer o reforço nestes casos; porém, pode ocorrer que mesmo obrigados alguns alunos não o façam. A probabilidade de aprovação está entre Pi ? Pap ? Pr para este diagnóstico; ?? Intervenção do Professor: estima-se que o estudante apresenta dificuldades sérias o bastante para necessitar de um acompanhamento individual de um tutor humano ou de um professor. A probabilidade de aprovação é menor ou igual a Pi para este diagnóstico. O professor, define os valores das probabilidades de aprovação Pa , P r e Pi de forma a definir os valores dos intervalos, como mostra o exemplo seguinte: ?? Probabilidade de aprovação Pap ? 80% – diagnóstico: não é necessário nenhum reforço; ?? Probabilidade de aprovação 60% ? Pap ? 80% – diagnóstico: reforço sugerido; 119 ?? Probabilidade de aprovação 40% ? Pap ? 60% – diagnóstico: reforço obrigatório; ?? Probabilidade de aprovação p ? 40% – diagnóstico: intervenção professor. Dados os critérios acima, é calculado para um determinado aluno, pertencente a um perfil, qual é a probabilidade dele ser aprovado, considerando sua nota ou P( ap | Provax ) , onde x indica qual é a avaliação feita. O resultado é confrontado com as referências definidas pelo professor, e com isto o diagnóstico é gerado. Este cálculo é baseado nos valores do intervalo de notas, inclusive a probabilidade de aprovação histórica. Como as notas estão vinculadas a um perfil, consegue-se um condicionamento entre as avaliações, embora estas possam ser consideradas eventos estatisticamente independentes. Isto ocorre uma vez que o perfil considera um comportamento característico de um conjunto de estudantes. Percebe-se analisando dados reais de turmas de diversos cursos, que existe uma clara tendência daqueles alunos que conseguem bons resultados na primeira avaliação o repetirem na segunda; de outros que conseguem resultados satisfatórios em ambas, e assim sucessivamente. O condicionamento está de alguma forma ligado ao estudante, e não ao evento da prova em si. 5.1.3 Características da Arquitetura como um Sistema Distribuído A arquitetura, por ser distribuída, permite que os agentes estejam localizados em quaisquer pontos, inclusive na máquina do usuário, possibilitando a interatividade local, independente do estudante ou professor possuir uma conexão de rede dedicada. Cursos e conteúdos distribuídos em outras mídias eletrônicas, que não em uma rede de dados, como um curso em CD pode possuir agentes Aluno, por exemplo, pois embora este meio de distribuição não possua um meio de acesso definido a conteúdos remotos, o agente pode carregar consigo todo o conhecimento necessário para executar o diagnóstico do estudante. 120 Por ser distribuída, a arquitetura não possui um ponto único de falha, pois os agentes podem estar em diversos pontos. Conhecendo uns aos outros podem procurar novos locais de conteúdo ou outros agentes que estejam disponíveis no momento em que se necessita; e sem a necessidade do usuário indicar uma localização, pois o agente é capaz de pesquisar e tomar uma decisão de forma autônoma. 5.2 O Simulador SADE O Simulador para Análise do Desempenho de Estudantes (SADE) foi concebido para testar a arquitetura, e principalmente o método estatístico proposto para acompanhamento do estudante. Este simulador se faz necessário devido à impossibilidade de se testar a sociedade multi-agentes com um curso de educação à distância real, pois não foi elaborado o material para o curso, tampouco os materiais de reforço. Além disto, o tempo de implementação e a integração da sociedade com ambientes de aprendizado (em pelo menos uma plataforma comercial) é substancialmente complexa para ser realizada durante o mestrado, sendo necessária uma equipe de programadores, inexistente neste trabalho. Entretanto, o simulador foi construído como uma sociedade multi-agentes, pois desta forma pode-se verificar diversos aspectos de seu funcionamento e troca de mensagens, confirmando a validade da arquitetura proposta. Os agentes pertencentes a esta simulação são os mesmos já apresentados, com exceção do agente Banco de Dados, pois na simulação não será necessário este recurso. Para o teste de conceito proposto pela simulação, os agentes não terão algumas das funcionalidades descritas anteriormente (ver item 5.1.1), como as de busca de material. Porém, outras funções são necessárias, como a geração de notas de alunos baseada em perfil. Na inexistência de estudantes para a utilização da sociedade multi-agentes, é necessária a criação de alunos virtuais para a verificação das funcionalidades do simulador. Logo foi elaborado um sistema cuja função é gerar estes alunos virtuais em função no perfil histórico dos estudantes, bem como atribuir comportamentos em 121 relação às notas e ao reforço que será proposto em determinadas situações. O sistema verifica os dados existentes de turmas passadas, analisa quantos alunos estão em cada perfil, e gera valores porcentuais que serão utilizados para a criação dos alunos virtuais. Estes são independentes dos demais, além de possuírem um perfil e resultados das avaliações próprios. A Figura 5.3Figura 5.3 ilustra a integração entre o simulador e o sistema de geração de alunos virtuais. Gerador de Alunos Virtuais SADE Ag. Alunos Ag Professor Ag. Gerenciador Sociedade Multi-Agentes Figura 5.3 – Integração entre o simulador e o sistema de geração de alunos virtuais Estes processos de geração de notas e perfis são feitos através de um arranjo computacional denominado roleta de Monte Carlo, utilizado para representar a distribuição de uma determinada variável. Ela será utilizada, por exemplo, para sortear uma determinada nota de uma avaliação, Ou então, dentro de um perfil (do estudante), determinar a probabilidade de se ter um comportamento do aluno em relação à nota. 5.2.1 Agente Professor O agente Professor terá como suas funções a sumarização de dados vindos dos alunos e a geração de um arquivo em um formato apropriado para que seja feita uma análise matemática dos resultados da simulação. O agente também deve permitir ao professor ajustar e inserir os parâmetros da simulação, tais como: ?? quantidade de alunos a serem simulados; 122 ?? intervalo de notas dos alunos; ?? referências para probabilidades de aprovação (para definição do diagnóstico); ?? dados históricos para o cálculo das probabilidades a priori (para cada avaliação feita): o médias e desvio padrão das notas das avaliações, por perfil; o quantidade de alunos que possuem nota entre a média e 1 desvio padrão ( x ? ? ? X ? x ? ? ); o quantidade de alunos que possuem nota entre a média e 2 vezes o desvio padrão ( x ? 2? ? X ? x ? 2? ), excluindo os alunos do intervalo anterior; o quantidade de alunos que possuem nota entre a média e 3 vezes o desvio padrão ( x ? 3? ? X ? x ? 3? ), excluindo os dois intervalos anteriores. Estes dados são utilizados para a criação dos alunos por perfil, bem como para o cálculo das variáveis P( ap | Provax ) . O agente Professor também possui uma interface para que sejam cadastrados os intervalos de notas (Pa , P r , Pi ), e a quantidade de alunos a serem simulados.O agente ainda possui telas para o cadastramento ou alteração dos dados históricos de notas de prova por perfil. Desta forma, o agente Professor permite o controle da simulação, e possui uma tela onde são listados os resultados gerados de cada Agente Aluno. Neste simulador são consideradas duas avaliações por estudante. 5.2.2 Agente Gerenciador Já o agente Gerenciador possui a função de localização de agentes, bem como intermediar a comunicação entre eles. Este agente não terá uma interface com um LMS (pois não está contemplado nesta simulação). O Gerenciador também receberá 123 todas as respostas dos alunos e as organizará em um determinado formato para serem enviadas ao Agente Professor. 5.2.3 Agente Aluno O agente Aluno é o tutor também simulará o estudante, sendo este simulado por um sistema de geração de comportamento, como mostra a Figura 5.3Figura 5.3. Suas funções são: ?? medição de desempenho do estudante; ?? geração de diagnóstico do desempenho do estudante; ?? pedido de intervenção no processo educacional para o professor; ?? geração das notas do aluno que ele representa; ?? recebimento e envio de mensagens para o Agente Gerenciador. Para a geração da nota do estudante, o Agente Aluno recebe como parâmetro o perfil do estudante, ou seja, o comportamento esperado de notas daquele aluno. Os dados recebidos pelo agente são: ?? média da nota da avaliação (daquele perfil); ?? desvio padrão da nota da avaliação; ?? quantidades de alunos com nota entre a média e 1 desvio padrão, dois e três desvios padrões respectivamente. Por exemplo, utilizando os dados históricos de 100 alunos de um determinado perfil, tem-se os seguintes valores de médias e distribuição de alunos: ?? média: 6,0 ?? desvio padrão 1,0 ?? quantidade dos alunos no intervalo x ? ? ? X ? x ? ? : 50; 124 ?? quantidade dos alunos no intervalo ( x ? 2? ? X ? x ? 2? ) ? ( x ? ? ? X ? x ? ? ) : 30; ?? quantidade dos alunos no intervalo ( x ? 3? ? X ? x ? 3? ) ? ( x ? ? ? X ? x ? ? ) ? ( x ? 2? ? X ? x ? 2? ) : 20. Com estes dados, alunos virtuais podem ser gerados em quantidades que reflitam os dados históricos, e cada um com um perfil determinado e com condições de gerar seus próprios resultados. Ou seja, os agentes Aluno, recebendo seu perfil, geram suas notas e eventual reforço de forma independente, como seria de se esperar de um estudante não virtual. 5.3 Operação do Simulador SADE O primeiro passo para se ter uma simulação do ambiente de aprendizado é uma análise estatística dos dados históricos das turmas que estudaram o curso a ser analisado. Nesta etapa determina-se: ?? quantidade de alunos por perfil de nota; ?? médias de notas e desvio padrão; ?? cálculo da quantidade de alunos nos intervalos definidos pela média e desvio padrão (de 1 a 3 desvios padrão); ?? cálculo das probabilidades do aluno ser aprovado, dado a primeira avaliação. O segundo passo (quando ocorre a ativação dos agentes Gerenciador e Professor) é o cadastramento de qual a situação que se deseja analisar, ou seja, dos parâmetros de simulação, os quais podem ser: ?? quantidade de alunos virtuais a serem simulados; ?? intervalo de notas das avaliações; ?? probabilidades de aprovação: Pa , P r , Pi ; 125 ?? probabilidade de um estudante fazer reforço, por tipo de diagnóstico; ?? probabilidade do estudante, em tendo feito o reforço diagnosticado, conseguir um aumento da nota; ?? valores históricos: o quantidade de alunos por perfil; o média de notas das avaliações, por perfil; o desvio padrão das notas das avaliações, por perfil; o quantidades de alunos com nota entre a média e 1 desvio padrão, dois e três desvios padrões respectivamente; Dados os parâmetros acima, o simulador gera a quantidade de alunos virtuais, e para estes são informados seus perfis de estudante, os quais são utilizados na geração de seu comportamento e respectivas notas nas avaliações. O passo seguinte de simulação é a aplicação da primeira prova aos estudantes, sendo que estes informam os resultados para o agente Aluno. O agente então analisa o resultado à luz dos dados estatísticos, produzindo um diagnóstico. O aluno virtual opta (através de um algoritmo baseado em uma roleta de Monte Carlo) se fará ou não o reforço. Se o fizer, sua nota da segunda avaliação sofrerá uma melhoria, de acordo com os parâmetros da simulação. Após o dia gnóstico, o estudante virtual faz a segunda avaliação, tem sua nota melhorada caso tenha estudado o reforço, e seu resultado é enviado ao agente Aluno. Este deve formatar todos os resultados do estudante (inclusive se este fez ou não reforço, bem como o diagnóstico gerado) e os envia ao agente Professor, cuja tarefa é computar os resultados de todos os estudantes. Desta forma, o simulador gera um arquivo com os resultados de todos os estudantes para que sejam analisados através de ferramentas matemáticas. O esquema da Figura 5.4Figura 5.4 ilustra a operação do simulador: 126 Preparação dos dados históricos da simulação Definição do parâmetros da simulação Criação dos alunos virtuais Geração do diagnóstico da primeira avaliação Aplicação da primeira avaliação Recomendação do tipo do reforço a ser feito (quando existir a necessidade) Aplicação da segunda prova Resultados Finais da simulação Figura 5.4 – Esquema de operação do simulador SADE 5.4 Resultados Obtidos As simulações foram utilizadas para verificar se o modelo estatístico proposto para os agentes auxilia ou não o estudante durante um curso. Para tal, os dados utilizados pelo simulador foram extraídos de trinta e uma (31) turmas que cursaram uma determinada disciplina do curso de Ciência da Computação. O objetivo das análises apresentadas nos itens subseqüentes é determinar se o modelo estatístico utilizado pela solução de sistemas multi- agentes é efetivo para auxiliar os estudantes de modo a aumentar a aprovação em um curso. Os resultados são apresentados em cenários, nos quais alguns parâmetros da simulação foram definidos com o intuito de se analisar um determinado comportamento. Para tal, foram feitas 10 simulações com 400 alunos cada, em cada cenário, desta forma eliminando ou reduzindo eventua is distorções que podem ser apresentadas por uma única simulação. 127 5.4.1 Informações Históricas Os dados dos estudantes foram analisados a priori, como forma de identificar qual a tendência de aprovação dos estudantes sem qualquer tipo de auxílio 32 . As tabelas 5.1 e 5.2 abaixo ilustram o resultado desta análise: Aprovados por perfil (%) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Intervalo 1 100,00 100,00 96,67 33,33 Intervalo 2 100,00 85,71 0,00 0,00 Intervalo 3 100,00 0,00 0,00 0,00 Intervalo 4 0,00 0,00 0,00 0,00 Prova 2 Tabela 5.1 – Porcentagem de alunos aprovados (dados dos alunos analisadas) Distribuição de alunos por perfil (%) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Intervalo 1 16,92 15,41 11,28 1,13 Intervalo 2 9,77 10,53 6,77 1,13 Intervalo 3 3,76 3,01 4,51 1,88 Intervalo 4 0,00 3,01 7,89 3,01 Prova 2 Tabela 5.2 – Porcentagem de alunos por perfil Os intervalos de notas foram definidos na tabela acima como segue: ?? Intervalo 1: nota maior ou igual a sete pontos (7,0); ?? Intervalo 2: nota menor que sete pontos (7,0) e maior ou igual a cinco pontos (5,0); 32 Embora o curso analisado seja presencial, a interação professor aluno é bastante diminuída devido à grande quantidade de estudantes por turma. 128 ?? Intervalo 3: nota menor que cinco pontos (5,0) e maior ou igual a três pontos (3,0); ?? Intervalo 4: nota menor que três pontos (3,0). Na Tabela 5.1Tabela 5.1 verificou-se que os alunos que obtém as melhores notas em ambas as provas possuem alto índice de aprovação. Porém, alunos que se encontram nos intervalos de notas intermediárias ou abaixo da média (considerada 6,0 para as turmas em questão) praticamente não obtêm aprovação. Uma comparação dos resultados das tabelas 5.1 e 5.2 demonstra que 33,83% dos alunos são reprovados no curso. O esperado da atuação dos agentes é que estes perfis onde a aprovação é baixa ou inexistente possam vir a ter algum grau de aprovação maior se comparado ao registrado historicamente, e que os alunos que estejam com notas próximas à média de aprovação do curso também possam apresentar melhoria no desempenho acadêmico. 5.4.2 Cenários de Simulação Os cenários testados utilizam os dados históricos das turmas citadas acima, sendo que em cada simulação, os seguintes parâmetros foram ajustados: ?? Probabilidade de o aluno realizar o reforço (por tipo de reforço); ?? Probabilidade de aprovação: valores de Pa , P r , e Pi definidos pelo professor; ?? Notas que definem o intervalo (de I1 a I 4 ); ?? Quantidade de alunos por simulação; ?? Porcentual de aumento da nota dado que o aluno fez reforço (por tipo de reforço). Como o software utilizado permite que sejam analisadas turmas com e sem reforço, há uma simulação feita sem reforço, e as demais são realizadas com reforço, cada uma utilizando um conjunto de parâmetros. Com isto seus resultados são 129 comparados. Os seguintes parâmetros são fixos para a maioria das simulações (com exceção da última apresentada, onde é alterado o intervalo de notas): ?? Quantidade de alunos: 400; ?? Notas dos intervalos: o Intervalo 1: x ? 7 o Intervalo 2: 5 ? x ? 7 o Intervalo 3: 3 ? x ? 5 o Intervalo 4: x ? 3 ?? Valores históricos são encontrados no Anexo A. Há de se notar que com os valores históricos das turmas analisadas, as seguintes probabilidades condicionais de aprovação, dado a primeira avaliação, por perfil são: Perfil I1I * P( ap | Prova1) 100% I2 I* 76,74% I 3I * I4 I* 35,80% 5,26% Tabela 5.3 – Probabilidades condicionais de aprovação, dado a primeira prova 5.4.2.1 Primeiro Cenário de Simulação Os demais parâmetros da simulação intitulada “Simulação 1” foram: Probabilidade de Realização do Reforço (%) Reforço Sugerido 50 Reforço Obrigatório 70 Intervenção Professor 80 Tabela 5.4 – Simulação 1: Probabilidade de Realização do Reforço 130 Probabilidade de Aprovação (%) Sem Intervenção Necessidade de Reforço Intervenção Professor 70 50 30 Tabela 5.5 - Simulação 1: Probabilidade de Aprovação Intervalo de Notas 33 C 7,0 B 5,0 A 3,0 Tabela 5.6 – Simulação 1: Intervalo de Notas Probabilidade de Aumento de Nota Dado o Reforço (%) Probabilidade Aumento da Nota 50 10 30 20 20 40 Tabela 5.7 – Simulação 1: Porcentual de Aumento de nota dado reforço. Os dados da Tabela 5.4Tabela 5.4 indicam que a probabilidade do estudante realizar o Reforço Sugerido é de 50%, ou seja, nesta categoria de diagnóstico, a simulação tenderá a ter 50% dos estudantes fazendo o reforço. O mesmo ocorre para os demais parâmetros da tabela. A Tabela 5.7Tabela 5.7 indica que, dado que o aluno faça um reforço, 50% dos de chance do aumento ser de 10% do valor da segunda nota, há 30% de chance de o aumento da nota da segunda avaliação 34 (feita após o reforço) ser de 20%, e apenas 20% de chance da nota aumentar 40%. Cada resultado e correspondente gráfico apresentado neste trabalho decorre de dez simulações com os mesmos parâmetros, cada uma com 400 alunos. Os resultados obtidos com a simulação dos alunos sem qualquer tipo de reforço estão apresentados na Figura 5.5Figura 5.5: 33 Ver item 5.1.2 34 Para efeitos de simplificação, foram realizadas apenas mudanças discretas nas notas após reforço, como a nota X passar para X + 20%, por exemplo. 131 Desempenho Sem Reforco 100,0 100,0 98,3 100,0 100,0 100,0 100,0 100,0 100,0 100,0 100,0 100,0 94,8 90,0 80,0 70,0 66,2 61,3 60,0 % 53,5 50,0 51,5 48,5 46,5 Aprovados Reprovados 38,7 40,0 33,8 30,0 20,0 10,0 5,2 0,0 1,7 0,0 0,0 0,0 I2_I3 I2_I4 0,0 0,0 0,0 I3_I2 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I1 I1_I2 I1_I3 I1_I4 I2_I1 I2_I2 I3_I1 I4_I1 Perfil do estudante Figura 5.5 – Simulação 1: Desempenho dos estudantes sem reforço Esta simulação é próxima do resultado histórico, ou seja, os alunos que se encontram próximos da média ou um pouco acima desta (até perfil I 2 I1 ) possuem índice de aprovação acima de 60%. Quando o estudante encontra-se no perfil I 2 I 2 (em torno da média de aprovação) o índice de reprovação é maior do que o aprovação, isto porque os alunos virtuais tendem a ter notas abaixo de seis (nota de aprovação considerada). Pode ocorrer no simulador reprovações de alunos dos intervalos, onde dado os limites de nota, deveriam ser aprovados (como nos intervalos I1I1 e I1I 2 ). Isto é decorrência da distribuição das notas ser uma curva normal, ou seja, as notas podem ter valores de 0 a 10, sendo que a maior concentração de resultados de avaliação gerados estão centrados na média do intervalo. 5.4.2.2 Segundo Cenário de Simulação Mantendo-se os mesmos parâmetros da simulação anterior, fez-se outra, porém com reforço sendo simulado, e o seguinte resultado foi encontrado: 132 Desempenho Com Reforco 100,0 100,0 100,0 98,7 100,0 98,1 100,0 98,8 100,0 100,0 100,0 100,0 90,0 83,5 80,0 70,7 70,0 65,1 62,0 % 60,0 50,4 49,6 50,0 40,0 Aprovados Reprovados 38,0 34,9 29,3 30,0 20,0 16,5 10,0 0,0 1,3 I1_I1 I1_I2 0,0 1,9 1,3 0,0 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I3 I1_I4 I2_I1 I2_I2 I2_I3 I2_I4 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.6 – Simulação 2: Desempenho dos estudantes com reforço Nesta simulação nota-se uma melhoria do desempenho dos estudantes do intervalo entre I 2 I1 e I 3 I 2 , indicando que o reforço promoveu melhorias, uma vez que os demais indicadores sofreram alterações menores (em torno de 1%) se comparado ao intervalo citado. Com exceção do Intervalo I 3I1 que apresentou um aumento de 19,3% nos alunos aprovados, os demais intervalos sofreram um aumento de 4% em média no número de aprovações. Para os intervalos I1I1 e I1I 2 não houve alteração dos valores dos gráficos, pois estes perfis não sofreram reforço significativo (muito poucos alunos de fato foram diagnosticados com necessidade de reforço). O intervalo I 4 I1 também sofreu melhorias com o reforço. Os alunos do intervalo entre I 4 I 2 e I 4 I 4 não apresentam melhorias, pois os resultados obtidos nas avaliações são insuficiente para que o reforço seja efetivo em aumentar a aprovação, dados os valores dos parâmetros utilizados para a simulação. Considerando a quantidade de estudantes que deveriam fazer reforço e de fato o fizeram, tem-se que 36,75% dos estudantes foram diagnosticados a fazer o Reforço Obrigatório e 14,22% a sofrer Intervenção do Professor. Destes, 67,84% e 76,98% respectivamente executaram o reforço. Disto teve-se um aumento no nível de 133 aprovação de aproximadamente 8,81% em relação à simulação sem reforço. A quantidade de estudantes que não necessitaram de qualquer tipo de reforço foi de 49%. Note-se que não houve casos de Reforço Sugerido devido a característica das turmas analisadas, como evidencia a Tabela 5.3Tabela 5.3, pois o intervalo das probabilidades entre Reforço Sugerido e Aprovado é bastante pequeno e historicamente os resultados dos alunos não se enquadram neste diagnóstico. 5.4.2.3 Terceiro Cenário de Simulação Neste cenário, os seguintes parâmetros foram alterados em relação ao cenário anterior: Probabilidade de Aprovação (%) Sem Intervenção Necessidade de Reforço Intervenção Professor 70 40 20 Tabela 5.8 – Alteração dos dados da “Simulação 2” Nesta simulação, o professor acredita em outros valores para Pa , P r , e Pi (respectivamente). Com estes novos parâmetros o reforço ocorre em casos onde as probabilidades de aprovação são menores, tanto para necessidade de reforço quanto para intervenção do professor. Os alunos que não sofrerão um pedido de intervenção mantiveram a mesma probabilidade de aprovação. Nesta configuração, comparado à simulação onde não houve reforço, há uma melhoria nas taxas de aprovação dos estudantes nos intervalos I 3 I1 e I 3 I 2 pois estas são as faixas nas quais as probabilidades cadastradas pelo professor geram o diagnóstico de Reforço Obrigatório. A distribuição dos resultados é colocada na Figura 5.5. Os perfis entre I 4 I 2 e I 4 I 4 não apresentaram melhorias devido às notas dos alunos não sofrerem modificações significativas devido às taxas de reforço. Nesta simulação, 36,4% dos alunos necessitaram fazer o Reforço Sugerido, enquanto 16,03% a Intervenção do professor. Destes, 71,09% e 79,25% respectivamente o fizeram. Os alunos que não necessitaram de reforço respondem por 47,58% do total. 134 Desempenho Com Reforco 99,8 100,0 98,7 100,0 100,0 100,0 100,0 100,0 100,0 100,0 100,0 96,7 90,0 85,1 80,0 70,2 69,0 70,0 60,7 60,0 % 52,8 50,0 Aprovados Reprovados 47,2 39,3 40,0 31,0 29,8 30,0 20,0 14,9 10,0 0,2 1,3 I1_I1 I1_I2 3,3 0,0 0,0 0,0 I2_I3 I2_I4 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I3 I1_I4 I2_I1 I2_I2 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.7 - Simulação 3: Desempenho dos estudantes com reforço 5.4.2.4 Quarto Cenário de Simulação Em uma nova simulação (Simulação 4) alterou-se a probabilidade de aumento da nota, dado um reforço, como mostra a Tabela 5.9Tabela 5.9, mantendo-se todos os outros parâmetros iguais à segunda simulação. Com esta configuração, o seguinte resultado foi obtido (Figur a 5.6): Probabilidade de Aumento de Nota Dado o Reforço (%) Probabilidade Aumento da Nota 30 10 50 20 20 40 Tabela 5.9 – Probabilidade de Aumento de nota para a Simulação 4 135 Desempenho Com Reforco 100,0 100,0 100,0 97,9 100,0 98,5 100,0 100,0 100,0 100,0 100,0 100,0 90,0 81,2 80,0 73,8 71,6 70,0 60,0 53,4 % 52,3 47,7 50,0 Aprovados Reprovados 46,6 40,0 28,4 30,0 26,2 18,8 20,0 10,0 0,0 2,1 0,0 1,5 0,0 0,0 I2_I3 I2_I4 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I1 I1_I2 I1_I3 I1_I4 I2_I1 I2_I2 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.8 - Simulação 4: Desempenho dos estudantes com reforço Os resultados desta simulação indicam uma melhoria desde o perfil I1 I 3 até o perfil I 4 I 1 , dado o aumento do valor do reforço, se comparado aos cenários anteriores. Parte deste aumento significa que 50% dos alunos que tirariam nota 5,0 na segunda prova, conseguiriam através do reforço aumentar sua nota para 6,0; ou alunos com nota 3,0 chegariam à nota 3,5. Aumentos nas notas como estes citados são bastante factíveis de serem obtidos e expressam uma substancial melhoria nos índices de aprovação. Para esta simulação, obteve-se como resultado que 47,53% dos alunos não necessitaram de reforço algum, enquanto 36,2% necessitaram de Reforço Obrigatório, sendo que 70,02% destes o realizaram. A Intervenção do Professor era necessária a 16,2% dos alunos e 80,71% o fizeram. 136 5.4.2.5 Quinto Cenário de Simulação Aumentando-se novamente os valores de melhoria da nota, conforme a Tabela 5.9, e mantendo-se o restante dos parâmetros nos valores do cenário 2, obteve-se os seguintes resultados: Probabilidade de Aumento de Nota Dado o Reforço (%) Probabilidade Aumento da Nota 30 10 50 30 20 40 Tabela 5.10 – Simulação 5: Probabilidade de Aumento de nota Desempenho Com Reforco 99,8 100,0 98,8 99,3 100,0 100,0 100,0 99,4 90,0 100,0 100,0 100,0 100,0 84,8 80,0 76,2 69,8 70,0 63,1 % 60,0 51,2 48,8 50,0 Aprovados Reprovados 40,0 36,9 30,2 30,0 23,8 20,0 15,2 10,0 0,2 0,7 I1_I1 I1_I2 0,0 1,2 0,6 0,0 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I3 I1_I4 I2_I1 I2_I2 I2_I3 I2_I4 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.9 - Simulação 5: Desempenho dos estudantes com reforço O aumento de notas dado pelo reforço significa que um estudante com média 5,0 (sem reforço) alcançaria nota 6,5 em 50% dos casos. O resultado obtido é similar ao anterior, ou seja o reforço auxiliou os alunos com notas entre 3 ? nota ? 7 na primeira avaliação. Nesta simulação 36,65% do total de alunos necessitavam do Reforço Obrigatório, e 14,63% necessitavam da Intervenção do Professor. Considerando os valores absolutos 25,28% dos estudantes realizaram o reforço Obrigatório e 12% atenderam a Intervenção do Professor. 137 5.4.2.6 Sexto Cenário de Simulação – Obrigatoriedade do Reforço Outra simulação foi feita “obrigando” os alunos a estudarem o reforço, quando este é do tipo Obrigatório ou a Intervenção do Professor se faz necessária. Isto foi obtido alterando-se a probabilidade de realizar reforço conforme a Tabela 5.11Tabela 5.11 (o restantes dos valores são os mesmos do segundo cenário). Probabilidade de Realização do Reforço (%) Reforço Sugerido 50 Reforço Obrigatório 100 Intervenção Professor 100 Tabela 5.11 – Simulação 6: Probabilidade de Realização do Reforço Os resultados obtidos na Simulação 6 são: Desempenho Com Reforco 100,0 99,8 100,0 100,0 97,4 100,0 100,0 100,0 100,0 90,0 100,0 100,0 100,0 85,7 80,9 80,0 70,0 65,4 % 60,0 56,7 51,5 48,5 50,0 Aprovados Reprovados 43,3 40,0 34,6 30,0 19,1 20,0 14,3 10,0 0,3 2,6 0,0 0,0 0,0 0,0 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I1 I1_I2 I1_I3 I1_I4 I2_I1 I2_I2 I2_I3 I2_I4 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.10 - Simulação 6: Desempenho dos estudantes com reforço Analisando os dados, nota-se que todos os alunos que são classificados como alunos com Reforço Obrigatório ou Intervenção do Professor fazem efetivamente o reforço. Com isto obtém-se melhores resultados dos estudantes na maioria dos perfis entre I 2 I 1 e I 4 I 1 , comparado aos outros cenários. Nesta simulação, aproximadamente 48% dos alunos não necessitaram de nenhum tipo de reforço. 138 5.4.2.7 Sétimo Cenário de Simulação – Alteração da faixa de notas Neste último cenário, o intervalo de notas é alterado conforme a Tabela 5.12Tabela 5.12, e o restante dos parâmetros são mantidos nos valores do segundo cenário. A Figura 5.9 e a Figura 5.10 ilustram os resultados. Mesmo com a variação do intervalo de notas, o resultado mantém-se, ou seja, há expressiva melhoria no desempenho dos estudantes que receberam reforço. Intervalo de Notas C 8,0 B 6,0 A 4,0 Tabela 5.12 – Simulação 7: Intervalo de notas Desempenho Sem Reforco 100,0 100,0 100,0 99,2 100,0 100,0 100,0 100,0 100,0 100,0 100,0 95,9 90,0 80,3 80,0 76,6 70,0 62,0 % 60,0 55,0 50,0 45,0 Aprovados Reprovados 44,4 38,0 40,0 30,0 23,4 19,7 20,0 10,0 4,1 0,0 0,8 I1_I1 I1_I2 0,0 0,0 0,0 I2_I3 I2_I4 0,0 0,0 0,0 I3_I2 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I3 I1_I4 I2_I1 I2_I2 I3_I1 I4_I1 Perfil do estudante Figura 5.11 – Simulação 7: Desempenho dos estudantes sem reforço 139 Desempenho Com Reforco 100,0 100,0 100,0 98,4 100,0 98,4 100,0 100,0 90,0 100,0 100,0 100,0 85,0 79,8 80,0 75,0 70,0 66,7 60,0 % 100,0 55,3 Aprovados 50,0 44,7 Reprovados 40,0 33,3 30,0 25,0 20,2 20,0 15,0 10,0 0,0 1,6 0,0 1,6 0,0 0,0 I2_I3 I2_I4 0,0 0,0 I3_I3 I3_I4 0,0 0,0 0,0 I4_I2 I4_I3 I4_I4 0,0 I1_I1 I1_I2 I1_I3 I1_I4 I2_I1 I2_I2 I3_I1 I3_I2 I4_I1 Perfil do estudante Figura 5.12 - Simulação 7: Desempenho dos estudantes com reforço 140 6 CONSIDERAÇÕES FINAIS A hipótese do trabalho é que com o acompanhamento dos estudantes, em especial em ambientes de educação à distância, os resultados das avaliações seriam melhores e com isto o índice de aprovação aumentaria. A hipótese apresentada neste trabalho é que agentes possam, através de um método de acompanhamento, identificar os estudantes que necessitam de auxílio em seus estudos. Em os alunos recebendo tal auxílio, em forma de um reforço, espera-se como conseqüência um aumento das notas, refletindo naturalmente em uma maior aprovação. Embora os dados utilizados para a simulação sejam de turmas de cursos presenciais, acredita-se que os resultados obtidos possam ser aplicados tanto no ambiente à distância como no tradicional, sem alterações significativas. Isto porque, segundo Tori (2002), a distância em cursos presenciais pode ser maior do que nos cursos ditos à distância, devido a diversos fatores, como a inibição do aluno em uma sala de aula de cursos tradicionaispresenciais. Porém, estes fatores podem ser bastante reduzidos ou inexistentes em ambientes eletrônicos. Para verificar tal hipótese, e dada a dificuldade de se realizar um estudo num caso real, foi proposta uma simulação, esta sim baseada em casos reais. Desta forma as notas dos alunos de um turma real de um curso de computação foram usadas para constituir perfis de alunos, ou seja para descrever a potencial capacidade destes em obter determinadas notas. Com base nestes perfis foram criados alunos virtuais, que foram então submetidos a provas virtuais, cujas notas formam obtidas por simulação a partir do conceito de Monte Carlo. Admite-se também uma arbitrariedade em alguns dos valores utilizados para as simulações deste trabalho, particularmente na determinação das faixas de notas consideradas pelo professor como limítrofes entre as categorias escolhidas (desde a situação em que reforço era desnecessário, até aquela em que era obrigatório).embora a maioria dos dados seja extraída de cursos reais. Contudo, pPara os demais parâmetros, para os quais não se puderam obter os valores históricos (pois estes não existiam), foram utilizados valores baseados nas 141 experiências docentes de alguns professores (notadamente do autor e respectivo orientador). O simulador construído para verificação da hipótese apresentou resultados satisfatórios nas simulações onde não existia reforço, pois os valores obtidos foram bastante próximos das turmas reais, utilizadas como parâmetros históricos da simulação. Isto indicou que mesmo que o simulador possa apresentar distorções, estas não são significativas, uma vez que uma grande massa de testes foi utilizada e os resultados foram de acordo com o esperado (aproximadamente 12000 agentes foram simulados para verificar os dados sem reforço). Os resultados da simulação mostram que o diagnóstico dado pelo agente Aluno, bem como a resposta do estudante em realizá- lo pode melhorar o índice de aprovação em um cursoidentificam grupos de alunos que podem ser considerados críticos em termos de aprovação, ou seja, o agente identifica se o aluno tem boas condições de ser aprovado ou não, sugerindo um diagnóstico, e respectivo reforço caso necessário. Naturalmente, se o reforço for feito pelo estudante, e dele resultar um maior valor da nota, o índice de aprovação será maior. Dos diversos perfis de alunos definidos nesta dissertação, nota-se que os alunos classificados como pertencentes ao intervalo I1 I1 e I1 I 2 não tendem a necessitar de reforço, pois as notas obtidas na primeira avaliação resultam em uma probabilidade de aprovação considerada satisfatória e sem a necessidade de auxílio. Os alunos do intervalo definido entre os perfis I 4 I 2 e I 4 I 4 não apresentaram melhorias nos índices de aprovação, pois as notas obtidas, mesmo com reforço, não foram suficientes para a aprovação, embora sejam identificados com grande necessidade de auxilio. Em sua maioria, o diagnóstico gerado pelo agente indicou que a intervenção do professor era requerida. Analisando este intervalo o aluno que conseguisse as melhores notas obteria nota 3,0 na primeira avaliação e 5,0 na segunda. Mesmo com o melhor índice de reforço, que nas simulações foi de aumento de 40% da nota, ocorreria no máximo nota 7,0 na segunda avaliação (em vez de 5,0). Ainda assim não seria possível atingir a média mínima de aprovação 6,0. Embora fosse possível para um aluno deste intervalo obter uma nota máxima em uma 142 avaliação, dado que a distribuição de notas segue uma curva normal, a probabilidade disto acontecer é extremamente baixa, não ocorrendo de forma significativa na simulação, ou seja, de 32000 agentes simulados e apresentados neste trabalho, podese afirmar que seguramente menos de 0,01% obtiveram nota 10 em qualquer das avaliações dentro do intervalo I 4 I 2 e I 4 I 4 . As melhorias com o reforço fizeram-se presentes em sua maioria para os estudantes com notas no intervalo 3 ? nota ? 7 , principalmente nos perfis de I1 I 3 a I 4 I 1 . Isto ocorre porque a nota da segunda prova mais o reforço é suficiente para a aprovação. Analisando o intervalo I 3 I 2 , ou seja, um dos que apresentam as notas mais baixas considerando as duas avaliações, tem-se que um estudante com nota na média do intervalo (nota 4,0 e 6,0) conseguiria passar com o reforço que aumentasse a nota da segunda avaliação em 40%. Entretanto, se a nota da segunda prova fosse 7,0, um aumento de 10% (o menor dos reforços) seria suficiente. Neste intervalo ainda há o perfil I 3 I 3 que não apresentou melhorias mesmo com o reforço, pois para tal seria necessário que a nota da segunda prova aumentasse em 50% com o reforço (valor este inexistente nas simulações). Nestes perfis é onde se encontra a maior parte dos estudantes que são diagnosticados como Reforço Sugerido e Obrigatório. Considerando os aumentos porcentuais do reforço de 10% e 20%, os quais correspondem a 80% das situações simuladas em diversos cenários, e o intervalo I1 I 3 a I 4 I 1 tem-se que as notas da segunda avaliação aumentariam entre 0,0 ? nota ? 2,0 . Neste caso o maior aumento seria do aluno que obtivesse nove na segunda avaliação, e devido ao reforço alcançaria a nota 10,0. Esta melhoria pode ser observada em sala de aula e é factível de ser obtida por um aluno obter em um curso. A simulação evidenciou um aumento expressivo no nível de aprovação, dado o reforço, conforme a Tabela 6.1Tabela 6.1: 143 Melhoria do índice de aprovação ( % por cenário)35 Cenário 2 8,81 Cenário 3 4,28 Cenário 4 9,79 Cenário 5 11,12 Cenário 6 9,74 Tabela 6.1 – Melhoria do índice de aprovação dado o reforço Os resultados também se mostraram independentes dos intervalos de notas estipulados para a simulação, uma vez os desempenhos dos estudantes foram semelhantes mesmo se utilizando valores limítrofes de notas diferentes. Os fatores que mais influenciam os resultados são a probabilidade estimadas pelo professor ( Pa , P r , e Pi ) e as probabilidades do reforço a ser executado com os respectivos aumentos de notas. Certamente a melhoria observada através do reforço aumenta a quantidade de alunos que obtém resultados mais expressivos, porém isto não altera os perfis nos quais este fato é detectado. Dados os resultados da simulação foi observado que se as probabilidades de aprovação consideradas pelo professor forem muito altas, a maioria dos alunos tendem ao reforço ou à intervenção do professor. Esta é uma situação não desejada, pois estudantes que não necessitam de auxilio receberão um diagnóstico não condizente com a realidade. O mesmo ocorre na situação oposta; com baixas probabilidades de aprovação, o reforço será feito em sua maioria por estudantes com perfil entre I 4 I 1 e I 4 I 4 , onde o auxílio do agente não resultou em melhoras significativas nas simulações apresentadas nesta dissertação. E se as probabilidades do estudante executar um reforço também forem baixas, as melhorias dos resultados não serão significativas. O mesmo pode ser dito sobre em quanto o valor da nota do estudante será aumentado dado o reforço. As melhorias de 10% a 20% na nota do aluno são resultados passíveis de serem obtidos nos perfis de I1 I 3 a I 4 I 1 , que significam aumento entre 0,0 e 2,0 pontos na nota sem reforço do 35 Dados comparados ao cenário 1 – sem reforço (item 5.4.2.1) 144 estudante. Portanto pode-se afirmar que esta forma de acompanhamento traz benefícios aos estudantes. 6.1 Contribuições do Trabalho O trabalho mostrou a viabilidade de se utilizar agentes como suporte à avaliação de estudantes. Porém, seria interessante utilizar os agentes propostos em uma turma real de um curso, como forma de verificar a efetividade do método. O primeiro ponto a considerar como uma contribuição deste trabalho está em utilizar a tecnologia multi-agentes para o ensino., notadamente na educação à distância. O levantamento de conceitos de avaliação e aprendizado demonstrou que a tecnologia ainda está aquém das teorias de educação e avaliação, sendo que não é possível ainda ter um sistema eletrônico ideal para ser um tutor do estudante. Porém, a tecnologia pode auxiliar um professor a acompanhar turmas com muitos estudantes, aumentando a interatividade, e com a geração de diagnósticos permitir ao professor identificar os alunos que necessitam de maior atenção para obter sucesso no estudo. Este trabalho também apresenta uma classificação dos agentes em arquiteturas e como estas podem ser construídas, gerando diferentes tipos de agentes. A maioria dos trabalhos estudados não apresenta uniformidade de classificação, ocorrendo muitos casos onde o que um trabalho classifica como arquitetura, outro coloca como um tipo, ou ainda diversos trabalhos enumeram quantidades distintas de arquiteturas, as quais podem ser agrupadas em definições mais abrangentes. Nesta dissertação fez-se a distinção entre duas arquiteturas, as puramente reativas e aquelas que apresentam estados internos. Esta classificação está baseada em características comuns de agentes apresentadas por diversos autores, proporcionando maior abstração de abrangência da classificação. Esta dissertação também apresentou dois modelos de integração entre STI e agentes. Em um deles os agentes realizam parte das funções geralmente atribuídas ao STI, sendo que este ainda se faz presente. O outro modelo é composto exclusivamente por agentes, cada qual responsável por um conjunto de funções; e a 145 integração entre todos faz com que se tenha todas as funções de um STI. Com esta abordagem, o ponto único de falha representado pelo servidor STI deixa de existir, porém aumenta-se a complexidade do ambiente para a busca e obtenção de informações, uma vez que deixa de existir um local centralizador de informações. Em vez disto o conhecimento passa a ser distribuído entre diversos agentes, cada qual contendo parte do que deve ser aprendido pelo estudante. Estima-se que este cenário seja mais dinâmico, pois mais de uma forma de apresentação do mesmo conhecimento pode ser utilizada pelo aluno, e não necessariamente é aquela imaginada pelo professor. Entretanto existe o desafio de não se obter conteúdos incorretos ou falsos, dada a maior abrangência de dados proporcionada pelo modelo. Um ponto a ser considerado é que a tecnologia multi-agentes permite que o auxílio para o estudante possa ser feito mesmo se não existir uma conexão de comunicação de dados com o professor ou sistema STI, pois o agente pode estar inserido junto com o material em uma mídia de armazenamento, como um CD, e auxiliar o estudante gerando diagnósticos e sugerindo reforços que já existam com o material que foi enviado. E por fim o modelo estatístico de diagnóstico, utilizado pelo agente para auxiliar o estudante, mostrou eficaz para a massa de dados utilizada neste trabalho, embora o reforço só tenha sido aplicado na segunda e última prova. O modelo estatístico não é restrito a apenas duas avaliações, sendo válido para qualquer quantidade de medições e acompanhamentos do aluno que sejam necessários, desde que sejam recalculadas as probabilidades a priori de forma a preparar os agentes para que os diagnósticos sejam realizados. Estima-se que, com uma quantidade maior de avaliações, os resultados dos agentes serão mais efetivos. 6.2 Trabalhos Futuros Esta dissertação evidenciou que uma sociedade multi-agentes pode auxiliar com sucesso alunos em um curso, fazendo com que estes tenham maiores chances de obter melhores aumentem as notas e assim possibilidades de aprovação. Porém é interessante que este sistema sofra evoluções e seja testado em uma turma de estudantes de um curso executado em um ambiente eletrônico de EAD. Para tal é 146 necessário elaborar materiais e fazer com que os agentes os busquem e os exibam. Além disto o agente deverá ser capaz de aplicar testes e corrigi- los (desde que estes sejam de múltipla escolha, pois caso contrário uma pessoa deverá corrigir e informar os resultados ao agente Aluno). Para a evolução do experimento da dissertação, o protocolo entre os agentes deve possuir mais parâmetros. E melhorias nas funções de busca e exibição de materiais e prova, assim como das interfaces gráficas são necessárias. Uma possibilidade é utilizar tecnologias como Java Server Pages (JSP) ou Active Server Pages36 (ASP) para a construção destas interfaces dos agentes. Outro aprimoramento interessante é do agente acompanhar o estudante por diversas avaliações, e não apenas por duas, como feito neste trabalho. Isto exigirá que mais perfis sejam criados, estendendo as funções existentes no modelo estatístico. Porém, não é necessário refazer os módulos atuais, uma vez que os atuais permitem expansões. O modelo do estudante pode ser evoluído para suportar outras variáveis de acompanhamento do aluno, como o tempo gasto no estudo de determinado tópico. Com este tipo de informação é possível determinar se o estudante está utilizando mais tempo do que o estimado pelo professor, o que pode indicar falta de atenção, dentre outros aspectos. Também é possível verificar quantas vezes o aluno estuda um determinado assunto, pois isto pode indicar desinteresse ou dificuldades. É interessante considerar também a troca de dados entre os alunos, permitindo que dúvidas sejam resolvidas entre eles. Isto se aproxima da teoria de Vygotsky, na qual os indivíduos trocando experiências podem evoluir. E por fim é interessante analisar, para os casos em que os agentes manipularão conteúdos do curso (como apostilas e provas), qual o tipo de mobilidade é a mais eficiente para cada tipo de agente. Pode ser que para grandes quantidades de 36 ASP é uma marca registrada da Microsoft Corporation. 147 informação seja mais interessante o agente buscar os dados, e em contrapartida, para pequenos volumes de informação seja melhor que o agente faça o “download” do conteúdo. Isto decorre das características de uma rede de comunicação de dados, e este estudo torna-se interessante na medida que pode gerar modelos para a melhoria da eficiência da comunicação na sociedade multi-agentes. Estudos preliminares foram feitos, porém cenários mais aprimorados devem ser considerados. 148 ANEXO A – PARÂMETROS DA SIMULAÇÃO As seguintes tabelas retratam os dados históricos utilizados para as simulações deste trabalho: Distribuição de Alunos por Perfil Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 45 41 30 3 Intervalo 2 26 28 18 3 Intervalo 3 10 8 12 5 Intervalo 4 0 8 21 8 Tabela A.1 – Distribuição de alunos por perfil Porcentagem de Alunos em Cada Perfil (%) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 17,1 15,6 11,4 1,1 Intervalo 2 9,9 10,6 6,8 1,1 Intervalo 3 3,8 3,0 4,6 1,9 Intervalo 4 0,0 3,0 8,0 3,0 Tabela A.2 – Porcentagem de alunos por perfil (comparado com o total de alunos) Média de notas da primeira avaliação (por perfil) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Intervalo 1 8,589 5,610 3,900 1,667 Intervalo 2 8,558 5,893 3,889 1,000 Intervalo 3 8,300 5,563 3,958 1,300 Intervalo 4 0,0 5,438 3,786 1,250 Prova 2 Tabela A.3 – Média de notas da primeira avaliação, por perfil 149 Desvio Padrão das notas da primeira avaliação (por perfil) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 1,161 0,532 0,507 0,471 Intervalo 2 0,847 0,470 0,487 0,816 Intervalo 3 0,678 0,634 0,557 0,245 Intervalo 4 0,000 0,527 0,568 0,612 Tabela A.4 – Desvio padrão das notas da primeira avaliação, por perfil Quantidade de alunos na média da primeira avaliação ? 1? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 23 21 17 2 Intervalo 2 17 18 11 1 Intervalo 3 6 6 10 3 Intervalo 4 0 6 10 0 Tabela A.5 – Quantidade de alunos no intervalo de nota x ? ? (por perfil) Quantidade de alunos na média da primeira avaliação ? 2? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 22 20 13 1 Intervalo 2 9 10 7 2 Intervalo 3 4 2 2 2 Intervalo 4 0 1 11 5 Tabela A.6 - Quantidade de alunos no intervalo de nota x ? 2? , excluindo intervalo de ? 1? 150 Quantidade de alunos na média da primeira avaliação ? 3? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 0,0 0,0 0,0 0,0 Intervalo 2 0,0 0,0 0,0 0,0 Intervalo 3 0,0 0,0 0,0 0,0 Intervalo 4 0,0 1 0,0 3 Tabela A.7 - Quantidade de alunos no intervalo de nota ? 1? e x ? 3? , excluindo os intervalos de ? 2? Quantidade de Alunos Aprovados por Intervalo de Notas Primeira Avaliação Segunda Avaliação Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Aprovado Reprovado Aprovado Reprovado 81 65 29 1 0 20 52 18 116 50 10 0 3 25 25 37 Tabela A.8 – Quantidade de alunos aprovados dado a primeira avaliação Média de notas da segunda avaliação (por perfil) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Intervalo 1 7,978 7,780 8,383 8,333 Intervalo 2 5,788 6,036 5,778 5,333 Intervalo 3 4,200 3,688 3,708 3,900 Intervalo 4 0,0 1,250 1,714 1,250 Prova 2 Tabela A.9 - Média de notas da segunda avaliação, por perfil 151 Desvio Padrão das notas da segunda avaliação (por perfil) Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 0,937 0,725 0,792 1,247 Intervalo 2 0,591 0,462 0,478 0,471 Intervalo 3 0,332 0,609 0,431 0,735 Intervalo 4 0,000 0,612 0,568 0,829 Tabela A.10 - Desvio padrão das notas da segunda avaliação, por perfil Quantidade de alunos na média da segunda avaliação ? 1? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 22 26 16 1 Intervalo 2 11 10 12 2 Intervalo 3 9 3 9 3 Intervalo 4 0 5 10 2 Tabela A.11 - Quantidade de alunos no intervalo de nota y ? ? (por perfil) Quantidade de alunos na média da primeira avaliação ? 2? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 20 0 13 2 Intervalo 2 15 16 6 1 Intervalo 3 0 5 3 2 Intervalo 4 0 2 11 6 Tabela A.12 - Quantidade de alunos no intervalo de nota y ? 2? excluindo intervalo de ? 1? 152 Quantidade de alunos na média da primeira avaliação ? 3? Prova 1 Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4 Prova 2 Intervalo 1 3 15 1 0 Intervalo 2 0 2 0 0 Intervalo 3 1 0 0 0 Intervalo 4 0 1 0 0 Tabela A.13- Quantidade de alunos no intervalo de nota ? 1? e y ? 3? excluindo os intervalos de ? 2? I1I * I2 I* P( ap | Prova1) 100% 76,74% I 3I * 35,80% I4 I* 5,26% Perfil Tabela A-14 – Probabilidades condicionais de aprovação, dado a primeira prova A tabela a seguir indica qual a probabilidade de um aluno se encaixar em um determinado intervalo de nota, para cada uma das avaliações. Estas são consideradas eventos independentes nestas tabelas: Intervalo Notas Prova 1 (%) Prova 2 (%) I1 30,25 44,74 I2 31,95 28,19 I3 I4 30,45 7,14 13,15 13,91 Tabela A.15 – Probabilidade do estudante ser classificado em um intervalo de notas Os gráficos abaixo indicam como é a distribuição de alunos aprovados, dado a nota de uma ava liação. 153 10 Média Aprovacao 9,5 9 8,5 8 7,5 7 6,5 Notas P1 6 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 5,5 6 6,5 7 7,5 8 8,5 9 9,5 10 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Figura A.1 – Distribuição dos alunos considerando a média de aprovação e a nota na Primeira Prova 10 Média deAprovação 9,5 9 8,5 8 7,5 7 6,5 Notas P2 6 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 5,5 6 6,5 7 7,5 8 8,5 9 9,5 10 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Figura A.2 – Distribuição dos alunos considerando a média de aprovação e a nota na Segunda Prova 154 ANEXO B – ENGENHARIA DE SOFTWARE DO SIMULADOR SADE A plataforma para sistemas multi- agentes JADE na versão 3.1 foi escolhida para o desenvolvimento da aplicação do mestrado, devido às seguintes características: ?? plataforma em constante evolução; ?? diversos serviços disponíveis como a comunicação entre agentes; ?? segue a padronização da FIPA; ?? interface gráfica e ferramentas que facilitam o desenvolvimento e correção de erros de uma aplicação multi-agentes. Esta plataforma mostrou-se bastante estável em comparação a outras analisadas durante a implementação dos agentes, como a FIPA-OS37 . A interface gráfica do JADE permite o acompanhamento da troca de mensagens dos agentes e métodos utilizados, auxiliando na solução de problemas de programação existentes durante o desenvolvimento, como mostra a figura B.1: 37 Site da plataforma FIPA-OS: http://www.emorphia.com/research/about.htm http://sourceforge.net/project/showfiles.php?group_id=3819. Acessado em 01 de outubro de 2004. e 155 Figura B.1 – Acompanhamento da troca de mensagens entre agentes JADE O simulador do sistema multi-agentes é composto de diversas classes que implementam tanto as funcionalidades dos agentes quanto aquelas dedicadas exclusivamente à simulação. Para este simulador, o agente Aluno invoca as classes que simulam o aluno, e o agente Gerenciador as classes de geração de agentes Aluno. Certamente estas funcionalidades não deveriam existir nestes agentes, pois não são suas funções. Porém, para efeito de simulação foi uma solução adequada e que não prejudica em nenhum momento os resultados obtidos com a ferramenta simuladora.As classes elaboradas para este simulador são: ?? AgAluno: classe do Agente Aluno, responsável por implementar as funções de tutoria do aluno (tomada de decisão acerca dos resultados do estudante) e controlar a geração de notas da simulação; ?? geraDiagnóstico: comportamento do Agente Aluno que diagnostica o desempenho do estudante, dado suas notas na avaliação e os dados históricos dos estudantes (comportamento do tipo one-shot do JADE); 156 ?? compEnviaResultado: comportamento do Agente Aluno responsável por criar uma mensagem com os resultados da simulação (desempenho do estudante) para ser enviado ao agente Gerenciador (comportamento do tipo one-shot do JADE); ?? AgProfessor: classe do Agente Professor que registra e elabora as mensagens contendo os parâmetros da simulação sendo, portanto a interface do professor com o sistema multi- agentes. Recebe e registra os dados da simulação em um arquivo para tratamento matemático; ?? compEnviaParâmetroSimulação: comportamento do agente professor para envio dos dados para o agente Gerenciador (comportamento do tipo oneshot do JADE); ?? trataRespostaAlunos: comportamento do agente Professor que decodifica e organiza as informações vindas dos alunos (respostas da simulação) (comportamento do tipo cyclic-behavior do JADE); ?? AgenteProfessorGUI: interface gráfica do agente Professor; ?? MedasDevPad e MedasDevPad2: interfaces gráficas auxiliares do Agente Professor para cadastramento de dados históricos dos estudantes; ?? AgGerenciador: classe do Agente Gerenciador. Esta recebe os parâmetros da simulação e controla a criação dos Agente Alunos, bem como executa a troca de mensagens entre agentes da sociedade multi-agentes; ?? AgGerenciadorGUI: int erface gráfica do Agente Gerenciador; ?? buscaProfessor: comportamento do Agente Gerenciador que busca pelos agentes Professores ativos na plataforma JADE (comportamento do tipo cyclic-behavior do JADE); ?? comRequisicão: comportamento do Agente Gerenciador que espera por mensagens de todos os agentes e a processa (comportamento do tipo cyclic-behavior do JADE) 157 ?? compGeraAgenteAluno: comportamento do Agente Gerenciador que cria os Agente Alunos que farão a simulação dos estudantes do curso (comportamento do tipo one-shot do JADE); ?? PerfilAluno: possui todos os parâmetros do perfil do estudante. Utilizada pelos Agente Gerenciador e Professor; ?? GeraRoletaDistAlunos: recebe os dados históricos e gera as distribuições de notas por perfil de aluno; ?? ParamMensagem: possui a estrutura das mensagens trocadas entre agentes; ?? Resultado: estrutura os resultados da simulação de um estudante que serão enviados ao Agente Professor. Esta classe é utilizada como um parâmetro de ParamMensagem; ?? TrataMensagem: monta e desmonta as mensagens trocadas entre os agentes; ?? RoletaNotas: gera as notas baseadas no perfil do estudante; ?? RoletaReforco: determina se o estudante fez ou não o reforço, baseado em probabilidades fornecidas pelo professor; ?? NotaReforco: indica de quanto a nota do aluno deve aumentar (porcentuais definidos pelo professor), dado que o reforço tenha sido feito. O diagrama de classes (Rumbaugh, 1999) da ilustra o relacionamento entre as classes do simulador: Figura B.2– Diagrama de classes do simulador SADE 158 159 B.1 Diagramas de seqüência Para ilustrar como as classes do simulador interoperam, dois diagramas de seqüência foram estabelecidos: um descrevendo a simulação e geração de diagnóstico de um aluno em que não houve reforço, e outro diagrama evidenciando o diagnóstico com reforço. Há ainda um diagrama de seqüência que evidencia a criação de um Agente Aluno e o envio de mensagens deste agente para o professor. As seguintes figuras ilustram estas situações: Figura B.3 - Criação do Agente Aluno e Parâmetros da Simulação 160 Figura B.4 - Diagnostico de um aluno sem reforço Figura B.5 - Diagnóstico de um aluno com reforço. 161 LISTA DE REFERÊNCIAS AMORIN, V. P.; BRAGA, J. L.; OLIVEIRA, A. P.. Comunicação do conhecimento ontológico entre sistemas inteligentes. In XXIII CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO. Anais. Campinas, 2003. 1 CD-ROM. ANDRADE, A. F.;GIRAFFA, L.M.M.;VICARI,R.M. Uma Aplicação da Teoria Sóciointeracionista de Vygotsky para a construção de um Modelo de Aluno. In: XIV SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO. Anais. Rio de Janeiro, 2003. BELLIFEMINE, G.; CAIRE, G.; TRUCCO, T.; RIMASSA, G. JADE Programmer’s Guide. CSELT, 2003. Disponível em http://jade.cselt.it/ Acessado em 10 abr. 2003. BIGUS J. P.; et. al.. ABLE: a toolkit for building multiagent autonomic systems. IBM Systems Journal, v. 41 n. 3, 350-371, 2002. Disponível em http://www.research.ibm.com/journal/sj/413/bigus.html. Acessado em 18 dez. 2003. BLOOM, B. S. Manual da Avaliação Formativa e Somativa do Aprendizado Escolar. São Paulo: Editora Pioneira, 1983. BLOOM, B. S. et. al. Taxionomia de objetivos educacionais: domínio cognitivo. Porto Alegre: Editora Globo, 1972. 180p. BOLZAN, W.; GIRAFFA, L.M.M. Estudo Comparativo sobre Sistemas Tutores Inteligentes Multiagentes Web. Porto Alegre, Faculdade de Informática, PUCRS, 2002. BRADSHAW, J. M. . An Introduction to Software Agents. In: BRADSHAW, J. M Software Agents. MIT Press, 1997. p. 3-46. 162 BROOKS, R. A. Intelligence without representation. Artificial Intelligence, V. 47, 139-159, 1991a. Disponível em: http://www.ai.mit.edu/people/brooks/publications.shtml. Acessado em 01 dez. 2003. BROOKS, R. A. Intelligence without reason. In PROCEEDINGS OF 12TH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE. Sidney, 1991b. p. 569-595. Disponível em: http://www.ai.mit.edu/people/brooks/publications.shtml.. Acessado em 01 dez. 2003. CAIRE, G. JADE TUTORIAL: Jade Tutorial for Begginers. CSELT, 2003. Disponível em http://jade.cselt.it/. Acessado em 10 abr. 2003. CARBERRY, S. Techniques for Plan Recognition. User Modeling and UserAdapted Interaction, 11 (1-2) P. 31-48. 2001. Disponível em: http://www.cis.udel.edu/~carberry/publications.html. Acessado em 14/01/2004. CAVEDON, L.; SONENBERG, L. On social commitment, roles and preferred goals. In: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON MULTIAGENT SYSTEMS (ICMAS). Paris, 1998. p. 80-87. CLANCEY, W.J. The role of qualitative models in instruction. In. SELF, J. Artificial Intelligence and Human Learning: intelligent computer-aided instruction. Londres, Chapman and Hall, 1988. p. 49-68. DEKHTYAR, M.; DIKOVSKY, A.; VALIEV, M. On feasible cases of checking multi-agent system behavior. Elsevier: Theorical Computer Science. 2002. Disponível em http://www.elsevier.com/locate/tcs. Acessado em 10 set. 2003. DIGNUM, F. et al. Towards socially sophisticated BDI agents. In: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON MULTIAGENT SYSTEMS (ICMAS). Boston, 2000. p. 111-118. 163 ELKAN, C. Reasoning about action in first-order logic. In: PROCEEDINGS OF THE NINTH BIENNIAL CONFERENCE OF THE CANADIAN SOCIETY FOR COMPUTACIONAL STUDIES OF INTELLIGENCE, Vancouver, 1992. FRANKLIN,S.;GRAESSER,A. Is it an agent, or just a program? A taxonomy for autonomous agents. In: PROCEEDINGS OF THE THIRD INTERNATIONAL WORKSHOP ON AGENT THEORIES, ARCHITECTURES, AND LANGUAGES. Spring-Verlag, 1996. FININ, T. et. al. KQML as an agent communication language. In PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON INFORMATION AND KNWOLEDGE MANAGEMENT (CIKM). ACM Press, 1994. Disponivel em: http://www.cs.umbc.edu/kqml/papers/kqml-acl- html/root2.html. Acessado em 10 jun. 2003. GARDNER, Howard. Estruturas da Mente, A Teoria das Inteligências Múltiplas. Porto Alegre: Artes Médicas, 1994. GENESERETH,M.; NILS J. N. Logical Foundations Of Artificial Intelligence Morgan Kaufman Publishers, 1988. GENESERETH, M.; GINSBERG, M. Logic programming. Communications of the ACM. V. 28 n. 9, 933-941, 1985. GILMORE, D.; SELF, J. The application of machine learning to intelligent tutoring systems. In. SELF, J. Artificial Intelligence and Human Learning: intelligent computer-aided instruction. Londres, Chapman and Hall, 1988. p. 179-196. GIRAFFA, L. M. M. Uma arquitetura de tutor utilizando estados mentais. 1999. 177P. Tese (Doutorado) – Universidade Federal do Rio Grande do Sul. Porto Alegre. GOULART, R.R.V.; GIRAFFA, L.M.M. Arquitetura de Sistemas Tutores Inteligentes. Porto Alegre, Faculdade de Informática, PUCRS, 2001. 164 GUDWIN, R. Campinas. Apresenta um curso intitulado: IA009, Introdução à Teoria de Agentes. Disponível em: <http://www.dca.fee.unicamp.br/~gudwin/courses/>. Data de Acesso: 01 fev. 2004. GUELPEDI, M. C.; RIBEIRO, C. H. C.; OMAR, N. Utilização de aprendizagem por reforço para modelagem autônoma do aprendiz em um Tutor Inteligente. In: XIV SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO. Anais. Rio de Janeiro, 2003. HOFFMAN, J. M. L. Avaliação: mito e desafio: uma perspectiva construtivista. Porto Alegre: Editora Mediação, 2000. 118p. HOLT, P.; WOOD, P. Intelligent Tutoring System: A review for Beginners. Canadian Journal Of Education Communication. v. 19, n. 2, p. 107-125, 1990. Disponível em: www.amtec.ca/cjlt/vol19no2.pdf. Acessado em 20/12/2003. HUHNS M.N.; STEPHENS, L.M.. Multiagent Systems and societies of agents. In: WEISS, G. Multiagent Systems: a modern approach to distributed artificial intelligence. Massachutsetts Institute of Technology, 1999. p 79-120. JENNINGS, N.; WOOLDRIDGE, M. Agent Technology Applications, and Markets. Springer-UNICOM. 1998. Foundations, JENNINGS, N.; WOOLDRIDGE, M. Applying agent technology. Journal of Artificial Intelligence. V. 9 n. 4, 1995. p. 351-369. Disponível em http://www. csc.liv.ac.uk/~mjw/pubs/. Acessado em 10 jul. 2003. LAUREL, B. Interface Agents: Metaphors with Character. In: BRADSHAW, J. M Software Agents. MIT Press, 1997. p. 67-77. LIN, F. et al. A Framework for Deve loping Online Learning Systems. In: SSGRR Scuola Superiore G Reiss Romoli – L’Aquila, Italy, 2001. Disponível em 165 http://www.ssgrr.it/en/ssgrr2001/papers/Oscar%20Fuhua%20Lin.pdf. Acessado em 15/01/2003. MOULIN, N. Utilização do Portfólio na Avaliação do Ensino a Distância. Disponível em http://www.abed.org.br/publique /cgi/cgilua.exe/sys/start.htm?UserActiveTemplate=4 abed&sid=122, Acessado em 10/12/2002 MOURA, A.M.M. et al. As teorias de Aprendizagem e os Recursos da Internet Auxiliando o Professor Construção do Conhecimento. Disponível em: http://www.abed.org.br/textos.html. Acessado em 10 jun. 2002. MURCH, R.; JOHSNON, T. Intelligent software agents. New Jersey: PrenticeHall, 1999. NETTO, M. L.; MARQUES, E.A.R.; NERO,H. S. An evolutionary learning strategy for multi-agent systems. In: SEAL2002 – 4th Asia-Pacific Conference on Simulated Evolution and Learning, Singapure, November 2002. NWANA, H. Software Agents: An Overview. Knowledge Engineering Review. Cambridge University Press. v.3, p.1- 40. 1996. PALANGANA, I. C. Desenvolvimento e aprendizagem em Piaget e Vygotsky: a relevância do social. São Paulo: Plexus Editora, 1998. 160p. PHAM, V. A.; KARMOUCH, A.. Mobile software agents: an overview. IEEE Communications Magazine, July, 1998. Disponível em: http://www.comsoc.org/ci/public/1998/jul/. Acessado em 10/12/2002. PRATA, D. N. Estratégias para o Desenvolvimento de um Framework de Avaliação da Aprendizagem à Distância. In: XIV SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO. Anais. Rio de Janeiro, 2003. 166 PRIEST,T.; YOUNG, R.M. Methods for evaluating micro-theory systems. In. SELF, J. Artificial Intelligence and Human Learning: intelligent computer-aided instruction. Londres, Chapman and Hall, 1988. p. 124-137. ROBINSON, J. A. Logic and logic programming. Communications of the ACM, V. 35 n. 3, 41-65, 1992. ROMÃO, J. E. Avaliação dialógica: desafios e perspectivas. São Paulo: Editora Cortez, 1998. ROSATELLI, M.; TEDESCO, P.A. Diagnosticando o Usuário para Criação de Sistemas Personalizáveis. In: XXIII CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO. Anais. Campinas, 2003. 1 CD-ROM. ROSENBERG, M. J.. E-Learning. Strategies for delivering Knowledge in the Digital Age. New York: McGraw-Hill. 2001. 343p. RUMBAUGH, J; JACOBSON, I.; BOOCH, G. The Unified Modeling Language Reference Manual. Cupertino: Addison-Wesley, 1999. 550p. RUSSEL, S; NORVIG, P. Artificial Intelligence: a modern approach. New York, Prentice Hall, 2004. SANT’ANNA, I. M. Por que avaliar? Como avaliar? Critérios e instrumentos. Petrópolis: Editora Vozes, 1995. SEDGEWICK, R. Algorithms in C. Addison-Wesley, 1998, v1, 3rd edition. 720p. SEN, S.; WEISS, G. Learning in multiagent systems. In: WEISS, G. Multiagent Systems: a modern approach to distributed artificial intelligence. Massachutsetts Institute of Technology, 1999. p 259-298. 167 SILVA, J. C. T.; FERNANDES, J. R. AMON-AD: Um agente inteligente para avaliação de aprendizagem em ambientes baseados na Web. In VI WORKSHOP DE INFORMÁTICA NA ESCOLA (WIE). Curitiba, 2000. Disponível em: http://www.dcc.unicamp.br/~joice/links.htm. Acessado em 5/07/2002. SILVEIRA, R.A.;GOMES,E.R.;VICARI,R. Modelagem de ambientes e aprendizagem baseado na utilização de agentes FIPA. In: XIV SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO. Anais. Rio de Janeiro, 2003. SOBRAL, M.E.G.; FERREIRA, M.A.G. Tutores Inteligentes para Ambientes de Ensino-Aprendizagem Cooperativos. In VII INTERNATIONAL CONFERENCE ON ENGINEERING AND TECHNOLOGY EDUCATION. Santos, 2002. Disponível em: http://www.asee.org/international/intertech.cfm. Acessado em: 10 jun. 2002. TANEMBAUM, A. S. Computer Networks. New Jersey: Prentice-Hall. 3rd edition. 1996. TENEMBAUM, A.M.; YEDIDYAH, L.; AUGENST, M. J. Estrutura de Dados Usando C. São Paulo, Makron Books, 1995. THIRY, M. T. C. Uma Arquitetura Baseada em Agentes para Suporte ao Ensino à Distância. 1999. 57p. Tese (Doutorado) – Universidade Federal de Santa Catarina, Forianópolis. TORI, R. Avaliando Distâncias na Educação. http://www.abed.org.br/textos.html. Acessado em 14 set. 2002. Disponível em: WHITE, J. E. . Mobile Agents. In: BRADSHAW, J. M Software Agents. MIT Press, 1997. p. 437-472. WITTIG, H. Intelligent Media Agents: key technology for interactive television, multimedia and Internet applications . Darmstadt: Vieweg, 1999.176p. 168 WOOLDRIDGE, M.; JENNINGS, N. Intelligent Agents: Theory and Practice. In Knowledge Engineering Review, 10(2), p. 115-152. 1995a. Disponível em: http://www.csc.liv.ac.uk/~mjw/pubs/. Acessado em 10 jul. de 2003 WOOLDRIDGE, M.; JENNINGS, N. Agent theories, architectures and languages: a survey. In Lecture Notes in Artificial Intelligence, v. 890. Spring-Verlag, 1995b WOOLDRIDGE, M. Intelligent Agents. In: WEISS, Gerhard. Multiagent Systems: a modern approach to distributed artificial intelligence. Massachutsetts Institute of Technology, 1999. p 27-77. WOOLDRIDGE, Michael. An introduction to multiagent systems . Systems John Wiley 7 Sons, 2002. ZAINA, L. A. M. Acompanhamento do Aprendizado do Aluno em Cursos a Distância Através da Web: Metodologia e Ferramentas. 2002. 169p. Dissertação (Mestrado). Escola Politécnica, Universidade de São Paulo. São Paulo. 2003 RECURSION SOFTWARE. Voyager ORB developer’s guide. Software, 2003. disponível em: Acessado em 18 dez. 2003. Recursion 2002 FIPA. FIPA Abstract Architecture Specification. FIPA, 2002. Disponível em http://www,fipa.org/specs/fipa00001. Acessado em 20 abr. 2003.