Você está na página 1de 45

Lógica e Sistemas Nebulosos (fuzzy)

Mêuser Valença
Geber Ramalho

sor 1
Lógica Nebulosa ou Raciocínio
Aproximado (RA)

• O conhecimento humano é muitas vezes


incompleto, incerto ou impreciso.
• IA preocupa-se com formalismos de
representação e raciocínio que permitam o
tratamento apropriado a cada tipo de problema.
• Ex. Voce vai ao cinema hoje?
– Provavelmente sim.
– Não sei se vou.
– Vou de tardezinha.
– Estou com muita vontade de ir

sor 2
Tipos de Incerteza e seus Modelos

Incerteza estocástica:
 A probabilidade de acertar o alvo é 0.8

Incerteza léxica:
 "Homens Altos", "Dias Quentes", "Moeda
Estável"
 Nós provavelmente teremos um bom ano de
negócios
 A experiência do especialista A mostra que B
está quase para ocorrer, porém, o
especialista C está convencido de que não é
verdade
Muitas palavras e estimativas que nós usamos
em nosso raciocínio diário não são facilmente
definidas de forma matemática. Isso permite ao
homensorraciocinar em um nível abstrato! 3
LÓGICA FUZZY

• Objetivos
– Modelar a incerteza da linguagem natural
adaptando computadores para raciocinarem com
informações imprecisas e vagas: “imprecisões
lingüisticas”, como “alto”, “baixo”, “muito”,
“pouco”, ...
– método baseado em subconjuntos nebulosos, em
que não ha um continuum entre “pertence” ou
“nao pertence” Ex: Classe dos homens altos, a
classe de erros significativos, etc.
– Esses conceitos, apesar de imprecisos, têm um
significado óbvio considerando-se um
determinado ambiente

sor 4
LÓGICA FUZZY

• A lógica nebulosa se diferencia das lógicas


tradicionais
– conjuntos nebulosos => lógica multivariada que
permite conceito de parcialmente verdadeiro.

• Os valores verdade podem ser subconjuntos


nebulosos de um conjunto base e denotados por
termos lingüísticos
– verdadeiro, muito verdadeiro, mais ou menos
verdadeiro, não muito falso, etc.

sor 5
LÓGICA FUZZY

• Os predicados podem ser precisos como na


lógica clássica (mortal, par, pai_de), ou
imprecisos (cansado, grande, muito_mais_
pesado_ que, amigo_de).
• Os quantificadores podem ser de vários tipos
como a maioria, muitos, vários, freqüentemente,
cerca de 10, pelo menos 7.
• Os modificadores de predicado tais como não,
muito, mais_ou_menos, extremamente,
levemente, podem ser também representados.

sor 6
Teoria de Conjunto Fuzzy

Teoria de Conjunto Convencional (Booleano):


38.7°C
38°C
40.1°C 41.4°C

42°C
39.3°C Teoria de Conjunto Fuzzy:
“Febre Alta” 38.7°C
37.2°C 38°C
40.1°C 41.4°C

42°C
39.3°C

“mais ou menos“ ao invés de “ou isto


37.2°Cou aquilo”!
sor 7
Conjuntos Nebulosos

Def. O subconjunto nebuloso A de um universo de discurso


X, é definido por uma função de pertinência que associa a
cada elemento x de X o grau depertinência mA(x)
compreendido entre 0 e 1.
mA : X -> [0,1]

1 1
baixo alto baixo alto
X(m) X(m)
1,55 1,80

mALTO(1,70) = 0.6, lêia-se 1,70 pertence à classe alto c/


pertinência de 0.6
Conjunto de Definições Fuzzy

Definição discreta:
µSF(35°C) = 0 µSF(38°C) = 0.1 µSF(41°C) = 0.9
µSF(36°C) = 0 µSF(39°C) = 0.35 µSF(42°C) = 1
µSF(37°C) = 0 µSF(40°C) = 0.65 µSF(43°C) = 1

Definição contínua:
µ(x) Não mais limiares artificiais !
1

0
36°C 37°C 38°C 39°C 40°C 41°C 42°C

sor 9
Lógica Nebulosa

• Nova teoria dos conjuntos => nova lógica


– rejeita os axiomas da consistência (P  P F) e
do terceiro excluído (P  P T)

• Operadores lógicos:
– Sendo r, r1 e r2 fórmulas bem formadas
r = 1 - r
r1 r2 = min (r1,r2) ou r1  r2 (t-norma)
r1 r2 = max (r1,r2) ou r1 +r2 (s-
norma)
$ri = min (r1,r2), i  U
"ri = max (r1,r2), i  U
r1 r2 = min (r1,r2)
INTRODUÇÃO À LÓGICA FUZZY

Operações com conjuntos fuzzy

conjunto A = {5,8}

conjunto B = {4}

MÊUSER VALENÇA - E-MAIL : meuser@elogica.com.br


INTRODUÇÃO À LÓGICA FUZZY

Conjunto União

Conjunto Interseção

MÊUSER VALENÇA - E-MAIL : meuser@elogica.com.br


INTRODUÇÃO À LÓGICA FUZZY

Conjunto negação Verdade (não x) = 1.0 - Verdade (x)

MÊUSER VALENÇA - E- MAIL : meuser@elogica.com.br


Sistemas Especialistas Nebulosos
(controladores)

• Sistema de regras de produção nebulosas:


– SE x1 é A1 e ... e xn é An ENTÃO y é B
– Ex. Se a temperatura é baixa e a pressão é média
então válvula em posição normal

• Características
– Sistema reativo (1 passo de inferência, nenhum
encadeamento)
– Mais de uma regra pode disparar ao mesmo tempo
– 4 etapas: Fuzzificação, Inferência, Composição e
Defuzzificação

sor 14
Etapas

Lógica Fuzzy define a


estratégia de controle
no nível linguístico!

Measured Variables Inference + composition Command Variables


(Linguistic Values) (Linguistic Values)

Linguistic
Level

Fuzzification Defuzzification
Numerical
Level

Measured Variables Plant Command Variables


(Numerical Values) (Numerical Values)

sor 15
Etapas

• Fuzzificação
– applicação das variáveis de entrada às suas
funções de pertinência: (xk é Ak), ..., (xp é Ap)

• Inferência
– Avaliação de cada premissa: conjunções e
implicações (MIN ou PROD)

• Composição
– combinar todos os sub-conjuntos afectados à uma
variável (MAX ou SOMA)

• Defuzzificação
– Cálculo do valor nítido da variável (MAX ou
CENTROIDE)
sor 16
Exemplo 1: Pêndulo invertido

• Exemplo de Controle FUZZY


– Equilibrar uma baliza sobre uma plataforma móvel,
que pode mover-se em apenas duas direções :
esquerda ou direita.
– Inicialmente, temos que definir (subjetivamente) as
variáveis linguísticas.
– Isto é feito pela definição de funções membro para
os subconjuntos Fuzzy.

sor 17
Exemplo 1: Pêndulo invertido

• Plataforma : velocidade neg_alta, velocidade


neg_baixa, velocidade zero , etc.

sor 18
Exemplo 1: Pêndulo invertido

• Estabelecimento de Regras.
– Se posição vertical(ângulo zero) e não se move
(velocidade angular zero), estamos na situação
ideal e portanto não devemos movimentar a
plataforma (velocidade zero)
– Se ângulo zero e se move com baixa velocidade
angular, na direção positiva, devemos movimentar
a plataforma na mesma direção com velocidade
baixa.
– Se ângulo é zero e velocidade angular é
negativa_baixa então velocidade deve ser
negativa_baixa.

sor 19
Exemplo 1: Pêndulo invertido

• Sumário das REGRAS.

sor 20
Exemplo 1: Pêndulo invertido

sor 21
Exemplo 1: Pêndulo invertido

sor 22
Exemplo 1: Pêndulo invertido

sor 23
Exemplo 1: Pêndulo invertido

sor 24
Exemplo 1: Pêndulo invertido

sor 25
Exemplo 1: Pêndulo invertido

sor 26
Sumário de Desenvolvimento Fuzzy

1. Definição da Estrutura
1.1 Documentação de todas as variáveis de saída
1.2 Documentação de todas as variáveis de entrada
1.3 Estruturação de decisão (“muitos blocos de regras pequenos”)
1.4 Seleção do método de defuzzificação
2. Variáveis Linguísticas
2.1 Número de termos por variável (começar com 3 por entrada e 5 por variável de saída)
2.2 Tipo de funções de pertinência
2.3 Definição de função de pertinência
3. Definição de Regra Fuzzy
3.1 Operador Fuzzy para agregação (começar com MIN)
3.2 Operador Fuzzy para agregação de resultado(começar com MAX)
3.3 Selecionar método de definição de regra dependendo da aplicação
4. Teste Offline
4.1 Validação dos blocos de regra (identificação das regras faltantes e conflitantes)
4.2 Teste usando processo de simulação (se disponível)
4.3 Teste usando processo de dados real (se disponível)
5. Configuração
6. Operação e Manutenção O caminho certo para o sucesso!

sor 27
Exemplo 2

Dadas três variáveis x, y e z  U , as funções de pertinência e as


regras abaixo

mBAIXO(t) = 1 - t/10, mALTO(t) = t/10

R1: Se x é baixo e y é baixo então z é alto


1 Baixo Alto
R2: Se x é baixo e y é alto então z é baixo
R3: Se x é alto e y é baixo então z é baixo
R4: Se x é alto e y é alto então z é alto 10 w
Exemplo 2

Para x = 0.0, mBAIXO(x) = 1, mALTO(x) = 0 FUZZIFICAÇÃO


y = 3.2, mBAIXO(y) = 0.68, mALTO(x) = 0.32

alfa1 = 0.68 (premissas de R1) INFERÊNCIA (MIN)


alfa2 = 0.32 (premissas de R2)
alfa3 = 0 (premissas de R3)
alfa4 = 0 premissas de R4)

R1(z) = z/10, se z <= 6.8 R2(z) = 0.32, se z <= 6.8


0.68, se z > 6.8 1 - z/10, se z > 6.8

1 1
0.68
0.32
6.8 10 w 6.8 10 w
Exemplo 2

COMPOSIÇÃO (max)
fuzzy(z)= 0.32 se z <= 3.2
z/10 se 3.2 < z <= 6.8
0.68 se z > 6.8 1
0.32
3.2 6.8 10

valor nítido = centroide (z) = 5.6 DEFUZZIFICAÇÃO

sor 30
Exemplo 3: Guindaste para container

Duas variáveis de
medida e uma variável
de comando!
sor 31
Elementos Básicos de um
Sistema de Lógica Fuzzy
Fechando o “loop”
Loop de controle do Guindaste de Conteiner
com palavras!
controlado por Lógica Fuzzy:

Angle, Distance 2. Fuzzy-Inference Power


(Numerical Values) (Linguistic Variable)

Linguistic
Level
1. Fuzzification 3. Defuzzification
Numerical
Level

Angle, Distance Container Crane Power


(Numerical Values) (Numerical Values)

sor 32
1. Fuzzificação:
Variáveis Linguísticas
Definição de termos:

Ângulo := {pos_grande, pos_pequeno, zero, neg_pequeno, neg_grande}

Definição de função de pertinência:

µ zero
neg_big neg_small pos_small pos_big
1

0
-90° -45° 0° 45° 90°
Angle

sor 33
1. Fuzzificação:
Variáveis Linguísticas(Cont.)
Definição de termos:

Distância := {longe, média, perto, zero, neg_perto}

Definição de função de pertinência:


µ neg_close zero close medium far
1

0
-10 0 10 20 30
Distance [yards]
sor 34
1. Fuzzificação:
Variáveis Linguísticas(Cont.)
Definição de termos:
Potência := {pos_alta, pos_média, zero, neg_média, neg_alta}

Definição de função de pertinência:


µ neg_high neg_medium zero pos_medium pos_high
1

0
-30 -15 0 15 30
Power [Kilowatts]
sor 35
is liguísticas são 1. Fuzzificação:
lário“ de um
e Lógica Fuzzy! Variáveis Linguísticas(Cont.)
Definição de termos:
Distância := {longe, média, perto, zero, neg_perto}
Ângulo := {pos_grande, pos_pequeno, zero, neg_pequeno, neg_grande}
Potência := {pos_alta, pos_média, zero, neg_média, neg_alta}

Definição de função de pertinência:


µ zero µ neg_close zero close medium far
neg_big neg_small pos_small pos_big
1 1
0.9
0.8

0.2
0.1
0 0
-90° -45° 0° 4° 45° 90° -10 0 10 20 30
Angle
12m
Distance [yards]

sor 36
2. Inferência Fuzzy:
Regras “IF-THEN”
Implementação das regras “IF-THEN”:
#1: IF Distância = média AND Ângulo = pos_pequeno THEN Potência =
pos_média
#2: IF Distância = média AND Ângulo = zero THEN Potência = zero
#3: IF Distância = longe AND Ângulo = zero THEN Potência = pos_média
#4: IF Distância = longe AND Ângulo = pos_pequeno THEN Potência =
pos_média
 Agregação: Cálculo da parte do “IF”
 Composição: Cálculo da parte do “THEN”

As regras do sistema de
Lógica Fuzzy são as
“Leis“ que ele executa!
sor 37
2. Inferência Fuzzy:
Agregação
Lógica Boleana somente Lógica Fuzzy fornece uma
define operadores para 0/1: extensão contínua:

AND: µAvB = min{ µA; µB }

OR: µA+B = max{ µA; µB }

Agregação da parte do “IF”: NOT: µ-A = 1 - µA
#1: min{ 0.9; 0.8 } = 0.8
#2: min{ 0.9; 0.2 } = 0.2
#3: min{ 0.1; 0.2 } = 0.1 Agregação calcula quão “apropriado“
cada regra é para a situação corrente!
#4: min{ 0.1; 0.8 } = 0.1
sor 38
2. Inferência Fuzzy:
Composição

Resultado para a variável linguística Potência:

pos_média com grau 0.8 ( = max{ 0.8; 0.1;0.1 } )

zero com grau 0.2

Composição calcula o
quanto cada regra influencia
as variáveis de saída!

sor 39
3. Defuzzificação

Encontrando um resultado usando “Centro-de-gravidade”:


µ neg_high neg_medium zero pos_medium pos_high
1

“Resultado
discreto para a
potência”

0
-30 -15 0 15 30
Power [Kilowatts] 6.4 KW

sor 40
Lógica Nebulosa

• A lógica nebulosa pode ser vista em parte como uma


extensão da lógica de valores múltiplos. É a lógica
que trata de modelos de raciocínio aproximado.
• O poder expressivo da lógica nebulosa deriva do fato
de conter como casos especiais não só os sistemas
lógicos binários e de valores múltiplos, mas também
teoria de probabilidades e lógica probabilística.

sor 41
Lógica Nebulosa

• As principais características da lógica nebulosa, que


a diferencia das lógicas tradicionais são:
– Os valores verdade podem ser subconjuntos
nebulosos de um conjunto base T, usualmente o
intervalo [0,1], e denotados por termos lingüísticos
como verdadeiro, muito verdadeiro, mais ou menos
verdadeiro, não muito falso, etc.

sor 42
História, Estado da Arte e
Desenvolvimento Adicional

1965 Seminal paper “Fuzzy Logic” por Prof. Lotfi


Zadeh, Faculdade de Engenharia Elétrica, U.C.
Berkeley, “Teoria do Conjunto Fuzzy”
1970 Primeira aplicação de Lógica Fuzzy em
engenharia de controle (Europa)
1975 Introdução de Lógica Fuzzy no Japão
1980 Verificação empírica de Lógica Fuzzy na Europa
1985 Larga aplicação de Lógica Fuzzy no Japão
1990 Larga aplicação de Lógica Fuzzy na Europa
1995 Larga aplicação de Lógica Fuzzy nos Estados
Hoje, Lógica Fuzzy já Unidos
se tornou tecnologia
2000 Lógica Fuzzy tornou-se tecnologia padrão e é
padrão para controle também aplicada em análise de dados e sinais
de múltiplas variáveis! de sensores. Aplicação de Lógia Fuzzy em
finanças e negócios

sor 43
Estudo de Aplicações de IEEE em 1996

 Aproximadamente 1100 aplicações de Lógica Fuzzy bem


sucedidas são publicadas (estimado de 5% do total existente)
 Quase todas as aplicações não envolveram substituição de
um controlador tipo padrão (PID,..) e sim um controle de
supervisão de múltiplas Variáveis
 Aplicações variam de controle embutido (28%), automoção
industrial (62%) para controle de processo (10%)
 De 311 autores que responderam um quetionário,
aproximadamente 90% afirmam que Lógica Fuzzy cortou o
tempo de projeto para menos da metade
 Neste quetionário, 97.5% dos designers afirmaram que usarão
Lógica Fuzzy novamente em futuras aplicações, se Lógica
Fuzzy for aplicável
Lógica Fuzzy será indispensável
em engenharia de controle!
sor 44
Exemplos de aplicações

• Máquinas fotográficas
– auto-focus

• Máquina de lavar roupas (Máxima Continental)


• Freio ABS
• Ar condicionado
• Configuração dinâmica de servidores Web
• Qualidade de software
• etc.

sor 45

Você também pode gostar