Este documento apresenta exemplos de lógica difusa em Python, incluindo variáveis linguísticas, partições difusas, inferência difusa, sistemas de controle difuso, fuzificação, defuzificação e um exemplo completo de determinação de gorjeta em um restaurante usando lógica difusa.
5. Variáveis Linguı́sticas
Definida em termo de (x, T(x), U, G, M), onde:
→ x : nome da variável
→ T(x): Conjunto de valores linguı́sticos de X
→ U: universo do discurso que define x
→ G : regra sintática para definir os valores de x
→ M: regra semântica para associar cada valor ao seu significado.
5/24
7. Inferência Difusa
Regras de Produção
If < antecedente > Then < Consequente >
Regras de Controle
Se[Estado do Processo] Então [Ação de Controle]
Ex.
Se Temperatura é fria e Pressão é alta Então Ação da Válvula é positiva média
7/24
10. Base de Regras
→ Se Temperatura é alta Então Vazão é alta
→ Se Temperatura é baixa Então Vazão é baixa
→ Se Temperatura é estável Então Vazão é normal
10/24
11. Avaliação das Regras
R1: Se (A ∧ B) então Z = X
R2: Se (C ∧ D) então Z = Y
X = Força de R1 = min(µA, µB)
Y = Força de R2 = min(µC , µD)
Saı́da Final
µZ = max(Força de R1, Força de R2) ou
µZ = max(min(µA, µB), min(µC , µD))
11/24
14. Métodos de Defuzificação
Centróide:
x =
R
s xdxdy
R
s dxdy
ou
x =
P
i xi ai
P
i ai
Média dos Máximos::
x =
l
X
j=1
zj
l
Primeiro Máximo, Bisecção, ...., etc
14/24
18. Exemplo Completo - Literatura
Objetivo: Determinar a gorjeta a ser dada em um restaurante a partir de dados sobre a
qualidade da comida e o atendimento.
Regras:
R1 : Se Atendimento é ruim ou Qualidade da comida é ruim então Gorjeta é baixa
R2 : Se Atendimento é bom então Gorjeta é média
R3 : Se Atendimento é excelente ou Qualidade da comida é excelente então Gorjeta é
alta
18/24