Aplicações
Sumário Aplicações: Bancos de Dados Fuzzy. Modelo de Similaridade Modelo de Possibilidade Vários tipos de Fuzzy SQL BD Dedutivo Baseado em Regras Fuzzy. Uso de Funções de Agregação na Avaliação de Qualidade. Medindo o Consenso de um Grupo.
Tomada de Decisões Como agregar um avaliação de um objeto de acordo com vários elemento em uma avaliação global Como ordenar opções a partir de comparações par a par Como calcular a opinião de consenso entre especialistas Como agregar diferentes tipos de avaliações
Agregando Quesitos Partimos da avaliação fuzzy de vários quesitos (a matriz R) Damos a cada quesito um peso (w) Calculamos (wR), a avaliação agregada
Agregando Quesitos
Comparando Pares Algumas vezes é mais fácil comparar algo par a par, mas a>b e b>c não implica em a>c! Como obter uma comparação global (ranking)? Seja fy(x) a função de pertinência de x em respeito a y
Comparando Pares Seja f(x | y) = fy(x)/max(fy(x),fx(y)) , f(X | y) é a função de pertinência de escolher x em vez de y Baseado na comparação par a par construímos uma matriz C (de comparação), calculamos o mínimo de cada linha
Obtendo Ordenação Global F linha(coluna) Não simétrico C
Consenso Como obter um consenso de vários especialistas em um universo de alternativas possíveis Seja rij a a preferência da alternativa xi em relação a alternativa xj rij=1 significa que xi e definitivamente melhor que xj r é recíproca (rij+rji=1, rii=0) Podemos então desenvolver uma medida do consenso sobre a matriz R criada pelo grupo
Consenso Tipo 1: existe uma alternativa clara e as alternativas restantes estão indecisas Preferência da linha sobre a coluna
Consenso Tipo 2: existe uma alternativa clara e as outras alternativas estão definidas
Consenso Tipo Fuzzy: existe uma alternativa clara, mas as outras alternativas estão confusas
Consenso Preferência da linha sobre a coluna 1 = preferência clara 0,5 = indecisão total Difusão média F = 2*tr(R2)/n(n-1) = 0,317 Certeza média C(R) = 2*tr(RRT)/n(n-1) = 0,683 Distância do consenso m(R) = 1-(2C(R)-1)1/2= 0,395 m(Tipo 1) = 1-(2/n)1/2 m(Tipo 2)=0 m(não decidido)=1 A distância entre Tipo 1 e Tipo 2 aumenta com o número de opções A maioria dos grupos evolui para decisões de consenso fuzzy
Avaliação Mista Como unificar uma avaliação numérica com uma avaliação subjetiva? Seleção de candidatos para um curso de mestrado nota da prova, única avaliação subjetiva do currículo, por professor avaliação subjetiva da carta, por professor avaliação subjetiva da entrevista, por professor
Avaliação Mista Definir o peso relativo das avaliações Definir um conjunto de termos fuzzy para as avaliações subjetivas Modelar o mesmo conjunto como termos na variável lingüística “nota da prova” Para os quesitos com múltiplas opiniões, calcular a opinião de consenso, baseado em matrizes agregação Calcular o resultado final, baseado na agregação (com pesos) das notas recebidas Defuzzificar e gerar um ranking
Como Escolher Definir Objetivos Definir Restrições Definir Alternativas Definir Importância dos Objetivos Avaliar Definir Importância das Restrições Avaliar Alternativa segundo Objetivos e Restrições Calcular a Resposta fuzzy
Decisões fuzzy Podemos utilizar sistemas fuzzy para auxílio a decisão Suponha um problema de escolha Escolher a Universidade a cursar Escolher o melhor terreno para comprar
Objetivos Preço Vista do Local Serviços Disponíveis Trânsito
Restrições Segurança Ausência da Lítigio Ausência de Poluição Nível de Ruído
Alternativas Terreno na Praia Terreno na Cidade Terreno na Montanha Terreno na Estrada
Importância
Avaliando
Calculando a Importância Níveis de Importância decididos na tabela, variam de 1 a 9 Matriz de Importância uma técnica de balanceamento Fatores de Importância (guardar) Estamos definindo um peso para cada fator
Cálculos de Importância
Cálculos de Satisfação
Decisão
Decisão
Bancos de Dados fuzzy Modelos de similaridade Modelos de possibilidade se baseiam em tabelas de similaridade entre os valores possíveis de um domínio Modelos de possibilidade se baseiam no uso de distribuições de possibilidade para os termos que são valores de um domínio
Modelos de similaridade Servem para avaliar a incerteza de um termo em relação a outro poluição pode ser nenhuma, baixa, razoável, alta, excessiva e grave porém, quando dizemos grave, também estamos dizendo 80% excessiva na hora de fazer buscas, temos que levar isso em conta
Modelos de Similaridade Lugar Poluição A baixa B alta C grave D razoável E baixa F excessiva
E uma consulta Que lugares tem poluição grave? Em um sistema tradicional: responderíamos apenas “C” Em um sistema de banco de dados fuzzy, temos que calcular se os outros podem significar “grave” Em BDF de similaridade, usamos uma tabela (transitiva)
Tabela de Similaridade
Resposta? Excessiva = 0.8 grave Alta = 0.9 grave Logo a resposta é: F,B,C Ou ainda F(0.8), B(0.9), C(1.0)
Bancos de Dados fuzzy Podemos ter dois tipos dados nítidos, consultas fuzzy dados fuzzy Vejamos um exemplo de uso de bancos de dados com consultas fuzzy e capacidade de utilizar regras fuzzy
Modos de fazer consulta
Colunas da Tabela LAMEXA - Número de indivíduos examinados. A sigla refere-se a número de lâminas examinadas. LAMPOSF - Número de indivíduos que acusaram somente o Plasmodium falciparum no sangue. LAMPOSV - Número de indivíduos que acusaram somente o Plasmodium vivax no sangue. LAMPOSM - Número de indivíduos que acusaram somente o Plasmodium malariae no sangue. LAMPOSFV - Número de indivíduos que acusaram o Plasmodium falciparum e Plasmodium vivax no sangue. LAMPOSTOT - Número total de indivíduos que acusaram o Plasmodium no sangue. CASEXI - Número de casas existentes na área de pesquisa. CASVIS - Número de casas visitadas na área de controle
Variáveis Criadas VISITAS - Variável criada pelo sistema para controle do aumento ou diminuição de visitas nas diversas áreas. RETORNO - Variável criada para indicar a possibilidade de retorno da doença devido a ação do Plasmodium vivax.
Comandos Create Table Tocantins FROM tab1 SIG; Create Table Mapa AS mapa.dat SIG; Create Table Visitas AS Visitas.dat ARQTEXT; Create Table Epidemica AS epidem.dat ARQTEXT; Create Table Relatorio11 AS Relat11.dat ARQTEXT;
Variáveis Lingüísticas Descrevem algo que podemos avaliar (medir) no mundo real idade Termos Lingüisticos avaliam (ou medem) uma variável linguística velho, novo
Variáveis Linguísticas Modificadores alteram a intensidade de um termo linguístico muito, pouco, algo
Criando Var. Lingüísticas Create LingVar Integer LaminasExaminadas OVER Tocantins AS LAMEXA; Create LingVar Integer LamPosFalciparum OVER Tocantins AS LAMPOSF; Create LingVar Integer LamPosVivax OVER Tocantins AS LAMPOSV;
Criando Var. Lingüísticas Create LingVar Real PerFalciparum OVER Tocantins FROM LAMPOSF/LAMEXA; Create LingVar Real PerVivax OVER Tocantins FROM LAMPOSV/LAMEXA; Create LingVar Real PerMalariae OVER Tocantins FROM LAMPOSM/LAMEXA;
Criando Variáveis Solução Create SOLVAR Real Visitas DOMAIN 0,1 OVER Tocantins AS VISITAS; Create SOLVAR Real Retorno DOMAIN 0,1 OVER Tocantins AS VISITAS;
Os Termos Linguísticos Create LingTerm Baixo AS TRIANGLE(0.0, 0.0, 1.0); Create LingTerm Médio AS TRIANGLE(0.0, 0.5, 1.0); Create LingTerm Alto AS TRIANGLE(0.0, 1.0, 1.0);
Alto/Médio/Baixo
T.L. para Conclusões Create LingTerm Permanecer AS TRIANGLE(0.0, 0.0, 1.0); Create LingTerm Aumentar AS TRIANGLE(0.0, 1.0, 1.0); Create LingTerm Improvável AS TRIANGLE(0.0, 0.0, 1.0); Create LingTerm Provável AS TRIANGLE(0.0, 1.0, 1.0);
Criando Modificadores Create hedge Muito AS concentrator 3.0; USE hedge Muito IN Baixo; USE hedge Muito IN Medio; USe hedge Muito IN Alto;
Usando T.L. em V.L. USe Lingterm Baixo In LaminasExaminadas; USe Lingterm Medio In LaminasExaminadas ; USe Lingterm Alto In LaminasExaminadas ; USe Lingterm Baixo In LamPosFalciparum ; USe Lingterm Medio In LamPosFalciparum ; USe Lingterm Alto In LamPosFalciparum ; ...
Criando Regras IF PerVisitadas IS Baixo THEN Visitas IS Aumentar; IF PerPositivasTotal IS Baixo THEN Visitas IS Permanecer;
Mais Regras IF PerVivax IS Alto THEN Retorno IS Provável; IF PerVivax IS Baixo THEN Retorno IS Improvável;
Fazendo Consultas SELECT CasasExistentes, PerVisitadas,Visitas FROM Tocantins TO Mapa WHERE ((Visitas IS Aumentar)AND ((CasasExistentes IS Medio)OR CasasExistentes IS Alto))) WITH 0.3;
Mineração de Dados Da mesma forma que criamos regras ad-hoc, podemos fazer com que as regras sejam criadas a partir dos dados Podemos misturar regras dadas por especialistas com regras criadas por mineração de dados
Mapas Cognitivos
Redes de Petri
Redes de Petri
Petri Nets fuzzys
Alocação de Recursos
A.Rec. fuzzy
Conclusão Sempre que temos alguma incerteza em nossos dados ou em nossas regras, o uso da teoria fuzzy será uma alternativa de solução atraente A Teoria fuzzy fornece uma base matemática sólida e formal para processos que anteriormente eram tratados de forma informal
Referências Ross, Timothy J. Fuzzy Logic with Engineering Aplications", McGrawHill, New York, 1995 Kosko, Bart, "Fuzzy Engineering", Prentice-Hall, Upper Saddle River,1997. Klir, George J., Yuan, Bo, "Fuzzy Sets and Fuzzy Logic" Prentice Hall, Upper Saddle River, 1995.
FIM