You are on page 1of 111

Sistemas Fuzzy com Matlab®

Rafael P. Laufer
rlaufer@gta.ufrj.br

Inteligência Artificial - Prof. Sérgio Palma


Departamento de Engenharia Eletrônica e de Computação
Escola Politécnica
Universidade Federal do Rio de Janeiro

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Introdução

‹ Lógica Fuzzy
„ Importância relativa da precisão
„ Respostas imprecisas às vezes são mais eficientes

Um peso de
1500 kg se
aproxima da
sua cabeça a
27.3 m/s! CUIDADO!
1500 kg 1500 kg

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Introdução

‹ Lógica Fuzzy
„ Maneira conveniente de mapear um espaço de entradas em
um espaço de saídas
„ Exemplo:
Š dado o serviço de um restaurante, qual a gorjeta ideal ?

classificação do caixa
serviço de hoje
preta gorjeta de hoje

Espaço de entrada Espaço de saída


(todas as classificações de serviço possíveis) (todas as gorjetas possíveis)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Introdução

‹ Vantagens da Lógica Fuzzy


„ Conceitualmente fácil de ser entendida
„ Flexibilidade
„ Tolerância a imprecisão de dados
„ Modelamento não-linear de complexidade arbitrária
„ Construída baseado na experiência dos especialistas
„ Misturada a outras técnicas de controle
„ Baseado em linguagem natural

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Conjunto Fuzzy
„ Conjunto sem fronteiras rígidas e bem definidas
„ Ex.: dias do fim-de-semana

Segunda-feira Quarta-feira
Sábado
Sexta-feira
Terça-feira Domingo Quinta-feira
Dias do fim-de-semana

‹ Possibilidade de valores de respostas “contínuas”


„ Representação de “verdadeiro”(1) e “falso”(0) ultrapassada
„ Valores entre 0 e 1 agora são possíveis
Š Diversos valores ao invés de somente dois

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

„ Ex.: dias do fim-de-semana


Não-Fuzzy Fuzzy
1 1
Fim-de-semana

0 0
5ª 6ª Sáb. Dom. 2ª 5ª 6ª Sáb. Dom. 2ª
1 1
Fim-de-semana

0 0
5ª 6ª Sáb. Dom. 2ª 5ª 6ª Sáb. Dom. 2ª
Dias da semana Dias da semana

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Funções de Pertinência (Membership Functions)


„ Curva que define como cada ponto da entrada é mapeado
em um valor ou grau de pertinência entre 0 e 1
„ Ex.: quando uma pessoa é considerada gorda ?
Š Funções de pertinência discontínua e contínua

1 Gordo (µ = 1.0)
1 Definitivamente
gordo (µ = 0.87)
Grau de
Pertinência (µ)

Pouco gordo
0 Não é gordo (µ = 0.0) 0 (µ = 0.14)
Peso(Kg) Peso(Kg)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Tipos de funções de pertinência do “Fuzzy Toolbox”


1 1

0 0
trimf trapmf

1 1 1

0 0 0
gaussmf gauss2mf gbellmf

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Tipos de funções de pertinência do “Fuzzy Toolbox”


1 1 1

0 0 0
sigmf dsigmf psigmf

1 1 1

0 0 0
zmf pimf smf

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Operações Lógicas
„ A AND B Æ min(A,B)
„ A OR B Æ max(A,B)
„ NOT A Æ 1 - A

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

1 1

Lógica de 0 0
dois valores
1 1

0 0

1 1

Lógica de 0 0
vários valores
1 1

0 0
AND OR NOT
min(A,B) max(A,B) (1 – A)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Regras se-então
„ Usadas para formular as expressões condicionais que
englobam a lógica fuzzy
Se x é igual a A, então y é B
antecedente conseqüente
„ O antecedente representa uma interpretação que retorna
um número entre 0 e 1
„ O conseqüente é a designação de todo um conjunto fuzzy B
para a variável de saída y
„ Ex.: Se o serviço é bom, a gorjeta é média
Š “serviço é bom” representa um número entre 0 e 1
Š média é representada por um conjunto fuzzy
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Bases da Lógica Fuzzy

‹ Regras se-então
„ A entrada para uma regra é o valor da variável de entrada
„ A saída é todo um conjunto fuzzy
„ Interpretação das regras se-então envolvem partes:
Š Avaliação do antecedente
„ Fuzzyficação da entrada

„ Aplicação de operadores fuzzy, se necessário

„ Gera o grau de pertinência para a regra


Š Aplicação do resultado ao conseqüente, ou implicação
„ Grau de pertinência molda o conjunto fuzzy de saída

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy
Se o serviço é excelente ou a comida é deliciosa, então a gorjeta é generosa
µ = 0.8
Fuzzificação excelente deliciosa
das entradas
µ = 0.1

serviço (fixo) comida (fixo)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy
Se o serviço é excelente ou a comida é deliciosa, então a gorjeta é generosa
µ = 0.8
Fuzzificação excelente deliciosa
das entradas
µ = 0.1

serviço (fixo) comida (fixo)

Se ( 0.1 ou 0.8 ), então a gorjeta é generosa

0.1
Aplicar operador
fuzzy OR (max) MAX() 0.8
0.8 Grau de pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy
Se o serviço é excelente ou a comida é deliciosa, então a gorjeta é generosa
µ = 0.8
Fuzzificação excelente deliciosa
das entradas
µ = 0.1

serviço (fixo) comida (fixo)

Se ( 0.1 ou 0.8 ), então a gorjeta é generosa

0.1
Aplicar operador
fuzzy OR (max) MAX() 0.8
0.8 Grau de pertinência

Se ( 0.8 ), então a gorjeta é generosa

Aplicar operador 0.8 0.8


de implicação generosa generosa
OR (max)

min(0.8, generosa) gorjeta (fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Bases da Lógica Fuzzy

‹ Regras se-então
„ Avaliação do antecedente
Š Fácil em lógica de dois valores
Š Usando vários valores
„ Se o antecedente é verdadeiro em algum grau de pertinência, o
conseqüente também é verdadeiro no mesmo grau
Š Número de 0 a 1 é gerado (grau de pertinência)
„ Aplicação do resultado ao conseqüente
Š Conjunto fuzzy de saída modificado pela função de implicação
„ Modificação influenciada pelo grau de pertinência
Š Maneiras mais comuns
„ Truncamento, usando a função min()
„ Dimensionamento, usando a função prod()

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

‹ Mapeamento dos valores de entrada usando lógica fuzzy


‹ Ex.: gorjeta ideal
Regra 1
Se o serviço é ruim ou a comida
é péssima, então a gorjeta é
baixa
Entrada 1
serviço (0-10)
Regra 2

Σ
Se o serviço é bom, então a Saída
gorjeta é média gorjeta (5-15%)

Entrada 2
comida (0-10)
Regra 3
Se o serviço é excelente ou a
comida é deliciosa, então a
gorjeta é generosa

Entradas são números Regras são processadas Resultado das regras é O resultado é um número
(não-fuzzy) dentro de em paralelo agregado e defuzzyficado (não-fuzzy) dentro de
uma faixa uma outra faixa

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

‹ Formados basicamente por 5 passos


‹ Passo 1 – Fuzzyficação das entradas
„ Determinação do grau de pertinência de cada entrada em
relação a cada conjunto fuzzy
Š Entrada é um valor numérico limitado
Š Saída é um número entre 0 e 1
„ Feito de acordo com uma função de pertinência
serviço é excelente

0.1 Resultado da
fuzzyficação
serviço = 6

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

‹ Passo 2 – Aplicar operador(es) fuzzy


„ Determinação de um número que represente o resultado do
antecedente daquela regra
Š Entrada são dois ou mais valores resultados da fuzzyficação
Š Saída é um único valor entre 0 e 1
„ Operadores AND e OR
Š AND – min() ou prod()
Š OR – max() ou probor() (probor(a,b) = a + b – ab)
serviço é excelente ou comida é deliciosa
0.8
0.8
deliciosa
0.1 Resultado do
operador fuzzy

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

‹ Passo 3 – Aplicar operador de implicação


„ Aplicação de pesos no resultado do antecedente
„ Remodelamento do conseqüente em função do valor do
antecedente
„ Métodos usados
Š Truncamento, através da função min()
Š Dimensionamento, através da função prod()

serviço é excelente ou comida é deliciosa então gorjeta é generosa

deliciosa
0.1 0.8
generosa generosa

serviço = 6 comida = 8 Resultado da


implicação

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

‹ Passo 4 – Agregar todas as saídas


„ Combinação das saídas (fuzzy) em um único conjunto fuzzy
Š Entradas são as funções retornadas pela implicação
Š Saída é um conjunto fuzzy para cada variável de saída
„ Métodos
Š Máximo, através da função max()
Š OR probabilístico, através da função probor()
Š Soma, através da função sum()

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

excelente deliciosa
generosa generosa

5 15%
serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta
a é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

excelente deliciosa
generosa
erosa generosa

5 15%
serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8 Resultado da


agregação
(soma)
5 15%
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Sistemas Fuzzy

‹ Passo 5 – Defuzzyficação
„ Obtém valor numérico que representa a saída do sistema
Š Entrada é o conjunto fuzzy gerado na agregação
Š Saída é um número dentro da faixa estipulada
„ Métodos
Š Centróide
Š Bisetor
Š Média dos máximos
5 15%
Š Maior dos máximos Resultado da
gorjeta = 13,5% defuzzyficação
Š Menor dos máximos (centróide)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy
1 – Fuzzyficação das entradas

ruim péssima

serviço é ruim ou comida é péssima então gorjeta é baixa

bom

serviço é bom então gorjeta é média

excelente deliciosa

serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy
1 – Fuzzyficação das entradas 2 – Aplicação do operador fuzzy

ruim péssima

serviço é ruim ou comida é péssima então gorjeta é baixa

bom

serviço é bom então gorjeta é média

excelente deliciosa

serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy
1 – Fuzzyficação das entradas 2 – Aplicação do operador fuzzy 3 – Aplicação de operador de implicação

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

excelente deliciosa
generosa generosa

5 15%
serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Sistemas Fuzzy
1 – Fuzzyficação das entradas 2 – Aplicação do operador fuzzy 3 – Aplicação de operador de implicação

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

excelente deliciosa

4 - Agregação
generosa generosa

5 15%
serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8

5 15%
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Sistemas Fuzzy
1 – Fuzzyficação das entradas 2 – Aplicação do operador fuzzy 3 – Aplicação de operador de implicação

ruim péssima
baixa baixa

5 15%
serviço é ruim ou comida é péssima então gorjeta é baixa

bom média média

serviço é bom então gorjeta é média 5 15%

excelente deliciosa

4 - Agregação
generosa generosa

5 15%
serviço é excelente ou comida é deliciosa então gorjeta é generosa

serviço = 6 comida = 8 gorjeta = 13,5%


5 - Defuzzyficação
5 15%
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

Editor SIF

Editor de Regras Sistema de Editor de Funções


Inferência de Pertinência
Fuzzy

Visualizador Visualizador
de regras de superfície
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no ícone
da variável de entrada
para abrir o Editor de
Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no ícone
da variável de entrada
para abrir o Editor de
Funções de Pertinência

Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no ícone
da variável de entrada
para abrir o Editor de
Funções de Pertinência

Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Menu para seleção das


funções fuzzy

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no ícone
da variável de entrada
para abrir o Editor de
Funções de Pertinência

Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Menu para seleção das


funções fuzzy

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no diagra-
ma do sistema para
Duplo clique no ícone abrir Editor de Regras
da variável de entrada
para abrir o Editor de
Funções de Pertinência

Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Menu para seleção das


funções fuzzy

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no diagra-
ma do sistema para
Duplo clique no ícone abrir Editor de Regras
da variável de entrada
para abrir o Editor de
Funções de Pertinência
Duplo clique no ícone
da variável de saída
para abrir o Editor de
Funções de Pertinência
Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Menu para seleção das


funções fuzzy

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor SIF (Sistema de Inferência Fuzzy)


Duplo clique no diagra-
ma do sistema para
Duplo clique no ícone abrir Editor de Regras
da variável de entrada
para abrir o Editor de
Funções de Pertinência
Duplo clique no ícone
da variável de saída
para abrir o Editor de
Funções de Pertinência
Nome do sistema é
mostrado aqui. Pode
ser mudado salvando
o sistema

Campo de edição para


nomear e editar os
Menu para seleção das nomes das variáveis de
funções fuzzy entrada e saída

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada alterado para
“serviço

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada alterado para
“serviço

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada alterado para
“serviço

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada alterado para
“serviço

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada alterado para
“serviço
“comida”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome da variável de
entrada
saída alterado
alterado
para
para
“serviço
“comida”
“gorjeta”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Área da “Palheta de
Variáveis”. Clique na
variável para editar
suas funções

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Área da “Palheta de
Variáveis”. Clique na
variável para editar
suas funções

Nome, tipo da variável,


alcance e o alcance
mostrado são exibidos
ou alterados aqui

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência

Área da “Palheta de
Variáveis”. Clique na
variável para editar
suas funções

Nome, tipo da variável,


alcance e o alcance
mostrado são exibidos
ou alterados aqui

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência


Gráfico mostra todas
as funções de perti-
nência da variável

Área da “Palheta de
Variáveis”. Clique na
variável para editar
suas funções

Nome, tipo da variável,


alcance e o alcance
mostrado são exibidos
ou alterados aqui

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência


Gráfico mostra todas
as funções de perti-
nência da variável

Área da “Palheta de Clique em uma curva


Variáveis”. Clique na para selecioná-la e
variável para editar alterar seus atributos,
suas funções incluindo nome, tipo e
parâmetros numéricos.
Arraste o mouse para
mover a curva ou
alterar seu formato

Nome, tipo da variável,


alcance e o alcance
mostrado são exibidos
ou alterados aqui

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor de Funções de Pertinência


Gráfico mostra todas
as funções de perti-
nência da variável

Área da “Palheta de Clique em uma curva


Variáveis”. Clique na para selecioná-la e
variável para editar alterar seus atributos,
suas funções incluindo nome, tipo e
parâmetros numéricos.
Arraste o mouse para
mover a curva ou
alterar seu formato

Nome, tipo e
Nome, tipo da variável, parâmetros numéricos
alcance e o alcance da função são exibidos
mostrado são exibidos ou alterados aqui
ou alterados aqui

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome, e parâmetros
numéricos da função
alterados
Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome, e parâmetros
numéricos da função
alterados
Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome, e parâmetros
numéricos da função
alterados
Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome, e parâmetros
numéricos da função
alterados
Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Nome, e parâmetros
numéricos da função
alterados
Alcance e alcance
mostrado alterados
para o intervalo [0 10]

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Menu de seleção das


variáveis de entrada e
saída

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Menu de seleção das


variáveis de entrada e
saída

Escolha do operador
fuzzy usado em cada
regra

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Menu de seleção das


variáveis de entrada e
saída

Escolha do operador
fuzzy usado em cada
regra

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Menu de seleção das


variáveis de entrada e
saída

Negação das variáveis


de entrada e/ou saída

Escolha do operador
fuzzy usado em cada
regra

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Editor de Regras

Regras são colocadas


automaticamente
usando as ferramentas
gráficas

Menu de seleção das


variáveis de entrada e
saída

Negação das variáveis


de entrada e/ou saída

Escolha do operador
fuzzy usado em cada Aqui estão os butões
regra para deletar, criar ou
modificar uma regra.
Além disso, ainda é
Barra de status mostra
possível especificar o
as operações mais
peso que cada regra
recentes
tem no resultado final
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Construindo o “gorjetador”

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras

Cada linha representa


uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras

Cada linha representa


uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Arraste a linha para


mudar os valores de
entrada e gerar outro
valor de saída

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras

Cada linha representa


uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Arraste a linha para


mudar os valores de
entrada e gerar outro
valor de saída

Esse campo permite


alterar os valores de
entrada explicitamente

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras

Cada linha representa


uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Arraste a linha para


mudar os valores de
entrada e gerar outro
valor de saída

Esse campo permite


alterar os valores de
entrada explicitamente

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras Cada coluna mostra


como as variáveis de
entrada e saída são
usadas em cada regra.
Os valores da entrada
e saída são mostrados
Cada linha representa
no topo
uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Arraste a linha para


mudar os valores de
entrada e gerar outro
valor de saída

Esse campo permite


alterar os valores de
entrada explicitamente

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras Cada coluna mostra


como as variáveis de
entrada e saída são
usadas em cada regra.
Os valores da entrada
e saída são mostrados
Cada linha representa
no topo
uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Essa caixa mostra a


agregação das saídas
Arraste a linha para individuais de cada
mudar os valores de regra. A linha
entrada e gerar outro vermelha mostra o
valor de saída valor defuzzyficado

Esse campo permite


alterar os valores de
entrada explicitamente

Barra de status mostra


as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Regras Cada coluna mostra


como as variáveis de
entrada e saída são
usadas em cada regra.
Os valores da entrada
e saída são mostrados
Cada linha representa
no topo
uma regra. Clique no
número da regra para
mostrá-la na barra de
status

Essa caixa mostra a


agregação das saídas
Arraste a linha para individuais de cada
mudar os valores de regra. A linha
entrada e gerar outro vermelha mostra o
valor de saída valor defuzzyficado

Esse campo permite


alterar os valores de Esses butões tem a
entrada explicitamente funcionalidade de
mover os gráficos
Barra de status mostra
as operações mais
recentes
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Menu de especificação
das variáveis de
entrada e saída

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Menu de especificação
das variáveis de
entrada e saída

Esse campo permite


alterar a densidade da
grelha do espaço de
entrada

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.


Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Menu de especificação
das variáveis de
entrada e saída

Esse campo permite


alterar a densidade da
grelha do espaço de
entrada

Esse campo permite


alterar a entrada
explicitamente para
entradas não especif.
na superfície
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Menu de especificação
das variáveis de
entrada e saída

Esse campo permite


alterar a densidade da Aperte esse butão
grelha do espaço de quando estiver pronto
entrada para calcular e plotar

Esse campo permite


alterar a entrada
explicitamente para
entradas não especif.
na superfície
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Matlab Fuzzy Toolbox
®

‹ Visualizador de Superfície
Use o mouse para
rotacionar o gráfico

Menu de especificação
das variáveis de
entrada e saída

Esse campo permite


alterar a densidade da Aperte esse butão
grelha do espaço de quando estiver pronto
entrada para calcular e plotar

Esse campo permite


alterar a entrada Barra de status mostra
explicitamente para as operações mais
entradas não especif. recentes
na superfície
Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.
Referência

‹ The MathWorks, Inc.; Fuzzy Logic Toolbox User’s Guide,


version 2, Janeiro de 1999

Copyright © 2003 Rafael P. Laufer. Todos os direitos reservados.