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?
–
–
–
–
sor
Provavelmente sim.
Não sei se vou.
Vou de tardezinha.
Estou com muita vontade de ir
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
39.3°C
41.4°C
42°C
“Febre Alta”
37.2°C
Teoria de Conjunto Fuzzy:
38.7°C
38°C
40.1°C
39.3°C
41.4°C
42°C
37.2°Cou aquilo”!
“mais ou menos“ ao invés de “ou isto
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
X(m)
1,55
alto
1,80
X(m)
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:
Não mais limiares artificiais !
µ(x)
1
0
36°C
sor
37°C
38°C
39°C
40°C
41°C
42°C
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
(snorma)
$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 : [email protected]
INTRODUÇÃO À LÓGICA FUZZY
Conjunto União
Conjunto Interseção
MÊUSER VALENÇA - E-MAIL : [email protected]
INTRODUÇÃO À LÓGICA FUZZY
Conjunto negação Verdade (não x) = 1.0 - Verdade (x)
MÊUSER VALENÇA - E- MAIL : [email protected]
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
(Linguistic Values)
Inference + composition
Command Variables
(Linguistic Values)
Linguistic
Level
Numerical
Level
Measured Variables
(Numerical Values)
sor
Defuzzification
Fuzzification
Plant
Command Variables
(Numerical Values)
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
sor
– Cálculo do valor nítido da variável (MAX ou
CENTROIDE)
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
1.2
1.3
1.4
Documentação de todas as variáveis de saída
Documentação de todas as variáveis de entrada
Estruturação de decisão (“muitos blocos de regras pequenos”)
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
sor
O caminho certo para o sucesso!
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
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
Alto
10
w
Exemplo 2
Para x = 0.0, mBAIXO(x) = 1, mALTO(x) = 0
y = 3.2, mBAIXO(y) = 0.68, mALTO(x) = 0.32
FUZZIFICAÇÃO
alfa1 = 0.68 (premissas de R1)
alfa2 = 0.32 (premissas de R2)
alfa3 = 0
(premissas de R3)
alfa4 = 0
premissas de R4)
INFERÊNCIA (MIN)
R1(z) = z/10, se z <= 6.8
0.68, se z > 6.8
R2(z) = 0.32,
1 - z/10,
1
0.68
se z <= 6.8
se z > 6.8
1
0.32
6.8
10
w
6.8
10
w
Exemplo 2
fuzzy(z)= 0.32
z/10
0.68
se z <= 3.2
se 3.2 < z <= 6.8
se z > 6.8
COMPOSIÇÃO (max)
1
0.32
3.2
valor nítido = centroide (z) = 5.6
sor
6.8
10
DEFUZZIFICAÇÃO
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
Loop de controle do Guindaste de Conteiner
controlado por Lógica Fuzzy:
Angle, Distance
(Numerical Values)
2. Fuzzy-Infe re nce
Fechando o “loop”
com palavras!
Power
(Linguistic Variable)
Linguistic
Lev e l
Nume rical
Lev e l
Angle, Distance
(Numerical Values)
sor
3. De fuzzification
1. Fuzzification
Containe r Crane
Power
(Numerical Values)
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:
µ
neg_big
zero
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
sor
0
10
Distance [yards]
20
30
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
1. Fuzzificação:
Variáveis Linguísticas(Cont.)
Definição de termos:
As Variáveis liguísticas são
o “vocabulário“ de um
Distância := {longe, média, perto, zero, neg_perto}
sistema de Lógica Fuzzy!
Â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:
µ
neg_big
zero
neg_small pos_small
µ
pos_big
neg_close zero
close
medium
far
1
1
0.9
0.8
0.2
0.1
0
0
-90°
-45°
0°
4°
Angle
sor
45°
90°
-10
0
10
12m
Distance [yards]
20
30
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:
 Composição:
Cálculo da parte do “IF”
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
define operadores para 0/1:
Lógica Fuzzy fornece uma
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
#4: min{ 0.1; 0.8 } = 0.1
sor
Agregação calcula quão “apropriado“
cada regra é para a situação corrente!
38
2. Inferência Fuzzy:
Composição
Resultado para a variável linguística Potência:
pos_média
com grau 0.8
zero
com grau 0.2
( = max{ 0.8; 0.1;0.1 } )
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
Power [Kilowatts]
sor
15
30
6.4 KW
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
Unidos
Hoje, Lógica Fuzzy já
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
Download

fuzzy-es