Sistemas Fuzzy Lógica Fuzzy e Sistemas Baseados em
Regras Fuzzy
Profa. Dra. Sarajane M. Peres e Prof. Dr. Clodoaldo A. M. Lima EACH – USP
http://each.uspnet.usp.br/sarajane/
} Baseado em: ◦ Dimensão Topológica e Mapas Auto-Organizáveis de Kohonen.
Sarajane Marques Peres. Tese de Doutorado defendida na Faculdade de Engenharia Elétrica e de Computação, da Universidade Estadual de Campinas, 2006.
◦ An introduction of Fuzzy Sets: Analysis and Design. Witold
Pedrycz e Fernando Gomide. Mit Press, 1998.
} Instituições sociais, políticas e educacionais utilizam-se de classificações para dividir a sociedade em categorias, de acordo com a sua renda familiar.
} Esta rotulação varia de sociedade para sociedade, de época para época, e
admite diferentes rótulos em diferentes contextos. } Modelar essa situação não é fácil. } Por exemplo: ◦ Considere a seguinte categorização realizada com base na renda familiar
brasileira: uma família que recebe menos de R$100,00 por mês e por membro é considerada “pobre”; por outro lado, é considerada “rica” aquela família que recebe acima de R$2.500,00 por mês e por membro.
} Sobre classificações deste tipo desenvolvem-se programas de assistência social,
tabelas de tarifas de impostos, entre outras modelagens que podem afetar direta ou indiretamente a vida dos cidadãos.
Introdução
} A questão que se levanta desta situação não é, ao contrário do que possa parecer, se os limites de R$100,00 e R$2.500,00 estão de acordo com a realidade, mas sim, se os cidadãos que se encontram nas margens destes limites estão sendo adequadamente tratados pelos modelos que os representa.
} A teoria de Conjuntos Fuzzy é capaz de adequar os modelos de descrição e
tratamento de situações do mundo real às reais necessidades de representação.
} A essência dessa teoria está na aceitação da “incerteza” como um fato das
situações reais, que deve ser apropriadamente modelado e tratado por métodos matemáticos quando existe a intenção desses em interpretar e lidar com situações do mundo real.
Introdução
} Interpretação geométrica e poder de expressividade } A teoria de conjuntos fuzzy é uma generalização da teoria de conjuntos que
nos liberta da dicotomia imposta por esta última e aumenta o poder de expressividade os conjuntos.
Introdução: poder de expressividade
} Uma modelagem utilizando a teoria de conjuntos fuzzy poderia representar o conjunto de pessoas que pertencem à classe “pobre” como aqueles que possuem uma renda em até R$100,00 por mês por membro e, utilizando-se de uma função decrescente, modelar a pertinência parcial daquelas que possuem uma renda de R$100,00 ou mais.
} Dessa forma, a modelagem poderia expressar que uma pessoa vivendo em uma
família cuja renda por mês por membro é R$110,00 é “pobre”, porém não tanto quanto aquela que pertence a uma família cuja renda por pessoa por mês é R$98,00.
} É possível também definir uma generalização da lógica proposicional, permitindo
criar modelos computacionais que lidem com expressões em linguagem natural, capazes de resolver problemas com um grau de precisão avançado e de lidar com conceitos de acordo com o que eles significam no contexto em que estão inseridos.
} Essa computação é embasada pela teoria do raciocínio aproximado.
Introdução
Introdução: verdade (?) } Conceito básico
} Grau de crença: } População composta de ocidentais e orientais } Probabilidade de alguém ser oriental
} Grau de verdade: } População de mestiços } Grau de verdade na afirmação “x é oriental”.
Introdução: Paradoxo do Careca
} Tirar um fio de cabelo de uma pessoa não a torna careca.
} Uma pessoa, inicialmente não-careca, se torna careca se tirarmos seus fios de cabelo um a um. Mas, em nenhuma das etapas ele se tornou careca.
} Logo, ela se tornou careca sem se tornar careca.
} Este paradoxo desarma a lógica tradicional.
Introdução
} O conhecimento humano é incerto, incompleto ou impreciso. } Ex.: Você vai para o show do Eric Clapton?
} talvez sim. } se não chover eu vou. } se o ingresso não for caro vou. } vou logo cedo.
} Muitas das frases e estimativas humanas não são facilmente
definidas através de formalismos matemáticos.
Contextualizando
} Teoria de conjuntos fuzzy (teoria de base)
} Lógica Fuzzy (formalização) } raciocinador
} Sistemas Fuzzy (implementação)
} A pertinência de um elemento a um conjunto é caracterizada pela função característica (ou função de pertinência) que define esse conjunto.
} Conjunto crisp (clássico) } Conjunto fuzzy
{ }1,0: →XAµ
[ ]1,0: →XAµ
Função de pertinência de um conjunto clássico A é
µA, onde X é o universo de discurso.
Função de pertinência de um conjunto fuzzy A é µA,
onde X é o universo de discurso (um conjunto de
elementos crisp).
Conceitos Básicos
} Uma das formas possíveis para representar um conjunto fuzzy: ◦ Se definido em um universo finito e discreto, com cardinalidade n, então
um conjunto fuzzy é dado na forma de um vetor n-dimensional cujas entradas denotam os graus de pertinência dos elementos de X.
◦ Se X = {x1, x2, ..., xn} então um conjunto fuzzy A = {(ai/xi) | xi ε X} pode
ser escrito como
A = a1/x1 + a2/x2 + ... + an/xn = Σi=1:n ai/xi
Conceitos Básicos
Essa notação não deve ser confundida com a “soma algébrica”
} Representação usando funções: ◦ Ex.: Função triangular (veja outras em Pedrycs e Gomide, pg 9). A(X) =
0, se x <= a x – a / m – a, se x ε [a, m] b – x / b – m, se x ε [m, b] 0, se x > = b Onde m é um valor modal e a e b detonam os limites inferior e superior,
respectivamente, para valores diferentes de 0 para A(x).
Conceitos Básicos
} A função de pertinência, que define a pertinência de um elemento a um conjunto fuzzy, pode assumir diversas formas:
Quatro formas diferentes de representar o conceito de números reais próximos a 2 por meio e conjuntos fuzzy.
Conceitos Básicos
} Exemplos:
PARAMS = [A B C] is a 3-element vector that determines the break points of this membership function. Usually we require A <= B <= C.
PARAMS = [A B C D] is a 4-element vector that determines the break points of this membership function. We require that A <= B and C <= D.
Conceitos Básicos
Contextualizando...
Grau de Pertinência
)(xµ
0 2 4 6 8 10 12 14 16 18
Duração(em semanas)
1
Um projeto Longo
0 2 4 6 8 10 12 14 16 18 Duração(em semanas)
Contextualizando ...
} As operações entre conjuntos também são generalizadas
◦ Complemento:
Operações com conjuntos fuzzy
} A generalização das operações de interseção e união podem ser feitas por mais de um modelo.
} Interseção (t-normas) ◦ O operador min (^) é uma t-norma (maior interseção)
} União (s-normas) ◦ O operado max (v) é uma s-norma (menor união)
Operações com conjuntos fuzzy
} Concentração: quando um conjunto fuzzy é concentrado, sua função de pertinência assume valores relativamente menores.
} Con_A(x) = Ap(x) } Note que a operação modifica os graus
de pertinências dos valores do universo de discurso ao conceito representado.
} O conjunto muda.
Modificadores
} Dilatação: quando um conjunto fuzzy é dilatado, sua função de pertinência assume valores relativamente maiores.
} Dil_A(x) = Ar(x), onde r ε [0,1] } Note que o efeito é contrário àquele
obtido na concentração.
Modificadores
} Intensificação de contraste: os
valores de pertinência menores do que ½ são diminuídos enquanto os valores maiores são elevados.
Modificadores
} Fuzzificação: o efeito é
complementar ao efeito da intensificação de contraste.
Modificadores
} Pode-se definir uma variável lingüística informalmente como uma variável cujos valores são palavras ou sentenças, ao invés de números.
Variáveis Linguísticas
} Formalmente, uma variável lingüística é caracterizada pela quíntupla:
< X, T(X), X, G, M>
Sendo: ◦ X o nome da variável; ◦ T(X) o conjunto de termos de X cujos elementos são rótulos de valores
lingüísticos de X; ◦ G uma gramática para gerar os nomes de X; ◦ M uma regra semântica para associar cada rótulo L ε T(X) ao significado
M(L) que é um conjunto fuzzy no universo X, cuja variável base é x.
Variáveis Linguísticas
} Variável lingüística chamada temperatura. ◦ X = temperatura com temperaturas variando no intervalo T = [0,50] e variável
base t ε T. ◦ O conjunto de termos associado a essa variável pode ser, entre outros,
T(temperatura) = muito baixa, baixa, média, alta, não baixa e não muito alta, muito alta em que cada termos em T(temperatura) é um rótulo de um valor lingüístico de temperatura.
◦ M(T) é um conjunto fuzzy de T, cuja função de pertinência T(t) cobre a
semântica do nome de T. ◦ Os termos muito baixa, não baixa e não muito alta e muito alta podem ter suas
funções de pertinência derivadas da aplicação de interseção ou complemento e/ou da aplicação de modificadores sobre as funções de pertinências dos termos baixa e alta, caracterizando a “computação com variáveis e termos lingüísticos”.
Contextualizando
} V = {baixo, alto, médio, muito, não, e ...}.
} Σ = {S, A, B, C, D, E, F, ...}
} e P ◦ S à A; C à E; ◦ A à B; A à A e B; ◦ B à C; B à not C; ◦ C à D; C à F; ◦ C à muito D; E à muito E; ◦ D à baixo; E à alto; ◦ F à médio;
Uma gramática
} Relações fuzzy são uma generalização do conceito clássico de relações, e admitem a noção de associação parcial entre pontos num universo e discurso.
} Relação clássica: } Relação fuzzy:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
001011001011
R
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
04,08,07,00,10,19,005,00,15,03,0
R
Relações
Exemplo com clustering: clássico e fuzzy.
Relações: exemplo
X = { chuvoso, nublado, ensolarado }
Y = { nadando, pedalando, acampando, lendo }
Exemplo:
} Os graus de pertinência A(x) para x ε X, podem ser interpretados como os valores verdade da proposição “x é um membro do conjunto A”.
} Os valores verdade, para todos x ε X, de qualquer proposição “x é P”, podem ser
interpretados como graus de pertinência P(x) pelos quais o conjunto fuzzy caracterizado pela propriedade P é definido em X.
} Tem-se então as proposições fuzzy que caracterizam a lógica fuzzy. } A lógica fuzzy pode ser vista como “um veículo para computação com valores
verdade lingüísticos”. } Uma proposição clássica requer ser verdadeira ou falsa, já em proposições fuzzy, a
veracidade ou falsidade é expressa em termos de graus. ◦ Esse graus podem ser expressos por número no intervalo unitário ([0,1]) ou por rótulos lingüísticos
(verdadeiro ou muito verdadeiro).
Lógica Fuzzy
} Uma proposição fuzzy é vista como uma representação de um pedaço de conhecimento e é definida na forma
“X é A”,
em que X é o nome de um objeto e A é o nome de um conjunto fuzzy no
universo de discurso X. } Esta proposição é associada a dois conjuntos fuzzy: ◦ Um conjunto fuzzy A definido no universo de discurso X ◦ O conjunto fuzzy definido em [0,1] que representa que o valor verdade τ de “X é
A”.
Lógica Fuzzy
Pressão é pequena e muito verdadeiro
} O universo de discurso X é o universo da variável linguística “pressão”; } “pequena” é um termo linguístico representado por um conjunto fuzzy
correspondente a A; } “muito verdadeiro” corresponde ao segundo conjunto fuzzy que representa
o valor verdade da proposição.
Contextualizando
1. Proposições fuzzy não-condicionais e não-qualificadas:
p1: V is F Seja V a temperatura do ar e seja F a função de pertinência que
representa, num dado contexto, o predicado (ou termo lingüístico) alto.
p1’: temperatura (V) is alta (F)
O grau de verdade da proposição p1’ depende do valor atual da
temperatura e da definição do predicado alto.
Proposições Fuzzy Simples
2. Proposições fuzzy não-condicionais e qualificadas:
p2: {V is F} is S em que V e F tem o mesmo significado que em p1 e S é um qualificador verdadeiro
fuzzy, representado por um conjunto fuzzy.
“Tina é jovem é muito verdade” o predicado jovem e o qualificador muito verdade são conjuntos fuzzy.
Assumindo que o valor 26 anos tem grau de pertinência 0,87 ao conjunto fuzzy jovem e que o valor 0,87 tem grau de pertinência 0,76 ao conjunto fuzzy muito verdade, a proposição do
exemplo pertence ao conjunto de proposições que são MUITO VERDADE com grau de pertinência 0,76. 0,76 é o seu grau de verdade.
Proposições Fuzzy Simples
3. Proposições fuzzy condicionais e não-qualificadas:
p3: se (X) é A, então (Y) é B em que X e Y são variáveis cujos valores estão nos conjuntos X e Y
respectivamente; e A e B são conjuntos fuzzy em X e Y, respectivamente.
Implicação fuzzy: regras do tipo if-then são um tipo de combinação
de proposições que dão origem às regras de inferência fuzzy (utilizadas no raciocínio aproximado fuzzy).
Proposições Fuzzy Simples
4. Proposições fuzzy condicionais e qualificadas.
p4: se (X) é A, então Y é (B) é S
Proposições Fuzzy Simples
} Na lógica clássica a operação de implicação pode ser definida de diferentes, porém equivalentes, formas.
} Na lógica fuzzy, diferentes formas de definir a operação de implicação
gera diferentes classes de implicações fuzzy (não são equivalentes). } Ex.: ◦ Clássica: A => B ≡ ¬A V B ◦ Fuzzy: A => B ≡ u(c(a),b)
Implicação Fuzzy
} Considere as variáveis X e Y que assumem valores nos conjuntos X e Y, respectivamente, e assuma que para todo x ε X e todo y ε Y, as variáveis se relacionam pela função y = f(x).
} Então, dado X = x, nós podemos inferir que Y = f(x). } Similarmente, sabendo que o valor de X está em um conjunto A, nós podemos
inferir que o valor de Y está em um conjunto B = {y ε Y| y = f(x), x ε A}
x X
Y
f(x) y = f(x)
A X
Y
B y = f(x)
Estudando Inferência Fuzzy
} Agora, assumindo que as variáveis estão relacionadas por meio de um “relação arbitrária” (X x Y).
} Então, dado X = u e uma relação R, nós podemos inferir que Y ε B, onde
B = {y ε Y| <x,y> ε R}.
} Similarmente, sabendo que X ε A, nós podemos inferir que Y ε B, onde B = {y ε Y| <x,y> ε R, x ε A}.
Dado um valor para X, posso inferir vários para Y.
Estudando Inferência Fuzzy
} Assumindo que R é uma relação fuzzy e que A e B são conjuntos fuzzy em X e Y. Então, se R e A são dados, nós podemos obter B:
B (y)= sup min x ε X [A (x), R (x,y)]
} A relação R , geralmente, emerge de várias proposições condicionais fuzzy. } E o seguinte esquema ilustra o modens ponens generalizado:
Regra: Se X é A, então Y é B Fato: X é A
Conclusão: Y é B. Observe que são proposições fuzzy.
O mesmo raciocínio é possível para: o modus tollens generalizado e para o silogismo hipotético generalizado.
Estudando Inferência Fuzzy
Observe que o valor de entrada para a inferência é um valor CRISP (eixo X).
Interpretando
Interpretando
} A conclusão obtida no processo de combinação das regras de inferência é um conjunto fuzzy – formado a partir das combinações adequadas das ativações das conclusões das regras mediante as ativações das premissas das regras.
} Tal conjunto representa, de maneira fuzzy, as respostas do processo de
inferência à ocorrência de um ou mais fatos no sistema modelado. } Para que essa resposta tenha um sentido prático no universo de discurso
modelado é necessário, na maioria das vezes, extrair um valor “crisp” do domínio onde as conclusões são modeladas.
} Para tal é necessário aplicar um métodos de defuzificação: ◦ Ex.: Centróide;
Defuzificando