Cidade Universitária Zeferino Vaz

Faculdade de Engenharia Elétrica e de Computação - FEEC

Departamento de Computação e Automação – DCA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Relatório do Exercício Computacional 5 – EC5

Sistema de Ensino à Distância simplificado simulado via SNTool

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Disciplina IA009 – Introdução à Teoria de Agentes

Professor Ricardo Gudwin

Aluno Alessandro Donaires Figueira RA951723

Professor orientador Ivan L. M. Ricarte

Campinas, nove de dezembro de 2002

 

 

Conteúdo

 

 

  1. Resumo

 

  1. Introdução

 

  1. Exercício Computacional 5 – EC5

 

  1. Resultados obtidos
    1. Especificação do Sistema de EAD simplificado – processo organizacional escolhido e modelo
    2. Telas de execução (screenshots) – resultados da simulação

 

  1. Discussão dos resultados obtidos

 

  1. Conclusões

 

  1. Referências

 

 

 

  1. Resumo

 

Este relatório apresenta os resultados de uma simulação de um sistema discreto real simplificado feito na ferramenta Semionic Network Toolkit, o SNTool, aplicativo desenvolvido no DCA que simula, através de redes de agentes semióticos, um sistema discreto do mundo físico, real. O sistema escolhido foi um sistema de Ensino à Distância simplificado. Através da ferramenta pode-se verificar como um sistema de EAD se comportaria na prática. Foram incluídos resultados de algumas simulações e comentários.

 

 

  1. Introdução

 

Redes de agentes semióticos é um tópico em recente estudo que possibilita a interação entre agentes de software semióticos (sêmions). Esse modelo objetiva modelar de forma mais efetiva e mais próxima do mundo real o seu funcionamento. Com base neste escopo, foi desenvolvido o aplicativo SNTool, capaz de fazer simulações em tempo real de sistemas discretos. Feito em Java, o SNTool apresenta uma interface simples e visual para a programação das redes de agentes. Alguns de seus elementos básicos utilizados foram os lugares (places) representados por círculos os quais abrigam objetos agentes do mesmo tipo (classe), relações (links) do tipo publico-privado e privado-publico. Os places podem ser ativos, quando possuem funções de sensoriamento e atuação, ou passivos, quando simplesmente abrigam objetos, como um buffer.

 

O sistema de EAD estudado simula um ambiente de ensino virtual onde alunos candidatos se cadastram ou se inscrevem, assistem aulas e se comunicam, e são avaliados on-line. É dito simplificado uma vez que não considera o ator professor neste exemplo, apenas o fluxo de ações de alunos, e ilustra uma ferramenta de comunicação e um tipo de avaliação genéricos. Entretanto é perfeitamente possível especificar e incluir novas etapas de ferramentas para comunicação (ambientes), cursos e novos tipos de avaliações através de places inseridos em série no modelo antes dos places ativos aqui colocados, respectivamente o place ferramenta (de comunicação) e avaliação (tipo). Exemplos são ferramentas síncronas como videoconferência, chat, e assíncronas, como o e-mail, quadro de avisos, news, etc., avaliações tipo teste, associação de colunas, descritiva, entre outras. Neste exemplo somente os objetos finais foram considerados de forma genérica, ficando a cargo do leitor imaginar de qual tipo poderia ser. Isso foi necessário para criar um exemplo mais simples com poucos lugares ou places.

 

Este relatório é composto dos itens resumo (item 1), a presente introdução, o enunciado do EC5 no item 3, no item 4 os resultados obtidos, onde seguem a especificação do sistema, que apresenta o processo organizacional escolhido e o modelo do SNTool e telas de execução (screenshots), que representam os resultados da simulação, conforme solicitado no item 3; do item 5 com a discussão dos resultados obtidos, números e estatísticas, finalizando com conclusões e referências, nos itens 6 e 7.

 

 

  1. Exercício Computacional 5 – EC5

 

A proposta do EC5 (Aula 15) segue como especificação do sistema:

 

 

 

  1. Resultados obtidos

 

Como resultados obtidos, seguem a resposta da especificação e telas de execução (screenshots) obtidas no aplicativo SNTool, assim como a interpretação dos números e estatísticas obtidas.

 

 

a.      Especificação do Sistema de EAD simplificado – processo organizacional escolhido e modelo

 

O processo organizacional do mundo real consiste num sistema de Ensino à Distância simplificado modelado no SNTool (Figura 1), onde o fluxo de alunos e atividades são simulados. A simulação das situações e aleatória, de forma que a oferta e demanda de alunos e casual. Pode-se variar a porcentagem de alunos cadastrados e recusados (supondo-se limite de vagas, ou ainda prova, critérios de seleção), a porcentagem de alunos de desistem ao longo do curso e possíveis concluintes, e ainda a quantidade de alunos aprovados, em recuperação ou sem aproveitamento.

Figura 1 – Tela do ambiente SNTool e o Sistema de EAD modelado

 

No modelo existem quatorze lugares, onde oito são lugares passivos e seis, ativos (contem funções), dos quais três são lugares com a função de destruir, dispensáveis no caso de aproveitar os alunos para reingressarem ou serem reavaliados. São eles:

 

Lugares passivos (relativos a alunos):

 

candidatos: lugar que gera 500 alunos candidatos a realizar o curso

Recusados: lugar que recebe os alunos recusados segundo critério do sistema de cadastro “Sistemacadastro”

matriculados: lugar que recebe os alunos matriculados que aguardam por aulas através das ferramentas de comunicação

desistentes: lugar que recebe os alunos que desistem no meio do curso

concluintes: lugar que recebe os alunos possíveis concluintes, que estão prontos para as avaliações

aprovados: lugar que recebe os alunos aprovados mediante alguma forma de avaliação

recuperacao: lugar que recebe os alunos que ainda não obtiveram, segundo critérios do sistema de avaliação, a aprovação ou aptidão para concluírem o curso

semaproveitamento: alunos que não obtiveram aprovação, também com critérios segundo o sistema de avaliação

 

            Lugares ativos (relativos ao Sistema de EAD)

 

cadastro: lugar que realiza as funções de cadastro de alunos (e possivelmente professores) através de função cadastro da classe Sistemacadastro

ferramenta: lugar que realiza, através de ferramentas de comunicação, as aulas e discussões a distancia entre alunos (e professores, idem). Contém a função ferramenta da classe “Sistemacomunicacao”

avaliacao: lugar que realiza as avaliações através de funções como teste, da classe “Sistemaavaliacao”

aprovadoscount, recuperacaocount e semaproveitamentocount: lugar que destrói tokens (alunos), com a função destroy() do SNTool (aqui o lugar é da classe Destroi, que somente tem a função de contar os alunos respectivamente aprovados, em recuperação ou sem aproveitamento). Poderiam não estar presentes neste exemplo.

 

 

    1. Telas de execução (screenshots) – resultados da simulação

 

Seguem as telas para dois casos: o primeiro, dito aleatório, consiste em cadastrar os alunos de forma a permitir (através de critérios como provas, entrevistas, no mundo real, por exemplo) que parte dos alunos entre. Aqui o critério utilizado para simulação foi a forma aleatória. O segundo, dito com critério definido, limita a 300 o número de alunos, onde 200 ficam de fora, no total de 500. Assim os 300 primeiros garantem suas vagas.

 

Foi simulado para o caso aleatório mais duas interações com 500 candidatos, mais uma quarta situação de 1000 alunos, com o intuito de fazer comparação. Para o caso com critério definido foi feita mais uma interação aumentando a dificuldade da avaliação, gerando outros índices de aprovação, conforme segue no próximo item. Também seguem os gráficos do número de alunos em função do tempo obtidos nos dois casos, para 500 candidatos.

 

Caso 1: entrada no curso com base em seleção (aleatória, para simulação): figuras de 2 a 10

 

Caso 2: entrada no curso limitada aos primeiros 300 alunos (livre) : figuras de 11 a 19

 

Figura 2 – Inicio da simulação para 500 alunos candidatos

Figura 3 – Meio da simulação para 500 alunos candidatos

Figura 4 – Fim da simulação para 500 alunos candidatos

Figura 5 – Gráfico de alunos em função do tempo para alunos recusados no cadastro

Figura 6 – Gráfico de alunos em função do tempo para alunos desistentes no meio do curso

Figura 7 – Gráfico de alunos em função do tempo para alunos matriculados possíveis concluintes

Figura 8 – Fim da segunda simulação para 500 alunos candidatos

Figura 9 – Fim da terceira simulação para 500 alunos candidatos

Figura 10 – Fim da quarta simulação para 1000 alunos candidatos

Figura 11 – Inicio da simulação para 500 alunos candidatos

Figura 12 – Meio da simulação para 500 alunos candidatos antes de atingir o limite de vagas do curso

Figura 13 – Meio da simulação para 500 alunos candidatos logo após atingir o limite de vagas do curso

Figura 14 – Fim da simulação para 500 alunos candidatos

 

Figura 15 – Fim da simulação para 500 alunos candidatos com dificuldade na avaliação aumentada

Figura 16 – Gráfico de alunos em função do tempo para alunos recusados no cadastro e contador de alunos absoluto para avaliação mais difícil

Figura 17 – Gráfico de alunos em função do tempo para alunos desistentes no meio do curso para avaliação mais difícil

Figura 18 – Gráfico de alunos em função do tempo para alunos matriculados possíveis concluintes para avaliação mais difícil

Figura 19 – Fim da simulação para 1000 alunos candidatos com dificuldade na avaliação aumentada

 

 

 

  1. Discussão dos resultados obtidos

 

Para os casos 1 e 2  temos os seguintes resultados, agrupados para melhor visualização, seguidos dos comentários:

 

a. Meio da simulação para 500 alunos candidatos pausando a simulação:

·        Caso 1:

245 candidatos restantes

44 recusados

50 desistentes

119 se aprovaram, 28 ficaram de recuperação e 12 não obtiveram aproveitamento

·        Caso 2, antes do limite de vagas:

203 candidatos restantes

0 recusados

62 desistentes

149 se aprovaram, 43 ficaram de recuperação e 14 não obtiveram aproveitamento

·        Caso 2, logo após o limite de vagas:

179 candidatos restantes

21 recusados

63 desistentes

161 se aprovaram, 46 ficaram de recuperação e 15 não obtiveram aproveitamento

 

Esta etapa apenas ilustra o andamento do processo como um flash do meio do processo. Nota-se que no caso 2 apenas depois das 300 vagas determinadas inicialmente estarem ocupadas, candidatos são recusados. Comparações mais significativas podem ser feitas com os casos a seguir.

 

b. Fim da primeira simulação para 500 alunos candidatos:

·        Caso 1:

87 recusados

95 desistentes

243 se aprovaram, 55 ficaram de recuperação e 20 não obtiveram aproveitamento

·        Caso 2:

200 recusados

66 desistentes

167 se aprovaram, 51 ficaram de recuperação e 16 não obtiveram aproveitamento

 

Nota-se que no caso 1 não havia limites de vagas. A aprovação foi de 243 alunos em 500, o que nos dá 48,60% de aprovação. O índice para o caso 2 é de 55,67% considerando o total de 300 alunos aceitos. Os resultados estão próximos. Para alunos em recuperação temos 11% e 17% e sem aproveitamento, 4% e 5,34%. Apesar de pequena a diferença, como no caso 1 desistem mais alunos (e entram mais) no final temos mais alunos aprovados, em número absoluto, assim como as diferenças nos índices. O caso 2 apresenta maiores índices, proporcionalmente, com 300 alunos matriculados contra os 413 (500-87) do caso 2. Os índice de alunos desistentes para os dois casos são 19% e 22%, respectivamente.

 

c. Fim da segunda simulação para 500 alunos candidatos:

·        Caso 1:

75 recusados

105 desistentes

243 se aprovaram, 57 ficaram de recuperação e 20 não obtiveram aproveitamento

·        Caso 2, com dificuldade aumentada na avaliação:

200 recusados

83 desistentes

150 se aprovaram, 54 ficaram de recuperação e 13 não obtiveram aproveitamento

 

A segunda simulação para o caso 1 ficou bem diferente quanto a recusados e desistentes em relação a primeira e a terceira, devido a fatores aleatórios (a escolha o é), porém em número de aprovados, recuperação e reprovados é semelhante. A comparação mais interessante, porém é quando comparamos o caso 2 anterior com este, onde a dificuldade da avaliação foi aumentada, refletindo uma menor aprovação. No caso anterior foi de 55,67% contra 50%. Para recuperação e reprovados temos, respectivamente, 11% e 18%, 4% e 4,33%. Notamos um significativo aumento dos casos de recuperação e reprovação, assim  como a diminuição de 5,67% da aprovação para um incremento de 10% da dificuldade (em termos de probabilidade, onde 10% seria o número de alunos que não passariam devido a maior dificuldade). Felizmente o índice de reprovação não caiu tanto como o esperado!

 

d. Fim da terceira simulação para 500 alunos candidatos:

Caso 1:

86 recusados

88 desistentes

256 se aprovaram, 55 ficaram de recuperação e 15 não obtiveram aproveitamento

 

e. Fim da quarta simulação para 1000 alunos candidatos:

Caso 1:

200 recusados

189 desistentes

470 se aprovaram, 96 ficaram de recuperação e 45 não obtiveram aproveitamento

Caso 2, com dificuldade aumentada na avaliação:

700 recusados

61 desistentes

173 se aprovaram, 47 ficaram de recuperação e 19 não obtiveram aproveitamento

 

Nota-se que para 1000 alunos (o dobro) o número de recusados e desistentes mais do que dobrou, porém de forma suave, com uma pequena variação. Fazendo a média dos resultados anteriores temos uma comparação na tabela abaixo entre os casos 1 com 500 candidatos e 1000 candidatos, e para o caso 2 com 1000 candidatos com a dificuldade aumentada (o Caso 2 inicial não foi contemplado). Com este número de candidatos para o caso 1 aumentou o número de recusados e reprovados (0,9%), enquanto os outros caíram, inclusive o de número de aprovados (2,4%). Para o caso 2 contemplamos o aumento do número de aprovados (7,67%) e reprovados (2%), em detrimento ao decréscimo dos outros, notadamente o número de desistentes.

 

Tabela comparativa de alunos em diferentes situações no Sistema EAD simulado

Total de alunos candidatos*

500

Média Caso 1

Média Caso 1%

Média Caso 2

Média Caso 2 %

Média Caso 2**

Média Caso 2** %

recusados

82

16.40

200

40.00

200

40.00

desistentes

96

19.20

66

22.00

83

27.67

aprovados

247

49.40

167

55.67

150

50.00

Recuperação

55

11.00

51

17.00

54

18.00

Reprovados

18

3.60

16

5.33

13

4.33

 

 

 

 

 

 

 

1000

Caso 1

Caso 1%

-

-

Caso 2*

Caso 2* %

recusados

200

20.00

-

-

700

70.00

desistentes

189

18.90

-

-

61

20.33

aprovados

470

47.00

-

-

173

57.67

Recuperação

96

9.60

-

-

47

15.67

Reprovados

45

4.50

-

-

19

6.33

* para o caso 2 o número de matriculados a considerar é apenas

300

 

 

** com dificuldade aumentada na avaliação

 

 

 

 

Tabela 1 – resultados das simulações

 

 

  1. Conclusões

 

Os índices de aprovação em torno de 60 a 50%, assim como os de desistência e reprovação, em torno de 20% e 10% foram estimados neste modelo correspondendo a simulação obtida. São elucidativos da realidade de um sistema educacional como este simulado. Obteve-se um comportamento aproximadamente linear aumentando-se o número de alunos candidatos para 1000 e comparando-se com o caso anterior 500, embora o sistema trabalhe com números aleatórios, dentro destes limites.

 

O sistema simulado prova que e possível utilizar o conceito de redes de agentes semióticos para simular um sistema do mundo real, discreto, de forma satisfatória. Novas situações e variáveis podem ser incluídas e retiradas, de forma a possibilitar resultados de forma rápida e confiável.

 

 

  1. Referências

 

 

BRADSHAW, Jeffrey M. Software Agents, AAAI Press / MIT Press: 1997

 

MURCH, Richard, JOHNSON, Tony. Intelligent Software Agents, Prentice Hall: 1999

 

RUSSEL, Stuart, NORVIG, Peter. Artificial Inteligence – A Modern Approach,

     Prentice Hall: 1995

 

PICARD, Rosalind. Affective Computing, MIT Press: 1997

 

Ambiente programação em Java Eclise (requer J2SDK, utilizado v.1.4.1). Disponíveis em: http://www.eclipse.org e http://java.sun.com/

 

GOMES, Antônio S. R. Aplicativo SNTool v0. 8.8. DCA, FEEC, Unicamp: 2002.

      Disponível em: http://www.dca.fee.unicamp.br/~gudwin/ftp/MTON/1.2_3/install.class