Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS UTILIZAÇÃO DA LÓGICA NEBULOSA NA EDUCAÇÃO VIRTUAL Prof. Ms. Thiago Drummond Ribeiro Gonçalves Moreira UFMA – Av. dos Portugueses, S/N, campus do Bacanga - São Luís – MA - [email protected] Profa. Dra. Maria Augusta Soares Machado Faculdades IBMEC – Av. Rio Branco, 108 – Rio de Janeiro – RJ - [email protected] Resumo: Tradicionalmente, o processo de ensino e aprendizagem utiliza-se da resolução de problemas para fixação, transmissão e avaliação de conceitos e conhecimentos a respeito de um domínio. Aprendizagem é o processo de adquirir mudanças relativamente permanentes no entendimento, na atitude, no conhecimento, na informação, na capacidade e na habilidade através da experiência. A mudança pode ser deliberada ou involuntária, para melhorar ou piorar. A aprendizagem é um evento cognitivo interno. Para ajudar esse processo de ensino e aprendizagem, é importante a utilização de uma ferramenta computacional capaz de estimular essas mudanças. Também é importante que possam desempenhar papéis como os de avaliar e auxiliar o estudante. Esses papéis são assumidos por sistemas computacionais chamados Sistemas Tutores Inteligentes. Este artigo descreve a utilização de técnicas de inteligência artificial como ferramentas de apoio ao ensino. Através de Sistemas Tutores Inteligentes e a Lógica Nebulosa, o trabalho mostra que o ensino, por meios eletrônicos, torna-se mais eficiente, mais abrangente e mais adaptado às necessidades e níveis de conhecimentos dos estudantes, seja em grupo, seja individualmente. Palavras-Chave: Lógica Nebulosa, Sistemas Tutores Inteligentes, Ensino e Aprendizagem Abstract: Traditionally, the teaching and learning process uses the problems resolving for fixing, transmitting and evaluating concepts and knowledge about a subject. Learning is the process of acquiring relative permanent changes in understanding, attitude, knowledge, information, capacity and ability through experience. A change can be decided or involuntary, to better or worsen learning. The learning process is an internal cognitive event. To help this teaching and learning process, it is important the use of a computer tool able to stimulate these changes. Also, it is important that it can function as validation and helping tool to the student. These functions are performed by computer systems called Intelligent Tutoring Systems. This paper describes the use of artificial intelligence techniques as a teaching support tool. Using Intelligent Tutoring Systems e fuzzy logic, this work shows, throgh eletronic ways, teaching will be more efficient and more adapted to students necessities, in group or individually. Key-Words: Fuzzy Logic, Intelligent Tutoring Systems, Teaching and Learning 1. Introdução As aplicações educacionais utilizando-se da tecnologia do computador são desenvolvidas desde os anos 60. Inicialmente, elas foram classificadas como Instrução Assistida por Computador (CAI, do inglês “Computer-Assisted Instruction”) e utilizavam o paradigma da instrução programada, cujos métodos educacionais apresentam uma forma expositiva centrada no professor. Primeiramente, o estudante deve compreender a lição dada pelo professor para, posteriormente, responder alguma questão e, com isso, reforçar a sua compreensão. Ou seja, o ensino pode ser mais facilmente provocado através de “programações de reforço”, isto é, compensando o comportamento desejado em dados momentos (Richmond, 1975). 27 a 30/09/05, Gramado, RS Pesquisa Operacional e o Desenvolvimento Sustentável Com o passar do tempo, as perspectivas teóricas dos psicólogos educacionais tenderam a migrar para a psicologia cognitiva. Segundo Piaget (1973), a maior parte do que uma pessoa aprende é por iniciativa própria e em interação com a realidade que o cerca. Ele constrói o seu conhecimento. Essa tendência também é vista no processo de desenvolvimento destes sistemas CAI. Com a evolução das técnicas de Inteligência Artificial (IA) e das pesquisas no campo das ciências cognitivas, aumentou-se o grau de “inteligência” dos sistemas CAI. Passaram a ser chamados de ICAI (“inteligent” CAI) e, mais tarde, conhecidos como Sistemas Tutores Inteligentes. Uma das principais motivações para as pesquisas em Inteligência Artificial na Educação é o desenvolvimento de princípios pelos quais os ambientes de aprendizagem computacionais possam ser concebidos como lugares onde os estudantes possam ter experiências que sejam fundamentais e benéficas para eles, sem importar suas diferenças individuais, experiências anteriores, ou outras situações cognitivas. Assim, pela modelagem ou mapeamento do estudante, esses sistemas podem personalizar a instrução, compatibilizando a apresentação com o nível de conhecimento do estudante e com o seu índice de aprendizagem. Portanto, a maioria dos sistemas com essas características apresenta métodos educacionais que proporcionam uma forma de descoberta centrada no estudante, e os diálogos tutoriais são basicamente determinados pelo conhecimento conceitual e pelo comportamento de aprendizagem do estudante (Park, 1987). Psicologia / Pedagogia (Cognição) STI Inteligência Artificial (IA) Treinamento e Educação (CAI) Figura 1: Domínio de aplicações tutores inteligentes Atualmente, é aceito que qualquer sistema que tenha como objetivo principal a função de ensinar deve incorporar princípios de IA. Esses sistemas necessitam conhecer o nível de conhecimento de seus usuários, além de reconhecer em quais pontos do domínio de conhecimento o estudante evoluiu e em quais pontos continua deficiente. 2. Sistemas tutores Inteligentes Sistemas especialistas são programas de computador desenvolvidos para adquirir e disponibilizar o conhecimento de um especialista humano. Os sistemas tutores inteligentes são sistemas especialistas aplicados à educação. Portanto, tem o objetivo de auxiliar o aprendizado do estudante simulando um tutor. 547 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS Segundo Fowler (1991), os STIs são programas de computador com propósitos educacionais e que incorporam técnicas de IA, geralmente utilizando-se da tecnologia dos sistemas especialistas. Os STIs derivam dos programas CAI e oferecem vantagens sobre estes, porque podem simular o processo do pensamento humano, dentro de um determinado domínio, para auxiliar em estratégias nas soluções de problemas ou nas tomadas de decisões. Segundo Pozzebon & Barreto (2002), os sistemas tutores inteligentes derivam dos programas CAI (Compited Aided Instruction), que tentam implementar um modelo genérico que possa servir para o ensino a qualquer estudante. Nas pesquisas em qualquer tipo de sistema educacional envolvendo princípios de IA, a abordagem é um pouco diferente daquela da engenharia de conhecimento na qual os especialistas devem representar, em um determinado domínio, suas estratégias de decisões na forma de programas. Ao invés disto, o propósito principal é captar o conhecimento necessário que permita aos especialistas compor uma interação educacional. Em vez das decisões resultarem de algum conhecimento, é o próprio conhecimento que é explicitamente representado de modo que possa ser utilizado. Portanto, também é responsabilidade dos programas, compor interações educacionais dinamicamente. Segundo Jonassen (1993), um STI deve passar em três testes antes de ser considerado “inteligente”: 1. O conteúdo do tema ou especialidade deve ser codificada de modo que o sistema possa acessar as informações, fazer inferências ou resolver problemas. 2. O sistema deve ser capaz de avaliar a aquisição deste conhecimento pelo estudante. 3. As estratégias tutoriais devem ser projetadas para reduzir a discrepância entre o conhecimento do especialista e o conhecimento do estudante. Ainda, é possível observar: “[...] os STI são programas que modificam suas bases de conhecimento, percebem as intervenções do aluno e são dotados da capacidade de aprender e adaptar suas estratégias de ensino mediante a interação com o aluno.” (Vaccari apud Schmitz, López, Faraco & Rosatelli, 2002, p. 3). Os STIs são formados, basicamente por quatro módulos. O modelo do especialista ou modelo de domínio, contém o conhecimento armazenado do especialista na matéria a ser ensinada. Esse conhecimento é adquirido a partir do especialista, devendo, portanto, ser transferido para o aluno (Schmitz, López, Faraco & Rosatelli, 2002). É fundamentalmente uma base de conhecimento contendo informações de um determinado domínio, que é organizada, de alguma maneira para representar o conhecimento de um especialista ou professor (Pozzebon & Barreto, 2002). O modelo do tutor ou modelo pedagógico é responsável por adotar diferentes maneiras de expor um assunto, tornando-o compreensível e interessante. Na comunicação de um corpo de conhecimento para uma pessoa, diferentes estratégias e técnicas são selecionadas e combinadas dinamicamente em reação às atitudes e necessidades dos estudantes (Pozzebon & Barreto, 2002). O modelo do estudante contém as informações referentes a cada estudante que faz uso do sistema. Essas informações estão relacionadas com o nível de conhecimento do estudante sobre a matéria e o seu ritmo de aprendizagem (Schmitz, López, Faraco & Rosatelli, 2002). A característica principal deste modelo deve contemplar todos os aspectos do conhecimento e do comportamento do 548 27 a 30/09/05, Gramado, RS Pesquisa Operacional e o Desenvolvimento Sustentável estudante que tragam conseqüências para o seu desempenho e aprendizagem (Pozzebon & Barreto, 2002). Talvez, este seja o módulo mais importante de um STI. É a partir das informações contidas nesse modelo que todas as estratégias, conteúdos são expostos para o alunos através do modelo tutor. O módulo de interface é o canal de comunicação entre o STI e o estudante (Schmitz, López, Faraco & Rosatelli, 2002). Na engenharia de software, a interface do usuário tem sido a primeira preocupação dos projetistas quando estão discutindo a criação de uma nova aplicação pois, como afirmam Hix e Hartson, “Para os usuários, a interface é o próprio sistema.” (Pozzebon & Barreto, 2002). Especialista Interface Especialista Modelo de Domínio Estudante Interface Estudante Diagnóstico Modelo do Estudante Modelo Pedagógico Figura 2: Arquitetura básica de um STI Através dessa arquitetura, vê-se que o estudante tem maiores possibilidades ter um ensino personalizado. Ao professor caberá tirar dúvidas, por ventura não solucionadas pelo STI e apoiar o estudante. Abaixo são apresentadas algumas vantagens de sistemas tutores inteligentes. “Primeiro, o computador tem mais facilidade para reter a informação e ministrá-la de uma maneira sistemática, meticulosa e completa. O computador jamais se esquece de um detalhe, se isso estiver especificado no seu programa. Uma dor de cabeça ou um problema familiar jamais altera a sua performance. Segundo, essa capacidade de sistematização do computador permite um acompanhamento do aluno em relação aos erros mais freqüentes e à ordem de execução das tarefas. Muitas vezes o professor tem muita dificuldade em realizar esse acompanhamento que pode ser feito pelo computador de uma maneira muito mais detalhada. Terceiro, os sistemas computacionais apresentam hoje diversos recursos de multimídia, como cores, animação e som.” [...] (Valente, p. 20) 3. STI Multiagentes Quando se fala em ensino a distância, alguns autores afirmam ser este o responsável por uma massificação sem qualidade da educação. Segundo Batista (2001): “A educação fast food, viabilizada por meio de pacotes de ensino prescritivo e descartável, encaixa-se na lógica da pronta entrega. Automatiza e acelera a oferta de serviços pelo mercado educacional” (p. 96). 549 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS Como visto anteriormente, os sistemas tutores inteligentes são especialmente importantes na personalização do ensino do aluno. Ao se juntar essa idéia dos STIs à internet, pode-se produzir um ensino a distância de maior qualidade. Para tal, começou-se a pensar em uma nova arquitetura de sistemas tutores inteligentes, onde ao mesmo tempo que fosse individualizado às necessidade de cada estudante também deveria ser coletivo e colaborativo com outros aprendizes. A novidade é o desenvolvimento de ambientes distribuidos multiagentes interativos. Um agente pode ser definido como uma entidade (humana ou artificial) física ou abstrata que executa uma ação sobre algo, seja sobre si ou sobre seu ambiente, produzindo um efeito (Ferber apud Sichman, 1992). Neste ambiente, os alunos são divididos em grupos distintos no ambiente que são chamados de áreas cooperativas. Basicamente, ocorrem dois tipos de interações, a interação intragrupo, onde os estudantes cooperam e aprendem interagindo dentro de seus próprios grupos com os agentes artificiais e com o professor, e a interação intergrupo, que pode ocorrer entre os outros alunos nos diversos grupos existentes. e estas interações se dão através da utilização de recursos multimídia e da tecnologia de redes, intranets e internet. Abaixo, temos a descrição da arquitetura de um ambiente multiagente de ensino: Agente Tutor participa de todas as atividades de ensino e avaliação. É quem controla as interações dos grupos com o sistema durante o processo de ensino / aprendizagem. É responsável também pela apresentação do conhecimento aos aprendizes. Agentes de Domínio são detentores de um certo conhecimento, representando um especialista. É responsável pelo armazenamento e representação de um conhecimento específico, sendo esta a única característica que diferencia um Agente de Domínio de outro. Agentes de Modelagem do Aprendiz é responsável pelo processo de aquisição, representação e manutenção de informações sobre alunos e grupos durante o processo de ensino / aprendizagem. Agente Estratégico é responsável pela definição das estratégias pedagógicas a serem adotadas pelo Agente Tutor a partir da interação com o Agente Modelagem do Aprendiz, e após observar o comportamento de cada aprendiz, ou seja, é quem decide o que, quando e o conteúdo que será apresentado aos alunos. Agente de Busca tem como objetivo apresentar para o aprendiz informações personalizadas que possam ajudá-lo a tirar suas dúvidas. Um conjunto de agentes inteligentes móveis é instanciado para acessar recursos de dados remotos. Agente Professor é um agente humano que destacam-se por realizar papeis de orientador, avaliador e especialista. Agentes Aprendizes são os usuários alvo do sistema. O bom desempenho deles é o alvo a ser alcançado. Agente Engenheiro do Conhecimento é responsável por fazer a manutenção dos Agentes de Domínio, o que inclui a edição do conhecimento de cada um deles e a organização de seus domínios. 550 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS Figura 3: Arquitetura STI Multiagente 4. Lógica Nebulosa Há mais ou menos 2000 anos, utiliza-se a lógica booleana (onde uma expressão só pode assumir dois valores, verdadeiro ou falso) como forma de modelagem de problemas matemáticos. A modelagem computacional convencional utiliza esse conceito de bivalência e, portanto, não consegue trabalhar com ambigüidades (Mukaidono apud Costa et al., 2000, p. 1). Tentando aproximar a modelagem matemática e os problemas do mundo real, Zadeh reconheceu as muitas possibilidades existentes entre o verdadeiro e o falso e desenvolveu, em 1965, uma variação da lógica tradicional, a lógica nebulosa. Ao contrário da lógica booleana, a lógica nebulosa (ou difusa) é multivalorada e trabalha com afirmações parcialmente verdadeiras e parcialmente falsas ao mesmo tempo. Nesse contexto, a lógica booleana passa a ser um caso particular da lógica nebulosa (Barbalho, 2001, p. 20). Como exemplo, pode-se apresentar o problema para identificar pessoas com estatura média. Se se considerar tais pessoas com altura entre 1,60 e 1,70 metros, a lógica booleana não conseguiria identificar as pessoas com 1,59 metro como pertencentes a este grupo. Já a lógica nebulosa identificaria essa pessoa como pertencente ao grupo, porém com um grau de certeza menor que outra pessoa com 1,65 metro. Portanto, pode-se definir lógica nebulosa como sendo uma ferramenta capaz de capturar informações vagas, em geral descritas em linguagem natural, e convertê-las para o formato numérico, de fácil manipulação (Wagner apud Costa et al., 2003, p. 3). Seu objetivo é capturar os diferentes graus de verdade existentes para as situações da vida real e modelar essas situações de uma forma matemática. 4.1. Conjuntos Nebulosos Na teoria clássica dos conjuntos, esses podem ser definidos de forma bastante simples. São uma coleção de objetos que possuem determinada característica em comum. Esses objetos podem ser números, palavras, conceitos, qualquer coisa e possuem apenas duas formas de se relacionar com o conjunto: ou pertencem ou não pertencem ao conjunto. Ao se analisar o problema da estatura média descrito anteriormente, pode-se verificar que pessoas com 1,59 ou 1,71 metros não pertenceriam ao conjunto de pessoas com estatura média, já que 551 27 a 30/09/05, Gramado, RS Pesquisa Operacional e o Desenvolvimento Sustentável esse conjunto engloba apenas pessoas com estatura entre 1,60 e 1,70 metros. Embora, por razões óbvias, devessem pertencer ao conjunto. Zadeh, ao formular a teoria dos conjuntos nebulosos, baseou-se na teoria dos conjuntos clássicos e apresenta aquele como uma generalização deste. Os conjuntos nebulosos também são definidos sobre um domínio (Universo de Discurso), mas diferem daqueles por não possuírem uma fronteira claramente definida (Zadeh apud Barbalho, 2001, p. 20). Tentam traduzir, através de representações matemáticas formais, as informações imprecisas do mundo real. A idéia central é a de que um elemento pertence a um conjunto com um certo grau de pertinência. Na teoria, esse grau é apresentado como Função de Pertinência. Essa função mapeia cada elemento do universo com um número entre 0 e 1 (na teoria clássica, esse grau de pertinência assume somente os valores 0 ou 1). Dessa forma, as proposições não são mais somente verdadeiras ou falsas, mas sim vão desde totalmente falsas até totalmente verdadeiras, passando por parcialmente falsas e parcialmente verdadeiras. 4.1.1. Função de Pertinência Segundo Klir et al. (1997), cada conjunto nebuloso, A, é definido em termos de relevância a um conjunto universal, X, por uma função denominada de função de pertinência, associando a cada elemento x um número, A(x), no intervalo fechado [0,1] que caracteriza o grau de pertinência de x em A. A função de pertinência tem a forma: A: X [0, 1]. Shaw (1999) afirma que uma função de pertinência é uma função numérica que atribui graus de pertinência para valores discretos de uma variável, em seu universo de discurso. Segundo Barbalho (2001), qualquer função que mapeie o domínio U no intervalo [0,1] pode ser utilizada como função de pertinência. Na prática, entretanto, as formas triangular e trapezoidal (figura abaixo), pela simplicidade de representação, são as mais freqüentemente utilizadas. Graus de Pertinência Graus de Pertinência Função Pertinência Triangular 1 0.8 0.6 0.4 0.2 0 0 0.5 1.0 1.5 2.0 Função Pertinência Trapezoidal 1 0.8 0.6 0.4 0.2 0 0 0.5 1.0 1.5 2.0 Figura 4: Funções de Pertinência 4.2. Sistemas Baseados em Regras Nebulosas A maioria dos sistemas computacionais tem o seu conhecimento representado através de regras que ditam a maneira como ele deve agir. Essa representação é utilizada desde os programas de computador mais simples até os sistemas mais modernos, como um STI. Com os sistemas que utilizam a lógica nebulosa não é diferente. Seus comportamentos, também, são ditados por regras. Porém, as regras utilizadas por eles são ditas nebulosas. As regras nebulosas caracterizam-se por uma expressão condicional da forma: SE <antecedente – expressão nebulosa> ENTÃO <conseqüente – expressão nebulosa> 552 27 a 30/09/05, Gramado, RS Pesquisa Operacional e o Desenvolvimento Sustentável Segundo Barbalho (2001), o antecedente é formado por uma proposição simples ou uma combinação de proposições e descreve condições verificadas pela regra. E o conseqüente descreve uma ação a ser tomada no caso de todas as proposições do antecedente serem atendidas. A combinação de proposições é feita através dos operadores lógicos “E” e “OU”. Um exemplo: “SE homem muito alcoolizado E idade menor que 18 anos ENTÃO contatar juizado de menores”. 4.3. Sistemas de Inferências Nebulosas Segundo Wagner (apud Costa et al., 2003), os sistemas de inferências nebulosas são sistemas baseados em regras que utilizam as variáveis lingüísticas nebulosas (conjuntos nebulosos) para executar um processo de tomada de decisão. Servem para representar a interdependência entre as variáveis independentes (entrada) e dependentes (saída) de um sistema real. A base desses sistemas é um conjunto de regras condicionais nebulosas, que deve ser definido a partir de um mesmo conjunto de premissas (variáveis independentes), com respostas pertencentes a um mesmo domínio (Bárdossy apud Barbalho, 2001). Esses sistemas, em geral, são baseados em um conjunto de regras (base de conhecimento) do tipo SE–ENTÃO que descrevem a dependência entre as variáveis lingüísticas de entrada e saída. Segundo Barbalho (2001), um sistema de inferências nebulosas, a partir de valores conhecidos das variáveis de entrada, pode realizar inferências sobre esses dados e obter os valores das variáveis de saída. Neste processo, as regras são inferidas paralelamente, não importando a ordem em que estas são realizadas. A interpretação ou inferência de cada regra consiste na avaliação das proposições antecedentes (premissas), seguida da aplicação das conseqüências. A seguir, a figura demonstra o funcionamento do processo. BASE DE CONHECIMENTO BASE DE DADOS BASE DE REGRAS ENTRADA SAÍDA FUZZYFICAÇÃO DEFUZZYFICAÇÃO UNIDADE LÓGICA DE DECISÃO Figura 5: Sistema de Inferências Nebulosas 4.3.1. Fuzzyficação Os sistemas de inferências nebulosas trabalham com informações imprecisas e/ou termos vagos da linguagem natural. Porém, quando se trabalha com dados de entrada de sistemas computacionais, estes, geralmente, são valores numéricos informados ao sistema. Por exemplo, um sistema que tem por objetivo monitorar as condições de um tanque de armazenamento de combustível e tomar alguma ação dependendo delas, utilizando, para isso, dados de 553 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS temperatura e pressão. Quando os dados são enviados ao sistema, os mesmos informam valores numéricos de temperatura e pressão. Como os sistemas nebulosos trabalham com termos lingüísticos, há a necessidade de transformar esses dados de entrada em conjuntos nebulosos. Portanto, é executado um mapeamento dos dados de entrada (em geral números discretos) em números nebulosos. É o processo de fuzzyficação. Para que haja essa transformação, os valores numéricos dados para cada variável de entrada são avaliados contra as funções de pertinência associadas à variável correspondente, resultando o grau de pertinência de cada valor nos termos lingüísticos correspondentes (Barbalho, 2001). No exemplo anterior, o valor de 35º C da variável de entrada temperatura, ao ser convertido, poderia ser representado pelo valor nebuloso normal e possuir um grau de pertinência, por exemplo, 0.7, associado a ele. 4.3.2. Processo de Inferência O processo de inferência, também chamado de lógica de tomada de decisão, é o responsável por avaliar as variáveis de entrada aplicando as regras da base de conhecimento e atribuindo respostas ao processamento. Consiste de três etapas: a Avaliação de Premissas; Implicação; e Agregação de Conseqüências. Após, a nebulização das variáveis de entrada, as regras nebulosas são avaliadas uma a uma e calculam-se os graus de pertinência de cada proposição. A cada combinação de proposições (de cada regra), é aplicada uma função (dependendo do operador lógico usado na combinação das proposições) para produzir um número entre 0 e 1 que representa o grau com que a expressão condicional da regra é satisfeita (grau de aplicabilidade da regra). As funções mais comumente aplicadas nesse processo são: a função de máximo, para o operador “OU”, e a função de mínimo, para o operador “E”. Esta etapa constitui a Avaliação de Premissas. Segundo Barbalho (2001), a Implicação consiste em calcular as conseqüências das regras, cujas condições são satisfeitas com algum grau, com base nos respectivos graus de aplicabilidade. Nos casos em que as regras possuem mais de uma conseqüência, todas as conseqüências são igualmente afetadas pelo grau de aplicabilidade. Quando o sistema de inferências nebulosas trata as variáveis de entrada e verifica as regras aplicáveis, geralmente, encontra-se mais de uma regra aplicável. Porém, é necessário gerar uma única resposta para cada variável de saída. A Agregação de Conseqüências consiste em agregar, ou combinar, as conseqüências obtidas pela inferência dessas regras (Barbalho, 2001). Mais freqüentemente, essa agregação é feita utilizando-se a função de máximo que corresponde à união dos conjuntos nebulosos. 4.3.3. Defuzzyficação Após o processo de inferência nebulosa, obtém-se um conjunto nebuloso como resposta. Porém, muitas vezes esse conjunto não é suficiente como resposta do sistema, sendo necessário uma representação numérica mais adequada da resposta nebulosa. É o processo de defuzzyficação. Tomando-se, novamente o exemplo do sistema que monitora o tanque de combustível. Em algum momento, é provável que seja necessário a transformação da resposta nebulosa em um número discreto que represente o acionamento do alarme, por exemplo. 554 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS Barbalho (2001), apresenta os esquemas de representação numérica de conjuntos difusos mais utilizados: • • • • Primeiro dos Máximos: seleciona o primeiro elemento entre aqueles que têm o máximo grau de pertinência. Último dos Máximos: seleciona o último elemento entre aqueles que têm o máximo grau de pertinência. Média dos Máximos: calcula a média dos elementos que tem o máximo grau de pertinência. Centróide: escolhe o elemento central (centro de gravidade) da área definida pelo conjunto nebuloso. 4.4. Projetos Interessantes Existem várias exemplos de aplicações da Lógica Nebulosa, tanto no ambiente acadêmico quanto no ambiente comercial. Alguns exemplos interessantes de aplicações comerciais podem ser conferidos abaixo: “Câmeras de Vídeo – o controle de foco e abertura do diafragma de câmeras pode ser obtido através da lógica fuzzy, garantindo assim uma melhor qualidade das imagens obtidas e permitindo equipamentos mais simples e baratos; e Máquinas de Lavar Roupa – o controle dos ciclos da máquina é obtido através do sensoreamento de diversas características para a lavagem, como a temperatura da água, peso das roupas e grau de sujeira. Aplicando-se o conhecimento empírico humano a um controlador fuzzy é possível obter a lavagem das roupas garantindo-se melhor utilização do equipamento” (Ferreira & Paranhos, 2004). Ainda, segundo Ferreira & Paranhos (2004), pode-se citar o caso do ar condicionado industrial projetado pela Mitsubishi. Este utiliza 25 regras de aquecimento e 25 regras de refrescamento. Um sensor de temperatura fornece a entrada, com o controle da saída alimentado por um inversor, uma válvula compressora, e um ventilador. Comparado com o projeto anterior, o controlador fuzzy aquece e esfria 5 vezes mais rápido reduz o consumo de potência em 24%, incrementa a estabilidade da temperatura por um fator de 2, e usa menos sensores. Outro exemplo interessante da utilização da lógica nebulosa é relatado por Tourino (2000). Através de um projeto do laboratório GRACO, na Universidade de Brasília, foi desenvolvido um sistema de guiagem para o robô XR4000 por meio de teleoperação através da Internet, voltado para a inspeção de tubulações soldadas. Para o robô possuir autonomia ao se movimentar, é necessário o mesmo ser dotado de uma câmera e ser capaz de analisar as imagens e tomar decisões em relação aos obstáculos. Portanto, uma aplicação simples de controle de velocidade é necessário, de forma a se garantir uma velocidade de movimentação do robô adequada. Para um ambiente livre de obstáculos é possível o aumento da velocidade, enquanto que para um ambiente congestionado deve-se utilizar menores velocidades para que se evite a colisão ou se minimize os efeitos de uma colisão acidental. A lógica nebulosa é utilizada como forma de controle de velocidade do robô móvel, baseando a velocidade de saída na distância a ser percorrida (definida pelo usuário) e na distância dos obstáculos presentes no ambiente (aleatórios e transientes). O sistema de movimentação do robô possui sensores que disponibilizam ao usuário o estado atual de seus atuadores, ou seja, posição, velocidade e aceleração. Para a análise do controlador fuzzy 555 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS desenvolvido utilizou-se dos dados de velocidade do sistema, assim como de dados do relógio interno do robô. Apesar de experimentos mostrarem que o controlador fuzzy é sensível aos dados obtidos através dos sensores ultrasônicos do robô (o que leva à necessidade de se desenvolver uma espécie de filtro de dados sensoriais para obter uma maior estabilidade e confiabilidade no sistema de controle de velocidade), o sistema já mostra utilidade da Lógica Nebulosa no desenvolvimento do projeto. 5. Aplicações Educacionais A resolução de problemas como forma de transmissão de conceitos e avaliação do aprendizado é amplamente utilizada. Portanto, uma ferramenta como essa não poderia deixar de estar presente nos sistemas tutores inteligentes. Para que um STI trabalhe com resolução de problemas, é importante o mesmo adotar um banco de dados de problemas (contendo tanto soluções dos professores, quanto soluções obtidas pelos estudantes). A partir desse banco de problemas, o sistema terá de propor problemas para o aprendiz, baseado em seu nível de conhecimento, no assunto abordado, suas preferências e no nível de dificuldade do problema. É necessário, ainda que o sistema possua mecanismos de avaliação dos problemas resolvidos. Essas atribuições cabem a um agente (assistente de resolução de problemas) do STI. Esse agente, através de comunicações com o agente tutor, adquire as informações necessárias a respeito do estudante, como nível de conhecimento, preferências pessoais, assunto abordado, entre outros, e é capaz de melhor propor problemas condizentes com a realidade do aprendiz. A tarefa de avaliação desses problemas é feita utilizando-se a lógica nebulosa. Esta, através de informações como nível de dificuldade do problema, nível de conhecimento do estudante, variáveis de entrada e dados do problema, entre outras terá condições de inferir um conceito para o problema resolvido ou mesmo aplicar uma nota. 6. Conclusões Quando se fala em educação, é quase unanimidade afirmar que é através dela que um país tem condições de se desenvolver. Por isso, é importante o desenvolvimento de ferramentas que ajudem no processo educacional. As pesquisas nessa área têm crescido bastante nos últimos anos. Toda contribuição é importante para o desenvolvimento de sistemas educacionais eficazes. As aplicações da lógica nebulosa no campo da educação são bastante promissoras. A integração dessa com tecnologias de outras técnicas de inteligência artificial está tornando o ensino tradicional e à distância cada vez mais adaptável às necessidades dos estudantes. É essa realidade que permitirá cada vez mais um ensino de qualidade, sem fronteiras e centrado no estudante. Referências Bibliográficas BARBALHO, Valéria Maria de Souza. Sistemas baseados em conhecimento e lógica difusa para simulação do processo chuva-vazão. 2001. 77 f. Tese (Doutorado em Engenharia Civil) – Faculdade de Engenharia Civil, Universidade Federal do Rio de Janeiro, Rio de Janeiro. COSTA, Alex da; RODRÍGUEZ, Antonio Gabriel; SIMAS, Etiene P. Lazzeris; ARAÚJO, Roberto Silva. Lógica fuzzy: conceitos e aplicações. In: WORKSHOP DE SOFTWARE LIVRE, 4., 2003, Porto Alegre (RS). Anais Eletrônicos... Porto Alegre, 2003. Disponível em: <http://www.inf.unisinos.br/~cazella/dss/fuzzy_relatorio.pdf>. Acesso em: 16 mar. 2004. 556 Pesquisa Operacional e o Desenvolvimento Sustentável 27 a 30/09/05, Gramado, RS FERREIRA, André Luís G. & PARANHOS, João Paulo de S. Controle em tempo real por lógica fuzzy. 2004. Relatório Final (Graduação em Engenharia Elétrica/Eletrônica) – Faculdade de Engenharia, Associação Educacional Dom Bosco, Resende. Disponível em: <http://www.aedb.br/faculdades/eng/disciplinas/ano6/ProjetoFinal2004.pdf>. Acessado em: 08 jul. 2005. PARK, O.; PEREZ, S.; SEIDEL, F. J. Intelligent CAI: Old Wine in New Bottles or a New Vintage ?, em KEARSLEY, G., “Artificial Intelligence and Instruction - Applications and Methods”, p. 11-45. 1987. POZZEBON, E.; BARRETO, J. Inteligência artificial no ensino com tutores inteligentes. Revista de divulgação científica e cultural – Revista da Editora da UINIPLAC, Florianópolis, vol. 5, nº 1 e 2, semestral, pág 141-162, ISSN 1415-7896, dez. 2002. Disponível em <http://www.das.ufsc.br/~eliane/artigos/pozzebon02l.pdf>. Acesso em: 03 jun. 2003. PIAGET, Jean. Estudos Sociológicos. São Paulo: Editora Forense,1973. SCHMITZ, Ademar; LÓPEZ, Oscar Ciro; FARACO, Rafael Ávila; ROSATELLI, Marta Costa. Ferramenta de autoria de sistema tutores inteligentes construindo o modelo do domínio do conhecimento com redes semânticas. In: CONGRESSO BRASILEIRO DE COMPUTAÇÃO, 2., 2002, Vale do Itajaí (SC). Anais Eletrônicos... Vale do Itajaí, 2002. Disponível em: <http://www.cbcomp.univali.br/pdf/2002/ine012.pdf>. Acesso em: 15 jul. 2003. SHAW, Ian S.; SIMÕES, Marcelo G. Controle e Modelagem Fuzzy. São Paulo: Edgard Blücher, 1999. TOURINO, Sérgio Roberto Gonsalves. Guiagem do robô móvel XR4000 para inspeção via internet de tubulações industriais soldadas. 2000. Relatório Final (Graduação em Engenharia Mecânica) – Faculdade de Tecnologia, Universidade de Brasília, Brasília. Disponível em: <http://www.graco.unb.br/~tourino/xr4000f/final.html>. Acessado em: 08 jul. 2005. VALENTE, José A. O uso inteligente do computador na educação. Pátio – Revista da Editora Artes Médicas Sul, vol. 1, nº 1, p.10-21, jan. 1997. 557