• Nenhum resultado encontrado

Apres15 Logica Fuzzy Matlab Controle e Simulacao de Processos IFES marcelolucas

N/A
N/A
Protected

Academic year: 2019

Share "Apres15 Logica Fuzzy Matlab Controle e Simulacao de Processos IFES marcelolucas"

Copied!
163
0
0

Texto

(1)

Lógica Fuzzy

com Matlab

®

(2)

INTRODUÇÃO

Lógica Fuzzy

A lógica fuzzy, também denominada lógica nebulosa ou difusa, é uma teoria

que incorpora a experiência, a intuição, o conhecimento especialista e a

natureza imprecisa do processo decisório humano através de um conjunto

(3)

INTRODUÇÃO

Teorias como a teoria clássica dos conjuntos e a teoria das probabilidades,

embora úteis, nem sempre conseguem captar a riqueza da informação

fornecida por seres humanos.

A lógica fuzzy tem como base a capacidade de raciocínio aproximado

mostrando-se muito mais eficiente para uma grande variedade de

problemas para os quais é difícil precisar informações.

(4)

INTRODUÇÃO

Em 1965 Lotfi A. Zadeh (1965), engenheiro eletrônico, professor de Teoria dos Sistemas na

Universidade da Califórnia – Berkeley, publicou o primeiro artigo sobre a teoria dos conjuntos

nebulosos para tratar as incertezas não probabilísticas, o que foi denominado Fuzzy Sets.

Este trabalho contribuiu para o desenvolvimento da Lógica Fuzzy que, diferentemente da

lógica tradicional, supera a ideia de um elemento pertencer ou não a um determinado

conjunto, permitindo que um elemento pertença a um conjunto com certo grau de

pertinência.

Ele tinha como objetivo fornecer ferramentas matemáticas capazes de lidar com o raciocínio

lógico que contemplassem aspectos imprecisos e ambíguos, tipo de raciocínio não passível de

(5)

INTRODUÇÃO

A teoria de Zadeh por ser menos restritiva, pode ser considerada mais adequada para

o tratamento de informações fornecidas por seres humanos do que a teoria de

probabilidades.

Tais teorias têm sido cada vez mais usadas em sistemas que utilizam

informações fornecidas por seres humanos para automatização de processos.

Os primeiros trabalhos responsáveis pelo surgimento da lógica fuzzy tinham como

objetivo tornar as máquinas capazes de “pensar”, ou tomar decisões e raciocinar sob

(6)

INTRODUÇÃO

Os sistemas que exigem altíssimos níveis de precisão e exatidão consomem muito tempo e

tem alto custo.

Além do mais, sistemas muito complexos são de caracterização imprecisas e inexatas.

Muitos problemas, para um aperfeiçoamento do trabalho, é necessário que se aceite

informações imprecisas em certo nível.

A teoria da lógica fuzzy oferece então, subsídios para sistemas convencionais cuja

(7)

INTRODUÇÃO

Soluções preliminares e aproximadas são rápidas e muitas vezes estão dentro do esperado, o

que justifica a preferência por tal técnica, que trata de forma mais simples os sistemas de

modelagem extremamente difícil por apresentarem características não lineares.

São dois os tipos de sistemas em que a lógica fuzzy pode ser aplicada:

➢ Problemas muito complexos com comportamentos difíceis de serem compreendidos e

➢ problemas onde resultados aproximados são aceitáveis.

Nas aplicações da lógica fuzzy destacam-se o controle de processos, a aproximação funcional,

(8)

INTRODUÇÃO

Em aplicações complexas, a tradução de informação imprecisa utilizando a teoria tradicional

é inviabilizada em razão da complexidade matemática que poderia resultar.

Entretanto, a teoria dos conjuntos fuzzy proporciona grande facilidade para descrever e

processar esse tipo de informação através de variáveis linguísticas e de uma base de

conhecimento fuzzy representada por um conjunto de regras.

Dentre as vantagens da utilização da lógica fuzzy tem-se o mecanismo de raciocínio similar ao

do ser humano, por meio do uso de termos linguísticos, além do baixo custo de

(9)

INTRODUÇÃO

As limitações estão relacionadas à geração das regras fuzzy e à definição das funções de

pertinência; ambas, baseadas em uma avaliação subjetiva do conhecimento do

especialista. Adiciona-se a isso a inexistência de técnicas de aprendizado.

As primeiras aplicações industriais utilizando a lógica fuzzy começaram na década de

1970.

Em 1980 apareceram as primeiras aplicações em engenharia de controle por algumas

(10)

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 ?

caixa

preta

Espaço de entrada

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

Espaço de saída (todas as gorjetas possíveis)

classificação do

serviço de hoje gorjeta de hoje

Para aplicação da teoria da lógica fuzzy, tem-se os seguintes conceitos:

(11)

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

(12)

BASES DA LÓGICA FUZZY

Conjunto Fuzzy

Conjunto sem fronteiras rígidas e bem definidas

Ex.: dias do fim de semana

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

Sábado Domingo

(13)

BASES DA LÓGICA FUZZY

Dom. 2ª Fim -d e -s e ma n a

5ª 6ª Sáb. Dom. 2ª

Ex.: dias do fim-de-semana

Não-Fuzzy

5ª 6ª Sáb.

0 1 0 1 Fuzzy 0 1 Fim -d e -s e ma n a 0 1

5ª 6ª Sáb. Dom. 2ª 5ª 6ª Sáb. Dom. 2ª

(14)

BASES DA LÓGICA FUZZY

Variáveis linguísticas

Define-se uma variável linguística como uma entidade utilizada para representar de modo

impreciso, através da linguagem cotidiana, um conceito ou uma variável de um dado

problema.

A altura de uma pessoa é um exemplo de variável linguística. Desta forma, esta variável

pode ser expressa através de números obtidos de uma medição com uma trena ou de

valores subjetivos não precisos, tais como “baixo”, “mediano”, “alto”, por exemplo.

Esta variável é composta pelo nome (no caso do exemplo, a altura); pelos valores

linguísticos (“baixo”, “mediano” e “alto”), que são os conjuntos nebulosos; pelo universo

de discurso; e pelas funções de pertinência que associa um grau de pertinência a cada

(15)

BASES DA LÓGICA FUZZY

Um exemplo de aplicação da lógica fuzzy, a classificação da altura de uma pessoa, é

mostrado na Figura.

Observa-se nesta figura a relação de altura (eixo horizontal) com o grau de pertinência

(eixo vertical).

Com este exemplo podemos concluir

que uma pessoa com 1,70m é

classificada como de altura média

com grau de pertinência 1, e uma

pessoa com 1,65m aproximadamente

seria classificada como altura média

(16)

BASES DA LÓGICA FUZZY

FUZIFICAÇÃO

Fuzificação é a codificação das entradas em graus de pertinência , para cada conjunto

fuzzy. Essa codificação é baseada no conhecimento do especialista.

Tomando-se o exemplo, onde a variável fuzzy é a altura de uma pessoa e chamando

A1=baixo, A2=mediano, A3=alto, desta figura, tem-se:

µ(x=A1)=0,7; µ(x=A2)=0,2; µ(x=A3)=0

Variável Fuzzy, altura de

uma pessoa e seus

conjuntos

(17)

BASES DA LÓGICA FUZZY

REGRAS FUZZY

As regras fuzzy fornecem uma descrição qualitativa do sistema em estudo.

O conhecimento em um Sistema de Inferência Fuzzy (SIF) é armazenado em geral na forma

de regras composta pelos termos “antecedente” e o “consequente”.

SE <antecedente> ENTÃO<consequente> e também das operações nebulosas, como União,

Interseção, entre outras.

O antecedente é composto por um conjunto de condições envolvendo variáveis fuzzy e

expressões linguísticas que, quando satisfeitas, mesmo que parcialmente, determinam o

processamento da parte consequente da regra através de um mecanismo de inferência

(18)

BASES DA LÓGICA FUZZY

O consequente é composto por um conjunto de ações que são geradas com o disparo da

regra.

Os consequentes de todas as regras disparadas são processados em conjunto, para gerar

uma resposta determinística para cada variável de saída do Sistema de Inferência Fuzzy.

No SIF é importante que existam tantas regras quantas forem necessárias para mapear

totalmente as combinações dos termos das variáveis, formando uma base de regras

completa.

As regras de controle são baseadas no conhecimento e expectativa do projetista sendo que

cada uma delas demanda uma ação de controle.

A ordem em que são dispostas as regras, não afeta o resultado, pois elas são declarativas e

(19)

BASES DA LÓGICA FUZZY

O número total de regras em um sistema de controle difuso depende do número de

entradas do controlador e do número de conjuntos difuso de cada entrada.

Se em um controlador tem-se “p” entradas com a mesma quantidade de conjuntos

difusos “n”, o número total de regras, “R” é dado por:

R = n

p

Portanto, se um sistema tem quatro variáveis de entrada e cada uma delas tem três

conjuntos difusos, a quantidade de combinações de entrada é de oitenta e uma regras de

(20)

BASES DA LÓGICA FUZZY

A literatura classifica os controladores fuzzy considerando as características do método de

tomada de decisão que eles empregam.

Apesar dos muitos métodos citados e apresentados na literatura, Sugeno (1985) os

separa em dois grandes grupos:

Os chamados controladores do tipo MAMDANI e os controladores do tipo SUGENO

(21)

BASES DA LÓGICA FUZZY

Os controladores do tipo MAMDANI são frutos do trabalho publicado em 1973 por

Mamdani onde é definido o algoritmo destes sistemas.

Esses controladores convertem os valores quantitativos em qualitativos (fuzzy) e após

isso, através de inferência, em outros valores ainda qualitativos, sendo necessário o

papel do defuzificador para a resposta final quantitativa.

De fácil modelagem por basear-se na intuição, os controladores MAMDANI (MAMDANI,

1973) são bons quando um controle grosseiro é aceitável.

Para controle mais fino, o controlador SUGENO apresenta desempenho superior, porém

(22)

BASES DA LÓGICA FUZZY

Nos controladores SUGENO, o resultado da inferência de suas regras é dado por um valor

numérico através de funções das variáveis linguísticas de entrada, isto é, cada regra conduz

a consequências que são funções das variáveis nebulosas de entrada, em forma

matemática tem-se:

Se x é B, então y é C => tipo Mamdani

Se x é B, então y é f(x) => tipo Sugeno

A resposta de um controlador do tipo SUGENO é dada pela média ponderada das

(23)

BASES DA LÓGICA FUZZY

Estruturas básicas para um controlador fuzzy

A estrutura básica para um controlador fuzzy pode ser visualizada pelo diagrama de

(24)

BASES DA LÓGICA FUZZY

Observa-se que o controlador fuzzy consiste de quatro principais

unidades:

• Fuzificador que converte uma entrada crisp em um conjunto termos Fuzzy;

• Regras fuzzy (base de dados) baseadas na execução do sistema;

• Inferências fuzzy que executam aproximadamente raciocínio associado as

variáveis de entrada com regras fuzzy;

• Defuzificador o qual converte as saídas do controlador fuzzy para um valor

(25)

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 descontínua e contínua

0

1 1

Peso(Kg) Grau de

Pertinência (µ)

Gordo (µ = 1.0)

Não é gordo (µ = 0.0) 0

Peso(Kg)

Definitivamente gordo (µ = 0.87)

(26)

BASES DA LÓGICA FUZZY

Tipos de funções de pertinência do

“Fuzz

y

Toolbox”

1 1

0 0

trimf trapmf

0 1

0 1

gaussmf gauss2mf 0

1

(27)

BASES DA LÓGICA FUZZY

0 0

1

zmf pimf 0

1

smf

Tipos de funções de pertinência do

“Fuzz

y

Toolbox”

1 1 1

0 0

sigmf dsigmf

1

0

(28)

BASES DA LÓGICA FUZZY

Operações Lógicas

A AND B = min(A,B)

A OR B = max(A,B)

(29)
(30)

BASES DA LÓGICA FUZZY

0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 Lógica de dois valores Lógica de vários valores AND min(A,B) OR max(A,B) NOT

(31)

BASES DA LÓGICA FUZZY

Regras "se-então"

Usadas para formular as expressões condicionais que

englobam a lógica fuzzy.

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

Se x é igual a A, então y é B

(32)
(33)

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

envolve as seguintes

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 consequente, ou implicação

(34)

BASES DA LÓGICA FUZZY

Fuzzificação das entradas

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

serviço (fixo)

µ = 0.1 excelente

comida (fixo)

(35)

BASES DA LÓGICA FUZZY

Fuzzificação das entradas

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

serviço (fixo)

µ = 0.1 excelente

comida (fixo)

µ = 0.8 deliciosa

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

Aplicar operador fuzzy OR (max)

0.1

0.8

MAX() 0.8

(36)

BASES DA LÓGICA FUZZY

Fuzzificação das entradas

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

serviço (fixo)

µ = 0.1 excelente

comida (fixo)

µ = 0.8 deliciosa

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

Aplicar operador fuzzy OR (max)

0.1

0.8

MAX() 0.8

Grau de pertinência

Aplicar operador de implicação OR (max)

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

(37)

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()

(38)

SISTEMAS DE INFERÊNCIA FUZZY - SIF

Mapeamento dos valores de entrada usando lógica fuzzy

Ex.: gorjeta ideal

Entrada 1

serviço (0-10)

Entrada 2

comida (0-10)

Regra 3

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

Regra 1

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

Regra 2

Se o serviço é bom, então a

gorjeta é média

Σ

gorjeta (5-15%)Saída

Entradas são números (não-fuzzy) dentro de uma faixa

Regras são processadas em paralelo

Resultado das regras é agregado edefuzzyficado

(39)

SISTEMAS DE INFERÊNCIA FUZZY - SIF

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()

0.1

comida = 8

0.8

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

generosa generosa

Resultado da implicação serviço = 6

(40)

SISTEMAS DE INFERÊNCIA FUZZY - SIF

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()

(41)

serviço = 6 comida = 8

SISTEMAS DE INFERÊNCIA FUZZY - SIF

péssima

baixa ruim

baixa

5 15%

(42)

serviço = 6 comida = 8 péssima

baixa ruim

baixa

5 15%

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

média média

bom

5 15%

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

(43)

serviço = 6 comida = 8 péssima baixa ruim baixa 5 15%

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

média média

bom

5 15%

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

deliciosa

generosa generosa

excelente

5 15%

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

(44)

serviço = 6 comida = 8 péssima

baixa ruim

baixa

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

média média

bom

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

deliciosa

generosa ge erosanerosa

excelente

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

5 15% Resultado da agregação (soma) média 5 15% generosa 5 15% baixa baixa 5 15% é baixa

(45)

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

• Maior dos máximos

• Menor dos máximos

5 15%

gorjeta = 13,5%

Resultado da defuzzyficação

(46)

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

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

serviço = 6 comida = 8 bom

deliciosa excelente

péssima ruim

1–Fuzzyficação das entradas

(47)

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

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

serviço = 6 comida = 8 bom

deliciosa excelente

péssima ruim

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

(48)

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

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

serviço = 6 comida = 8 bom

deliciosa excelente

péssima ruim

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

média média 5 15% generosa generosa 5 15% baixa baixa 5 15%

(49)

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

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

serviço = 6 comida = 8 bom

deliciosa excelente

péssima ruim

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

média média 5 15% generosa generosa 5 15% baixa baixa 5 15%

3–Aplicação de operador de implicação

4 -Agre ga ç ão 5 15%

(50)

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

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

serviço = 6 comida = 8 bom

deliciosa excelente

péssima ruim

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

média média 5 15% generosa generosa 5 15% baixa baixa 5 15%

3–Aplicação de operador de implicação

4 -Agre ga ç ão

gorjeta = 13,5% 5 -Defuzzyficação

5 15%

(51)

Sistema de Inferência

Fuzzy

Editor de Funções de Pertinência

Visualizador de superfície Visualizador

de regras

Editor de Regras

Editor SIF

Matlab

®

(52)

Matlab

®

Fuzzy Toolbox

(53)

Matlab

®

(54)

Matlab

®

Fuzzy Toolbox

Editor SIF (Sistema de Inferência Fuzzy - Mamdani)

(55)

Matlab

®

Fuzzy Toolbox

(56)

Matlab

®

Fuzzy Toolbox

(57)

Matlab

®

Fuzzy Toolbox

(58)

Matlab

®

Fuzzy Toolbox

(59)

Matlab

®

Fuzzy Toolbox

Editor SIF (Sistema de Inferência Fuzzy)

(60)

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

(61)

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

(62)

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

(63)

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

Duplo clique no diagra-ma do sistediagra-ma para abrir Editor de Regras

(64)

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

Menu para seleção das funções fuzzy

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

Duplo clique no diagra-ma do sistediagra-ma para abrir Editor de Regras

(65)

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

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

Duplo clique no diagra-ma do sistediagra-ma para abrir Editor de Regras

Campo de edição para nomear e editar os nomes das variáveis de entrada e saída

(66)

Matlab

®

Fuzzy Toolbox

(67)

Matlab

®

Fuzzy Toolbox

(68)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

(69)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

(70)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

(71)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

(72)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

“serviço

Nome da variável de entrada alterado para

(73)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

Nome da variável de entrada alterado para

“serviço

Nome da variável de entrada alterado para

“comida”

Nome da variável de saída alterado para

(74)

Matlab

®

Fuzzy Toolbox

(75)

Matlab

®

Fuzzy Toolbox

(76)

Matlab

®

Fuzzy Toolbox

(77)

Matlab

®

Fuzzy Toolbox

(78)

Matlab

®

Fuzzy Toolbox

(79)

Matlab

®

Fuzzy Toolbox

Editor de Funções de Pertinência

Área da“Palheta de

(80)

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

(81)

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

(82)

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

(83)

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

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

Clique em uma curva para selecioná-la e alterar seus atributos, incluindo nome, tipo e parâmetros numéricos. Arraste omousepara mover a curva ou alterar seu formato

(84)

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

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

Clique em uma curva para selecioná-la e alterar seus atributos, incluindo nome, tipo e parâmetros numéricos. Arraste omousepara mover a curva ou alterar seu formato

Nome, tipo e

parâmetros numéricos da função são exibidos ou alterados aqui

(85)

Matlab

®

Fuzzy Toolbox

(86)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(87)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(88)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(89)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(90)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(91)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(92)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(93)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

(94)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

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

(95)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

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

(96)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

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

(97)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

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

(98)

Matlab

®

Fuzzy Toolbox

Construindo o

“gorjetador”

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

(99)

Matlab

®

Fuzzy Toolbox

Como alterar o domínio e o nome das funções de pertinência

Os valores associados à máxima pertinência, onde a função de pertinência é igual a um, e

os valores associados à mínima pertinência, onde o valor da função de pertinência é igual a

zero.

Tal procedimento é diferente para os distintos formatos de funções de pertinência

disponíveis no Fuzzy Logical Toolbox.

Os formatos mais comumente utilizados para funções de pertinência são os triangulares

(trimf), os trapezoidais (trapmf) e os gaussianos (gaussmf).

Por esta razão, apenas para estes formatos serão indicados quais procedimentos devem ser

(100)

Matlab

®

Fuzzy Toolbox

Funções de pertinência triangulares (trimf)

As funções de pertinência triangulares são caracterizadas por uma terna ( a, b, c),

onde a e c determinam o intervalo dentro do qual a função de pertinência assume valores

diferentes de zero, e b é o ponto onde a função de pertinência é máxima.

Figura exibe uma função de pertinência triangular onde são destacados a, b e c. Nesta

figura encontram-se no eixo vertical os valores da função de pertinência e no eixo horizontal

os valores da variável que se quer estudar.

(101)

Matlab

®

Fuzzy Toolbox

(102)

Matlab

®

Fuzzy Toolbox

Para se determinar os valores de a, b e c deve-se, escolher a opção trimf.

Como exemplo, como mostrado na Figura, escolheu-se, para a variável de

entrada input1, três funções de pertinência com formato triangular: mf1,

mf2 e mf3, sendo a=0.1; b=0.5 e c=0.9 para mf2.

Os outros valores de a, b e c devem ser definidos para cada uma das

(103)

Matlab

®

Fuzzy Toolbox

Funções de pertinência Gaussianas (gaussmf)

As funções de pertinência Gaussianas são caracterizadas pela sua média (µ) e seu

desvio padrão (σ).

Este tipo de função de pertinência tem um decaimento suave e tem valores diferentes

de zero para todo domínio da variável estudada.

A Figura exibe uma função de pertinência Gaussiana. Nesta figura encontram-se no eixo

vertical os valores da função de pertinência e no eixo horizontal os valores da variável

que se quer estudar.

(104)

Matlab

®

(105)

Matlab

®

Fuzzy Toolbox

A média (µ) e o desvio padrão (σ) devem ser definidos para cada uma das funções de

pertinência.

Clicando-se uma vez em cima da função de pertinência que se quer alterar, esta

aparecerá destacada em vermelho, como é o caso da função mf2 que aparece na

Figura.

Nos locais indicados nesta mesma Figura, deve-se selecionar um nome apropriado

para cada função de pertinência, e digitar entre colchetes, separados por um

(106)

Matlab

®

Fuzzy Toolbox

Funções de pertinência trapezoidal (trapmf)

As funções de pertinência trapezoidais são caracterizadas por um conjunto de quatro

valores de a, b, c e d.

onde “a” e “d” determinam o intervalo dentro do qual a função de pertinência assume

valores diferentes de zero, e “b” e “c” determinam o intervalo dentro do qual a função de

pertinência é máxima e igual a 1.

A Figura exibe uma função de pertinência trapezoidal onde podem são destacados os

pontos a, b, c e d.

Nesta Figura encontram-se no eixo vertical os valores da função de pertinência e no eixo

(107)

Matlab

®

(108)

Matlab

®

Fuzzy Toolbox

Para se determinar, dentro do Fuzzy Logical Toolbox os valores de a, b, c e d, deve-se

escolher a opção trapmf (ver na Figura).

Como exemplo, como se pode observar na Figura, escolheu-se, para a variável de entrada

input1, três funções de pertinência com formato trapezoidal.

Pressionando-se uma vez em cima da função de pertinência que se quer alterar, esta

aparecerá destacada em vermelho, como é o caso da função mf2 que aparece na Figura.

Nos locais indicados nesta mesma Figura, deve-se selecionar um nome apropriado para

cada função de pertinência, e digitar entre os colchetes, separados por um espaço, os

(109)

Matlab

®

Fuzzy Toolbox

(110)

Matlab

®

Fuzzy Toolbox

(111)

Matlab

®

Fuzzy Toolbox

(112)

Matlab

®

Fuzzy Toolbox

(113)

Matlab

®

Fuzzy Toolbox

(114)

Matlab

®

Fuzzy Toolbox

(115)

Matlab

®

Fuzzy Toolbox

Editor de Regras

(116)

Matlab

®

Fuzzy Toolbox

Editor de Regras

Regras são colocadas automaticamente usando as ferramentas gráficas

(117)

Matlab

®

Fuzzy Toolbox

Editor de Regras

Regras são colocadas automaticamente usando as ferramentas gráficas

Escolha do operador fuzzy usado em cada regra

(118)

Matlab

®

Fuzzy Toolbox

Editor de Regras

Regras são colocadas automaticamente usando as ferramentas gráficas

Escolha do operador fuzzy usado em cada regra

Barra de status mostra as operações mais recentes

(119)

Matlab

®

Fuzzy Toolbox

Editor de Regras

Regras são colocadas automaticamente usando as ferramentas gráficas

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

(120)

Matlab

®

Fuzzy Toolbox

Editor de Regras

Regras são colocadas automaticamente usando as ferramentas gráficas

Escolha do operador fuzzy usado em cada regra

Barra de status mostra as operações mais recentes

Negação das variáveis de entrada e/ou saída Aqui estão os botões para deletar, criar ou modificar uma regra. Além disso, ainda é possível especificar o peso que cada regra tem no resultado final Menu de seleção das

(121)

Matlab

®

Fuzzy Toolbox

(122)

Matlab

®

Fuzzy Toolbox

(123)

Matlab

®

Fuzzy Toolbox

(124)

Matlab

®

Fuzzy Toolbox

(125)

Matlab

®

Fuzzy Toolbox

(126)

Matlab

®

Fuzzy Toolbox

(127)

Matlab

®

Fuzzy Toolbox

Visualizador de Regras

(128)

Matlab

®

Fuzzy Toolbox

Visualizador de Regras

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

(129)

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

(130)

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

(131)

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

(132)

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

Essa caixa mostra a agregação das saídas individuais de cada regra. A linha vermelha mostra o valordefuzzyficado

Esse campo permite alterar os valores de entrada explicitamente Barra de status mostra as operações mais recentes

(133)

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

Essa caixa mostra a agregação das saídas individuais de cada regra. A linha vermelha mostra o valordefuzzyficado

Esses botões tem a funcionalidade de mover os gráficos Barra de status mostra

as operações mais recentes

(134)

Matlab

®

Fuzzy Toolbox

(135)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

(136)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

Use o mouse para rotacionar o gráfico

C o p y r i g h t © 2 0 0 3 R a f a e l P . L a u f e r . T o d o s o s d i

(137)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

Use o mouse para rotacionar o gráfico

Esse campo permite alterar a densidade da grelha do espaço de entrada

(138)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

Use o mouse para rotacionar o gráfico

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

(139)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

Use o mouse para rotacionar o gráfico

Esse campo permite alterar a densidade da grelha do espaço de entrada

Aperte este botão quando estiver pronto para calcular e plotar Esse campo permite

alterar a entrada explicitamente para entradas não especif. na superfície

(140)

Matlab

®

Fuzzy Toolbox

Visualizador de Superfície

Use o mouse para rotacionar o gráfico

Esse campo permite alterar a densidade da grelha do espaço de entrada

Aperte esse botão quando estiver pronto para calcular e plotar Esse campo permite

alterar a entrada explicitamente para entradas não especif. na superfície

Barra de status mostra as operações mais recentes

(141)

Matlab

®

Fuzzy Toolbox

Editor SIF (Sistema de Inferência Fuzzy - SUGENO)

(142)

Matlab

®

(143)

Matlab

®

(144)

Matlab

®

(145)

Matlab

®

(146)

Matlab

®

Fuzzy Toolbox

(147)

Matlab

®

(148)

Matlab

®

(149)

Matlab

®

Fuzzy Toolbox

Parametro:

[0 0 0.4]

Relativo ao eixo X onde:Primeiro valor => inicio

da curva de pertinência no eixo Y.

Segundo valor => Maior valor alcançado no eixo Y.

(150)

Matlab

®

Fuzzy Toolbox

Parametro:

[0.1 0.5 0.9] Relativo ao eixo X onde:Primeiro valor => inicio

da curva de pertinência no eixo Y.

Segundo valor => Maior valor alcançado no eixo Y.

(151)

Matlab

®

(152)

Matlab

®

(153)

Matlab

®

(154)

Matlab

®

(155)

Matlab

®

(156)

Matlab

®

(157)

Matlab

®

(158)

Matlab

®

(159)

Matlab

®

(160)

Matlab

®

(161)

Matlab

®

(162)

REFERÊNCIA

The MathWorks, Inc.;

Fuzzy Logic Toolbox

User’s

Guide

, version 2,

Janeiro de 1999.

Laufer, Rafael P., Sistemas Fuzzy com Matlab®, Departamento de

Engenharia Eletrônica e de Computação, Escola Politécnica, UFRJ.

RaphaelMTutorial.; Tutorial Lógica Fuzzy Matlab - Parte 1,

Acessado internet em 27/10/2018.

https://www.youtube.com/watch?v=BptosN9sePc

RaphaelMTutorial.; Tutorial Lógica Fuzzy Matlab - Pate 2, Acessado

internet em 27/10/2018.

(163)

REFERÊNCIA

Nogueira, Maycon Mariano.; Aplicando Lógica Fuzzy no Controle de

Robôs Móveis usando

Dispositivos Lógicos Programáveis e a

Linguagem VHDL. Dissertação de mestrado, Faculdade de

Engenharia

UNESP, Ilha Solteira, 2013.

Amendola, Mariangela at all.; Manual do uso da teoria dos

Imagem

Gráfico mostra todas  as funções de  perti-nência da variável
Gráfico mostra todas  as funções de  perti-nência da variável
Gráfico mostra todas  as funções de  perti-nência da variável
Figura exibe uma função de pertinência triangular onde são destacados a, b e c. Nesta figura encontram-se no eixo vertical os valores da função de pertinência e no eixo horizontal os valores da variável que se quer estudar.

Referências

Documentos relacionados

• Os municípios provavelmente não utilizam a análise dos dados para orientar o planejamento de suas ações;. • Há grande potencialidade na análise dos micro dados do Sisvan

Para entender o supermercado como possível espaço de exercício cidadão, ainda, é importante retomar alguns pontos tratados anteriormente: (a) as compras entendidas como

A renda preponderante entre os consumidores do shopping Iguatemi está acima de 11 SM, seus consumidores têm faixa etária entre 36 e 45 anos, em que predomina o

O conceito de colonialidade, a obra de Frantz Fanon (1952;1961) e os princípios metodológicos da psicanálise concreta nos permitiram uma base que orientou

Esta publicação pretende ser um ponto de partida para suas próprias ideias e dispositivos, como uma ferramenta que atua em diferentes contextos e lugares inserindo,

Este trabalho não substitui, de forma alguma, a docu- mentação legal vigente, e seu objetivo é esclarecer ao setor produtivo as etapas do processo de avaliação

Para tratar a diversidade, a complexidade, e as diferentes formas de operações de cada periférico, as interfaces empregam no seu projeto um outro componente, o

Os dados serão adicionados no fim do arquivo (“append“) se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. • “rb“: Abre