Lógicas Difusas e Sistemas Difusos Prof. Valmir Macário Introdução (1/2) • O conhecimento humano é muitas vezes incompleto, incerto ou impreciso. • A IA preocupa-se com formalismos de representação e raciocínio que permitam o tratamento apropriado a cada tipo de problema. • No mundo real muitas vezes é utilizado conhecimento incerto. – Incertezas estocásticas. – Incertezas léxicas. Lógicas Difusas e Sistemas Difusos 2/77 Alto é um conceito vago. Introdução (2/2) • Incertezas estocásticas – Ex.: “A probabilidade de acertar o alvo é de 0.8” • Incertezas léxicas – Ex.: homens altos, dias quentes, moeda estável – A experiência do especialista A mostra que B está quase para ocorrer, porém, o especialista C está convencido de que não é verdade. • Incerteza pode ser tratada de várias formas entre elas com Lógicas Difusas (= Nebulosas, Fuzzy) e Redes Bayseanas. • Os fundamentos da lógica difusa foram estabelecidos em 1965, por Lotfi Zadeh. Lógicas Difusas e Sistemas Difusos 3/77 História • 1965 Seminal paper “Fuzzy Logic” por Prof. Lotfi Zadeh, • 1970 Primeira aplicação de Lógica Fuzzy em engenharia de controle (Europa) • 1975 Introdução de Lógica Fuzzy no Japão • 1980 Verificação empírica de Lógica Fuzzy na Europa • 1985 Larga aplicação de Lógica Fuzzy no Japão • 1990 Larga aplicação de Lógica Fuzzy na Europa • 1995 Larga aplicação de Lógica Fuzzy nos Estados Unidos • 2000 Lógica Fuzzy tornou-se tecnologia padrão e é também aplicada em análise de dados e sinais de sensores. Aplicação de Lógia Fuzzy em finanças e negócios Lógicas Difusas e Sistemas Difusos 4/77 Nós veremos primeiro a teoria de base, depois a formalização e por último a implementação. Hierarquia Sistemas Difusos (implementação) Lógicas Difusas (formalização) Teoria dos Conjuntos Difusos (teoria de base) Lógicas Difusas e Sistemas Difusos 5/77 Entendendo o princípio da teoria dos conjuntos difusos (1/4) Curiosidade do Cotidiano: Diálogo entre Artur e Rodrigo para decidir “O quão rápido é um carro rápido” Lógicas Difusas e Sistemas Difusos 6/77 Entendendo o princípio da teoria dos conjuntos difusos (2/4) Artur: ... então podemos criar uma categoria para carros rápidos uRÁPIDO [x] = { velocidade 100 }; Rodrigo: ... e um carro a 99.5 km/h não é rápido? Artur: ... vamos diminuir o limite para 99, combinado? Rodrigo: ... ainda não. E 98.5? Artur: Temos que parar em algum ponto ! Rodrigo: Porque? Artur: ... concordar em algum ponto onde os carros não estão rápidos. Lógicas Difusas e Sistemas Difusos 7/77 Entendendo o princípio da teoria dos conjuntos difusos (3/4) Rodrigo: É verdade. Então vamos dizer que carros abaixo de 35 km/h não são rápidos. Artur: ... concluímos que u RÁPIDO [x] = { velocidade 35 e velocidade 100 }. Não, não podemos ter dois limites para rápido. Então u RÁPIDO [x] = { velocidade 35 }. Rodrigo: Não! Carros a 35 km/k são lentos para serem considerados rápidos. Artur: Sem problemas. 35 será o mínimo para ser considerado rápido - não em todos os casos, e Lógicas Difusas e Sistemas Difusos 8/77 Entendendo o princípio da teoria dos conjuntos difusos (4/4) Artur: 100 será a velocidade que nós dois consideramos ser rápido. Qualquer valor entre eles terá o seu grau de rapidez. • Esta variação de grau de rapidez significa que alguns carros estarão mais fortemente associados com a categoria rápido do que outros; • Este grau pode assumir qualquer valor em um determinado intervalo, não ficando restrito apenas a PERTENCER ou NÃO PERTENCER ao conjunto; • Finalmente Artur e Rodrigo conseguiram entender o princípio da teoria dos conjuntos difusos. Lógicas Difusas e Sistemas Difusos 9/77 Conjuntos Fuzzy (1/3) • Conjuntos com limites imprecisos A = Conjunto de pessoas altas Conjunto Clássico 1.0 Conjunto Fuzzy 1.0 .9 .8 Função de pertinência .5 1.75 Altura (m) 1.60 1.70 1.75 Altura (m) Conjuntos Fuzzy (2/3) • Um conjunto fuzzy A definido no universo de discurso X é caracterizado por uma função de pertinência A, a qual mapeia os elementos de X para o intervalo [0,1]. A:X[0,1] • Desta forma, a função de pertinência associa a cada elemento x pertencente a X um número real A(X) no intervalo [0,1], que representa o grau de pertinência do elemento x ao conjunto A, isto é, o quanto é possível para o elemento x pertencer ao conjunto A. • Uma sentença pode ser parcialmente verdadeira e parcialmente falsa • A(X) : x [0,1], A(X) = 0 0 < A(X) < 1 A(X) = 1 Conjuntos Fuzzy (3/3) • Definição formal – Um conjunto fuzzy A em X é expresso como um conjunto de pares ordenados: A {( x, A ( x)) | x X } Conjunto fuzzy Função de pertinência (MF) Universo ou Universo de discurso Um conjunto fuzzy é totalmente caracterizado por sua função de pertinência (MF) Como representar um conjunto Fuzzy num computador? 1. Função de pertinência – Reflete o conhecimento que se tem em relação a intensidade com que o objeto pertence ao conjunto fuzzy – Métodos para adquirir esse conhecimento do especialista – Ex: Perguntar ao especialista se vários elementos pertencem a um conjunto Função de Pertinência • Várias formas diferentes • Representadas uma função de mapeamento • Características das funções de pertinência: • Medidas subjetivas • Funções não probabilísticas monotonicamente crescentes, decrescentes ou subdividida em parte crescente e parte decrescente. “alto” no Brasil MFs .8 “alto” nos EUA .5 “alto” na Itália .1 1.75 Altura (m) Função de Pertinência • Função Triangular • Função Trapezoidal x a c x trimf ( x ; a , b , c ) max min , , 0 b a c b d x x a , 1, , 0 b a d c trapmf ( x ; a , b , c , d ) max min • Função Gaussiana • Função Sino Generalizada gaussmf ( x; a, b, c) e gbellmf ( x ; a , b , c ) 1 x c 2 2 1 x c 1 b 2b Função de Pertinência (b) Trapezoidal 1 Grau de Pertinência Grau de Pertinência (a) Triangular 0.8 0.6 0.4 0.2 0 1 0.8 0.6 0.4 0.2 0 0 20 40 60 80 100 0 40 60 80 100 (d) Sino Gerneralizada 1 Grau de Pertinência Grau de Pertinência (c) Gaussiana 20 0.8 0.6 0.4 0.2 0 1 0.8 0.6 0.4 0.2 0 0 20 40 60 80 100 0 20 40 60 80 100 Partição Fuzzy • Partição fuzzy do universo de X representando “idade”, formada pelos conjuntos fuzzy “jovem”, “maduro” e “idoso”. Grau de Pertinência 1.2 Jovem Maduro Idoso 1 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 X = Idade 60 70 80 90 Representação dos conjuntos difusos (1/2) • Analiticamente - universo discreto e composto por poucos elementos. – Ex.: Conjunto dos números inteiros pequenos entre –10 e 10. Lógicas Difusas e Sistemas Difusos 18/77 Representação dos conjuntos difusos (2/2) • Gráfico da função de pertinência (diagrama HassiEuler (H-E)) – universo contínuo ou discreto com grande quantidade de elementos. – Ex.: Conjunto dos números reais pequenos entre –10 e 10. Lógicas Difusas e Sistemas Difusos 19/77 Exemplos de conjuntos difusos (1/2) • Conjunto febre alta – Definição analítica (discreta): • µFA(35°C) = 0 µFA(38°C) = 0.1 µFA(41°C) = 0.9 • µFA(36°C) = 0 µFA(39°C) = 0.35 µFA(42°C) = 1 • µFA(37°C) = 0 µFA(40°C) = 0.65 µFA(43°C) = 1 – Gráfico H-E: µ(x) 1 0 36°C Lógicas Difusas e Sistemas Difusos 37°C 38°C 39°C 40°C 41°C 42°C 20/77 Exemplos de conjuntos difusos (2/2) • Conjunto projetos longos – Definição analítica (discreta): • µPL(2) = 0.2 µPL(8) = 0.5 µPL(14) = 0.8 • µPL(4) = 0.3 µPL(10) = 0.6 µPL(16) = 0.9 • µPL(6) = 0.4 µPL(12) = 0.7 µPL(18) = 1.0 – Gráfico H-E: Lógicas Difusas e Sistemas Difusos 21/77 Variáveis Lingüísticas • Representa um conceito ou variável de um Problema. • Um valor linguístico é um conjunto fuzzy. • • • • • • • Variável linguística: – Idade Termos primários: – Jovem – Velho Universo de discurso: – 0 – 100 anos Hedges (modificadores) • Termos que são usados para modificar a forma dos conjuntos fuzzy – Muito, algo mais ou menos, um pouco • São universais • Compostos de nome e fórmula • Muito: ( x) A ( x) 2 M A • Extremamente ( x) A ( x) M A 3 • Muito muito • Um pouco ( x) A ( x) 4 M A ( x) A ( x) 1,3 M A • Mais ou menos ( x) A ( x) M A • Indeed ( x) 2 * A ( x) ,0 0,5 M A 2 ( x) 1 21 A ( x) ,0,5 1 M A 2 Conjuntos difusos: operadores (1/4) • Operações básicas sobre conjuntos fuzzy: – – – – União Interseção Complemento Negação • Operações semelhantes a dos conjuntos tradicionais. Lógicas Difusas e Sistemas Difusos 24/77 Conjuntos difusos: operadores (2/4) • Intersecção (t-norm) – Mínimo: – Produto: – Soma limitada: Lógicas Difusas e Sistemas Difusos 25/77 Conjuntos difusos: operadores (3/4) • União (t-conorm) – Máximo: – Produto ou soma probabilística: – Soma limitada: Lógicas Difusas e Sistemas Difusos 26/77 Conjuntos difusos: operadores (4/4) • Complemento Lógicas Difusas e Sistemas Difusos 27/77 Isomorfismo Lógicas Difusas e Sistemas Difusos 28/77 Representação (a) Conjuntos Fuzzy A e B Grau de Pertinência A está contido em B 1 0.8 0.6 0.4 B A 1 0.8 0.6 0.4 0.2 0 A B (b) Conjunto Fuzzy não “A” 1 0.8 0.6 0.4 0.2 0 (c) Conjunto Fuzzy "A ou B" 0.2 (d) Conjunto Fuzzy "A e B" 0 1 0.8 0.6 0.4 0.2 0 1 0.8 0.6 0.4 0.2 0 Regras Fuzzy • Base de Conhecimento • BC: regras de produção – Se <antecedente> então <consequente> • Antecedente: conjunto de condições • Consequente: ações • Os consequentes das regras disparadas são processados em conjunto para gerar uma resposta determinística para cada variável de saída do sistema. Lógicas Difusas e Sistemas Difusos 30/77 Regras Fuzzy Consistem: – Conjunto de condições IF (usando conectivos and, or ou not) – Uma conclusão THEN – Uma conclusão opcional ELSE Exemplo: Velocidade [0,220] 1. 2. Se velocidade > 100 Então DPP é 30 metros Se velocidade < 40 Então DPP é 10 metros Baixa, Média e alta 1. 2. Se velocidade é alta Então DPP é longa Se velocidade é baixa Então DPP é curta Um agente inteligente com BC Sensores Base de Conhecimento entrada Raciocínio Lógicas Difusas e Sistemas Difusos efetuadores 32/77 saída Um agente inteligente difuso BC Sensores entrada Regras Condicionais Incondicionais Variáveis lingüísticas Fuzzificação Inferência Defuzzificação Min-max vs. aditivas Máximos vs. Centróide efetuadores Lógicas Difusas e Sistemas Difusos 33/77 saída Módulos de um sistema difuso • Base de conhecimento – Regras – Variáveis lingüísticas • Processos do Raciocíno – Processo de fuzzificação – Processo de inferência – Processo de defuzzificação Lógicas Difusas e Sistemas Difusos 34/77 Sistema difuso – exemplo • Determinar o tempo de irrigação de uma plantação (em minutos), de acordo com a temperatura (graus Celsius) e a umidade do ar (%). Lógicas Difusas e Sistemas Difusos 35/77 Variáveis Linguísticas (Fuzificação) Lógicas Difusas e Sistemas Difusos 36/77 Exemplo: regras Lógicas Difusas e Sistemas Difusos 37/77 Raciocínio: inferência (1/10) • Transformação dos conjuntos difusos de cada variável de saída em um único. • Realiza a interpretação das regras da base de conhecimento. • Passos: – Ativação do antecedente, – Implicação, – Agregação. Lógicas Difusas e Sistemas Difusos 38/77 Raciocínio: inferência (2/10) • Ativação do antecedente: – Utiliza os graus de pertinência das condições difusas, determinados na fuzzificação. – Aplica os operadores difusos para obter o grau de verdade das regras. Lógicas Difusas e Sistemas Difusos 39/77 Raciocínio: inferência (3/10) Exemplo de ativação do antecedente • Base de Regras: Lógicas Difusas e Sistemas Difusos 40/77 Raciocínio: inferência (4/10) Exemplo de ativação do antecedente • Ativações dos antecedentes: 1. 2. 3. 4. 0,3 0,6 0,4 0 Lógicas Difusas e Sistemas Difusos 41/77 Raciocínio: inferência (5/10) • Implicação – Obtenção dos valores difusos de saída de cada regra. – Obtenção de um conjunto difusos de saída para cada regra. – Métodos mais comuns: Onde: C1 é um conjunto difuso de saída determinado pela aplicação da implicação; C é o conjunto difuso de saída existente no consequente da regra; é o grau de verdade da regra. Lógicas Difusas e Sistemas Difusos 42/77 Raciocínio: inferência (6/10) Exemplo de implicação • Resultados da implicação. O tempo de irrigação deve ser: 1. 2. 3. 4. 0,3 pequeno 0,6 médio 0,4 médio Lógicas Difusas edo Sistemas Difusos de inferência. 0 grande – não participará processo 43/77 Raciocínio: inferência (7/10) Exemplo de implicação Lógicas Difusas e Sistemas Difusos 44/77 Raciocínio: inferência (8/10) • Agregação: – Agrega os conjuntos difusos obtidos na implicação. – Obtém um único conjunto difuso, que descreve a saída do sistema. – Pra quê? • Porque se espera que o sistema difuso produza uma única decisão. – Como? • Normalmente se utiliza o operador de união máximo. x max1 x ,..., n x • Mas também pode ser utilizado, por ex., o operador de união soma limitada. x min 1, 1 x ... n x Lógicas Difusas e Sistemas Difusos 45/77 Raciocínio: inferência (9/10) Exemplo de agregação Lógicas Difusas e Sistemas Difusos 46/77 Raciocínio: inferência (10/10) Observação • Quando se utiliza o min na etapa de implicação e o max na etapa de agregação, diz-se que foi utilizada a técnica min-max de inferência. • Quando se utilizam os operadores de soma limitada, diz-se que foi utilizada a técnica aditiva (ou cumulativa) de inferência. Lógicas Difusas e Sistemas Difusos 47/77 Raciocínio: defuzzificação (1/2) • Produz um valor crisp a partir de um conjunto difuso. • Pra quê? – Porque apesar de um único conjunto difuso de saída (produzido na etapa anterior) possuir informação qualitativa útil, normalmente queremos uma saída crisp. • Como? – Existem diversos métodos. Lógicas Difusas e Sistemas Difusos 48/77 Raciocínio: defuzzificação (2/2) Métodos de defuzzificação • Seja o conjunto difuso de saída definido no universo de discurso V da variável v. • O valor defuzzificado é: • Centróide para universo de discurso contínuo Mais robustos • Centróide para universo de discurso discreto Lógicas Difusas e Sistemas Difusos 49/77 Exemplo1: Apoio à Decisão • Projeto e funcionamento de um sistema para determinação do consumo de combustível de um automóvel. – Passo (1): Variáveis de entrada = velocidade (Vel), pneu (Pneu) Variável de saída = consumo (Con) – Passo (2): Vel = [Baixa, Média, Alta]; Pneu = [Velho, Novo] Con = [Baixo, Médio, Alto] Lógicas Difusas e Sistemas Difusos 50/77 Exemplo1: Apoio à Decisão • Passo (3): – – – – – – Regra 1: Se Vel = B e Pneu = V, então Con = A. Regra 2: Se Vel = B e Pneu = N, então Con = M. Regra 3: Se Vel = M e Pneu = V, então Con = M. Regra 4: Se Vel = M e Pneu = N, então Con = B. Regra 5: Se Vel = A e Pneu = V, então Con = A. Regra 6: Se Vel = A e Pneu = N, então Con = M. • Passo (4): – Adotar centro de área. Lógicas Difusas e Sistemas Difusos 51/77 Exemplo1: Apoio à Decisão • Para Velocidade = 35 km/h e Pneu = 1mm, qual o Consumo? • Fuzzificação: Lógicas Difusas e Sistemas Difusos 52/77 Exemplo1: Apoio à Decisão • Inferência: • Defuzzificação: – Usando centro de área: • Con ≅ 11,5 km/l 53/77 Exemplo2: Controle de Processo • Sistema de controle do nível de água em um tanque através de uma válvula de escape. – Se “nível de água estiver alto” então “abrir a válvula”. – Se “nível de água estiver baixo” então “fechar a válvula”. Lógicas Difusas e Sistemas Difusos 54/77 Exemplo2: Controle de Processo • Qual a abertura desejada da válvula se o nível está a 1,7m? – Fuzzyficar entrada: descobrir o valor da função de pertinência para a entrada 1,7m. • Caso a entrada já seja “fuzzy”, este passo é desnecessário. Lógicas Difusas e Sistemas Difusos 55/77 • Inferência fuzzy: Transferir o valor encontrado para a saída. Lógicas Difusas e Sistemas Difusos 56/77 Aplicações • No caso das máquinas de lavar roupas, por exemplo, a partir da quantidade de roupas colocadas na máquina e o nível de sujeira, a máquina automaticamente regula a quantidade de água necessária para a lavagem, o tempo de lavagem, a quantidade necessária de sabão em pó, amaciante. O resultado disso é o melhor aproveitamento de recursos, economia de energia, maior vida útil do equipamento. Lógicas Difusas e Sistemas Difusos 57/77 Aplicações … • Controle – – – – 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) 58 Aplicações • Outros projetos japoneses: – – – – Reconhecimento de caracteres Sistemas fuzzy óticos Robôs Helicópteros comandados por voz • NASA – controle fuzzy para ancorar suas naves automaticamente no espaço 59 Conclusão • Lógica difusa é uma importante ferramenta para auxiliar a concepção de sistemas complexos, de difícil modelagem • Pode ser utilizada em conjunto com outras tecnologias de ponta: – Algoritmos Genéticos; – Clustering; – Redes neurais artificiais. Lógicas Difusas e Sistemas Difusos 60/77 Referências bibliográficas REYES, C. A. P., Lecture Notes in Computer Science 3204 Coevolutionary Fuzzy Modeling, Springer, Germany, 2004. SANTOS, G. J. C., Tese de Mestrado, Universidade Federal de Santa Cruz, Departamento de Ciências Exatas e Tecnológicas, Ilhéus, Bahia, 2003. ALMEIDA, P. E. M., EVSUKOFF, A. G., Sistemas Inteligentes: Fundamentos e Aplicações, cap. Sistemas Fuzzy, Manole, Barueru, São Paulo, 2005. COX, E., The FuzzySystems Handbook. KARTALOPOULOS, S. V., Understanding Neural Networks and Fuzzy Logic, IEEE PRESS, 1996. KOSKO, B., Fuzzy Engineering, Prentice-Hall, 1997. Kosko, B., Neural Networks and Fuzzy Systems, Prentice-Hall, 1992. Lógicas Difusas e Sistemas Difusos 61/61