Redes Neurais e Sistemas Fuzzy Conceitos Básicos da Lógica Fuzzy. Raciocínio aproximado Raciocínio aproximado é a forma mais conhecida de lógica fuzzy, cobrindo várias regras de inferência cujas premissas contêm proposições fuzzy. Uma proposição fuzzy é uma representação simbólica para uma expressão em linguagem natural, envolvendo variáveis lingüísticas. As regras de inferência são expressas como declarações Se - Então. Existem dois métodos diretos importantes de raciocínio fuzzy: o método direto de Mamdani e a modelagem fuzzy de Takagi-Sugeno (T-S). O método de Mamdani é o mais popular baseado numa estrutura simples de operações min-max, envolvendo regras de inferência do tipo: Se x é A e y é B Então z é C onde A, B e C são conjuntos fuzzy O método de T-S modela o consequente da regra como uma equação linear Se x é A e y é B Então z = ax + by + c Neste caso, devemos aplicar técnicas de modelagem usando dados de entrada-saída para obter as regras. 2
Exemplo de raciocínio aproximado Considere a regra abaixo: Se a temperatura da sala é pouco alta E a umidade é alta Então ajuste o seletor do ar-condicionado para alto. Neste caso temos a correspondência para a regra de produção (RP) como: Se x é A e y é B Então z é C com x: temperatura da sala; y: umidade; z: seletor do ar-condicionado; e A: pouco alta; B: alta; C: alto µ pouco alta µ alta µ alto 25 T[ C] 80 U[%] A regra equivalente para o método T-S seria: Se x é A e y é B Então z = 0,2x + 0,05y 9 S 3 2 Mecanismos de raciocínio fuzzy O raciocínio fuzzy pode ser visto como uma generalização do raciocínio da lógica binária, que é baseado nos mecanismos complementares modus ponens MP e modus tollens MT. Estes mecanismos são utilizados para raciocinar com regras de produção (RP) baseadas na implicação : Se A, então B ou A B. No MP, se a regra A B for válida e se A for verdadeiro, então nós podemos deduzir que B também é verdadeiro. premissa : A B Se x é A Então y é B premissa 2: A x é A conseqüência: B y é B No MT, se a regra A B for válida e se B for falso, então A é falso. premissa : A B Se x é A Então y é B premissa 2: não B y é não B conseqüência: não A x é não A 4
Exemplo de MP Considere o seguinte exemplo de MP em forma de regra P : Se temperatura é menor que 0 C Então aumente o aquecedor P 2 : Temperatura é 5 C C: Aumente o aquecedor A premissa 2 satisfaz completamente a condição da premissa e assim concluimos aumente o aquecedor. O raciocínio fuzzy é baseado no modus ponens generalizado MPG: P : Se x é A Então y é B P 2 : x é A C: y é B onde A, A, B e B são conjuntos fuzzy, sendo A e A conjuntos diferentes, assim como B e B são também diferentes. 5 Exemplo de MPG No MPG A e A são conjuntos fuzzy diferentes mas, apesar disso, podemos inferir a conclusão y é B da premissa y é B, com base na sua similaridade. Por causa disso o raciocínio fuzzy é algumas vezes chamado de raciocínio aproximado. Na lógica binária, A e A nas premissas e 2 devem ser exatamente iguais. O raciocínio humano é parecido com o raciocínio fuzzy. Se, por exemplo, aplicarmos o MPG ao exemplo anterior obteríamos: P : Se temperatura é baixa Então aumente o aquecedor P 2 : Temperatura é muito baixa C: Aumente muito o aquecedor O raciocínio fuzzy é particularmente flexível quando está baseado em múltiplas regras. Neste caso, a adequação do antecedente de cada regra é usada para estabelecer a conclusão de cada regra. Finalmente, as conclusões individuais devem ser agregadas obtendo-se uma conclusão global. 6
3. Implicação fuzzy A declaração condicional Se - Então representa uma regra de produção (RP) envolvendo predicados imprecisos. Uma regra de produção é expressa por uma relação fuzzy representando uma implicação fuzzy (IF). A escolha da função IF reflete critérios intuitivos e o efeito do conectivo também utilizado para conectar as diversas regras da base de conhecimento. As características básicas desejáveis de uma função IF são: suavidade, inferência irrestrita, simetria do MPG (Modus Ponens Generalizado) e do MTG (Modus Tollens Generalizado), medida de propagação da incerteza. Uma determinada IF satisfaz um conjunto de critérios relacionados às regras de inferência para raciocínio qualitativo e alguns modificadores lingüísticos: MPG MTG P : x é A P : y é B P 2 : Se x é A então y é B P 2 : Se x é A então y é B C: y é B C: x é A sendo A e B obtidos pelos modificadores: muito, mais ou menos, não. 7 Relação entre antecedentes e conseqüentes na IF Critérios intuitivos relacionando P e C para um P 2 do MPG Crit. : x é A y é B Crit. 2-: x é muito A y é muito B Crit. 2-2: x é muito A y é B Crit. 3-: x é mais ou menos A y é mais ou menos B Crit. 3-2: x é mais ou menos A y é B Crit. 4-: x é não A y é desconhecido Crit. 4-2: x é não A y é não B Critérios intuitivos relacionando P e C para um P 2 do MTG Crit. 5: y é não B xé não A Crit. 6: y é não muito B x é não muito A Crit. 7: y é não mais ou menos B x é não mais ou menos A Crit. 8-: y é B xé desconhecido Crit. 8-2: y é B xé A 8
Exemplo de modificadores Os modificadores lingüísticos são implementados por funções algébricas aplicadas sobre o conjunto fuzzy que expressa o conceito original. Considere um conjunto fuzzy A representado por A (x). Os principais modificadores utilizados são: muito A : muito A (x) = ( A (x)) 2 mais ou menos A: mais ou menos A (x) = ( A (x)) /2 Considere que o valor lingüístico alto seja representada pelo conjunto fuzzy A = 0,2/60 + 0,5/70 + /80. Determine os conjuntos fuzzy relativos ao conceito muito alto: muito A (x) = ( A (x)) 2 = 0,04/60 + 0,25/70 + /80 mais ou menos alto 0,5 0,2 50 alto 60 70 80 0,25 0,04 50 muito alto 60 70 80 0,7 0,45 50 60 70 80 9 Implicação de Mamdani: regra do mínimo Baseada no cálculo proposicional: A B = ( A) (AB) A B A B F F V F V V V F F V V V A AB A AB V F V V F V F F F F V V Os graus de pertinência desta relação de implicação R c : A(x) B(y) são calculados pela conjunção, ou o mínimo, dos conjuntos fuzzy A(x) e B(y). R c = A B = X Y A (x) B (y) / (x, y) µ Rc (x,y) = min(µ A (x), µ B (y)) O conjunto B que representa a conseqüência da aplicação do MPG é calculado pela regra de inferência composicional, considerando a composição do conjunto A de P com a relação R c de P 2. B = A o R c 0
Interpretação de uma Base de Regras Uma base de regras envolvendo a implicação (completa) é interpretada como a interseção (produto) das regras individuais, por exemplo: BR: R R 2 R 3 R 4 com: R : A B ; R 2 : A 2 B 2 ; R 3 : A 3 B 3 ; R 4 : A 4 B 4 ; Como cada regra se aplica apenas a uma região da partição (A A 2 A 3 A 4 ), apenas uma regra estará ativa, enquanto as outras fornecem o valor que é o valor neutro do produto. Exemplo: Se A = A 2 Então B: B 2 = B 2 Uma base de regras envolvendo a implicação incompleta (apenas o ) deve ser interpretada como a união (soma) das regras individuais, por exemplo: BR: R R 2 R 3 R 4 com: R : A B ; R 2 : A 2 B 2 ; R 3 : A 3 B 3 ; R 4 : A 4 B 4 ; Como cada regra se aplica apenas a uma região da partição, apenas uma regra estará ativa, enquanto as outras fornecem o valor 0 que é o valor neutro da soma. Exemplo: Se A = A 2 Então B: 0 B 2 0 0 = B 2 Representação de um conjunto de regras x x 2 SIF y x 2 y C 2 R R 2 R = A B C 2 R 2 = A B 2 C 2 B 2 A B 2 A 2 B 2 C R 3 = A 2 B C R 4 = A 2 B 2 C A B = ( A) (AB) B A B A A 2 B A 2 x A A B = AB A 2 x R 3 R 4 B B 2 x 2 x x 2 R R 2 R 3 R 4 R i A B C 2 V V V C 2 A B 2 V C 2 V V C 2 A 2 B V V C V C A 2 B 2 V V V C C x x 2 R R 2 R 3 R 4 R i A B C 2 F F F C 2 A B 2 F C 2 F F C 2 A 2 B F F C F C A 2 B 2 F F F C C 2
Exemplo de determinação da relação R c Dados os universos X: {30, 50, 80}, correspondente à variável lingüística Peso e Y: {50, 60, 70, 80} correspondente à variável lingüística Altura; Sendo A(x) o conjunto fuzzy correspondente ao valor lingüístico da variável Peso: pouco_pesado A(x) =/30 + 0,6/50 + 0,2/80 e B(y) o conjunto fuzzy correspondente ao valor lingüistico da variável Altura: altura_média B(y) = 0,8/50 + /60 + 0,7/70 + 0,/80 Podemos definir a relação de implicação A(x) B(y), Se peso é pouco_pesado, então altura é altura_média, pela regra do mínimo como: A(x) B(y) = A(x) B(y) R c (x,y) = ec(a) ec(b) A(x) B(y) : R c = A B x y 0,8 0,7 0, 50 60 70 80 30 0,8 0,7 0, 0,6 50 0,6 0,6 0,6 0, 0,2 80 0,2 0,2 0,2 0, 3 Exemplo de inferência com a relação R c Considerando a relação R c calculada anteriormente, determine quais são os critérios que são satisfeitos para o MPG. pouco_pesado A(x) =/30 + 0,6/50 + 0,2/80 muito pouco_pesado A + (x) =/30 + 0,36/50 + 0,04/80 mais ou menos pouco_pesado A (x) =/30 + 0,77/50 + 0,45/80 0,8 0,7 0, A(x) B(y) : R c = 0,6 0,6 0,6 0, 0,2 0,2 0,2 0, O MPG é calculado pela regra de inferência composicional: B = A R c (a) B = A R c =? (c) B = A R c =? (b) B = A + R c =? 4
Implicação de Larsen: regra do produto Baseada no cálculo proposicional: AB = (não A) + A B Os graus de pertinência desta relação de implicação R p : A(x) B(y) são calculados pelo produto dos graus de pertinência dos conjuntos fuzzy A(x) e B(y) A (x) B (y) / (x, y) R p = A B = X Y µ Rp (x,y) = µ A (x) µ B (y) 5 4. Base de Regras A representação genérica típica do conhecimento se dá através de um conjunto de regras de múltiplas entradas e múltiplas saídas (MIMO, multiple input - multiple output), denominado base de regras (BR) onde R i MIMO representa a regra: BR = {R MIMO, R 2 MIMO,, R n MIMO} Se (x é A i e e y é B i ) então (z é C i,, z q é D i ) O antecedente de R i forma um conjunto fuzzy A i B i no espaço do produto cartesiano X Y. O conseqüente é a união de q ações independentes. Assim, a i-ésima regra R i é representada pela implicação: R i MIMO : (A i B i ) (z + + z q ) 6
A base de regras pode ser escrita como as regras individuais agregadas pelo conectivo também: R MIMO : Se (x é A e e y é B ) então (z é C,, z q é D ) também R 2 MIMO : Se (x é A 2 e e y é B 2 ) então (z é C 2,, z q é D 2 ) também : : : : R i MIMO : Se (x é A i e e y é B i ) então (z é C i,, z q é D i ) também : : : : R n MIMO : Se (x é A n e e y é B n ) então (z é C n,, z q é D n ) também Cada regra individual é disparada de acordo com a adequação dos valores físicos (x 0,..., y 0 ) apresentados na entrada do sistema (instância) com os conjuntos fuzzy componentes da regra, gerando conseqüentes proporcionais à força de disparo de cada regra. Uma instância é tratada como um singleton no espaço X Y. A conseqüência global do conjunto de regras é dada pela agregação através do operador também dos resultados individuais do disparo de cada regra 7 Propriedades de um conjunto de regras A partir da definição de R i : R i MIMO : (A i B i ) (z + + z q ) verifica-se que o conjunto de regras BR pode ser representado pela união das regras individuais: BR = { n i= R i MIMO} = { n i= [(A i B i ) (z + + z q )]} Como o conseqüente de cada regra é a agregação de q ações independentes, BR pode ser agrupado em q conjuntos de regras de múltiplas entradas - única saída (MISO, multiple input - single output) representados por BR MISO : BR = { n i= [(A i B i ) z ],, n i= [(A i B i ) z q )]} = { q k= n i= [(A i B i ) z k ]} = {BR MISO, BR 2 MISO,, BR q MISO} com BR k MISO = n i= [Se (x é A i e e y é B i ) então (z k é C i ) ] 8
Forma geral de um conjunto de regras MISO R : Se x é A e y é B então z é C R 2 : Se x é A 2 e y é B 2 então z é C 2 : : : R n : Se x é A n e y é B n então z é C n Uma regra i é representada pela relação fuzzy R i µ Ri (x,y,z) = [µ Ai (x) µ Bi (y)] µ Ci (z) Para a implicação Mamdani, R c, por exemplo, os graus de pertinência da implicação são calculados pelo operador mínimo: µ Rc (x,y,z) = µ A (x) µ B (y) µ C (z) Para a implicação R c, e considerando as premissas do MPG como sendo A e B, o resultado da inferência é calculado como a composição maxmin do antecedente com o grau de pertinência da relação: µ C (z)= { [µ A (x) µ B (y)] µ Rc (x,y,z) } X Y 9 5. Raciocínio com instâncias Quando as premissas do MPG, são instâncias do domínio físico, ou seja, os valores crisp x 0 e y 0, os conjuntos fuzzy correspondentes aos antecedentes são pontuais, ou seja, os singletons A (x 0 ) / x 0 e B (y 0 ) / y 0. Com isso, a agregação dos antecedentes de uma regra, resulta num ponto, a chamada força de disparo da regra,, calculada como: = A (x 0 ) B (y 0 ) Entrando com os singletons na expressão para o cálculo do conseqüente, e explicitando-se os termos da relação de implicação Mamdani, obtemos : µ C (z)= { [ A (x 0 ) B (y 0 )] [µ A (x) µ B (y) µ C (z)] } X X Y Como o mínimo é uma operação associativa e comutativa, pode-se separar os termos da projeção em X daqueles da projeção em Y, obtendo: µ C (z)= { [ A (x 0 ) µ A (x) µ C (z)] [ B (y 0 ) µ B (y) µ C (z)] } O resultado da projeção (maxmin) produz, um conjunto cortado na saída: µ C (z)= A (x 0 ) B (y 0 ) µ C (z) = µ C (z) z Z Y 20
6. Resumo do método direto de Mamdani Para efeitos de apresentação, considere o conjunto de duas regras: R : Se x é A e y é B, então z é C R 2 : Se x é A 2 e y é B 2, então z é C 2 onde A, A 2, B, B 2, C e C 2 são conjuntos fuzzy. Suponha que x 0 e y 0 sejam as medidas físicas das entradas relativas às variáveis x e y das regras, respectivamente. Determine a força de disparo de cada regra, i pelas expressões: = A (x 0) B (y 0) 2 = A 2 (x 0) B 2 (y 0) 2 6. Resumo do método direto de Mamdani Para efeitos de apresentação, considere o conjunto de duas regras: R : Se x é A e y é B, então z é C R 2 : Se x é A 2 e y é B 2, então z é C 2 onde A, A 2, B, B 2, C e C 2 são conjuntos fuzzy. Suponha que x 0 e y 0 sejam as medidas físicas das entradas relativas às variáveis x e y das regras, respectivamente. Determine a força de disparo de cada regra, i pelas expressões: = A (x 0) B (y 0) 2 = A 2 (x 0) B 2 (y 0) Determine a conclusão de cada regra R i como o conjunto cortado C i : C (z) = C (z) z Z C 2 (z) = 2 C 2 (z) z Z Obtenha a conclusão global do conjunto de regras pela união das conclusões individuais: C (z) = C (z) C2 (z) z Z 22
Exemplo do raciocínio pelo método direto de Mamdani R : Se x é A e y é B, então z é C = A (x 0) B (y 0) R 2 : Se x é A 2 e y é B 2, então z é C 2 2 = A 2 (x 0) B 2 (y 0) 0 A x 0 B y 0 C C z A 2 B 2 C 2 C 2 2 0 x 0 x 0 y 0 y 0 z C (z) = C (z) z Z C 2 (z) = 2 C 2 (z) z Z C (z) = C (z) C2 (z) z Z 0 C 2 C C z 0 z 23 7. Defuzzificação Um conjunto fuzzy resultante do MPG pode ser defuzzificado para gerar um único valor de saída. Método de defuzzificação pelas alturas Constrói a média ponderada do valor de pico dos conjuntos originais. Sendo f k a altura do conjunto k cortado, c(k) o valor de pico do conjunto k original, e m o número de conjuntos fuzzy do domínio do conseqüente, o valor crisp z 0 induzido pelas entradas é calculado por: z 0 = m k = m k = c(k) f k Repare que no método direto de Mamdani, f k = k : f k f 2 f 0 C C 2 C c() z 0 c(2) z z 0 = c()f + c(2)f 2 f + f 2 24
Método de defuzzificação pelo centro de gravidade ou centróide O valor do conseqüente é calculado como o centro de área da figura resultante da união dos conjuntos fuzzy cortados no domínio da saída. Exemplo: z 0 = C z 0 = Z Z C i (z). z C i (z) (z +... + z 5 + z 4 ) + 2 (z 6 +... + z 3 ) 6. + 8. 2 2 0 z z 2 z 3 z 4 z 5 z 6 z 7 z 8 z 9 z 0 z z 2 z 3 z 4 z 0 Calcule z 0 do exemplo, considerando z i = i, = 0,2 e 2 = 0,4 25 Outros métodos de raciocínio fuzzy Método de Larsens: regra do produto como implicação (R p ) A regra R i : Se x é A i e y é B i, então z é C i, com x X, y Y, z Z, produz a seguinte conseqüência: C i (z) = i. C i (z). A função de pertinência da conseqüência inferida C do conjunto de regras é calculada como: C (z) = C (z) C2 (z) = [. C (z)] [ 2. C 2 (z)] Método de Takagi e Sugeno: A conseqüência de uma regra é uma função das variáveis de entrada f i : R i : Se x é A i e y é B i, então z é f i (x,y) Em cada regra, o valor inferido pelas entradas x 0 e y 0 é i. f i (x 0,y 0 ). O valor inferido pelo conjunto de duas regras, z 0, é dado por: z 0 =. f (x 0,y 0 ) + 2. f 2 (x 0,y 0 ) + 2 26
8. Arquitetura de um Sistema Fuzzy Ai (x ) A A 2 A 3 X X 2 B B 2 B 3 A2 (x * ) A R R 2 R 3 A3 (x * ) A 2 R 4 R 5 R 6 x * x * 2 Bi (x 2 ) x * x Fuzzificação A (x * ) A2 (x * ) A3 (x * ) B (x 2* ) B2 (x 2* ) B3 (x 2* ) A 3 R 7 R 8 R 9 Inferência Cc (y) C2c (y) C3c (y) Ci (y) Defuzzificação B B 2 B 3 B (x 2* ) B2 (x 2* ) x 2 * x 2 R 4 : Se X é A 2 e X 2 é B, então Y é C R 5 : Se X é A 2 e X 2 é B 2, então Y é C 2 R 7 : Se X é A 3 e X 2 é B, então Y é C 2 R 8 : Se X é A 3 e X 2 é B 2, então Y é C 3 Cc (y) C2c (y) C3c (y) C c C2c C 3c y * y 27 Exemplo de Aplicação: Truck Backer Upper (TBU) Problema: estacionar um carro de ré em um local especificado Variável de controle: ângulo das rodas dianteiras () Estado do carro: Posição central da traseira (x,y) Ângulo do carro em relação ao eixo dos y () Estado final: (x f, y f, f ) x(n) (n) Controlador Fuzzy z n Carro x(n+) y(n+) (n+) (x,y) 2d z 28
Diagrama geométrico é positivo para rotações no sentido horário do volante é positivo no sentido anti-horário em relação à vertical x é positivo à direita da origem. Origem é (x f, y f ) ( 00,0) (0,0) (00,0) (x f,y f ) 30 30 80 80 00 x 00 (x,y) 2d ( 00,200) (00,200) 29 Modelo do deslocamento do carro Modelo cinemático incremental (t + ) = (t) + (t) x(t + ) = x(t) d.sen(t + ) y(t + ) = y(t) d.cos(t + ) (t + ) = (t) + (t) x(t + ) = x(t) d.sen(t + ) y(t + ) = y(t) d. cos(t + ) t) x(t),y(t) (t + ) x(t +),y(t +) d t) 30
Conjuntos fuzzy NB NS ZE PS PB NB NS ZE PS PB -00 0 00 x NB NS ZE PS PB -30 0 30 R i : Se x é A i e é B i então é C i -80 0 80 3 Base de Regras Considera-se o sistema independente de y. A solução para o problema é posicionar o carro verticalmente, com a ré apontando para o alvo, independentemente da distância vertical (x = ZE, = ZE) e com as rodas paralelas ao carro ( = ZE). Regra central: (ZE, ZE) ZE A dinâmica do problema leva o carro então até o alvo. A cada estado do carro, as regras devem direcionar o carro para o estado central. x CF x = 0 (ZE) = 0 (ZE) = 0 (ZE) 32
Base de Regras Considera-se o sistema independente de y: x CF x < 0 (NB, NS) >> 0 (PB) << 0 (NB, NB) x < 0 (NB, NS) > 0 (PS) x < 0 (NB, NS) = 0 (ZE) < 0 (NB, NS) < 0 (NS, NS) x < 0 (NB, NS) << 0 (NB) x < 0 (NB, NS) < 0 (NS) > 0 (PS, PS) < 0 (NS, ZE) 33 Base de Regras (PB, PS) x > 0 = 0 (PB, PS) x > 0 (NS) < 0 (PB, PS) x > 0 (NB) << 0 (PB, PB) >> 0 (PS, PS) > 0 (PB, PS) > 0 (PB, PS) x > 0 (PS) > 0 (PB, PS) x > 0 (PB) >> 0 (NS, NS) < 0 (PS, ZE) > 0 34
Matriz Associativa Fuzzy (FAM) NB NS ZE PS PB x NB NS ZE PS PB 2 3 4 5 PS NS NS NB NB 6 7 8 9 0 PS ZE NS NS NB 2 3 4 5 PB PS ZE NS NB 6 7 8 9 20 PB PS PS ZE NS 2 22 23 24 25 PB PB PS PS NS 35