SlideShare una empresa de Scribd logo
1 de 27
Lógica Fuzzy aplicada à
Sistemas de Apoio a Decisão
Adriano H. Braga
Francisco C. Xavier
Otávio C. Xavier
Universidade Federal de Goiás
Instituto de Informática
Mestrando em Ciência da Computação
Sistema de Apoio a Decisão
2
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Roteiro

O que é lógica fuzzy?
• Conjuntos Fuzzy
• Classificadores Fuzzy
• Controladores Fuzzy (Mamdani e Takagi-Sugeno)
• Defuzzificação

Exemplos de Aplicações

Ferramentas e Técnicas
• jFuzzylogic
• Fuzzyengine
3
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
O que é lógica fuzzy?

Introduzida em 1965 por Zadeh;

Também chamada de difusa ou nebulosa;

Lógica de múltiplos (infinitos) valores;

Mecanização da capacidade humana de
tomar decisões a partir de incertezas, de
conhecimentos parciais, imprecisos ou
incompletos;

Baseada em conjuntos fuzzy.
4
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Conjuntos Fuzzy

Seus elementos possuem graus de pertinência;

Subjetividade e difusão;

Torna possível lidar com problemas imprecisos
como “a cor é muito violeta ou quase azul”?

Função de composição/pertinência:
5
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Conjuntos Fuzzy
Exemplo:
– Função de composição:
– Dados os indivíduos A, B e C e suas respectivas
alturas:
– Tem-se e
– Logo A não é alto, C é alto e B é “quase alto”.
=> altura em cm de um
individuo.
=> função de composição
para o conjunto fuzzy altos.
Conjuntos Fuzzy
Operações:
– União:
– Intersecção:
– Complemento:
– Inclusão:
=> para todo
E
OU
7
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Classificadores Fuzzy

Classificadores convencionais trabalham
com apenas uma classe objetiva;

Classificadores fuzzy podem explimir suas
saídas em conjuntos fuzzy;

Exemplo:
8
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Classificadores Fuzzy

Comumente baseados em regras se-então:

Consequência como expressão linguística:

Consequência como função:
condição consequência
9
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Controladores Fuzzy

Utiliza regras se-então em seu núcleo;

A consequência será uma ação;

Usados para:
− Controle de respostas diretas (Mamdani);
− Controle de Supervisão (Takagi-Sugeno);
10
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Controladores Fuzzy

Controlador Mamdani (linguístico):
− Mapeamento estático;
− Filtros dinâmicos externos;
− “fuzzyficador”;
− inferência;
− “defuzzyficador”.
11
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Controladores Fuzzy

Controlador Takagi-Sugeno:
− Diferentemente dos linguísticos, expressa os resultados
em valores numéricos e não conjuntos fuzzy;
− A consequência nas regras se-então será uma função;
− Podem agir como supervisores de outros
controladores, alterando seus comportametos.
12
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
“Defuzzyficação”

Interpretação de conjuntos fuzzy em
valores numéricos;

Os métodos mais comuns são:
− Máximos;
− Media dos Máximos;
− Centróide;
− Altura e
− Altura modificada.
13
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
“Defuzzyficação”

Máximo:
− valor para o qual o grau de pertinência no conjunto
é o máximo;

Média dos Máximos:
− média entre os maiores valores da função de
pertinência no conjunto fuzzy de saída;

Centróide:
− centro de gravidade do conjunto fuzzy:
14
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
“Defuzzyficação”

Altura:

Altura modificada:
y¹ é o valor correspondente ao centro de gravidade
do conjunto fuzzy B¹, associado à consequência da
regra R¹.
é a média da extensão do suporte da
consequência para regra R¹
15
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplos de Aplicações
• Metrô de Sendai
• Controle fuzzy de semáforos de
Mamdami e Papis
16
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplos de Aplicações
17
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplos de Aplicações
18
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplos de Aplicações
• Simuladores de vôo;
• Máquinas de lavar roupa;
• Geladeiras;
• Ar condicionados;
• Injeção eletrônica;
• Elevadores;
• ...
19
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplos de Aplicações
• Combining GIS with fuzzy multicriteria
decision-making for landfill siting in a fast-
growing urban region
• A Hierarchical Fuzzy Decision Support
System for the enviromental
Rehabilitation ov Lake Koronia, Greece
• Fuzzy Decision Support System to
Determine Swell/Shrink Factor Affecting
Earthwork Optimization of Highways
20
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Ferramentas e Técnicas
• O Problema para exemplo
• jFuzzylogic
• Fuzzyengine
• Fuzzyj
• Fuzzyf
• Matlab
21
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
O problema
• Calcular a gorjeta em função da comida e
do serviço
• Se o serviço estiver ruim e a comida
rançosa, a gorjeta será pouca;
• Se o serviço estiver bom a gorjeta será
normal;
• Se o serviço estiver excelente e a comida
deliciosa, a gorjeta será generosa.
22
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
O problema
23
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
jFuzzylogic
• http://jfuzzylogic.sourceforge.net/html/index.html
• Implementação da FCL – Fuzzy Control Language;
• Uso de funções contínuas, discretas e customizadas;
• Uso de funções para defuzzificação: Centro de
Gravidade, Ponto Central da Área e a Média dos
Máximos;
• Agregação de Regras;
• Fornece a implementação do modelo Mamdani.
24
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Exemplo
25
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Fuzzyengine
• http://fuzzyengine.sourceforge.net
• Interpretação das regras fuzzy;
• Operações and, or e not;
• Aninhamento de expressões fuzzy;
• Operações de atribuição incondicional;
• Regras interpretadas dinamicamente.
26
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Dúvidas ???
27
LÓGICA FUZZY APLICADA À
SISTEMAS DE APOIO A DECISÃO
Fim

Más contenido relacionado

La actualidad más candente

Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaVictor Hazin da Rocha
 
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de TempoArthur Emanuel
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Tema 4 Sistemas Basados En Reglas Difusas
Tema 4 Sistemas Basados En Reglas DifusasTema 4 Sistemas Basados En Reglas Difusas
Tema 4 Sistemas Basados En Reglas DifusasESCOM
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Luis Ferreira
 
Redes de computadores e a internet
Redes de computadores e a internetRedes de computadores e a internet
Redes de computadores e a internetIRaza Gomes
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilGuilherme Coelho
 
Historiada Computação
Historiada Computação Historiada Computação
Historiada Computação Fernando Palma
 

La actualidad más candente (20)

Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Tokenring
TokenringTokenring
Tokenring
 
Problemas NP
Problemas NPProblemas NP
Problemas NP
 
Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação Indireta
 
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
 
Método da Bissecção
Método da BissecçãoMétodo da Bissecção
Método da Bissecção
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Projeto de redes
Projeto de redesProjeto de redes
Projeto de redes
 
Tema 4 Sistemas Basados En Reglas Difusas
Tema 4 Sistemas Basados En Reglas DifusasTema 4 Sistemas Basados En Reglas Difusas
Tema 4 Sistemas Basados En Reglas Difusas
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
 
PROJETO DE REDE
PROJETO DE REDEPROJETO DE REDE
PROJETO DE REDE
 
Escalonamento srtf
Escalonamento srtfEscalonamento srtf
Escalonamento srtf
 
Redes de computadores e a internet
Redes de computadores e a internetRedes de computadores e a internet
Redes de computadores e a internet
 
Flip Flops Parte 1
Flip Flops Parte 1Flip Flops Parte 1
Flip Flops Parte 1
 
Tecnologias de transmissão
Tecnologias de transmissãoTecnologias de transmissão
Tecnologias de transmissão
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícil
 
Historiada Computação
Historiada Computação Historiada Computação
Historiada Computação
 

Más de Otávio Calaça Xavier

Deep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeDeep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeOtávio Calaça Xavier
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsOtávio Calaça Xavier
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaOtávio Calaça Xavier
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaOtávio Calaça Xavier
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesOtávio Calaça Xavier
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLOtávio Calaça Xavier
 
Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebOtávio Calaça Xavier
 
Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksOtávio Calaça Xavier
 
Integrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPIntegrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPOtávio Calaça Xavier
 
Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebOtávio Calaça Xavier
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineOtávio Calaça Xavier
 
Fuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionFuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionOtávio Calaça Xavier
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXOtávio Calaça Xavier
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxOtávio Calaça Xavier
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPOtávio Calaça Xavier
 

Más de Otávio Calaça Xavier (20)

Deep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeDeep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizade
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.js
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simples
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQL
 
Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da Web
 
Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social Networks
 
Integrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPIntegrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHP
 
Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da Web
 
Introdução ao Framework CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Introdução ao Framework CakePHP
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP Doctrine
 
PHP: Atualidade e Tendências
PHP: Atualidade e TendênciasPHP: Atualidade e Tendências
PHP: Atualidade e Tendências
 
Fuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionFuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and Induction
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
 
Introdução à Google Maps API
Introdução à Google Maps APIIntrodução à Google Maps API
Introdução à Google Maps API
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com Ajax
 
Padrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVCPadrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVC
 
Redes Neurais com PHP
Redes Neurais com PHPRedes Neurais com PHP
Redes Neurais com PHP
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHP
 

Último

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão

  • 1. Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão Adriano H. Braga Francisco C. Xavier Otávio C. Xavier Universidade Federal de Goiás Instituto de Informática Mestrando em Ciência da Computação Sistema de Apoio a Decisão
  • 2. 2 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Roteiro  O que é lógica fuzzy? • Conjuntos Fuzzy • Classificadores Fuzzy • Controladores Fuzzy (Mamdani e Takagi-Sugeno) • Defuzzificação  Exemplos de Aplicações  Ferramentas e Técnicas • jFuzzylogic • Fuzzyengine
  • 3. 3 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO O que é lógica fuzzy?  Introduzida em 1965 por Zadeh;  Também chamada de difusa ou nebulosa;  Lógica de múltiplos (infinitos) valores;  Mecanização da capacidade humana de tomar decisões a partir de incertezas, de conhecimentos parciais, imprecisos ou incompletos;  Baseada em conjuntos fuzzy.
  • 4. 4 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Conjuntos Fuzzy  Seus elementos possuem graus de pertinência;  Subjetividade e difusão;  Torna possível lidar com problemas imprecisos como “a cor é muito violeta ou quase azul”?  Função de composição/pertinência:
  • 5. 5 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Conjuntos Fuzzy Exemplo: – Função de composição: – Dados os indivíduos A, B e C e suas respectivas alturas: – Tem-se e – Logo A não é alto, C é alto e B é “quase alto”. => altura em cm de um individuo. => função de composição para o conjunto fuzzy altos.
  • 6. Conjuntos Fuzzy Operações: – União: – Intersecção: – Complemento: – Inclusão: => para todo E OU
  • 7. 7 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Classificadores Fuzzy  Classificadores convencionais trabalham com apenas uma classe objetiva;  Classificadores fuzzy podem explimir suas saídas em conjuntos fuzzy;  Exemplo:
  • 8. 8 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Classificadores Fuzzy  Comumente baseados em regras se-então:  Consequência como expressão linguística:  Consequência como função: condição consequência
  • 9. 9 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Controladores Fuzzy  Utiliza regras se-então em seu núcleo;  A consequência será uma ação;  Usados para: − Controle de respostas diretas (Mamdani); − Controle de Supervisão (Takagi-Sugeno);
  • 10. 10 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Controladores Fuzzy  Controlador Mamdani (linguístico): − Mapeamento estático; − Filtros dinâmicos externos; − “fuzzyficador”; − inferência; − “defuzzyficador”.
  • 11. 11 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Controladores Fuzzy  Controlador Takagi-Sugeno: − Diferentemente dos linguísticos, expressa os resultados em valores numéricos e não conjuntos fuzzy; − A consequência nas regras se-então será uma função; − Podem agir como supervisores de outros controladores, alterando seus comportametos.
  • 12. 12 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO “Defuzzyficação”  Interpretação de conjuntos fuzzy em valores numéricos;  Os métodos mais comuns são: − Máximos; − Media dos Máximos; − Centróide; − Altura e − Altura modificada.
  • 13. 13 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO “Defuzzyficação”  Máximo: − valor para o qual o grau de pertinência no conjunto é o máximo;  Média dos Máximos: − média entre os maiores valores da função de pertinência no conjunto fuzzy de saída;  Centróide: − centro de gravidade do conjunto fuzzy:
  • 14. 14 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO “Defuzzyficação”  Altura:  Altura modificada: y¹ é o valor correspondente ao centro de gravidade do conjunto fuzzy B¹, associado à consequência da regra R¹. é a média da extensão do suporte da consequência para regra R¹
  • 15. 15 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplos de Aplicações • Metrô de Sendai • Controle fuzzy de semáforos de Mamdami e Papis
  • 16. 16 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplos de Aplicações
  • 17. 17 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplos de Aplicações
  • 18. 18 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplos de Aplicações • Simuladores de vôo; • Máquinas de lavar roupa; • Geladeiras; • Ar condicionados; • Injeção eletrônica; • Elevadores; • ...
  • 19. 19 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplos de Aplicações • Combining GIS with fuzzy multicriteria decision-making for landfill siting in a fast- growing urban region • A Hierarchical Fuzzy Decision Support System for the enviromental Rehabilitation ov Lake Koronia, Greece • Fuzzy Decision Support System to Determine Swell/Shrink Factor Affecting Earthwork Optimization of Highways
  • 20. 20 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Ferramentas e Técnicas • O Problema para exemplo • jFuzzylogic • Fuzzyengine • Fuzzyj • Fuzzyf • Matlab
  • 21. 21 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO O problema • Calcular a gorjeta em função da comida e do serviço • Se o serviço estiver ruim e a comida rançosa, a gorjeta será pouca; • Se o serviço estiver bom a gorjeta será normal; • Se o serviço estiver excelente e a comida deliciosa, a gorjeta será generosa.
  • 22. 22 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO O problema
  • 23. 23 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO jFuzzylogic • http://jfuzzylogic.sourceforge.net/html/index.html • Implementação da FCL – Fuzzy Control Language; • Uso de funções contínuas, discretas e customizadas; • Uso de funções para defuzzificação: Centro de Gravidade, Ponto Central da Área e a Média dos Máximos; • Agregação de Regras; • Fornece a implementação do modelo Mamdani.
  • 24. 24 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Exemplo
  • 25. 25 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Fuzzyengine • http://fuzzyengine.sourceforge.net • Interpretação das regras fuzzy; • Operações and, or e not; • Aninhamento de expressões fuzzy; • Operações de atribuição incondicional; • Regras interpretadas dinamicamente.
  • 26. 26 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Dúvidas ???
  • 27. 27 LÓGICA FUZZY APLICADA À SISTEMAS DE APOIO A DECISÃO Fim