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.