37
1/37 Inteligência Computacional Lógica Fuzzy Aula 4 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia Eletrônica – 9º Período CP78D

Inteligência Computacional - coenc.td.utfpr.edu.brcoenc.td.utfpr.edu.br/~danielc/Ensino/Graduacao/CP78D... · Plano de Aula •Lógica Clássica •Lógica Fuzzy •Conceitos •Operadores

Embed Size (px)

Citation preview

1/37

Inteligência ComputacionalLógica Fuzzy

Aula 4Prof. Daniel Cavalcanti Jeronymo

Universidade Tecnológica Federal do Paraná (UTFPR)Engenharia Eletrônica – 9º Período

CP78D

2/37

Plano de Aula

• Lógica Clássica

• Lógica Fuzzy

• Conceitos

• Operadores

• Sistemas

• Atividade

3/37

Lógica

• Do grego logos – palavra, pensamento, ideia, argumento, razão

• Modelo de raciocínio

Lógica Conceitos Operadores Sistemas Atividade

4/37

Lógica• Lógica clássica

• Lei do terceiro excluído: P ou ~P

“Ou A é x ou é y e não há terceira possibilidade”

• Lei da não-contradição: ~(P e ~P)

Uma proposição verdadeira não pode ser falsa e uma falsa não pode ser verdadeira

• Lei da identidade

Todo objeto é idêntico a si mesmo

Aristóteles

Lógica Conceitos Operadores Sistemas Atividade

5/37

Lógica• Extensões da lógica clássica – “viajo se não chover”

• Lógica Modal: agrega possibilidades

“é possível que eu viaje se não chover”

• Lógica Epistêmica: agrega certeza ou incerteza

“pode ser que chova amanhã mas não posso provar”

“é impossível gelo a 100º C”

• Lógica deôntica: agrega moral, direitos, proibições e obrigações

“viajo se não chover mas pago pedágio”

Lógica Conceitos Operadores Sistemas Atividade

6/37

Lógica

• Lógicas “anticlássicas” – derrogam pelo menos um dos três princípios

• Lógica paraconsistente: derroga o princípio de contradição, afirmações podem ser falsas ou negativas dependendo do contexto

Admite (A e ~A)

Newton Carneiro Affonso da CostaCuritiba / Brasil

Lógica Conceitos Operadores Sistemas Atividade

7/37

Lógica

• Lógicas “anticlássicas” – derrogam pelo menos um dos três princípios

• Lógica paracompleta: derroga o princípio de terceiro excluído, uma oração pode não ser falsa nem verdadeira, existe uma terceira condicional

Rejeita (P ou ~P)

Respostas:Paracompleta – existe uma terceira opçãoParaconsistente – pode ser verdadeira ou falsa

Lógica Conceitos Operadores Sistemas Atividade

8/37

Lógica

• Lógicas “anticlássicas” – derrogam pelo menos um dos três princípios

• Lógica fuzzy: derroga o princípio de terceiro excluído, substituindo os valores lógicos por valores de pertinência

Lógica ClássicaConjuntos Crisp

Lógica FuzzyConjuntos Fuzzy

Lógica Conceitos Operadores Sistemas Atividade

9/37

Lógica Fuzzy

• Lógica Fuzzy – proposta formal por Lofti Zadeh (1965)

• Lógica clássica: bivalente

• Multivalência: desenvolvida por Jan Lukasiewicz (1878 – 1956) para lidar com o Princípio da Incerteza da Mecânica Quântica

• Lógica Fuzzy: elementos pertencem à um conjunto em diferentes graus (graus de pertinência)

Lofti Zadeh

Jan Lukasiewicz

Alfred Tarski

Lógica Conceitos Operadores Sistemas Atividade

10/37

Lógica Fuzzy

• Exemplo

Lógica Conceitos Operadores Sistemas Atividade

11/37

Lógica Fuzzy

• Função de pertinência µ(x): define quantitativamente o quanto um membro pertence à um conjunto

• Universo de discurso: limites de validade do domínio do conjunto fuzzy

Lógica Conceitos Operadores Sistemas Atividade

12/37

Lógica Fuzzy

• Função de pertinência µ(x): define quantitativamente o quanto um membro pertence à um conjunto

• Universo de discurso: limites de validade do domínio do conjunto fuzzy

Pertinência: grau de verdade entre [0,1]O quanto um elemento pertence ao conjunto fuzzy associado

Lógica Conceitos Operadores Sistemas Atividade

13/37

Lógica Fuzzy

• Fuzzificação: transformação das variáveis do problema em valores fuzzy

• A função de pertinência associa um grau de verdade à um valor de entrada

Lógica Conceitos Operadores Sistemas Atividade

14/37

Lógica Fuzzy

• Inferência: Aplicação dos operadores fuzzy e da implicação

• SE <premissa> ENTÃO <conclusão>

Lógica Conceitos Operadores Sistemas Atividade

15/37

Lógica Fuzzy

• Deffuzificação: Transformação dos valores fuzzy em variáveis do problema

• Pode resultar numa decisão (abrir válvula) ou num valor real (válvula com abertura X)

Lógica Conceitos Operadores Sistemas Atividade

16/37

Lógica Fuzzy• Operações básicas em conjuntos fuzzy

• União

• Interssecção

• Complemento

• Subconjunto

• Igualdade

Lógica Conceitos Operadores Sistemas Atividade

17/37

Lógica Fuzzy

• União (conorma-t ou norma-s)

• máximo das funções de pertinência (Zadeh)

Lógica Conceitos Operadores Sistemas Atividade

18/37

Lógica Fuzzy

• Interssecção (norma-t)

• mínimo das funções de pertinência (Zadeh)

Lógica Conceitos Operadores Sistemas Atividade

19/37

Lógica Fuzzy

• Complemento (conorma-t ou norma-s)

• Inverso do conjunto – assumindo função normalizada [0,1]

Lógica Conceitos Operadores Sistemas Atividade

20/37

Lógica Fuzzy

• Outras operações de conjuntos

Lógica Conceitos Operadores Sistemas Atividade

21/37

Lógica Fuzzy

• Sistemas Fuzzy

Lógica Conceitos Operadores Sistemas Atividade

22/37

Lógica Fuzzy

• Sistemas Fuzzy

• Mamdani – linguístico

• Takagi-Sugeno-Kang – numérico (interpolativo)

• Fuzzy Tipo 2 – incertezas

Lógica Conceitos Operadores Sistemas Atividade

23/37

Atividade

• Aquecimento – Escolher um bom jogador de basquete

• Critérios com escolha booleana

Altura ≥ 185cm

Taxa de acertos ≥ 80%

Lógica Conceitos Operadores Sistemas Atividade

Jogador Altura Taxa de acertos Escolha booleana

A 167 75 0

B 175 95 0

C 179 75 0

D 183 100 0

E 186 85 1

F 187 75 0

G 190 80 1

H 200 75 0

24/37

Atividade

• Aquecimento – Escolher um bom jogador de basquete

• Critérios Fuzzy

Intersseção entre jogadores altos e jogadores bons

Norma-t: mínimo

Lógica Conceitos Operadores Sistemas Atividade

Jogador Altura Taxa de acertos Escolha booleana µaltura(x) µacerto(x) min(µaltura(x), µacerto(x))

A 167 75 0

B 175 95 0

C 179 75 0

D 183 100 0

E 186 85 1

F 187 75 0

G 190 80 1

H 200 75 0

25/37

Atividade

• Aquecimento – Escolher um bom jogador de basquete

• Critérios Fuzzy

Lógica Conceitos Operadores Sistemas Atividade

Jogador Altura Taxa de acertos Escolha booleana µaltura(x) µacerto(x) min(µaltura(x), µacerto(x))

A 167 75 0 0.10 0.75 0.10

B 175 95 0 0.50 1.00 0.50

C 179 75 0 0.70 0.75 0.70

D 183 100 0 0.90 1.00 0.90

E 186 85 1 1.00 1.00 1.00

F 187 75 0 1.00 0.75 0.75

G 190 80 1 1.00 1.00 1.00

H 200 75 0 1.00 0.75 0.75

altura acertos

alto bom

basquete.py

26/37

Atividade

• Aquecimento – Uma boa gorjeta

• Antecedentes

• Qualidade do serviço de 0 a 10 (ruim, decente, bom)

• Qualidade da comida de 0 a 10 (ruim, decente, bom)

• Consequente

• Quanto de gorjeta de 0% a 25% (pouco, médio, muito)

Lógica Conceitos Operadores Sistemas Atividade

27/37

Atividade

• Aquecimento – Uma boa gorjeta

• Antecedentes

• Qualidade do serviço de 0 a 10 (ruim, decente, bom)

• Qualidade da comida de 0 a 10 (ruim, decente, bom)

• Consequente

• Quanto de gorjeta de 0% a 25% (pouco, médio, muito)

Lógica Conceitos Operadores Sistemas Atividade

conjuntos fuzzy

universo de discurso

28/37

Atividade

• Aquecimento – Uma boa gorjeta

Lógica Conceitos Operadores Sistemas Atividade

Qualidade da comida

Qualidade do serviço

Gorjeta

RuimDecenteBom

RuimDecenteBom

PoucoMédioMuito

gorjeta.py

Funções de pertinência

29/37

Atividade

• Aquecimento – Uma boa gorjeta

• Regras

• Se a comida é ruim OU o serviço é ruim então a gorjeta é baixa

• Se o serviço é decente então a gorjeta é média

• Se a comida é boa E o serviço é bom então a gorjeta é muito

Lógica Conceitos Operadores Sistemas Atividade

gorjeta.py

30/37

Atividade

• Aquecimento – Uma boa gorjeta

• Qualidade de serviço: 9.8

• Qualidade da comida: 6.5

Lógica Conceitos Operadores Sistemas Atividade

Qualidade do serviço Gorjeta – Implicação min(µdecente(9.8), µmedio(x)) Gorjeta consequente

Regra 2 - Se o serviço é decente então a gorjeta é média

Regra 1 não é ativada!

gorjeta.py

31/37

Atividade

• Aquecimento – Uma boa gorjeta

• Qualidade de serviço: 9.8

• Qualidade da comida: 6.5

Lógica Conceitos Operadores Sistemas Atividade

Qualidade do serviço Gorjeta consequente

Regra 3 - Se a comida é boa E o serviço é bom então a gorjeta é muito

Regra 1 não é ativada!

gorjeta.py

Qualidade da comida

E min(µbom (9.8), µbom (6.5)) Gorjeta – Implicaçãomin( min(µbom (9.8), µbom (6.5)) , µbom (x) )

32/37

Atividade

• Aquecimento – Uma boa gorjeta

• Agregação dos consequentes gerados pelas regras 2 e 3

Lógica Conceitos Operadores Sistemas Atividade

gorjeta.py

Consequente da regra 2 Consequente da regra 3 Consequentes agregados (operador max)

33/37

Atividade

• Aquecimento – Uma boa gorjeta

• Deffuzificação – centro de gravidade (centróide)

Lógica Conceitos Operadores Sistemas Atividade

gorjeta.py

Gorjeta = (0.0*0 + 0.04*1 + 0.04*2 + 0.04*3 + 0.04*4 + 0.04*5 + 0.04*6 + 0.04*7 + 0.04*8 + 0.04*9 + 0.04*10 + 0.04*11 + 0.04*12 + 0.04*13 + 0.08*14 + 0.17*15 + 0.25*16 + 0.30*17 + 0.30*18 + 0.30*19 + 0.30*20 + 0.30*21 + 0.30*22 + 0.30*23 + 0.30*24 + 0.30*25) / (0.0 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.04 + 0.08 + 0.17 + 0.25 + 0.30 + 0.30 + 0.30 + 0.30 + 0.30 + 0.30 + 0.30 + 0.30 + 0.30)

Gorjeta = 18.28%

34/37

Atividade

• Aquecimento – Uma boa gorjeta

• Considerações

• Todas as regras disparam simultaneamente

• Regras disparam em paralelo

• Todas as regras com algum grau de influência – algumas nulas

• O resultado é a união dos consequentes de cada regra

Lógica Conceitos Operadores Sistemas Atividade

35/37

Atividade

• Aquecimento – Uma boa gorjeta

• Considerações

• Testar com fq=10 e sq=10 – Gorjeta = 21%

• Deveria ser 25%

• Alguma parte do projeto deve ser repensada:

• Conjuntos fuzzy (antecedentes e consequentes) ?

• Regras ?

• Deffuzificação ?

Lógica Conceitos Operadores Sistemas Atividade

36/37

Atividade

• Aquecimento – Uma boa gorjeta

• Considerações

• Trocar o conjunto fuzzy dos consequentes por um impulso?

• Função de pertinência singleton

• Conjunto fuzzy “pré-deffuzificado”

• Resultado final é uma média ponderada

• Peso das regras + singletons

• Sistema resultante é um modelo Sugeno de ordem zero

Lógica Conceitos Operadores Sistemas Atividade

gorjeta_sugeno.py

37/37

Atividade

• Atividade – controlador Fuzzy

• Adapte o exemplo de controle PI discreto (PI_control.py)

• Substitua o controle PI por um controlador fuzzy de seu projeto

• O processo controlado é um processo de temperatura de primeira ordem (“hair dryer”)

Lógica Conceitos Operadores Sistemas Atividade