Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette...

13
Fuzzy Logic Fuzzy Logic Fuzzy Logic Fuzzy Logic (Lógica Difusa) (Lógica Difusa) (Lógica Difusa) (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para a disciplina de Lógica para Computação 2006/2 – Prof. Marcus Ritt

Transcript of Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette...

Page 1: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Fuzzy LogicFuzzy LogicFuzzy LogicFuzzy Logic(Lógica Difusa)(Lógica Difusa)(Lógica Difusa)(Lógica Difusa)

Adriano Zanette

Eduardo Aquiles Radanovitsck

William Wolmann Gonçalves

Apresentação realizada para a disciplina de Lógica para Computação 2006/2 – Prof. Marcus Ritt

Page 2: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Breve história da Lógica FuzzyBreve história da Lógica FuzzyBreve história da Lógica FuzzyBreve história da Lógica Fuzzy

- O conceito de conjuntos nebulosos (fuzzy sets) foi introduzido por Lofti Asker Zadeh em meados da década de 60.

- Ele observou que recursos tecnológicos, baseados na lógica booleana, não eram suficientes para automatizar atividades relacionadas a problemas de natureza industrial, biológica ou química.

- Em 1974, o Prof. Ebrahim Mamdani conseguiu controlar uma máquina a vapor

com tipos diferentes de controladores aplicando o raciocínio fuzzy.

Page 3: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?

Desvantagens da lógica booleana:Desvantagens da lógica booleana:Desvantagens da lógica booleana:Desvantagens da lógica booleana:

- É impossível descrever a realidade em sua totalidade utilizandoapenas os extremos, apenas o falso ou o verdadeiro;

- A modelagem de inferências é dificultada;

- Na lógica booleana, não há o “meio-termo”; entretanto, nosso raciocínio e a linguagem natural usa esse “meio-termo” na tomada de decisões (lei do meio excluído);

- Não se aplica a operações com conceitos subjetivos;

- Logo, acaba sendo imprecisaimprecisaimprecisaimprecisa.

George Boole

Page 4: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?POR QUE LÓGICA FUZZY?

Vantagens da Lógica Difusa:Vantagens da Lógica Difusa:Vantagens da Lógica Difusa:Vantagens da Lógica Difusa:

- A Lógica Fuzzy está baseada em palavras e não em números, ou seja, os valores verdades são expressos lingüisticamente.

- Melhor tratamento das imprecisões;

- Facilidade na especificação das regras de controle, em linguagem próxima à natural;

- O uso de variáveis lingüísticas nos deixa mais perto do pensamento humano;

- Simplifica a solução de problemas;

- Proporciona um rápido protótipo dos sistemas;

- Simplifica a aquisição da base do conhecimento;

- Requer poucas regras, poucos valores e poucas decisões.

Page 5: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Um Rápido Exemplo...Um Rápido Exemplo...Um Rápido Exemplo...Um Rápido Exemplo...

Admitindo se ter 3 pessoas de alturas diferentes: pessoa A com 1,50 de altura, pessoa B com 1,79 de altura e pessoa C com 1,80 de altura.

E levando em consideração que:

- Pessoa alta: >= a 1,80 de altura;

- Pessoa baixa: < que 1,80 de altura.

Seria a pessoa B, uma pessoa de baixa estatura?

Nosso processo de inferência considera que 2 pessoas com uma diferença de 1cm de altura sejam “classificadas”, em relação a sua estatura, diferentemente?

Se não, como podemos resolver esse problema?

Modelando um raciocínio real que considera a pertinência dessa pessoa não em apenas um conjunto, mas nos dois ao mesmo tempo, e, em cada

um, um grau diferente de “o quão” ela é membro.

Page 6: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Um Rápido Exemplo...Um Rápido Exemplo...Um Rápido Exemplo...Um Rápido Exemplo...

1111

0000

Pessoa Baixa

Pessoa Alta

Altura1,79 1,80

“O quão” a pessoa B seria dos dois conjuntos:

Conjunto Pessoas Altas: 0,98

Conjunto Pessoas Baixa: 0,02

Logo, ela é suficientemente mais alta do que baixa, porém não é Logo, ela é suficientemente mais alta do que baixa, porém não é Logo, ela é suficientemente mais alta do que baixa, porém não é Logo, ela é suficientemente mais alta do que baixa, porém não é totalmente alta, totalmente alta, totalmente alta, totalmente alta, nem totalmente baixa.nem totalmente baixa.nem totalmente baixa.nem totalmente baixa.

Recuperamos o “meio” excluído!

Aplicamos a idéia básica da lógica fuzzy!

Não trabalhamos somente com os extremos, mas sim com o intervalo [0,1].

Page 7: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Aplicando na Indústria...Aplicando na Indústria...Aplicando na Indústria...Aplicando na Indústria...

Agora, pense em um sistema de refrigeração ou ventilação, que tem de controlar a temperatura de um certo ambiente e para isso possui as seguintes regras:

SE ambiente está Frio OU ambiente está Fresco ENTÃO aumentar temperatura;

SE ambiente está Morno ENTÃO manter temperatura;

SE ambiente está Quente ENTÃO diminuir temperatura;

Como percebemos, as regras são modeladas apenas por SESESESE e ENTÃOENTÃOENTÃOENTÃO, sem “SENÃOS”. Isso porque a temperatura de uma sala pode estar na intersecção de dois conjuntos. Assim, a saída passará por mais de um conseqüenteconseqüenteconseqüenteconseqüente.

As mudanças de temperaturas são graduaisgraduaisgraduaisgraduais!

Conjuntos

Page 8: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Percebeu a diferença?Percebeu a diferença?Percebeu a diferença?Percebeu a diferença?

Imagens retiradas do Imagens retiradas do Imagens retiradas do Imagens retiradas do sitesitesitesite: http:: http:: http:: http://www.dei.unicap.br/%7Ealmir/seminarios/99//www.dei.unicap.br/%7Ealmir/seminarios/99//www.dei.unicap.br/%7Ealmir/seminarios/99//www.dei.unicap.br/%7Ealmir/seminarios/99.1/.1/.1/.1/Logica_Difusa/indexLogica_Difusa/indexLogica_Difusa/indexLogica_Difusa/index....htmhtmhtmhtm

Analisando os gráficos em relação às temperaturas de um determinado ambiente, percebemos que os conjuntos bivalentes são mutuamente exclusivos,

enquanto que a Teoria dos Conjuntos Difusos permite a transição entre transição entre transição entre transição entre conjuntosconjuntosconjuntosconjuntos, modelando uma possível ocorrência do mundo real.

Page 9: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Raciocínio em Sistemas FuzzyRaciocínio em Sistemas FuzzyRaciocínio em Sistemas FuzzyRaciocínio em Sistemas FuzzyNão há como explicar o ‘funcionamento da lógica fuzzy’ apenas é possível entender seu raciocínio, conhecido como raciocínio aproximado que é dividido em quatro etapas*:

1°) Fusificação;Fusificação;Fusificação;Fusificação;2°) Inferência;Inferência;Inferência;Inferência;3°) Combinação;Combinação;Combinação;Combinação;4°) Desfuzzificação Desfuzzificação Desfuzzificação Desfuzzificação (vários métodos).

* Adaptação realizada para resumir as, originais, 5 etapas.* Adaptação realizada para resumir as, originais, 5 etapas.* Adaptação realizada para resumir as, originais, 5 etapas.* Adaptação realizada para resumir as, originais, 5 etapas.

Poucos, vários, muitos,

usualmente, em torno de...

Muito, mais, pouco, menos,

bastante, nenhum...

Quente, alto, grande, médio, frio,

forte, pequeno, morno...

QuantificadoresModificadoresPredicados

IF temperatura alta THEN ...

IF temperatura baixaTHEN ...

IF temperatura media THEN…

IF variável THEN ação

ELSE outra açãoImplicação

(1 - x) NOT x Complemento

mínimo(x,y) x AND y Intersecção

máximo(x, y) x OR y União

DefiniçãoEquivalente na Lógica Booleana

Operação

Page 10: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Voltando ao segundo exemplo...Voltando ao segundo exemplo...Voltando ao segundo exemplo...Voltando ao segundo exemplo...

A temperatura estando em, no 1º caso, 1°C e, no segundo caso, 11°C, como será o

raciocínio de nosso sistema?

1111

0000Temperatura °C-10 0 10 20 30

0,7

0,3

Frio

Fresco

Morno

Quente

1º) Caso:

F(1ºC)Frio = 0,3

F(1°C)Fresco = 0,7

>> max(F(1ºC)Frio, F(1°C)Fresco) = 0,7

Portanto, aumentar temperatura = 0,7Portanto, aumentar temperatura = 0,7Portanto, aumentar temperatura = 0,7Portanto, aumentar temperatura = 0,7

Regras:IF ambiente está Frio OR ambiente está Fresco THEN aumentar temperatura;

IF ambiente está Morno THEN manter temperatura;IF ambiente está Quente THEN diminuir temperatura;

2º) Caso:

F(11ºC)Fresco = 0,3

F(11°C)Morno = 0,7

>> max(F(11ºC)Frio, F(11°C)Fresco) = 0,3 F(11ºC)Frio = 0

Logo, aumentar temperatura = 0,3 e manter temperatura = 0,7Logo, aumentar temperatura = 0,3 e manter temperatura = 0,7Logo, aumentar temperatura = 0,3 e manter temperatura = 0,7Logo, aumentar temperatura = 0,3 e manter temperatura = 0,7.

Desfuzzificando as saídas, em cada caso obteremos um valor que será a nossa “ação” final para o mesmo, podendo resultar também na intersecção de duas ações com um valor para cada uma delas.

Page 11: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”

RobóticaRobóticaRobóticaRobótica

ElevadoresElevadoresElevadoresElevadores

““““RiceRiceRiceRice----CookersCookersCookersCookers” ” ” ”

Câmeras Fotográficas Câmeras Fotográficas Câmeras Fotográficas Câmeras Fotográficas e Processamento e Processamento e Processamento e Processamento Digital de ImagensDigital de ImagensDigital de ImagensDigital de Imagens

LavaLavaLavaLava----louçaslouçaslouçaslouças

Máquinas de Lavar RoupasMáquinas de Lavar RoupasMáquinas de Lavar RoupasMáquinas de Lavar Roupas

Page 12: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”Aplicações da “Fuzzy Logic”

Reconhecimento de PadrõesReconhecimento de PadrõesReconhecimento de PadrõesReconhecimento de Padrões

CruiseCruiseCruiseCruise ControlControlControlControl

RemoteRemoteRemoteRemote SensingSensingSensingSensing

Softwares que trabalham com as interações de agentes

(comportamentos de acordo com o que está em volta).

I, Robot

LOTR – A Soc. Do Anel

LOTR – As Duas Torres

Nárnia

Page 13: Fuzzy Logic - Instituto de Informática - UFRGS ... Fuzzy Logic (Lógica Difusa) Adriano Zanette Eduardo Aquiles Radanovitsck William Wolmann Gonçalves Apresentação realizada para

Perguntas?Perguntas?Perguntas?Perguntas?