Lógica Fuzzy Acadêmicos: Gabriel Magalhães Marcel Fabeny [email protected] [email protected] Professor: Rafael Stubs Parpinelli IAR0001 Joinville 13 de Junho de 2016 1 Roteiro Introdução ● Lógica Fuzzy ● Sistemas da Lógica Fuzzy ● Aplicação ● Vantagens x Desvantagens ● Considerações Finais ● 2 Introdução A teoria clássica de conjuntos permite o tratamento de classes de objetos e suas inter-relações em um universo definido. ● Nessa teoria, a pertinência de um dado elemento com relação a um conjunto refere-se ao fato de tal elemento pertencer ou não a esse conjunto. ● Na lógica binária/clássica/convencional as proposições são unicamente “Verdadeiras” ou “Falsas”. ● 3 Exemplo ● O copo está cheio ? ● O copo está cheio. 4 Exemplo ● O copo está cheio ? “Sim” ou “Não”. ● O copo está cheio. “Verdadeiro” ou “Falso”. 5 Exemplo ● O copo está cheio ? “Sim” ou “Não”. ● O copo está cheio. “Verdadeiro” ou “Falso”. 1 ou 0 6 Convencional x Fuzzy Na Lógica Convencional (binária), uma declaração torna-se sempre “Verdadeira” ou “Falsa”. Não podendo ser num mesmo instante parcialmente verdadeira e parcialmente falsa. ● A Lógica Fuzzy, permite obter valores intermediários entre as proposições “Verdadeiras” ou “Falsas.” Podendo assumir valores entre 0 (absolutamente falso) e 1 (absolutamente verdadeiro). ● 7 Lógica Fuzzy 8 Lógica Fuzzy A Lógica Fuzzy tem por objetivo modelar modos de raciocínio aproximados ao invés de precisos. ● Utiliza a idéia de que todas as coisas admitem graus de pertinência. Exemplo: temperatura, altura, velocidade, entre outras… ● Com isso, a Lógica Fuzzy tenta modelar o senso de palavras, tomada de decisão ou senso comum do ser humano. O modelo de raciocínio do ser humano. ● 9 Histórico “As pessoas funcionam de modo 'vago', ao invés de no modo 'verdadeiro-falso'.” Charles Sanders Peirce ~1870 Filósofo, pedagogista, cientista e matemático estadunidense 10 Histórico Em 1920, o lógico polonês Jan Lukasiewicz, desenvolveu as primeiras noções da lógica dos conceitos "vagos“. ● ● Conjuntos com graus de pertinência: 0 , ½ e 1; ●Mais tarde, expandiu para um número infinito de valores entre 0 e 1. 11 Lógica Fuzzy Mas foi Lofti Asker Zadeh, professor na Universidade da Califórnia em 1965, que criou a Lógica “Fuzzy”. ● ● Quando fez a primeira publicação sobre o tema. Combinando os conceitos da Lógica Convencional e os conjuntos de Lukasiewicz, definindo graus de pertinência. ● 12 Lógica Fuzzy ● Conversão de informações vagas para formato numérico ● “O dólar está estável.” ● “O trabalho está parcialmente feito.” ● “João é alto. E Maria baixa.” ● “Hoje está muito frio.” ● “Antônio joga muito bem.” 13 Exemplo ● O copo está razoavelmente vazio. ● O copo está quase cheio. 14 Exemplo “O jogador Antonio está jogando mal, o João está jogando bem mas o Carlinhos está jogando muito mal!” Tenho somente uma substituição, qual dos jogadores irei tirar? “O Antônio é um candidato a sair do time, o João eu não posso tirar de forma alguma porém o Carlinhos também está jogando muito mal. O Carlinhos está jogando bem menos que o Antônio então vou tirar o Carlinhos.” • Os termos: bem, mal, muito mal são as chamadas variáveis linguísticas e possibilitam enumerar matematicamente qual a proximidade desses jogadores jogarem totalmente bem e jogarem totalmente mal. 15 Variáveis Linguísticas • As incerteza podem ser levadas em consideração diante de uma determinada situação se for possível efetuar aproximações e cálculos que levem a alguma conclusão válida. • Uma variável linguística possui valores que não são números, mas sim palavras ou frases na linguagem natural. • Idade=idoso. • Um valor linguístico é um conjunto Fuzzy. • Todos os valores linguísticos formam um conjunto de termos: • T(idade) = {Jovem, velho, muito jovem,... Maduro, não maduro,... Velho, não velho, muito velho, mais ou menos velho,... Não muito jovem e não muito velho,...} 16 Função de Pertinência • O primeiro passo na representação de conjuntos Fuzzy é a escolha da função de pertinência; • É um mapeamento matemático de cada valor numérico possível para as variáveis linguísticas. • A escolha dessa função depende do problema a ser modelado e também da capacidade computacional disponível para processar o que se deseja. • Funções não lineares podem ser mais eficientes para problemas complicados, porém, demandam um poder computacional maior do que as funções lineares. • É importante aproximar a léxica do modelo matemático para que assim seja possível fazer conclusões válidas sobre o problema. 17 Exemplo ● Altura de pessoas. ● Temperatura. 18 Função de Pertinência 19 Função de Pertinência 20 Função de Pertinência 21 Função de Pertinência 22 Função de Pertinência Febre alta 23 Função de Pertinência Febre alta 24 Sistema Lógico Fuzzy Sistema da Lógica Fuzzy proposta por Cox (1994). 25 Sistema Lógico Fuzzy Variáveis Calculadas (Valores Linguísticos) Nível Linguístico Nível Numérico Inferência Fuzzificação Variáveis Calculadas (Valores Numéricos) Variáveis de Comando (Valores Linguísticos) Defuzzificação Objeto Variáveis de Comando (Valores Numéricos) Sistema da Lógica Fuzzy proposta por Cox (1994). 26 Fuzzyficação • Etapa na qual os valores numéricos são transformados em graus de pertinência para um valor linguístico (variáveis linguísticas). • Cada valor de entrada terá um grau de pertinência em cada um dos conjuntos difusos. O tipo e a quantidade de funções de pertinência usados em um sistema dependem de alguns fatores tais como: precisão, estabilidade, facilidade de implementação... • Engloba: • Análise do Problema • Definição das Variáveis • Definição das Funções de pertinência • Criação das Regiões 27 Fuzzyficação 28 Inferência: Avaliação e Agregação das regras • Cada antecedente tem um grau de pertinência. (if) • A ação da regra representa a saída nebulosa da regra. (then) • Durante a avaliação das regras, a intensidade da saída é calculada com base nos valores dos antecedentes e então indicadas pelas saídas nebulosas da regra. • Analisar dados e chegar a uma conclusão a partir de um conjunto de regras. Exemplo: - Todos os homens são mortais. - Sócrates é um homem. - O projeto A é muito longo. - O risco do projeto é alto. - Portanto, Sócrates é mortal. - Se o projeto é muito longo então o risco do projeto é alto 29 Defuzzyficação • Etapa no qual as regiões resultantes são convertidas em valores para a variável de saída do sistema. • Processo utilizado para converter o conjunto difuso de saída em um valor convencional correspondente. • Alguns métodos de defuzzificação: • Centróide, • Média dos máximos, • Primeiro dos máximos, • Último dos máximos, • etc. 30 Defuzzyficação 31 Exemplo • Objetivo do sistema: • um analista de projetos de uma empresa que determina o risco de um determinado projeto • Variáveis de entrada: • quantidade de dinheiro e de pessoas envolvidas no projeto • Base de conhecimento • Se dinheiro é adequado ou pessoal é baixo então risco é pequeno • Se dinheiro é médio e pessoal é alto, então risco é normal • Se dinheiro é inadequado, então risco é alto Problema a ser resolvido: dinheiro = 35% e pessoal = 60% 32 Exemplo • Passo 1: Fuzzificar Dinheiro Pessoal .75 .8 .25 .2 35 Inadequado Adequado Médio mi (d ) = 0, 75 & m m (d ) = 0, 25 60 Baixo Alto b ( p) 0,2 & a ( p ) 0,8 33 Exemplo • Passo 2: Inferência: Avaliação das regras OU máximo E mínimo Regra 1: Risco 0,2 Adequado 0,0 ou Baixo Regra 2: Risco 0,8 médio 0,25 e Alto 34 Exemplo • Passo 3: Defuzzificação Risco pequeno normal alto 0,75 0,25 0,20 10 20 30 40 50 60 70 80 90 100 C (10 20 30 40) * 0,2 (50 60 70) * 0,25 (80 90 100) * 0,75 267,5 70,4 0,2 0,2 0,2 0,2 0,25 0,25 0,25 0,75 0,75 0,75 3,8 35 Aplicação •BOVESPA, onde se faz controles financeiros. •NASA, onde se controla o aquecimento dos motores das espaçonaves. •Radares de Velocidades, para reconhecimento das placas. •Supervisão de Linhas de Produção, efetuando controles necessários e •Robôs, buscando processamentos próximos do humano. •Controladores industriais. Reconhecimento de padrões. 36 Vantagens x Desvantagens • Vantagens: • Capacidade de lidar com as incertezas; • De lidar com raciocínio aproximado; • De lidar com termos vagos e ambíguos; • Busca representar o conhecimento humano da forma mais realista possível; •Desvantagens: • Estabilidade; • Incapacidade de aprendizado; • Dificuldade de definir funções de pertinência e regras Fuzzy; • Requer testes extensivos para validação e verificação. 37 Considerações Finais •É amplamente indicada para solução de problemas reais onde é necessário soluções não necessariamente ótimas. •A análise do problema é bastante importante para decidir se deve utilizar a lógica fuzzy ou uma lógica boolena, pois dependendo as características do problema a lógica booleana pode ser mais indicada. •Grande aplicabilidade por se assemelhar a forma humana de raciocinar e tomar decisões. •Amplamente utilizada na Inteligência Artificial por se assemelhar a forma humana de raciocinar e tomar decisões. 38 Referências AGUADO, A. G.; CATANHADE, A.M.. Logica Fuzzy. Unicamp, Campinas, Sao Paulo, 2011. Acesso em: 01 jun. 2016. Disponivel em: <http://www.ft.unicamp.br/liag/wp/monografias/monografias/2010_IA_FT_UNICAMP_logicaFuzzi.pdf> ARRUDA, D.; ABUD, G.; PONTES, F.; PONTES, R.; OLIVEIRA, B. Análise comparativa de ferramentas computacionais para modelagem de lógica Fuzzy. Acesso em: 01 jun. 2016. Disponivel em: <http://www.aedb.br/seget/arquivos/artigos13/39418400.pdf> DRIANKOV, D. An introduction to fuzzy control. Editora Springer-Verlag , 1996. COX, Earl. The fuzzy systems handbook: a practitioner’s guide to building, using, and maintaining fuzzy systems. New York: AP Professional, 1994. 39 Perguntas/Sugestões? Gabriel [email protected] Marcel [email protected] 40 Estes slides possuem direitos autorais por uma licença Creative Commons: http://creativecommons.org/licenses/by-sa/4.0/ 41