Lógica difusa

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Text document with red question mark.svg
Este artigo ou secção contém uma ou mais fontes no fim do texto, mas nenhuma é citada no corpo do artigo, o que compromete a confiabilidade das informações. (desde março de 2014)
Por favor, melhore este artigo introduzindo notas de rodapé citando as fontes, inserindo-as no corpo do texto quando necessário.

A lógica difusa ou lógica fuzzy é uma extensão da lógica booleana que admite valores lógicos intermediários entre o FALSO (0) e o VERDADEIRO (1); por exemplo o valor médio 'TALVEZ' (0,5). Isto significa que um valor lógico difuso é um valor qualquer no intervalo de valores entre 0 e 1. Este tipo de lógica engloba de certa forma conceitos estatísticos principalmente na área de Inferência.

As implementações da lógica difusa permitem que estados indeterminados possam ser tratados por dispositivos de controle. Desse modo, é possível avaliar conceitos não-quantificáveis. Casos práticos: avaliar a temperatura (quente, morno, médio, etc...), o sentimento de felicidade(radiante, feliz, apático, triste...), a veracidade de um argumento (correctíssimo, correcto, contra-argumentativo, incoerente, falso, totalmente erróneo, etc..)

A lógica fuzzy deve ser vista mais como uma área de pesquisa sobre tratamento da incerteza, ou uma família de modelos matemáticos dedicados ao tratamento da incerteza, do que uma lógica propriamente dita. A lógica difusa normalmente está associada ao uso da teoria de conjuntos fuzzy proposto por Lukasiewicz.

Ao trabalhar com a lógica fuzzy é comum chamar a lógica booleana de lógica nítida.

Muitos pesquisadores de versões booleanas de lógica não aceitam a lógica fuzzy como uma verdadeira lógica, no sentido em que aceitam, por exemplo, a lógica modal. Isso pode ser associado a diferentes fatos, entre eles o fato de muitos modelos permitirem soluções aproximadas que não correspondem a uma "verdade" lógica.

Visão geral[editar | editar código-fonte]

A lógica clássica permite apenas proposições que possuam um valor de verdade ou falsidade. A noção de 1+1=2 é uma verdade matemática absoluta e imutável. Entretanto, podem existir certas proposições com respostas variáveis, como a de se perguntar para várias pessoas identificarem uma cor. A noção de verdade não cai em esquecimento, mas um meio de representar e raciocinar sobre um conhecimento parcial é concedido, pela agregação de todos os resultados possíveis em um espectro dimensional.

Noções básicas[editar | editar código-fonte]

Na lógica proposicional, a cada proposição p associamos um entre dois valores possíveis: verdadeiro ou falso. É comum que sejam escolhidos valores numéricos como 1 para representar o verdadeiro e 0 para representar o falso.

Um modelo fuzzy simples é construído associando-se um valor μ(p) a uma proposição p, indicando o grau de veracidade dessa proposição, sendo que μ(x) é uma função (arbitrária) cujo conjunto imagem está entre 0 e 1 (ou 0% e 100%). Se exige pouco dessa funcional: caso p seja verdade, deve estar associado ao valor 100%, caso p seja falso deve ser associado ao valor 0%. Dessa forma, a lógica fuzzy estende a lógica booleana, pois ao invés de permitir só dois valores (1 e 0) permite uma gama infinita de valores.

Da mesma forma que são estendidos os valores possíveis das proposições, também devem ser estendidos os operadores, como NÃO, E e OU. Porém, ao estender esses operadores, devemos manter certas propriedades, entre elas a compatibilidade com a versão booleana da lógica. Assim, um operador NÃO-fuzzy, ao ser aplicado sobre o valor de uma proposição fuzzy que seja 0 ou 1, deve devolver o mesmo valor que um operador NÃO retornaria na lógica booleana.

Existem uma ampla gama de funções que podem ser utilizadas como NÃO-fuzzy, E-fuzzy e OU-fuzzy, tendo sido aplicadas a vários sistemas, porém as que contém mais propriedades desejáveis e que simultaneamente são bastante fáceis de utilizar são:

  • NÃO-fuzzy(x) = 1 - x
  • E-fuzzy(x,y) = Mínimo(x,y)
  • OU-fuzzy(x,y) = Máximo(x,y)

Utilizando esse modelo, podemos construir o seguinte exemplo:

Suponha que desejássemos representar de forma fuzzy a altura de Alice (1,65 m), Bob (1,75 m), Carlos(2,0m) e Denise(1,45 m). Nossas proposições serão da forma "X é alto", e serão:

  • A = Alice é alta, μ(A)=0.55
  • B = Bob é alto, μ(B)=0.75
  • C = Carlos é alto, μ(C) = 1
  • D = Denise é alta, μ(D) = 0

Usando os operadores acima descritos, podemos escrever sentenças como:

  • Carlos não é alto, NÃO(C), μ(NÃO(C))=1-μ(C)=0
  • Bob não é alto, NÃO(B), μ(NÃO(B))=1-μ(B)=0.25
  • Denise é alta e Alice é Alta, D e A, μ(D e A)=mínimo(μ(D),μ(A))=0

A lógica está claramente associada a teoria dos conjuntos. Cada afirmação (do tipo "Carlos é alto") representa na verdade o grau de pertinência de Carlos ao conjunto de pessoas altas. Isso permite que conjuntos como "alto" e "baixo" sejam tratados de forma separadas e afirmações como "Carlos é alto 0.75" e "Carlos é baixo 0.50" sejam válidas simultaneamente, ao contrário do que seria esperado em um modelo nítido. Esse tipo de afirmação é facilmente encontrada na descrição, por humanos, na forma como entendem certo conceito, e a lógica difusa é uma ótima forma de tratar essa forma de incerteza.

Inferência difusa[editar | editar código-fonte]

Fazer uma inferência difusa significa aplicar regras do tipo SE X ENTÃO Y de forma que X e Y, e a própria sentença, sejam noções difusas.

Dessa forma, se torna mais fácil interpretar matematicamente e implementar sistemas a partir do conhecimento humano, como em: SE A TEMPERATURA É ALTA E A PRESSÃO É ALTA ENTÃO O FLUXO DE COMBUSTÍVEL DEVE SER PEQUENO.

É importante notar que no caso acima, uma versão de uso corrente da lógica difusa, a regra é igual a uma regra nítida que seria usada em um sistema especialista. Porém, os conjuntos (ALTO, MÉDIO e BAIXO para temperatura, por exemplo) permitem graus de pertinência, onde uma temperatura pode ter algum grau em todos os conjuntos, enquanto em um sistema nítido, apenas um valor seria possível.

Assim, em sistemas difusos, com um conjunto de regras, várias regras aparentemente contraditórias são válidas simultaneamente, possuindo ainda um grau de validade. A solução final é obtida por meio da agregação dos resultados por meio de alguma operação matemática, como o cálculo do centro de massa da resposta obtida.

No caso da inferência, para cada conjunto de operações básicas NÃO, E e OU escolhidos, são possíveis várias versões da implicação. Isso porque, na lógica nítida, A\rightarrowB (A implica B) é equivalente a várias sentenças.

Outra forma de inferência difusa é aplicar regras como o modus ponens e modus tollens. Isso permite várias variações. Em uma delas, sabendo que "A implica B" de forma nítida, e tendo apenas um valor difuso de A, é possível calcular o valor de B.

Conjuntos difusos[editar | editar código-fonte]

Normalmente, o uso da lógica difusa está associado ao uso de conjuntos nebulosos.

Um conjunto nebuloso estende o conceito de conjunto permitindo que um elemento passa a ter um grau de pertinência variando entre 0 e 1, ao invés de pertencer ou não ao conjunto como na teoria de conjuntos tradicional.

Veja que o princípio é o mesmo aplicado a lógica difusa, onde o grau de veracidade pode passar a variar entre 0 e 1.

Para cada conjunto, então, é criada uma função de pertinência, que indica o grau de pertinência de seus elementos. Normalmente, essa função é criada de forma a representar algum conceito impreciso, como "ser alto".

Raciocínio fuzzy[editar | editar código-fonte]

O raciocínio fuzzy também conhecido como raciocínio aproximado pode ser dividido em 5 etapas.

  • Transformação das variáveis do problema em valores fuzzy, ou fuzzificação
  • Aplicação dos operadores fuzzy
  • Aplicação da implicação
  • Combinação de todas as saídas fuzzy possíveis
  • Transformação do resultado fuzzy em um resultado nítido, a defuzzificação.

No primeiro passo, para cada valor de entrada associamos uma função de pertinência, que permite obter o grau de verdade da proposição.

  • Determinar o grau de pertinência de cada conjunto (proposição);
  • Limitar o valor da entrada entre 0 e 1;

O segundo passo é aplicar os operadores fuzzy, assim como os operadores da lógica nítida. Os operadores usados na lógica fuzzy são AND e OR, conhecidos como operadores de relação. Na lógica fuzzy são utilizados para definir o grau máximo e mínimo de pertinência do conjunto.

O terceiro passo é aplicar o operador de implicação, usado para definir o peso no resultado e remodelar a função, ou seja, o terceiro consiste em criar a hipótese de implicação. Como no exemplo abaixo:

  • Serviço é excelente OU atendimento é rápido ENTÃO pagamento é alto.

No quarto passo ocorre a combinação de todas as saídas em um único conjunto fuzzy, algo semelhante ao processo de união e intersecção, na teoria dos conjuntos abruptos.

O quinto e último passo no processo do raciocínio fuzzy, é a ‘defuzzyficação’ que consiste em retornar os valores, obter um valor numérico dentro da faixa estipulada pela lógica fuzzy.

Um exemplo simples que demonstra o processo de pertinência do raciocínio fuzzy seria. Se A é identificado como ‘o tomate está vermelho’ e B como ‘o tomate está maduro’, então se é verdade que ‘o tomate está vermelho’, é também verdade que ‘o tomate está maduro’. Essa seria um exemplo pensado na lógica tradicional onde:

  • Fato: x é A;
  • Regra: se x é A então y é B;
  • Conclusão: y é B

Esta regra aplica um conceito aproximado. Porem se pensarmos desta forma: se nós temos a mesma regra de implicação se o tomate está vermelho, então ele está maduro e nós sabemos que o tomate está mais ou menos vermelho, então nós podemos inferir que o tomate está mais ou menos maduro. Ou seja:

  • Fato: x é A’ (quase A)
  • Regra: se x é A então y é B
  • Conclusão: y é B’ (quase B)

Este conceito de fuzzyficação funciona da seguinte forma se A’ está próximo de A (situação inicial) e B’ está próximo de B (inicial). A, A’, B e B’ fazem parte do conjunto universo, chegando assim ao paradigma do raciocínio fuzzyano, também chamado de modus ponens generalizado.

Referências[editar | editar código-fonte]

  • W. Pedrycz and F. Gomide; “Fuzzy Systems Engineering : Toward Human-Centric Computing”; Wiley/IEEE Press, 2007 ; ISBN 978-0-471-78857-7
  • C. J. Harris, C. G. Moore & M. Brown; “Intelligent control : Aspects of Fuzzy Logic and Neural Nets”; World Scientific, 1993; ISBN 981-02-1042-6
  • Kosko, Bart; “Neural networks and fuzzy systems: a dynamical systems approach to machine intelligence”; Prentice-Hall International, 1992; ISBN 0-13-612334-1
  • Earl Cox; “The Fuzzy Systems Handbook : a Practitioner's Guide to Building, Using and Maintaining Fuzzy Systems”; Professional, 1994 ; ISBN 0-12-194270-8

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.