You are on page 1of 50

Robtica

Robtica Mvel
Mvel -- PPGCA
PPGCA

Aula 4 Lgica Fuzzy


Profs. Joo Alberto Fabro
Andr Schneider de Oliveira
Adaptado de material dos profs. Mauro Roisenberg e
Luciana Rech - UFSC
Introduo

A Lgica Fuzzy baseada na teoria dos conjuntos


fuzzy.

Tradicionalmente, uma proposio lgica tem dois


extremos: ou completamente verdadeiro ou
completamente falso.

Entretanto, na lgica Fuzzy, uma premissa varia em


grau de verdade de 0 a 1, o que leva a ser
parcialmente verdadeira ou parcialmente falsa.
Introduo

Surgiu com Lofti A. Zadeh, Berkeley (1965).


para tratar do aspecto vago da informao;
1978 desenvolveu a Teoria das Possibilidades

menos restrita que a noo de probabilidade
ligar a lingustica e a inteligncia humana, pois muitos conceitos
so melhores definidos por palavras do que pela matemtica.

uma tcnica baseada em graus de pertinncia (verdade).


os valores 0 e 1 ficam nas extremidades
inclui os vrios estados de verdade entre 0 e 1
idia: todas as inf. admitem graus (temperatura, altura,
velocidade, distncia, etc...)
Introduo

Considerando a seguinte sentena: Joozinho alto.

A proposio verdadeira para uma altura de Joozinho 1.65m?

O termo lingustico alto vago, como interpret-lo?

A teoria de conjuntos Fuzzy (semntica para lgica fuzzy) permite


especificar quo bem um objeto satisfaz uma descrio vaga
(predicado vago)
Introduo

Lgica convencional: sim/no, verdadeiro/falso

Lgica Fuzzy (difusa ou nebulosa):



Refletem o que as pessoas pensam

Tenta modelar o nosso senso de palavras, tomada de
deciso ou senso comum

Trabalha com uma grande variedade de informaes vagas e
incertas, as quais podem ser traduzidas por expresses do
tipo: a maioria, mais ou menos, talvez, etc.
Introduo

Sistemas baseados em lgica fuzzy podem ser


usado para gerar estimativas, tomadas de deciso,
sistemas de controle mecnico...


Ar condicionado.

Controles de automveis.

Casas inteligentes.

Controladores de processo industrial.

etc...
Introduo

O Japo um dos maiores utilizadores e difusores da lgica


fuzzy.

O metr da cidade de Sendai utiliza desde 1987 um sistema de controle
fuzzy.

Aspiradores de p e mquinas de lavar da empresa Matsushita -
carrega e ajusta automaticamente quantidade de detergente
necessrio, a temperatura da gua e o tipo de lavagem.

TVs da Sony utilizam lgica fuzzy para ajustar automaticamente o
contraste, brilho, nitidez e cores.

A Nissan utiliza lgica fuzzy em seus carros no sistema de transmisso
automtica e freios antitravamento.

Mitsubishi tem um ar condicionado industrial que usa um controlador
fuzzy. Economiza 24% no consumo de energia.

Cmeras e gravadoras usam fuzzy para ajustar foco automtico e
cancelar os tremores causados pelas mos trmulas.
Conjuntos Fuzzy

Conjuntos com limites imprecisos


A = Conjunto de pessoas altas

Conjunto Clssico Conjunto Fuzzy


1.0 1.0
0.9
0.8

0.5
Funo de
pertinncia

1.75 Altura 1.60 1.70 1.75 Altura


(m) (m)
Conjuntos Fuzzy

Um conjunto fuzzy A definido no universo X caracterizado por uma


funo de pertinncia uA, a qual mapeia os elementos de X para o
intervalo [0,1].

uA:X [0,1]

Desta forma, a funo de pertinncia associa a cada elemento y


pertencente a X um nmero real no intervalo [0,1], que representa o
grau de pertinncia do elemento y ao conjunto A, isto , o quanto
possvel para o elemento y pertencer ao conjunto A.

Uma sentena pode ser parcialmente verdadeira e parcialmente falsa.


Conjuntos Fuzzy

A funo de pertinncia A(X) indica o grau de compatibilidade entre x


e o conceito expresso por A:
A(x) = 1 indica que x completamente compatvel com A;
A(x) = 0 indica que x completamente incompatvel com A;
0 < A(x) < 1 indica que x parcialmente compatvel com A, com
grau A(x) .

crisp
pode ser visto como um conjunto nebuloso especfico (teoria de
conjuntos clssica)
A {0,1} pertinncia do tipo tudo ou nada, sim ou no e no gradual
como para os conjuntos nebulosos
Conjuntos Fuzzy

Definio formal: Um conjunto fuzzy A em X expresso


como um conjunto de pares ordenados:

A={( x , u A ( x ))|x X }

Conjunto Funo de Universo


Fuzzy Pertinncia

Um conjunto fuzzy totalmente caracterizado


por sua funo de pertinncia.
Funo de Pertinncia


Reflete o conhecimento que se tem em relao a
intensidade com que o objeto pertence ao conjunto
fuzzy.

Vrias formas diferentes.

Caractersticas das funes de pertinncia:



Medidas subjetivas.

Funes no probabilsticas monotonicamente crescentes,
decrescentes ou subdividida em parte crescente e parte
decrescente.
Funo de Pertinncia

alto no Brasil

0.8
alto nos Estados Unidos
0.5
alto na Itlia
0.1
1.75 Altura (m)
Funo de Pertinncia


Funo Triangular:

( (
trimf ( x ; a , b , c )=max min
x a cx
,
ba cb ) )
,0

Funo Trapezoidal:

trapmf ( x ;a , b , c ,d )=max min


( ( xa d x
ba
, 1,
dc) )
,0

Funo Gaussiana:
2
1 x c

gaussmf ( x ;a , b , c )=e
( )
2


Funo Sino Generalizada:
1
gbellmf ( x ;a , b , c )=
x c 2 b
1+| |
b
Funo de Pertinncia

(a)Triangular (b)Trapezoidal

1 1

GraudePertinncia
GraudePertinncia

0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 20 40 60 80 100 0 20 40 60 80 100

(c)Gaussiana (d)SinoGerneralizada

1 1
GraudePertinncia

GraudePertinncia

0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 20 40 60 80 100 0 20 40 60 80 100
Funo de Pertinncia: Universo Discreto

X = {0, 1, 2, 3, 4, 5, 6}
UniversoDiscreto
A = Nmero de filhos razovel
1

0.8 A = {(0, 0.1), (1, 0.3), (2, 0.7),


GraudePertinncia

(3, 1), (4, 0.6), (5, 0.2), (6,


0.6
0.1)}
0.4

0.2

0
0 2 4 6
X=Nmerodefilhos
Funo de Pertinncia: Universo Contnuo

X = (Conjunto de nmeros reais


positivos)
(b)UniversoContnuo

B = Pessoas com idade em torno


1
de 50 anos
GraudePertinncia

0.8
0.6 B = {(x, B(x) )| x em X}
0.4

0.2
1
0
0 50 100
B ( x )= 2
x50
X=Idade 1+ (
10 )
Varivel Lingustica

uma partio do universo de discurso X representando


idade, formada pelos conjuntos fuzzy jovem, adulto e
idoso.

1.2
Jovem Adulto Idoso
Grau de Pertinncia

0.8

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90
X = Idade
Variveis Lingusticas

Uma varivel lingustica possui valores que no so nmeros, mas


sim palavras ou frases na linguagem natural.

Idade = idoso

Um valor lingustico um conjunto fuzzy.

Todos os valores lingusticos formam um conjunto de termos:



T(idade) = {Jovem, velho, muito jovem,...
Adulto, no adulto,...
Velho, no velho, muito velho, mais ou menos velho...}

Permitem que a linguagem da modelagem fuzzy expresse a


semntica usada por especialistas. Exemplo:

Se durao_do_projeto == no muito longo ento


risco = ligeiramente reduzido
Operaes sobre conjuntos
fuzzy

Uma sentena modificada pela palavra no dita


negao da sentena original.

NO-fuzzy(x) = 1 - x

A palavra e usada para juntar duas sentenas


formando uma conjuno de duas sentenas.

E-fuzzy(x,y) = Mnimo(x,y)

De maneira similar a sentena formada ao conectarmos


duas sentenas com a palavra ou dita disjuno das
duas sentenas.

OU-fuzzy(x,y) = Mximo(x,y)
Operadores Fuzzy

Suponha que desejssemos representar de forma fuzzy a altura de Alice


(1,65 m), Bob (1,75 m), Carlos(2,0m) e Denise(1,45 m). Nossas
proposies sero da forma "X alto", e sero:
A = Alice alta, (A)=0,55
B = Bob alto, (B)=0,75
C = Carlos alto, (C) = 1,0
D = Denise alta, (D) = 0,0

Usando os operadores fuzzy, podemos escrever sentenas como:


Carlos no alto, NO(C), (NO(C))= 1,0 - (C) = 0,0
Bob no alto, NO(B), (NO(B))= 1,0 - (B) = 0,25
Denise alta e Alice Alta, D e A, (D e A)= mnimo ((D), (A)) =0,0

A lgica est claramente associada a teoria dos conjuntos.
Cada afirmao (do tipo "Carlos alto") representa na verdade
o grau de pertinncia de Carlos ao conjunto de pessoas altas.

Isso permite que conjuntos como "alto" e "baixo" sejam


tratados de forma separadas e afirmaes como "Carlos alto
0,75" e "Carlos baixo 0,5" sejam vlidas simultaneamente,
ao contrrio do que seria esperado em um modelo crisp.

Esse tipo de afirmao facilmente encontrada na descrio,


por humanos, na forma como entendem certo conceito, e a
lgica difusa uma tima forma de tratar essa forma de
incerteza.
23
Controle Fuzzy

Sistema de controle fuzzy baseado no


modelo de Mamdani.
Componentes de um
sistema de controle fuzzy

Definio das variveis fuzzy de


entrada e de sada: forma e valores das
variveis
Regras fuzzy
Tcnica de defuzzificao
Definio das variveis

Etapa na qual as variveis lingusticas so definidas de forma


subjetiva, bem como as funes membro (funes de pertinncia)

Engloba
Anlise do Problema
Definio das Variveis
Definio das Funes de pertinncia
Criao das Regies

Na definio das funes de pertinncia para cada varivel,


diversos tipos de espao podem ser gerados:
Triangular, Trapezoidal, Gaussiana, ...

26
Exemplos de variveis fuzzy

1
1

Lento Rpido
Frio Normal Quente

Temperatura (oC) Velocidade(m/s)


27
Regras Fuzzy

SE condio ENTO concluso , mas com variveis


lingusticas (fuzzy)

Exemplo:

Se a fruta verde ento o gosto azedo

Se a fruta amarela ento o gosto pouco-doce

Se a fruta vermelha ento o gosto doce


Regras Fuzzy

E o raciocnio?
Avaliar o antecedente
Aplicar o resultado ao consequente
As regras so ativadas parcialmente, dependendo
do antecedente

Ex: Se a altura alta, o peso pesado (altura =1.85, peso = ?)
Alto Pesado

.75 .75
.5 .5

.1 .1 29
Operaes Bsicas

(a)ConjuntosFuzzyAeB (b)ConjuntoFuzzynoA

A B
1 1
AestcontidoemB 0.8 0.8
GraudePertinncia

0.6 0.6
1 B
0.4 0.4
0.8 A 0.2 0.2
0.6
0 0
0.4
0.2 (c)ConjuntoFuzzy"AouB" (d)ConjuntoFuzzy"AeB"
0
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
Exemplo: Unio e Interseo


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}


Unio

C = {1/a, 0.9/b, 0.4/c, 1/d, 0.9/e}


Interseo

D = {0.2/a, 0.7/b, 0.3/c, 0/d, 0.4/e}
Regras - Exemplos

Regras CRISP(No Fuzzy):


1.Se velocidade > 100 Ento
DPP 30 metros
2.Se velocidade < 40 Ento
DPP 10 metros

Regras Fuzzy:
1.Se velocidade alta Ento
DPP longa
2. Se velocidade baixa
Ento DPP curta
Etapas do Raciocnio Fuzzy

1 Fuzzificao

Agregao

2 Inferncia

Composio

3 Defuzzificao
Etapas do Raciocnio Fuzzy

Variveis Calculadas Variveis de Comando


(Valores Lingusticos) (Valores Lingusticos)
Inferncia

Nvel
Lingustico Fuzzificao
Nvel Defuzzificao
Numrico

Variveis Calculadas Variveis de Comando


(Valores Numricos) (Valores Numricos)
Fuzzificao

Etapa na qual as variveis lingusticas e as funes de pertinncia


so definidas de forma subjetiva.

Engloba

Anlise do Problema

Definio das Variveis

Definio das Funes de pertinncia

Criao das Regies

Na definio das funes de pertinncia para cada varivel, diversos


tipos de espao podem ser gerados:

Triangular, Trapezoidal, ...
Fuzzificao

Triangular Trapezoidal

Frio Normal Quente Lento Rpido


Inferncia Fuzzy

Etapa na qual as proposies (regras) so definidas


e depois so examinadas paralelamente

Engloba:

Definio das proposies

Anlise das Regras

Criao da regio resultante
Inferncia Fuzzy

O mecanismo chave do modelo Fuzzy a proposio.

A proposio o relacionamento entre as variveis do


modelo e regies Fuzzy.

Na definio das proposies, deve-se trabalhar com:



Proposies Condicionais:
Se W == Z ento X = Y


Proposies No-Condicionais:
X=Y
Inferncia Fuzzy

Agregao: Calcula a importncia de uma


determinada regra para a situao corrente

Composio: Calcula a influncia de cada regra


nas variveis de sada.
Defuzzificao

Etapa no qual as regies resultantes so convertidas em


valores para a varivel de sada do sistema.

Esta etapa corresponde a ligao funcional entre as regies


Fuzzy e o valor esperado.

Dentre os diversos tipos de tcnicas de defuzzificao


destaca-se:

Centride

First-of-Maxima

Middle-of-Maxima

Critrio Mximo
Defuzzificao

Exemplos:

z0 z0 z0
Centride First-of-Maxima Critrio Mximo
Exemplo Inferncia Fuzzy


Exemplo:

Um analista de projetos de uma empresa quer determinar o
risco de um determinado projeto.

Variveis: Quantidade de dinheiro e de pessoas envolvidas
no projeto.

Base de conhecimento:

Se dinheiro adequado ou o nmero de pessoas pequeno
ento risco pequeno.

Se dinheiro mdio e o numero de pessoas alto, ento
risco normal.

Se dinheiro inadequado, ento risco alto.
Exemplo Inferncia Fuzzy

Passo 1: Fuzzificar
Nmero de Pessoas
Dinheiro

0.8
0.75

0.25
0.2

35 60

Inadequado Mdio Adequado Baixo Alto

i ( d )=0, 25m (d )=0,75 b ( p)=0,2a ( p )=0,8


Exemplo Inferncia Fuzzy

Passo 2: Avaliao das regras


Ou mximo e mnimo
Regra 1: Risco

0,2
ou
Adequado 0,0 Baixo

Regra 2: Risco

0,8

e
0,25
mdio Alto
Exemplo Inferncia Fuzzy

Regra 3:
Risco

0,75

Inadequado
Exemplo Inferncia Fuzzy

Passo 3: Defuzzificao

Risco

0.75

0.25
10 20 30 40 50 60 70 80 90100

Clculo do Centride
(10+20+30 +40 )0,2+(50+60 +70 )0, 25 +(80 +90+100)0, 75 267 , 5
C= = =70 , 4
0,2+0,2+0,2+0,2+0, 25+0, 25+0, 25+0, 75+0, 75+0,75 3,8
Outro Exemplo


O sistema tem como objetivo determinar a
gorjeta que um cliente deve dar.

Esse sistema possui trs variveis
(servio, comida e gorjeta).

As variveis comida e servio so
variveis de entrada e gorjeta a varivel
de sada.
Outro Exemplo
Bibliotecas Fuzzy

Softwares para auxlio a projeto e


implementao de Sistemas Fuzzy:
Fuzzy Toolbox do Matlab
SciFLT for Scilab (free)
X-Fuzzy (free)
FuzzyClips (free, API para Java)
FLIE (Fuzzy Logic Inference Engine) do Fabro...
Exemplos

Softwares para auxlio a projeto e implementao de


Sistemas Fuzzy:
InFuzzy (desenvolvido na UNISC)
Fuzzy Toolbox do Matlab
NEFCON, NEFCLASS e NEFPROX... (desenvolvidos pela

Universidade de Magdeburg)
disponvel 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)

50