Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Antnio talo Rodrigues Pedrosa. E-mail: antonio.italo@hotmail.com Ps-Graduao em Engenharia Mecnica pelo Instituto Militar de Engenharia 1. Modelo Takagi-Sugeno-Kang O sistema de inferncia difusa (FIS) um modelo de computao popular baseado nos conceitos da teoria de conjuntos difusos; regras se ento difusas; e lgica difusa. A estrutura bsica de um sistema de inferncia difusa consiste em trs componentes conceituais: a base de regras, que contm uma seleo de regras fuzzy; uma base de dados, que define as funes de pertinncia usadas nas regras fuzzy; e um mecanismo lgico, que realiza o procedimento de inferncia sobre as regras que resultaro na sada ou concluso (Jang J.-S. R., 1997). Takagi, Sugeno e Kang definiram o mtodo TSK, consistindo em uma abordagem sistemtica para gerar regras fuzzy baseada em um conjunto de dados de entrada (input) e sada (output), seguindo: (1) onde A e B so conjuntos fuzzy do antecedente, e z uma funo crisp do consequente. Quando essa funo representa uma polinomial de primeira ordem, chama-se de Modelo Fuzzy TSK de primeira ordem. Quando essa funo assume valores constantes, ela chamada de Modelo Fuzzy de ordem-zero. Cada funo crisp ter um output crisp, dessa forma, o output obtido para cada input ser dado pela mdia ponderada de cada uma das sadas, na forma: (2) em que wn representa o grau de ativao de cada um dos outpus obtidos. Na maioria das vezes, opta-se por trabalhar com funes normalizadas, aquelas em que a soma dos graus de ativao seja igual a 1, com isso simplifica-se sua forma mais usual: (3) Dessa forma, obtm-se outputs de forma crisp, ou seja, a resposta de sada no se apresenta como um conjunto fuzzy, que permite trabalhar melhor com esses dados, o que torna o mtodo TSK o mais utilizado nas ferramentas de otimizao. 2. Mtodo dos Mnimos Quadrados Na maioria dos problemas de mnimos quadrados, a sada do modelo linear y dado pela expresso de parametrizao linear: (4)
onde u = [u1, ... , up]T o vetor de entrada do modelo, f1 , ... , fn so funes conhecidas de u, e 1, ... , n so parmetros conhecidos a serem estimados. Essa funo conhecida como funo de regresso e os n so conhecidos como coeficientes de regresso (Jang J.-S. R., 1997). Com isso, procura-se estimar os parmetros desconhecidos. Para tanto, deve-se realizar experimentos que retornem o campo de dados output para cada input. O que significa que ser obtido um valor yn para cada valor de un, na forma:
(5) { Esse procedimento pode ser reescrito como uma multiplicao de matrizes na forma: (6) em que A chamada de matriz design e representa o conjunto de funes a ser otimizadas, seguindo como:
(7) [ ]
(8) [ ]
(9) [ ]
Para identificar os parmetros desconhecidos, deve-se resolver a Eq. 6, que ficaria: (10)
No entanto, para a maioria dos experimentos realizados, existem muito mais inputs que funes a ser otimizadas, por isso, agrega-se erros soluo encontrada, retornando a forma: (11) Dessa forma, o erro encontrado na forma: (12) O mtodo dos mnimos quadrados consiste em minimizar a soma dos quadrados de cada erro encontrado para os inputs, assim, o mtodo se torna A soluo para a minimizao desse problema se d por: (14) 3. Aplicao do algoritmo 3.1 Sada com funes de pertinncia triangulares O algoritmo implantado para o mtodo de mnimos quadrados foi totalmente adequado para o software MATLAB. O objetivo do problema proposto o de encontrar uma aproximao para os valores da funo senide no intervalo de 0 a 2. Chamaremos de Y a esses valores, e esse intervalo ser analisado em pontos que variam de 0,1. (13)
Pela Eq. 3, obtm-se os outputs relativos ao modelo TSK apresentado. Deve-se ento definir as funes de pertinncia () que sero adotadas. Sero utilizadas cinco funes triangulares com o comando trimf do prprio MATLAB.
O script acima representa as funes de pertinncia, que podem ser analisadas pelo grfico gerado.
Graus de Pertinncia
Figura 1 Funes de Pertinncia Triangulares Esse grfico (Fig. 1) mostra as pertinncias triangulares para cinco ngulos diferentes e normalizadas. A matriz design da Eq. 7 que se deseja otimizar ser dada pelas funes de pertinncia para cada ngulo, como segue:
3 4 Graus em Radiano
Esses valores sero otimizados para que se aproximem do esperado em Y, que representa o seno real. Utiliza-se a Eq. 14 para isso, considerando uma varivel P como
sendo a pseudo-inversa da matriz design, TETA o vetor de parmetros desconhecidos apresentado na Eq. 6 e Y_ como o resultado otimizado pelo processo. Assim:
O mtodo do LSE (Last Square Estimator), possui um erro agregado, que pode ser comparado pelo processo de diferena quadrtica dos termos. Para isso, foi criado o arquivo SOMAQUAD.m no MATLAB que realizar a soma do quadrado da diferena de cada termo do seno real com o seu respectivo mtodo.
Com essa funo criada, podemos ver na tela qual o erro associado a cada uma das curvas e avaliar o resultado da otimizao, seguindo:
O script retornar no prompt de comando o valor encontrado para a margem de erro do mtodo LSE. Nesse caso, foi encontrado o valor de 0.367615. Analisando o grfico da figura 2 originado pelo script acima, percebe-se que a curva obtida tende a se aproximar do valor real do seno, mas com certa discrepncia, pois constituda por um conjunto de retas sem suavizao nos seus picos, o que afasta o resultado principalmente nos pontos caractersticos da curva, os mximos.
0.5
-0.5
-1
-1.5
Figura 2 - Seno Real e o Seno encontrado por TSK Triangular 3.2 Sada com funes de pertinncia gaussianas Para otimizar o processo, optou-se por funes de pertinncia mais suaves, para que os outputs se aproximassem da senoidal, reduzindo o erro encontrado. Assim, as novas funes de pertinncia sero definidas como:
Utilizando os mesmos pontos caractersticos, optou-se por cinco curvas gaussianas onde o desvio-padro () vale , resultando no grfico mostrado na Figura 3, utilizando os script abaixo:
Graus de Pertinncia
Figura 3 Funes de Pertinncia Gaussianas Apesar de aprimorar os resultados de sada, percebe-se graficamente que as novas funes de pertinncias no encontram-se normalizadas. Nesse contexto, deve-se utilizar a Eq. 2 na sua forma natural. Com isso, faz-se necessrio conhecer o valor do somatrio do denominador apresentado em cada ponto, que pode ser escrito como:
3 4 Graus em Radiano
em que S corresponde ao vetor associado ao somatrio do denominador, resultando na matriz A apresentada pelo script. O processo para otimizao por LSE continua o mesmo, com o clculo da pseudoinversa e o produto dos parmetros encontrados pela matriz design. A curva otimizada por esse procedimento pode ser vista na Figura 4. Com a mudana nas funes de pertinncia, pode-se perceber que o erro se torna muito pequeno, valendo 0.0141932 para o valor de sugerido.
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 seno Real seno TSK Otimizado
Figura 4 Seno Real e o Otimizado com TSK Gaussiano 3.3 Sada com funes de pertinncia de primeira ordem Uma soluo proposta por Takagi, Sugeno e Kang foi a de se utilizar outputs como funes lineares de primeira ordem, chamado de modelo fuzzy TSK de primeira ordem, para que se obtivesse uma preciso ainda maior, dessa forma, o valor encontrado para a sada ser na forma: (15) Que resulta em uma sada global como: (16) em que B representa a soma de todos os wibi para cada funo de pertinncia sugerida. Com isso, deve-se encontrar mais um parmetro de otimizao para o sistema, levando-se em considerao que se trata de uma constante, pode-se represent-lo acrescentando um valor unitrio na matriz design. Assim, para o modelo que utiliza funes gaussianas como graus de ativao, o script segue na forma:
Realizando o procedimento de otimizao LSE, obtm-se um erro de 0.00124372, e uma curva mostrada na Figura 5.
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 seno Real seno TSK Otimizado
Figura 5 - Seno Real e o Otimizado de Primeira Ordem Gaussiano O mesmo procedimento pode ser utilizado para funes de pertinncia triangulares normalizadas, em que a matriz design se apresenta como:
0.5
-0.5
-1
-1.5
Figura 6 - Seno Real e o TSK de Primeira Ordem Triangular 4. Toolbox MATLAB 4.1 Funo TSK triangular O MATLAB possui uma toolbox que permite modelar sistemas difusos com regras lgicas simples, implementando essas regras no sistema de inferncia de estudo. Para isso, basta que se digite o comando fuzzy no prompt de comando do software. Na janela que se abre, possvel escolher entre os mtodos de defuzificao Mamdani ou Sugeno, como apresentado na Fig. 7. Pode-se ento, conseguir a curva referente aos graus de pertinncia apresentados anteriormente. Primeiramente, foi utilizada a funo triangular de pertinncia nos ngulos de , apresentando-se como na Fig. 8. Obviamente, esse o mesmo grfico visto na Fig. 1, j que se tratam das mesmas funes, utilizando os mesmos pontos e mesmo intervalo. O prximo passo definir os outputs, que representam os valores do seno para cada um dos ngulos escolhidos nas funes de pertinncia, sendo ento -1, 0 e 1. Cada um desses valores ser o output para a funo quando o ngulo tiver pertinncia mxima. Esses valores foram nomeados como negativo, zero e positivo, respectivamente, como pode ser visto na Fig. 9. Com todos os parmetros definidos, deve-se implementar as regras para cada uma das funes de pertinncia, como dito anteriormente, fazendo cada entrada corresponder sada ponderada pelos graus de pertinncia, mostrado na Fig. 10. Por ltimo, possvel conferir a curva adquirida pelo mtodo na opo surface da toolbox para comparar com a senoidal esperada. O resultado apresentado na Fig. 11 e pode-se perceber que se assemelha curva da Fig. 2, porm, sem a otimizao realizada pelo mtodo do LSE.
Figura 11 Curva obtida pelo TSK triangular 4.2 Funo TSK gaussiana Repetindo o mesmo procedimento, podemos utilizar a funo de pertinncia gaussiana, da mesma forma como foi realizado anteriormente. Tambm utilizando cinco funes de pertinncia, e o igual a , representa-se pela figura 12. Foram utilizados os mesmos outputs e regras, assim como o mtodo de defuzificao tambm foi mantido. Dessa forma, a curva apresentada pode ser visualizada na Fig. 13. Nota-se pela figura, que a curva se aproxima ainda mais da senoidal e daquela apresentada na Fig. 4, mas sem a otimizao.
5.
Modelo Mamdani
Outro mtodo de defuzificao utilizado o Mamdani FIS, que trata mais facilmente de regras de controle lingusticas. Esse um sistema de inferncia que calcula o output com base na rea obtida pelos grficos de sada do modelo. Existem cinco mtodos de defuzificao, sendo: o centroide da rea, o bissetor da rea, a mdia do mximo, menor dos mximos e maior dos mximos. Nesse trabalho, foi escolhido o centroide da rea para o clculo do output, sendo apresentado como:
(17)
Figura 14 Representao do centroide calculado pelo Mamdani FIS 5.1 Mamdani pelo toolbox do Matlab O toolbox do MATLAB pode resolver sistemas Mamdani da mesma forma que j foi apresentado. Para os inputs triangulares, utilizando os mesmos parmetros de entrada, foi definido que a sada tambm seria da mesma forma, triangular (nesse caso, os ngulos foram apresentados em graus. Os parmetros de sada tambm foram mantidos como -1, 0 e 1. Esse output pode ser visualizado na Fig. 15. A representao da resposta em funo de cada entrada pode ser visualizado em rules, como apresentado na Fig. 16, e a resposta da defuzificao apresentada em surface, como na Fig. 17.
Figura 17 Curva encontrada pelo Mamdani triangular O mesmo mtodo foi utilizado em funes gaussianas para analisar a suavizao da curva, e verificar se o resultado se aproxima da senoidal. Assim, os parmetros e resultados so apresentados a seguir. Nota-se pela curva apresentada que h uma aproximao da funo seno, mas ainda existe um erro associado considervel.