1) O documento discute sistemas especialistas fuzzy, incluindo funções de pertinência, fuzzificação e defuzzificação. 2) É apresentado o conceito de conjuntos fuzzy, variáveis linguísticas e operações básicas em sistemas fuzzy como união e interseção. 3) O documento explica as etapas principais de um sistema de controle fuzzy, incluindo definição de variáveis, regras fuzzy e técnicas de defuzzificação.
1. Inteligência Artificial
Sistemas Fuzzy
UNIVERSIDADE EDUARDO MONDLANE
FACULDADE DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA ELECTROTÉCNICA
Docentes: Eng Roxan Cadir
Eng Ruben Manhiça
Maputo, 24 de Fevereiro de 2014
2. Conteúdo da Aula
1. Sistemas especialistas Fuzzy;
– Funções de Pertinencia
– Fuzzificação;
– Defuzzificação
2/29/16 Anotações da Aula de Inteligencia Artificial II 2
3. Sistemas especialistas Fuzzy
• Especialistas
– Senso comum para resolver problemas
– Impreciso, inconsistente, incompleto, vago
“Embora o transformador esteja um pouco carregado, pode-se
usá-lo por um tempo”
– Nenhum problema para outro especialista, mas sim para o
EC
• Lógica Fuzzy:
– Idéia: todas as coisas admitem graus (temperatura, altura,
velocidade, distância, etc...)
– Desenvolvida por Lofti A. Zadeh da Universidade da Califórnia em
Berkeley na década de 60
2/29/16 Anotações da Aula de Inteligencia Artificial II 3
4. Conjuntos Fuzzy (1/3)
• Conjuntos com limites imprecisos
Altura(
m)
1.75
1.0
Conjunto Clássico
1.0
Função de
per<nência
Altura
(m)
1.60 1.75
.5
.9
Conjunto Fuzzy
A = Conjunto de pessoas altas
.8
1.70
2/29/16 Anotações da Aula de Inteligencia Artificial II 4
5. Conjuntos Fuzzy (2/3)
• Um conjunto fuzzy A definido no universo de discurso X é
caracterizado por uma função de pertinência µA, a qual mapeia os
elementos de X para o intervalo [0,1].
µA:Xà[0,1]
• Desta forma, a função de pertinência associa a cada elemento x
pertencente a X um número real µA(X) no intervalo [0,1], que
representa o grau de pertinência do elemento x ao conjunto A, isto é,
o quanto é possível para o elemento x pertencer ao conjunto A.
• Uma sentença pode ser parcialmente verdadeira e parcialmente falsa
• µA(X) : x à[0,1], µA(X) = 0
0 < µA(X) < 1
µA(X) = 1
2/29/16 Anotações da Aula de Inteligencia Artificial II 5
6. Conjuntos Fuzzy (3/3)
• Definição formal
– Um conjunto fuzzy A em X é expresso como um conjunto de
pares ordenados:
}|))(,{( XxxxA A ∈= µ
Universo ou
Universo de discurso
Conjunto
fuzzy
Função de
pertinência
(MF)
Um conjunto fuzzy é totalmente caracterizado
por sua função de pertinência (MF)
2/29/16 Anotações da Aula de Inteligencia Artificial II 6
7. Como representar um conjunto Fuzzy num
computador?
1. Função de pertinência
– Reflete o conhecimento que se tem em relação a
intensidade com que o objeto pertence ao conjunto fuzzy
– Métodos para adquirir esse conhecimento do especialista
– Ex: Perguntar ao especialista se vários elementos
pertencem a um conjunto
2/29/16 Anotações da Aula de Inteligencia Artificial II 7
8. Função de Pertinência
• Várias formas diferentes
• Representadas uma função de mapeamento
• Características das funções de pertinência:
• Medidas subjetivas
• Funções não probabilísticas monotonicamente crescentes, decrescentes
ou subdividida em parte crescente e parte decrescente.
MFs
Altura (m)
“alto” em Moçambique
1.75
.5
.8
.1
“alto” nos EUA
“alto” na Itália
2/29/16 Anotações da Aula de Inteligencia Artificial II 8
9. Função de Pertinência
• Função Triangular
• Função Trapezoidal
• Função Gaussiana
• Função Sino Generalizada
trimf x a b c
x a
b a
c x
c b
( ; , , ) max min , ,=
−
−
−
−
⎛
⎝
⎜
⎞
⎠
⎟
⎛
⎝
⎜
⎞
⎠
⎟0
trapmf x a b c d
x a
b a
d x
d c
( ; , , , ) max min , , ,=
−
−
−
−
⎛
⎝
⎜
⎞
⎠
⎟
⎛
⎝
⎜
⎞
⎠
⎟1 0
gbellmf x a b c
x c
b
b( ; , , ) =
+
−
1
1
2
2
2
1
),,;(
⎟
⎠
⎞
⎜
⎝
⎛ −
−
= σ
cx
ecbaxgaussmf
2/29/16 Anotações da Aula de Inteligencia Artificial II 9
11. Variáveis Lingüísticas
• Uma variável linguística possui valores que não são números,
mas sim palavras ou frases na linguagem natural.
– Idade = idoso
• Um valor linguístico é um conjunto fuzzy.
• Todos os valores lingüísticos formam um conjunto de termos:
– T(idade) = {Jovem, velho, muito jovem,...
Maduro, não maduro,...
Velho, não velho, muito velho, mais ou menos velho,...
Não muito jovem e não muito velho,...}
• Permitem que a linguagem da modelagem fuzzy expresse a
semântica usada por especialistas
Exemplo:
If projeto.duração is não muito LONGO
then risco is ligeiramente reduzido
2/29/16 Anotações da Aula de Inteligencia Artificial II 11
12. Operações Básicas
→ A ⊂ B, se µB(x) ≥ µA(x) para cada x∈ X
→ A = B, se µA(x) = µB(x) para cada x∈ X
→ ⎤ A = X - A à µ⎤A(x) = 1 - µA(x)
→ µE(x) = Max [0, µA(x) - µB(x)]
→ C = A ∪ B à µc(x) = max(µA(x), µB(x))
→ C = µA(x) ∨ µB(x)
→ C = A ∧ B à µc(x) = min(µA(x), µB(x))
→ C = µA(x) ∧ µB(x)
n Subconjunto
n Igualdade
n Complemento
n Complemento
Relativo
n União
n Interseção
2/29/16 Anotações da Aula de Inteligencia Artificial II 12
13. Representação
0
0.2
0.4
0.6
0.8
1
A está contido em B
GraudePertinência
B
A
(a) Conjuntos Fuzzy A e B (b) Conjunto Fuzzy não “A”
0
0.2
0.4
0.6
0.8
1
A B
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
(c) Conjunto Fuzzy "A ou B"
0
0.2
0.4
0.6
0.8
1
(d) Conjunto Fuzzy "A e B"
2/29/16 Anotações da Aula de Inteligencia Artificial II 13
14. Exemplo (União|Interseção)
• X = {a, b, c, d, e}
– A = {1/a, 0.7/b, 0.3/c, 0/d, 0.9/e}
– B = {0.2/a, 0.9/b, 0.4/c, 1/d, 0.4/e}
– União
• C = {1/a, 0.9/b, 0.4/c, 1/d, 0.9/e}
– Interseção
• D = {0.2/a, 0.7/b, 0.3/c, 0/d, 0.4/e}
2/29/16 Anotações da Aula de Inteligencia Artificial II 14
15. Propriedades
• Comutatividade
– A ∨ B = B ∨ A A ∧ B = B ∧ A
• Idempotência
– A ∨ A = A A ∧ A = A
• Associatividade
– A ∨ (B ∨ C) = (A ∨ B) ∨ C = A ∨ B ∨ C A ∧ (B ∧ C) = (A ∧ B) ∧ C = A ∧ B ∧ C
• Distributividade
– A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)
Propriedades padrões: Comutatividade, Idempotência Associatividade,
Distributividade etc. são válidas para os conjuntos fuzzy. Exceção:
⎤ A ∧ A ≠ φ
⎤ A ∨ A ≠ X
2/29/16 Anotações da Aula de Inteligencia Artificial II 15
16. Sistemas Fuzzy
• Sistema de controle fuzzy baseado no modelo de
Mamdani.
2/29/16 Anotações da Aula de Inteligencia Artificial II 16
17. Componentes do sistema
• Definição das variáveis fuzzy de entrada e de saída:
forma e valores das variáveis
• Regras fuzzy
• Técnica de defuzzificação
2/29/16 Anotações da Aula de Inteligencia Artificial II 17
18. 18
Definição as variáveis
• Etapa na qual as variáveis linguísticas são definidas de forma subjetiva,
bem como as funções membro (funções de pertinência)
• Engloba
– Análise do Problema
– Definição das Variáveis
– Definição das Funções de pertinência
– Criação das Regiões
• Na definição das funções de pertinência para cada variável, diversos tipos
de espaço podem ser gerados:
– Triangular, Trapezoidal, Gaussiana, ...
2/29/16 Anotações da Aula de Inteligencia Artificial II
20. SE condição ENTÃO conclusão, com variáveis linguísticas (fuzzy)
Exemplo:
Se a fruta é verde então o gosto é azedo
Se a fruta é amarela então o gosto é pouco-doce
Se a fruta é vermelha então o gosto é doce
Regras Fuzzy
2/29/16 Anotações da Aula de Inteligencia Artificial II 20
21. 21
Defuzzificação
• Etapa no qual as regiões resultantes são convertidas em valores para
a variável de saída do sistema
• Esta etapa corresponde a ligação funcional entre as regiões Fuzzy e o
valor esperado.
– converte as variáveis fuzzy em valores numéricos ou aceitáveis
pelo sistema.
2/29/16 Anotações da Aula de Inteligencia Artificial II
22. 22
Técnica de Defuzzificação
• Dentre os diversos tipos de técnicas de
defuzzificação, pode-se citar:
– Centróide
• O valor de saída é o centro da gravidade da função de
distribuição da possibilidade da acção de controle.
2/29/16 Anotações da Aula de Inteligencia Artificial II
23. • Método do Primeiro dos Máximos
– Encontra o primeiro ponto entre os valores que tem o maior
grau de pertinência inferido pelas regras.
2/29/16 Anotações da Aula de Inteligencia Artificial II 23
24. 24
• Método da Média dos Máximos
– Encontra o ponto médio entre os valores que tem o maior
grau de pertinência inferido pelas regras.
2/29/16 Anotações da Aula de Inteligencia Artificial II
25. Exemplos:
z0 z0 z0
Centróide Primeiro dos
máximos
Média dos
Máximos
Técnica de Defuzzificação
2/29/16 Anotações da Aula de Inteligencia Artificial II 25
27. Fuzzificação
n Etapa na qual os valores numéricos são transformados
em graus de pertinência para um valor lingüístico.
n Cada valor de entrada terá um grau de pertinência em
cada um dos conjuntos difusos. O tipo e a quantidade de
funções de pertinência usados em um sistema
dependem de alguns fatores tais como: precisão,
estabilidade, facilidade de implementação...
2/29/16 Anotações da Aula de Inteligencia Artificial II 27
28. INFERÊNCIA: Avaliação das regras
• Cada antecedente (lado if) tem um grau de
pertinência. A ação da regra (lado then) representa a
saída nebulosa da regra. Durante a avaliação das
regras, a intensidade da saída é calculada com base
nos valores dos antecedentes e então indicadas
pelas saídas nebulosas da regra.
2/29/16 Anotações da Aula de Inteligencia Artificial II 28
29. INFERÊNCIA: Agregação das Regras
• São as técnicas utilizadas na obtenção de um
conjunto difuso de saída “x” a partir da inferência nas
regras.
• Determinam quanto a condição de cada regra será
satisfeita.
• Para cada variável fuzzy de saída, considera o
resultado de todas as regras. Por exemplo,
considerando a pertinência máxima das regras para
cada valor da variável.
2/29/16 Anotações da Aula de Inteligencia Artificial II 29
30. Defuzzificação
• Processo utilizado para converter o conjunto
difuso de saída em um valor crisp
correspondente.
– Alguns métodos de defuzzificação:
• Centróide,
• Média dos máximos,
• Primeiro dos máximos,
• Último dos máximos,
• etc.
2/29/16 Anotações da Aula de Inteligencia Artificial II 30
31. 31
Um exemplo
• Objetivo do sistema:
– um analista de projetos de uma empresa que determina o risco de
um determinado projeto
• Variáveis de entrada:
• quantidade de dinheiro e de pessoas envolvidas no projeto
• Base de conhecimento
1. Se dinheiro é adequado ou pessoal é baixo então risco é pequeno
2. Se dinheiro é médio e pessoal é alto, então risco é normal
3. Se dinheiro é inadequado, então risco é alto
Problema a ser resolvido: dinheiro = 35% e pessoal = 60%
2/29/16 Anotações da Aula de Inteligencia Artificial II
32. 32
Inferência Fuzzy: Um exemplo
• Passo 1: Fuzzificar
( ) 0,75& ( ) 0,25i md dµ µ= =
Dinheiro
Inadequado Médio Adequado
35
.25
.75
Pessoal
60
Baixo Alto
.2
.8
8,0)(&2,0)( == pp ab µµ
2/29/16 Anotações da Aula de Inteligencia Artificial II
33. 33
Inferência Fuzzy: Um exemplo
• Passo 2: Avaliação das regras
– OU → máximo E → mínimo
Adequado
Regra 1:
Baixo0,0
ou
0,2
Risco
médio
Regra 2:
Alto
0,25
e
0,8
Risco
2/29/16 Anotações da Aula de Inteligencia Artificial II
36. Outro exemplo
• O sistema tem como objetivo determinar a gorjeta
que um cliente deve dar.
• Esse sistema possui três variáveis (serviço, comida e
gorjeta).
As variáveis comida e serviço são variáveis de entrada
e gorjeta é a variável de saída.
2/29/16 Anotações da Aula de Inteligencia Artificial II 36
38. 38
Ex. Aplicações
• Mitsubishi tem um ar condicionado industrial que usa um controlador fuzzy. Economiza
24% no consumo de energia.
• Metrô de Sendai, Japão, usa um controlador fuzzy para controlar os vagões.
Proporciona uma viagem suave em todas as condições de terreno.
• Câmeras de fotografar e filmar usam fuzzy para ajustar foco automático e cancelar os
tremores causados pelas mãos trêmulas.
• A Nissan possui projetos de sistemas de freio, controle de transmissão e injetores de
combustível fuzzy.
• Aplicações de software para buscar e comparar imagens por certas regiões de pixels de
interesse.
2/29/16 Anotações da Aula de Inteligencia Artificial II
39. Ex. Aplicações
• As maquinas de copier Canon ajustam a voltagem do tambor
baseado na densidade da imagem, temperatura e umidade.
• Maquina de secar de roupa Matsushita ajusta a estratégia do
tempo de secagem baseado no tamanho da carga e tipo de
tecido
• Maquinas de lavar (Daewoo, Goldstar, Hitachi, Matsushita,
Samsung, Sony, Sharp, etc.) ajustam a estratégia de lavagem,
baseado no nível sujeira, tipo de tecido, na quantidade de
roupa, e nível d’água.
• Etc.
2/29/16 Anotações da Aula de Inteligencia Artificial II 39
40. 40
Exemplos
• Softwares para auxílio a projeto e implementação de
Sistemas Fuzzy:
– InFuzzy (desenvolvido na UNISC)
– Fuzzy Toolbox do Matlab
– NEFCON, NEFCLASS e NEFPROX... (desenvolvidos pela
Universidade de Magdeburg)
• disponível para download em
• http://fuzzy.cs.uni-magdeburg.de/
• http://fuzzy.cs.uni-magdeburg.de/wiki/pmwiki.php?n=Forschung.Software
– SciFLT for Scilab (free)
– UnFuzzy (free)
– FuzzyTech
– FuzzyClips (free, API para Java)
2/29/16 Anotações da Aula de Inteligencia Artificial II
41. Bibliografia
• Terano, T., Asai, K., Sugeno, M. - Fuzzy Systems Theory and its
Applications - Editora Academic Press, 1992 (ISBN:
0126852456)
• Driankov, Dimiter - An introduction to fuzzy control - Editora
Springer-Verlag , 1996 (ISBN: 3540606912)
• MAMDANI, E. H. Aplications of fuzzy algorithms for control of
simple dynamic plant. Proc. IEEE 121, vol. 12, p. 1585-1588,
1973.
• SUGENO, M.. An introductory survey of fuzzy control.
Information Sciences 36, p. 59-83, 1985.
2/29/16 Anotações da Aula de Inteligencia Artificial II 41