Você está na página 1de 21

Departamento de Computao Relatrio de Estgio Curricular

TIAGO KOHAGURA

Aplicao da Lgica Fuzzy na Avaliao de Alunos

Londrina 2007

TIAGO KOHAGURA

Aplicao da Lgica Fuzzy na Avaliao de Alunos

Estgio obrigatrio desenvolvido durante o 4o ano do Curso de Graduao em Cincia da Computao como requisito parcial obteno do ttulo de Bacharel. Orientador: Pedro Paulo da Silva Ayrosa

2007

TIAGO KOHAGURA

Aplicao da Lgica Fuzzy na Avaliao de Alunos

COMISSO EXAMINADORA

____________________________________ Prof. Dr. Pedro Paulo da Silva Ayrosa Universidade Estadual de Londrina ____________________________________ Prof. Dr. Maria Anglica O. C. Brunetto Universidade Estadual de Londrina ____________________________________ Prof. Dbora Elis Souza de Oliveira Universidade Estadual de Londrina

Londrina, 27 de Novembro de 2007

AGRADECIMENTO

minha famlia pelo total apoio. Aos professores, funcionrios do departamento de computao da UEL. Aos amigos e colegas da UEL. E finalmente ao Prof. Dr. Pedro Paulo da Silva Ayrosa, pela orientao do desenvolvimento deste trabalho.

RESUMO

A principal atividade do estgio ser implementar um programa utilizando a lgica Fuzzy para a avaliao de desempenho dos alunos, com a finalidade de desenvolver um programa de apoio a deciso aos professores. A lgica Fuzzy demonstra ser a melhor opo para a aplicao na avaliao de alunos. Pela lgica clssica, existiriam apenas dois tipos de alunos, os bons e os ruins, essa classificao considerada incompleta, ou seja, no descreve a realidade com detalhes. Enquanto a lgica Fuzzy permitiria avaliar os alunos que so parcialmente bons ou parcialmente ruins, sendo o grau de classificao muito maior que utilizada na lgica clssica. Avaliar um aluno no uma tarefa trivial, existem muitos fatores, e ndices de incertezas que tornam em algo bastante complexo, at mesmo para os professores. A criao de um programa capaz de avaliar o desempenho dos alunos, pode ser considerado uma boa ferramenta heurstica para o professor, capaz de agilizar e melhorar a qualidade de avaliao.

Palavras-chave: Avaliao. Lgica fuzzy. Aplicao. Apoio a tomada de deciso.

Lista de figuras

Figura 1- Raciocnio fuzzy.....................................................................................5 Figura 2- Classe atributo ......................................................................................6 Figura 3- Classe nivel ...........................................................................................6 Figura 4- Interface do programa de configurao.................................................9 Figura 5- Grfico gerado pelo programa..............................................................10 Figura 6- Grfico geral gerado pelo programa.....................................................11 Figura 7- Interface de teste..................................................................................11

SUMRIO

1 2 3

INTRODUO ...........................................ERRO! INDICADOR NO DEFINIDO. FERRAMENTAS .................................................................................................. 2 DESENVOLVIMENTO ...............................ERRO! INDICADOR NO DEFINIDO. 3.1. O PROGRAMA DE AVALIAO DE ALUNOS ........................................... 3 3.2. A URLIZAO DA LGICA FUZZY ............................................................ 4

4 5 6

RESULTADOS..................................................................................................... 9 DIFICULDADES................................................................................................. 12 CONCLUSO .................................................................................................... 13

REFERNCIAS ......................................................................................................... 14

INTRODUO

A avaliao de estudantes sempre foi um tema bastante discutido, existem diversos trabalhos e mtodos relacionados avaliao de alunos. Devido grande abrangncia em relao questo da avaliao, primeiramente deve-se deixar claro ao tipo de avaliao que este trabalho focar. Existem dois tipos de avaliao de acordo com sua finalidade, a de carter social e o de carter pedaggico. A avaliao de carter social tem o objetivo de classificar, selecionar e orientar alunos, ou seja, apenas mede o desempenho do aluno. J o carter pedaggico auxilia no processo de ensino-aprendizagem, portanto, com intuito de aprimorar o ensino para o melhor rendimento dos alunos na aprendizagem (BALLESTER, 2003). O de carter pedaggico o mais apropriado, porm a complexidade muito maior devido aos muitos fatores a serem avaliados para se obter um rendimento de aprendizagem dos alunos satisfatrio. O programa desenvolvido permitir uma avaliao gil de carter social, mas ao mesmo tempo, de forma indireta, ele propiciar ao professor uma avaliao de carter pedaggico. Com a utilizao da lgica fuzzy ter uma contribuio em diversos fatores como na modelagem do sistema de controle como tambm na incorporao do conhecimento do professor para caracterizar o modo de avaliao em sua disciplina. A utilizao desta tecnologia se torna ideal quando o problema em questo o controle. O professor de certa maneira no deixa de ser um agente controlador, no momento que sua tarefa avaliar os alunos de modo aprovar os que esto aptos, e reprovar os no preparados, percebe-se que uma ao de controle que o professor executa em sua disciplina.

FERRAMENTAS

O programa desenvolvido na linguagem de programao Java. A escolha dessa linguagem devido ao seu gil desenvolvimento, a no escolha de uma linguagem como C++, iria expendia mais tempo no desenvolvimento por ser uma linguagem de mais baixo nvel que ideal para o desenvolvimento de software otimizado, que no entra em questo para este projeto. A mquina utilizada para desenvolvimento um PC Pentium 4 2.0Ghz e 256 Mb de memria RAM. A plataforma de desenvolvimento o Netbeans, foi escolhido esta plataforma por apresentar melhores condies para o desenvolvimento e j possui uma boa ferramenta para desenvolver a interface do programa. No foi utilizado o Eclipse, pois requer muito mais memria RAM para utiliz-lo, e a ferramenta para programao da interface recomendada para instalar no Eclipse, o Visual Editor , no apresentaram um desenvolvimento satisfatrio devido a sobrecarga da memria.

DESENVOLVIMENTO

3.1.

O PROGRAMA DE AVALIAO DE ALUNOS

De acordo com a idia apresentada no capitulo anterior em que so apresentados dois tipos de avaliao, a de carter social e a pedaggica. O primeiro tipo de avaliao geralmente presente em concursos e vestibulares por exemplo, enquanto ao outro tipo presente nas escolas, universidades, ou qualquer instituio de ensino, porm, a avaliao de carter social se encontra presente tambm nestas instituies. Com a atividade do professor tem a seguinte tabela para verificar a presena dos dois tipos de avaliao: Avaliao de carter social - Notas - Classificao dos alunos Avaliao de carter pedaggico - Planejamento das aulas - Preparao das atividades - Escolhas dos atributos a avaliar - Correo das provas e atividades

Percebe-se que para a avaliao de carter pedaggico possui mais atividades que a de carter social, isso demonstra que a avaliao de carter pedaggico mais complexa. Avaliar o aluno para perceber se este esta realmente aprendendo acaba se tornando uma incgnita para a maioria dos professores. Porm a atribuio de notas e a classificao dos alunos tambm no deixam de ser uma avaliao de carter pedaggica, que atravs destas atividades o professor percebe se os alunos aprenderam ou pelo menos estudaram.
Quando analisada sob um ponto de vista mais amplo, a avaliao de um trabalho , seja em ambiente acadmico ou profissional, necessita de ferramentas que possibilitem esta viso, com a capacidade de manipular valores pouco definidos, pela prpria natureza ou por dificuldades de comunicao que poderiam distorcer os resultados. (STURM; DERGINT; AZEVEDO, 2003)

A partir destes fatores, o programa desenvolvido fornecer ao professor uma ferramenta que permite uma gil e mais completa avaliao de carter social. O programa para a avaliao de alunos ter as seguintes caractersticas: - Moldvel para cada professor; - Permite a avaliao de vrios atributos dos alunos; - Gera a nota do aluno;

3.2.

A UTILIZAO DA LGICA FUZZY

A razo da utilizao da lgica fuzzy justificada por diversos fatores. Uma delas pela funcionalidade do programa, que permitir a classificao de um determinado atributo do aluno por alguma palavra ou valor fuzzy como ruim, bom ou timo. Isso contribui para modelagem do sistema de controle sendo que uma das caractersticas da lgica fuzzy tornar a implementao mais prxima do raciocnio humano. importante destacar que a lgica fuzzy funciona muito bem em sistemas de controle, e que no caso em uma sala de aula o professor acaba sendo um agente controlador para que seus alunos aprendam. A lgica fuzzy ir contribuir no controle do desempenho dos alunos. A implementao da lgica fuzzy para avaliao de alunos estar estruturado com base no raciocnio fuzzy representado na figura 1:

Fiagura 1 Raciocinio fuzzy De acordo com o raciocnio fuzzy tero existem trs etapas, a fuzzificao, a inferncia e a defuzzificao. A idia do programa como dito anteriormente auxiliar no controle da avaliao de alunos. Os professores geralmente utilizam no apenas provas para avaliar o aluno, mas tambm utilizam trabalhos, apresentaes e at a avaliao do comportamento do aluno. Atravs de todos estes atributos o programa capaz de retornar uma nota geral, representando uma avaliao integral do aluno. Mas para isto necessrio escolher as operaes e mtodos apropriados que sero utilizados durante o processo. Os tipos de dados que sero manipulados durante o processo do raciocnio fuzzy sero: - Atributos: so as caractersticas do aluno que sero analisados pelo professor, como o desempenho na prova, nos trabalhos, o comportamento, o seminrio entre outros. - Nveis: so as qualificaes que cada atributo ir conter, por exemplo, para o atributo prova, o aluno poder estar em uma das qualificaes (nveis) determinadas como ruim, bom ou timo. Pela lgica fuzzy os atributos so considerados as varveis fuzzy, enquanto os nveis so os valores fuzzy. Abaixo segue a classe Atributo na figura 2:

Fiagura 2 Classe atributo

Cada atributo possui um nome e uma lista de nveis, abaixo segue a classe Nvel na figura 3:

Fiagura 3 Classe Nivel

Para cada nvel possui um nome, uma lista de par de pontos ( coordenadas ) do tipo float, e um ndex para facilitar a manipulao. A lista de coordenadas representada por pontos serviro para descrever a funo de pertinncia para o determinado nvel.

FUZZIFICAO

Etapa que consiste em transformar os dados numricos passados pelo professor em valores fuzzy. Cada varivel fuzzy criada ir representar cada atributo do aluno. Por exemplo, o professor poder criar o atributo prova, e trabalho. Para prova existiro os valores fuzzy ruim, bom e timo, e o trabalho possuiro os valores insatisfatrio, regular, satisfatrio. Para cada valor fuzzy ser possvel configurar suas funes de pertinncia. Os tipos de funes implementadas so as triangulares e

trapezoidais. A escolha dessas funes por serem as mais fceis de serem implementadas, e tambm so as mais fceis de serem compreendidas e configuradas pelo professor. Para encontrar o grau de pertinncia de funes trapezoidais e triangulares bem simples, lembrando as frmulas de funes triangulares e trapezoidais que seguem abaixo: tri(x; a, b, c) = max ( min ( x-a/b-a, c-x/c-b ), 0 ), para a < b < c. trap(x; a, b, c, d) = max ( min ( x-a/b-a, 1, d-x/d-c ), 0 ), para a < b < c < d. Para a configurao da funo de pertinncia de cada valor fuzzy sero apenas necessrias atribuir os parmetros principais das funes, que so a, b, c se necessrio o d. Abaixo segue a implementao da obteno do valor de uma funo de pertinncia, em que os parmetros especifica o atributo (varivel fuzzy), o nvel (valor fuzzy), e o num (nota) que se deseja encontrar o grau de pertinncia:

Cdigo X: Obteno da pertinncia

public float getPertinencia(String atrib, String nivel, String num){ int x = getIndex(atrib); float delta; float delta2; for (int i = 0; i < atributo.get(x).getSizeP(nivel)-1 ;i++){ if (atributo.get(x).getPontoX(nivel,i) <= Float.valueOf(num) && atributo.get(x).getPontoX(nivel,i+1) >= Float.valueOf(num)){ delta = atributo.get(x).getPontoY(nivel,i+1) - atributo.get(x).getPontoY(nivel,i); switch ((int)delta){ case -1: delta2 = atributo.get(x).getPontoX(nivel,i+1) atributo.get(x).getPontoX(nivel,i); return (atributo.get(x).getPontoX(nivel,i+1) Float.valueOf(num))/delta2; //break; case 0: return atributo.get(x).getPontoY(nivel,i+1); //break; case 1: delta2 = atributo.get(x).getPontoX(nivel,i+1) atributo.get(x).getPontoX(nivel,i); return (Float.valueOf(num)atributo.get(x).getPontoX(nivel,i))/delta2;

8
//break; } } } return -1; }

INFERNCIA

A etapa de inferncia realizar o mapeamento dos dados fuzzificados com os valores fuzzy existentes na inferncia. Como o programa busca ser modelvel para cada professor, tero que ser determinadas os valores fuzzy de sada, ou seja as conseqncias que podero ser apresentadas de acordo com a avaliao do aluno, e assim determinar as regras do tipo se-ento. A operao de implicao ser utilizada ser de Mandami min.

DEFUZZIFICAO

A ltima etapa transforma os dados que esto na forma de valores fuzzy para valores numricos, sendo que este ser o valor da nota geral do aluno. Ainda no se sabe qual ser o melhor mtodo de defuzzificao para este caso, s atravs de testes e comparaes para saber qual que apresentar resultados razoveis na avaliao de um aluno. Portanto, utilizado o mtodo de defuzzifcao centride que um dos mais utilizado nos sistemas de controle.

RESULTADOS

Programa se encontra em desenvolvimento, o usurio capaz definir os atributos e os nveis de seus atributos, que sero utilizados para fuzzificao dos dados, a figura 4 mostra a interface adio de atributo, enquanto a interface seguinte onde sero determinados os nveis e as configuraes da funo de pertinncia de cada nvel.

Figura 4 Interface do programa de configurao Na interface de nvel representada na figura 4, sero mostradas as funcionalidades enumeradas de um a seis: 1- Atributo, permite escolher os diferentes atributos registrados;

10

2- Nvel a adicionar, permite o acrscimo de nveis no atributo selecionado; 3- Fechar, boto para fechar a janela; 4- Lista de nveis, permite selecionar os nveis disponveis, como tambm remove-los; 5- Nota, grau e pontos, a parte que permite configurao das funo de pertinncia para o nvel selecionado. Que ser tratado com mais detalhes a frente; 6- Grfico e grfico geral, permite visualizar o grfico da funo de pertinncia de um nvel, ou de todos disponveis no atributo.

Lembrando que as funes de pertinncia que podem ser usadas pelo programa so as triangulares e as trapezoidais. O usurio no precisar formular uma equao para determinar as caractersticas da funo de pertinncia, e sim passar as coordenadas do plano cartesiano para definir o desenho da funo.

Figura 5 Grfico gerado pelo programa A figura 5 ilustra um grfico gerado pelo programa, que mostra o comportamento de uma funo de pertinncia trapezoidal. O primeiro ponto foi inserido na nota 0, e grau de pertinncia 1, o segundo ponto foi inserido na nota 2, e grau de pertinncia 1, e assim por diante, seguindo a ordem crescente das notas para modelar a funo.

11

Aps determinada a funo de pertinncia de todos os nveis, possvel gerar um grfico geral mostrando todas as funes de pertinncia juntas, como segue na figura 6.

Figura 6 Grfico geral gerado pelo programa Determinada as funes de pertinncia dos nveis ruim, bom e timo, para testar se a fuzzificao est funcionando, segue a figura 7.

Figura 7 Interface de teste A nota 3.2 disparado dois nveis, o ruim e bom, o resultado retornado baseado para quem tiver maior valor no grau de pertinncia, apresentando assim o resultado esperado Ruim. Verificando no grfico da figura 6 percebe-se que realmente a pertinncia do nvel Ruim maior que o nvel Bom no ponto 3.2.

12

DIFICULDADES

A compreenso do funcionamento da lgica fuzzy foi um pouco difcil principalmente pela matemtica envolvida. A utilizao da ferramenta de desenvolvimento inicial no foi bem escolhido para a mquina utilizada. Inicialmente foi usado a plataforma de desenvolvimento Eclipse. Porm, o Eclipse utiliza muita memria RAM da mquina tornando lento o desenvolvimento. A utilizao da ferramenta de desenvolvimento de interface para o Eclipse, o VE (Visual Editor), tornava ainda mais lento o desenvolvimento. Portanto, foi utilizado o Netbeans que apresentou melhor desempenho. Dificuldades na modelagem do programa para tornar uma ferramenta que no seja muito especifico para uma determinada disciplina. E determinar as configuraes necessrias para o professor moldar o programa para sua disciplina, exigiu um conhecimento mais avanado do processo de funcionamento da lgica fuzzy, que s foi adquirido no segundo semestre. Devido a estas dificuldades ficaram para trabalhos futuros a implementao da inferncia e a defuzzificao.

13

CONCLUSO

Apesar do projeto ainda no estar concludo, o desenvolvimento feito agora incentivou nas pesquisas relacionadas as aplicaes de sistemas de controle e tomadas de deciso, para cada dificuldade enfrentada. O estudos relacionados a implementao como tambm o conhecimento dos conceitos da lgica fuzzy, a dificuldade para o entendimento destes, atrasaram bastante o andamento do desenvolvimento do programa. Apesar dos resultados obtidos at agora foram satisfatrios.

14

REFERNCIAS

BALLESTER, Margarita et al. Avaliao como apoio aprendizagem. Porto Alegre: Artmed, 2003. CAMPOS FILHO, Pio. Mtodo para apoio deciso na verificao da sustentabilidade de uma unidade de conservao, usando lgica Fuzzy. Disponvel em: <http://teses.eps.ufsc.br/defesa/pdf/7823.pdf>. Acesso em: 23 maro 2003 MALUTTA, Csar. Mtodo de apoio tomada de deciso sobre adequao de aterros sanitrios utilizando a Lgica Fuzzy. 2004. Disponvel em: <http://teses.eps.ufsc.br/defesa/pdf/11633.pdf>. STURM, Wilerson. Avaliao do potencial de uso da Lgica Fuzzy para identificao de indicadores de competncia no Currculo Lattes. Disponvel em: <http://www.ppgte.cefetpr.br/semanatecnologia/comunicacoes/logica_fuzzy_na.pdf> STURM, Wilerson; DERGINT, Dario Eduardo Amaral; AZEVEDO, Hilton Jos Silva de. Lgica Fuzzy na avaliao de estudantes. Disponvel em: <http://www.ppgte.cefetpr.br/semanatecnologia/comunicacoes/logica_fuzzy_na.pdf>

Você também pode gostar