Upload
ngothuan
View
230
Download
0
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
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
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
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