Distancia Angulo Gerador de Sinal Controlador Nebuloso Osciloscópio 2.141e-016 Display Introdução à Lógica Nebulosa Álvaro Guarda Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto Evolução da Área Lógica Clássica Bivalorada: V ou F Lei da Não-Contradição: A ~A = φ Lógica Multivalorada Desenvolvida por Jan Lukasiewicz para lidar com o Princípio da Incerteza na Mecânica Quântica 1920: 3 valores (V, F ou I) 1930: n valores Lógica Nebulosa Lógica Nebulosa ( Fuzzy( Fuzzy ) Lofti Zadeh propôs o conceito de Conjuntos Nebulosos em 1965, inspirando-se nos trabalhos de Jan Lukasiewicz e Max Black DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 1 1
Introdução : Modelagem Realidade Situação Fato Novo Modelagem (Representação do Conhecimento) Solução Teoria Inferência Teorema DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 2 Características Lógica Nebulosa ( Fuzzy( Fuzzy ) É mais expressiva que a lógica de predicados Lógica clássica Lógica Nebulosa Permite modelar conhecimentos de uma forma mais flexível, não exata e imprecisa Permite efetuar o raciocínio aproximado, com proposições imprecisas É baseada na teoria dos Conjuntos Nebulosos DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 3 2
Lógica Nebulosa ( Fuzzy( Fuzzy ) Aplicações A sua utilização se consolidou primeiro na indústria Em 1994 o Japão exportou US$35 bilhões em produtos que utilizam Fuzzy Logic Aplicações Comerciais e Industriais Ano 1986 1987 1988 1989 1990 1991 1992 1993 Aplicações 8 15 50 100 150 300 800 1500 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 4 Controle Principais Áreas de Aplicações Comerciais Controle de Aeronave (Rockwell Corp.) Operação do Metrô de Sendai (Hitachi) Transmissão Automática (Nissan, Subaru) Space Shuttle Docking (NASA) Otimização e Planejamento Elevadores (Hitachi, Fujitech, Mitsubishi) Análise do Mercado de Ações (Yamaichi) Análise de Sinais Ajuste da Imagem de TV (Sony) Autofocus para Câmera de Video (Canon) Estabilizador de Imagens de Video (Panasonic) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 5 3
Definição de Conjunto Conjuntos Nebulosos Um conjunto é uma coleção de objetos com alguma propriedade comum a todos eles O conjunto A é um subconjunto de um conjunto de referência X Pertinência na Teoria Clássica O conjunto A de X pode ser definido por uma função característica x A { 0;1} onde x ( x) = { 0 se x A; se x A} : X 1 A x A Pertinência em Conjuntos Nebulosos O conjunto nebuloso A de X pode ser definido por uma função característica µ [ 0;1] onde ( x indica o grau de pertinência de x no conjunto A µ A : X µ A ) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 6 Conjuntos Nebulosos Exemplo: conjunto das temperaturas que indicam o estado febril Realidade 1 µ(x) 0 36 temperatura Clássico 1 µ(x) 0 36 temperatura Nebuloso 1 µ(x) 0 36 temperatura DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 7 4
Variável Lingüí üística Definição: é uma tripla: (V, X, T) onde V é o nome da variável lingüística X é o conjunto de referência T é o conjunto de valores lingüísticos que a variável V pode assumir Cada valor lingüístico é um conjunto nebuloso definido por uma função de pertinência DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 8 Variável Lingüí üística Exemplo - temperatura do corpo humano V = temperatura X = conjunto de temperaturas válidas T = {sem_febre, febre, febre_alta} µ(x) 1 sem_febre febre febre_alta temperatura = 38 ºC 0 25 30 35 40 45 µ sem _ febre ( 38 ) = µ febre ( 38) = µ febre 0,8 _ alta (38) = 0,2 0,0 temperatura DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 9 5
Operações Operações sobre Conjuntos Nebulosos As operações sobre conjuntos nebulosos podem ser tratados de forma mais geral família de operações: normas e co-normas triangulares T-norma (Intersecção) Uma operação t:[0, 1] x [0, 1] [0, 1] é uma t-norma se a) t(0, 0) = 0 condição de contorno b) t(a, b) = t(b, a) comutatividade c) t(a, t(b, c)) = t(t(a, b), c) associatividade d) (a c) (b d) t(a, b) t(c, d) monotonicidade e) t(a, 1) = a condição de contorno T-co-norma (União) Uma operação s é uma t-co-norma se possui as propriedades {a, b, c, e} e satisfaz: a ) s(1, 1) = 1 condição de contorno b ) s(a, 0) = a condição de contorno DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 10 Definição dos operadores mais utilizados: Operações sobre Conjuntos Nebulosos Nome t-norma t-conorma Zadeh min(a, b) max(a, b) Probabilista a * b a + b a*b Lukasiewicz max(a+b-1, 0) min(a+b-1, 0) Weber a, se b=1 a, se b=0 b, se a=1 b, se a=0 0, caso contrário 1, caso contrário T-normas (intersecções) T-conormas (uniões) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 11 6
Operações sobre Conjuntos Nebulosos Complemento (negação) Uma operação n:[0, 1] [0, 1] é um complemento se a ) n(0) = 1 b ) n(1) = 0 c ) a > b n(a) < n(b) d ) n(n(a)) = a Definições de Complemento n(a) = 1 - a n(a) = (1 a) / (1 + λa) onde λ > -1 negação de Sugeno n(a) = (1 a w ) 1/w onde w > 0 negação de Yager DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 12 Operações sobre Conjuntos Nebulosos Implicação Sejam [ 0;1] ; : Y [ 0; ] e I operador de implicação µ A : X µ B 1 = µ ( x, y) = I( µ ( x), ( y)) A B A µ B Operações de Implicação mais utilizadas Nome Implicação Mamdani min(a, b) Larsen a * b Brower - Gödel Rescher-Gaines "sharp" 1, se a <= b b, caso contrário 1, se a <= b 0, caso contrário Zadeh - Wilmott max(1-a, min(a, b)) Kleene-Diemes max(1-a, b) Lukasiewicz min(1-a+b, 1) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 13 7
Inferência em Lógica L Nebulosa Modus Ponens A B A B Modus Ponens Generalizado x A y B x A y B Supondo que então µ A (x) = α µ é calculado com a operação de implicação y B B (y) conjunto nebuloso inferido conforme a implicação: Mamdani Larsen Gödel DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 14 Agregação Quando várias regras inferem a mesma variável lingüística, os resultados são agregados Usualmente, o operador de agregação é uma t-co-norma quando I (operador de implicação) é uma t-norma e vice-versa Exemplo Inferência em Lógica L Nebulosa Seja a Base de Regras Nebulosas: Regra 1: Se V i = A 1 então V B = B 1 Regra 2: Se V j = A 2 então V B = B 2... Regra N: Se V k = A n então V B = B n Se for utilizado o operador de implicação de Mamdani (min(a, b)) a agregação fica B = B 1 U B 2 ULU DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 15 B n 8
Operações: Intersecção Implicação Agregação Exemplo Modelo Clássico de Mamdani min(a, b) min(a, b) max(a, b) Regra 1: Se V A = A 1 e V B = B 1 então V C = C 1 Regra 2: Se V A = A 2 e V B = B 2 então V C = C 2 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 16 Operações Intersecção Implicação Agregação Exemplo Modelo Clássico de Larsen a * b a * b max(a, b) Regra 1: Se V A = A 1 e V B = B 1 então V C = C 1 Regra 2: Se V A = A 2 e V B = B 2 então V C = C 2 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 17 9
Estrutura de um Controlador Nebuloso DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 18 Base de Conhecimento A Base de Conhecimento é construída a partir da modelagem de um especialista no problema, da experiência do projetista ou através de experimentos. Base de Regras As regras modelam o comportamento do controlador e têm uma estrutura do tipo Se <premissa> então <conclusão> como por exemplo Se Erro é NegativoGrande e DeltaErro é PositivoPeq então Velocidade é PositivaPequena DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 19 10
Base de Conhecimento Base de Dados Inclui todas as outras informações e definições necessárias ao procedimento de inferência e as interfaces com o processo, tais como: Fórmulas de discretização Fórmulas de normalização dos universos de discurso Funções de pertinência dos valores lingüísticos DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 20 Fuzificação Definição Faz a conversão dos valores das variáveis de entrada nos valores lingüísticos Variáveis de Entrada Fuzificação Variáveis Lingüísticas Descrição O sinal e(t) usualmente é do tipo numérico As regras são expressas em termos de variáveis lingüísticas e seus respectivos valores lingüísticos Assim, há a necessidade de se converter e(t) nos graus de pertinência dos valores lingüísticos Exemplo: temperatura = 38 ºC µ sem _ febre ( 38) = 0 ; µ febre (38) = 0,8 e µ febre _ alta (38) = 0,2 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 21 11
Defuzificação Definição É o processo que faz o mapeamento de um conjunto nebuloso para um valor numérico, o qual pode ser um comando para algum atuador. Conjunto Nebuloso Defuzificação Valores Numéricas Descrição Este conjunto nebuloso representa o conjunto de valores de resposta válidos, resultantes da inferência, com os seus respectivos graus de pertinência O procedimento de inferência produz como resultado um conjunto nebuloso Como se deseja um único valor numérico, é necessário aplicar um método de conversão Principais Métodos - Centro de Área (COA) - Média dos Máximos (MOM) - Primeiro Máximo (SOM) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 22 1 u COA Avaliação da Utilização de Controladores Nebulosos Vantagens Não necessidade de modelagem do sistema a ser controlado Possibilidade de incorporar conhecimentos heurísticos do operador humano Possibilidade de incorporar conhecimentos heurísticos de vários especialistas Possibilidade de resultado adequado, mesmo com conhecimentos contraditórios Aplicabilidade a sistemas de dinâmica complexa, incluindo não-linearidade Possibilidade de explorar a característica não linear dos controladores nebulosos para obter-se maior desempenho DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 23 12
Avaliação da Utilização de Controladores Nebulosos Desvantagens Ausência de uma metodologia madura para o projeto do controlador, resultando em um processo artesanal e pouco sistematizado Impossibilidade de demonstração, geralmente, de propriedades como estabilidade Precisão de regulagem pode eventualmente ser insuficiente Consistência das regras não garantidas a priori DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 24 Exemplo: Superfície de Referência Entradas: X = {-10; 10} Y = {-10; 10} Saída: Z = {-100; 100} DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 25 13
Toolbox Fuzzy Definição das Variáveis Edit Add varibles Alterar nomes Alterar domínios Clicar nas caixas DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 26 Definição das Variáveis Edit Add MF Escolher tipo e quantidade Clicar nos traçados Alterar nomes Alterar parâmetros Editor das Funções de Pertinência - 1 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 27 14
Editor das Funções de Pertinência - 2 DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 28 Matriz de Combinações dos Valores X MN NE ZE PO MP MN ZE NE MN NE ZE NE PO ZE NE ZE PO Y ZE MP PO ZE PO MP PO PO ZE NE ZE PO MP ZE NE MN NE ZE DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 29 15
Base de Regras 1. If (X is MN) and (Y is MN) then (Z is ZE) 2. If (X is MN) and (Y is NE) then (Z is PO) 3. If (X is MN) and (Y is ZE) then (Z is MP) 4. If (X is MN) and (Y is PO) then (Z is PO) 5. If (X is MN) and (Y is MP) then (Z is ZE) 6. If (X is NE) and (Y is MN) then (Z is MN) 7. If (X is NE) and (Y is NE) then (Z is ZE) 8. If (X is NE) and (Y is ZE) then (Z is PO) 9. If (X is NE) and (Y is PO) then (Z is ZE) 10. If (X is NE) and (Y is MP) then (Z is MN) 11. If (X is ZE) and (Y is MN) then (Z is MN) 12. If (X is ZE) and (Y is NE) then (Z is NE) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 30 Editor de Regras DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 31 16
Vizualizador da Aplicação das Regras DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 32 Superfície do Controlador Nebuloso DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 33 17
Guindaste de porto DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 34 PROBLEMA: Automatizar o Guindaste de Contêineres O operador explica algumas estratégias que ele utiliza: Começar com potencia media. Se começar e ainda estiver longe do alvo, ajustar a potencia de modo que a cabeça do guindaste fique um pouco atrás do container. Perto do alvo, deve-se reduzir a velocidade para que o container fique um pouco a frente da cabeça do guindaste. Quando o container estiver muito perto da posição alvo, coloque-o com potência média novamente. Quando o container está acima do alvo e o movimento pendular for zero, parar o motor. DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 35 18
Estrutura do controlador nebuloso para o guindaste DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 36 Modelagem das Regras 1) SE distância = longe E ângulo = zero ENTÃO potência = média_positiva 2) SE distância = zero E ângulo = zero ENTÃO potência = zero 3) SE distância = longe E ângulo = pouco_negativo ENTÃO potência = alta_positiva 4) SE distância = perto E ângulo = pouco_positivo ENTÃO potência = média_positiva 5) SE distância = longe E ângulo = muito_negativo ENTÃO potência = média_positiva 6) SE distância = média E ângulo = pouco_negativo ENTÃO potência = média_negativa DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 37 19
Modelagem do Controlador DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 38 Funções de pertinência da variável vel distância DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 39 20
Funções de pertinência das outras variáveis veis Ângulo : Potência do Motor : DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 40 Entrada das Regras DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 41 21
Resposta do sistema a uma distância de 2 m e ângulo 40º DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 42 Superfície de Saída do Controlador DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 43 22
Modelagem no Simulink Distancia Angulo Gerador de Sinal Controlador Nebuloso Osciloscópio 2.141e-016 Display DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 44 Modelagem no Simulink Distancia Angulo Gerador de Sinal Controlador Nebuloso Osciloscópio 2.141e-016 Display 15 Resposta do Sistema 10 Potência do Motor 5 0-5 -10-15 0 1 2 3 4 5 6 7 8 9 10 Tempo (s) DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 45 23
Problema Bibliografia THE MATHWORKS, Inc. Fuzzy Logic Toolbox User s Guide. Natick: 2007. SANDRI, S; CORREA, C. Lógica Nebulosa. V Escola de Redes Neurais, Promoção: Conselho Nacional de Redes Neurais pp. c073-c090, 19 de julho, 1999 - ITA, São José dos Campos SP. DECOM ICEB UFOP Prof. Álvaro Guarda Introdução à Lógica Nebulosa - 46 24