Inteligência Artificial
2.5 Exemplos
sistema analisado. Wang e Mendel (1992) apresentaram um algoritmo que permite a geração de regras fuzzy em processos de modelagem em geral. Na primeira etapa do algoritmo, os dados do processo são divididos em determinadas partições para a definição dos conjuntos difusos utilizados. Na segunda etapa as regras fuzzy são inicialmente geradas. Na terceira etapa define-se um grau de representação para cada regra obtida. Na quarta etapa a base de conhecimento é refinada. Na quinta parte ocorre a inferência do valor do modelo para as entradas correspondentes. Apesar de simples, o processo de determinação de regras fuzzy por este método pode ser bastante tedioso e demorado.
Técnicas conhecidas como regressão, o método dos mínimos quadrados, os
métodos de otimização e as técnicas de agrupamento são aplicados com sucesso na seleção e ajustes de parâmetros de funções de pertinência, e dos coeficientes de modelos fuzzy.
Técnicas de treinamento baseadas em aprendizado de máquina, como o
método do gradiente descendente (similar ao método utilizado no treinamento de redes neurais artificiais), também são usadas com sucesso em ajustes de
parâmetros de modelos fuzzy (Wang, 1994; Kosko 1997).
Nas seções seguintes deste livro serão apresentados mais detalhes sobre os
tópicos apresentados anteriormente. Também serão mostrados alguns exemplos numéricos com a finalidade de consolidar os conceitos vistos.
2.5 Exemplos
Uma das características dos sistemas fuzzy que possibilitam muitas das suas aplicações em modelagem de processos complexos, reconhecimento de padrões, sistemas de controle, entre outras, é a capacidade de aproximação de características dos mesmos. É conhecido que os sistemas fuzzy são
aproximadores universais de funções (Kosko, 1994; Wang, 1994).
Exemplo 2.1
A Figura 2.8 contém dados de medidas de um processo que deve ser representado por um determinado modelo.
FIGURA 2.8 Gráfico relacionado com os dados de um determinado processo.
Para uma modelagem matemática conhecida como linear por partes
(piecewise), o sistema em questão pode ser representado (aproximado) por
três funções lineares (f1, f2 e f3), por exemplo. A ilustração na Figura 2.9
mostra as aproximações em questão, onde cada função (f ) modela um i submodelo da representação geral.
FIGURA 2.9 Modelagem linear por partes do sistema em questão.
Cada função de aproximação é definida por um determinado conjunto de
dados (x ), neste exemplo: 0 ≤ x ≤ 4; 4 ≤ x ≤ 7; 7 ≤ x ≤ 10. Utilizando os 1 1 1 1 correspondentes conjuntos de dados da variável dependente (y) e o método
dos mínimos quadrados, obtêm-se com (2.17) os coeficientes (w ) i associados às funções de modelagem. A representação do sistema modelado
desta forma é expressa por (2.18).
(2.17)
(2.18)
Agora será utilizado um modelo fuzzy para a modelagem do mesmo
sistema em questão, cujas funções de pertinência adotadas (Takagi e
Sugeno, 1985) estão ilustradas na Figura 2.10, com as regras funcionais
dadas por (2.19).
(2.19)
FIGURA 2.10 Funções de pertinência do exemplo de aproximação.
O modelo fuzzy resultante com apenas duas funções polinomiais possui a
capacidade de modelar o universo de discurso do processo em questão, demonstrando a característica de aproximação de funções dos modelos nebulosos. Objetivando exemplificar a computação numérica do modelo será calculado o valor inferido do sistema fuzzy considerado para x = 5,5. 1 Calculando os valores das funções de pertinência correspondentes
(fuzificação), vem: μr = 0,21; μr = 0,25. Os valores das funções 1 2 polinomiais associadas são calculados diretamente a partir do valor considerado para x : y =5,25; y =10,2. Computando o valor inferido pelas 1 1 2 regras com o procedimento de defuzificação, temos:
O valor estimado obtido está próximo do dado original do sistema em
questão, indicando a capacidade de interpolação do modelo fuzzy associado.
Computando outros valores e colocando-os em um gráfico, temos na Figura
2.11 as informações estimadas (em linha cheia), juntamente com os dados do processo (representados por pontos).
FIGURA 2.11 Resultado da modelagem fuzzy associada a (2.19).
FIGURA 2.12 Resultado das aproximações com o procedimento de treinamento citado.
FIGURA 2.13 Funções de pertinência ajustadas para o exemplo em questão.
Utilizando técnicas de treinamento são obtidos modelos fuzzy mais
precisos, e neste exemplo será utilizado a Toolbox Anfis do MatLab para
este propósito (mais detalhes sobre a estrutura Anfis estão presentes no
Anexo 2.1). A listagem a seguir mostra os comandos necessários para realizar o procedimento em questão.
Anexo 2.1
Anfis: Adaptive Network-Based Fuzzy Inference System
Um Anfis constitui um sistema de inferência fuzzy (FIS), cujos parâmetros são ajustados por intermédio de uma rede neural adaptativa
(Jang, 1993). A Figura 1 ilustra a estrutura de uma rede neural adaptativa, onde se pode notar a presença de dois tipos distintos de neurônios: os neurônios representados por quadrados são denominados neurônios adaptativos; enquanto os representados por círculos são chamados de padrão.
FIGURA 1 Exemplo de uma rede neural adaptativa. Fonte: (Jang,
1993).
O Anfis serve de base para a construção de um conjunto de regras
nebulosas e de funções de pertinência correspondentes a um modelo FIS. Os parâmetros das funções de pertinência e a estrutura das regras fuzzy são obtidos via processo de treinamento supervisionado, que utiliza as informações de entrada e saída do sistema em questão.
Podem-se encontrar diferentes arquiteturas para um Anfis, cada qual
baseada nos modelos de regras fuzzy utilizadas. A Figura 2 ilustra a arquitetura de um Anfis composto por duas regras, contendo duas variáveis de entrada que são mapeadas em dois conjuntos nebulosos distintos.
FIGURA 2 Arquitetura Anfis com duas entradas. Fonte: (Jang, 1993).
A estrutura Anfis em questão recebe as variáveis de entrada (x, y), e
por meio de interações em suas camadas, realiza as etapas de fuzificação e defuzificação dos dados relacionados, resultando no valor de saída correspondente ao padrão de entrada. Na primeira camada ocorre o mapeamento das variáveis de entrada do universo de discurso considerado para o grau de pertinência correspondente, ou seja, é realizado o processo de fuzificação por meio da utilização de uma função de pertinência associada. Os neurônios da primeira camada são do tipo adaptativo, sendo assim, os parâmetros, que nesse caso dizem respeito aos valores modais das funções de pertinência são ajustados via processo de treinamento. O valor resultante (w ) dos neurônios dessa camada é obtido i por meio da aplicação de uma t-norma via um operador mínimo ou produto, por exemplo. A terceira camada é responsável pela normalização dos valores gerados na segunda camada. A saída dos neurônios que compõem essa camada indica o grau de ativação de uma regra em relação
às outras. O valor de saída de cada neurônio é dado por (1).
(1)
Na quarta camada encontram-se as composições dos consequentes das
regras (neste caso, do tipo funcional ou Takagi-Sugeno); os valores de
saída dos neurônios dessa camada são expressos por meio de (2), onde os parâmetros (p , q , r ) são estimados por técnicas de treinamento ou pelo i i i
método dos mínimos quadrados.
(2)
Por fim, a quinta camada finaliza o processo de defuzificação, por meio
da aplicação da equação (3), que consiste em uma ponderação dos valores obtidos na quarta camada da estrutura considerada.
(3)
O processo de treinamento pode ser realizado dentre três
procedimentos possíveis:
• Backprogation: propaga-se o erro do modelo por meio do cálculo do
gradiente descendente para as camadas anteriores ajustando-se os parâmetros dos nós adaptativos da primeira e quarta camadas.
• Backpropagation + Método dos Mínimos Quadrados: aplicação da
técnica do gradiente descendente para ajustar os parâmetros dos neurônios da primeira camada e o método dos mínimos quadrados para ajustar os da quarta camada.
• Backpropagation + Método dos Mínimos Quadrados uma única vez:
aplicação da técnica do gradiente descendente para ajustar os parâmetros dos neurônios da primeira camada e o método dos mínimos quadrados para ajustar os da quarta camada somente na primeira interação.
Outros detalhes da ferramenta Anfis podem ser encontrados na
documentação correspondente do MatLab.
Exemplo 2.2
Neste exemplo será mostrado um modelo fuzzy com regras Mamdani relacionadas com o mapeamento de uma função com duas variáveis
independentes. As regras em questão estão representadas na Tabela 2.1.
Este padrão de regras é comum em algumas aplicações relacionadas a sistemas de controles com lógica difusa. As funções de pertinência
utilizadas estão indicadas na Figura 2.14, onde os valores de entrada estão normalizados no intervalo [−1, +1]. As etiquetas correspondentes aos conjuntos possuem as seguintes denominações: N = Negativo; Z = Zero; P = Positivo; G = Grande Positivo; M = Muito Negativo.
Tabela 2.1
Regras Fuzzy
FIGURA 2.14 Funções de pertinência do Exemplo 2.2.
Para exemplificar o processamento de informações deste sistema fuzzy
serão computados os valores do modelo com o propósito de estimar o valor inferido do mesmo para x = 0,8 e x = − 0,6. Estes valores estão 1 2 relacionados com as seguintes regras ativadas (aquelas que produzem pertinências não nulas):
Realizando a etapa de fuzificação obtêm-se: μ (x ) = 0,2; μ (x ) = 0,8; Z 1 P 1
μ (x ) = 0,6; μ (x ) = 0,4. Utilizando o operador produto têm-se as N 2 Z 2
composições: μr = 0,2*0,6 = 0,12; μr = 0,2*0,4 = 0,08; μr = 0,8*0,6 = 4 5 7 0,48; μr8 = 0,8*0,4 = 0,32. Realizando o procedimento de defuzificação com o método do centro de área, temos o valor inferido do sistema:
Este sistema fuzzy mapeia uma função correspondente a f(x ,x ) = x + x 1 2 12
que fornece um valor idêntico (0,2) ao modelo, dados os mesmos valores das variáveis independentes. Esta característica está de acordo com artigos
(Chen e Kuo, 1995; Pinheiro e Gomide, 1999) que mostram que modelos fuzzy com estrutura similar apresentam mapeamentos lineares quando se utiliza funções de pertinência triangulares, simétricas e igualmente espaçadas.
Exemplo 2.3
Neste exemplo será ilustrada a obtenção de regras fuzzy por meio de um procedimento de análise qualitativa e quantitativa de dados, os quais estão
relacionados a um sistema de controle de estacionamento automático de
veículos como carro, caminhão, e outros (Wang, 1994). A Figura 2.15 ilustra o contexto do problema conhecido como truck backer-upper control. A área definida pelas cotas y (com um determinado tamanho) e x = [0, 20] representa uma área de um estacionamento no qual se deseja estacionar um
veículo em posição perpendicular (Φ = 90o) na cota x = 10. O veículo se
encontra inicialmente em uma posição (x,y) qualquer, e com um dado
ângulo Φ entre seu eixo longitudinal e o eixo da cota x. O ângulo θ indica a
inclinação das rodas do veículo em relação ao seu eixo longitudinal, que
representa a ação de manobra sobre ele com o objetivo de comandar o estacionamento na posição desejada.
FIGURA 2.15 Representação relativa ao Exemplo 2.3.
A dinâmica do posicionamento em questão é representada pelas equações
(2.20), onde “b” representa o tamanho do veículo. A Tabela 2.2 contém dados relativos aos variáveis do sistema provenientes de medidas efetuadas
no mesmo. Estas medições são relativas a manobras de estacionamento realizadas por um motorista, as quais representam numericamente a dinâmica em questão de comportamento não linear.
(2.20)
Tabela 2.2
Medidas do processo
x Φ θ
1,00 0,00 −19,00
1,95 9,37 −17,95
2,88 18,23 −16,90
3,79 26,59 −15,85
4,65 34,44 −14,80
5,45 41,78 −13,75
6,18 48,60 −12,70
7,48 54,91 −11,65
7,99 60,71 −10,60
8,72 65,99 −9,55
9,01 70,75 −8,50
9,28 74,98 −7,45
9,46 78,70 −6,40
9,59 81,90 −5,34
9,72 84,57 −4,30
9,81 86,72 −3,25
9,88 88,34 −2,20
9,91 89,44 0,00
O procedimento citado utiliza uma análise qualitativa e quantitativa nos dados da tabela em questão (incluindo outras medidas de manobras), com o objetivo de obter as regras necessárias para controlar o estacionamento do veículo de forma automática. As regras a serem obtidas podem ser processadas no computador de bordo do veículo. Um dispositivo GPS (ou outros tipos de transdutores), por exemplo, pode informar as coordenadas (x,y) e o ângulo Φ do sistema. Um dispositivo eletromecânico pode movimentar de um ângulo θ a direção do veículo com o objetivo de manobrá-lo.
Utilizando o procedimento proposto por Wang e Mendel (1992), são
obtidas as regras básicas de controle (indicadas na Tabela 2.3). As funções de pertinência correspondentes aos conjuntos nebulosos adotados estão
ilustradas na Figura 2.16, onde os seus valores modais estão incluídos na
Tabela 2.4. As etiquetas b , b , b , ce, s , s e s indicam os conjuntos 1 2 3 1 2 3
nebulosos em questão (os índices “ − ” e “ + ” simbolizam os valores extremos dos parâmetros das funções correspondentes).
Tabela 2.3
Regras fuzzy do controle
FIGURA 2.16 Funções de pertinência do Exemplo 2.3.
Tabela 2.4
Valores modais das funções indicadas na Figura 2.16
As regras (tipo Mamdani) deste problema são semelhantes as do exemplo
anterior, e algumas delas estão ilustradas abaixo (estão diretamente
relacionadas à Tabela 2.3, que contém as regras básicas de controle
obtidas):
Na Tabela 2.3 as posições indicadas por “-” representam regras que não
são necessárias ou que não foram totalmente identificadas. O MatLab possui um exemplo similar a este como demonstração em sua toolbox sobre lógica fuzzy (que contém uma animação gráfica do sistema em questão).
No Anexo 2.3 encontram-se as listagens de programas compilados com o
objetivo de simular o processo em questão, onde estão incluídas todas as 35 regras possíveis para modelar o sistema fuzzy correspondente (no lugar das 27 regras do artigo original). A vantagem da inclusão das regras adicionais é que o sistema consegue estacionar o veículo para qualquer condição
inicial dele, dentro dos limites estabelecidos. A Figura 2.17 mostra, na
forma de pontos, a trajetória do veículo para as condições iniciais x = 5, y =
10 e Φ = 30o, onde se verifica que o sistema realizou adequadamente o posicionamento do veículo na cota x = 10 e com Φ = 90°.
Anexo 2.2
Toolbox Fuzzy
O toolbox “fuzzy” é uma ferramenta desenvolvida para a edição, execução e gravação de modelos difusos em geral. Em relação ao exemplo
correspondente à Listagem 2.1, o modelo difuso resultante pode ser carregado, verificado, executado e gravado por intermédio da ferramenta em questão. Mais detalhes deste toolbox encontram-se na documentação correspondente do MatLab.
Nas próximas páginas deste anexo são fornecidas algumas informações
sobre a utilização da ferramenta em questão. Este aplicativo é acionado digitando na área de trabalho o comando anfis <Enter>. A figura a seguir ilustra a tela típica do aplicativo.
A edição das variáveis de um modelo fuzzy é realizada na janela
correspondente, ilustrada na próxima figura.
Os nomes das variáveis podem ser editados conforme as ilustrações
seguintes.
As funções de pertinência associadas às variáveis editadas podem ser
inseridas, modificadas, removidas etc., conforme ilustrado na figura a seguir.
O banco de regras fuzzy é editado na tela correspondente do aplicativo,
conforme exemplificado na próxima figura.
Um modelo difuso devidamente editado ou carregado pode ser testado
por intermédio de uma tela correspondente (ver ilustração a seguir).
Um modelo editado pode ser gravado segundo a indicação abaixo.
Um modelo já gravado ou gerado pode ser carregado, conforme
indicado na tela ilustrada a seguir.
No caso do exemplo associado à Listagem 2.1, a carga do modelo fuzzy
é realizada com a opção “From Workspace”, onde se digita na tela correspondente o nome do modelo. No exemplo em questão: ModFuzzy <Enter>.
As instruções a seguir mostram como editar o exemplo referente às
regras (2.19) e as funções de pertinência associadas à Figura 2.10:
a) Na área de trabalho do MatLab digitar fuzzy <Enter>. Será aberta a
janela da ferramenta em questão. No ícone da janela principal do aplicativo, acionar no campo File => New FIS => “Sugeno”, objetivando editar o modelo correspondente.
b) Clicar com o mouse uma vez sobre o ícone da variável de entrada, e
no campo “Name” redefini-la como x1, por exemplo. Idem na variável de saída (output) para defini-la como y.
c) Clicar duas vezes na variável de entrada para editar as suas funções
de pertinência. Será aberta outra janela. Ajustar a faixa no campo “Range” com os valores [0 10]. Clicar nas funções de pertinências para editar os seus nomes (p. ex., A1 e A2), e os respectivos valores [0 0 7] e [4 10 10] que definem as mesmas. Para remover alguma função basta clicar na mesma e acionar a tecla “del”.
d) No ícone referente à variável “y” clicar nas funções associadas para
editar os seus nomes (p. ex., y1 e y2). Selecionar os tipos (no campo “Type”), como “linear” e definir os respectivos valores dos coeficientes [0.56 2.17] e [0.11 9.6].
e) Para editar as regras do modelo, basta acionar a opção Edit =>
Rules, e na janela aberta associar os conjuntos nebulosos editados
para a variável de entrada x1 com as funções da variável de saída y, acionando o botão “Add Rule” para a inclusão de cada regra do modelo (duas regras neste exemplo).
f) Para avaliar o modelo, acionar no ícone “View” a opção “View
rules”. Será aberta uma janela, e no campo “Input”, basta digitar um valor (na faixa de 0 a 10) e pressionar <Enter>, para ter-se o valor estimado da variável y, onde os procedimentos de fuzificação e defuzificação são ilustrados graficamente.
g) O aplicativo gerado pode ser gravado conforme ilustrado
anteriormente neste anexo, e utilizado posteriormente como rotina de outro programa.
Anexo 2.3
Listagens referentes ao Exemplo 2.3 .
FIGURA 2.17 Resultado da simulação referente ao Exemplo 2.3. Exemplo 2.4
Este exemplo refere-se a um sistema de suspensão ativa para automóveis. Será mostrado como regras fuzzy podem ser obtidas por meio de uma
análise qualitativa de uma estratégica de controle conhecida. A Figura 2.18
ilustra a estrutura típica de um sistema de suspensão veicular (Pinheiro,
2004; Pinheiro et al., 2007).
O feixe de mola e o amortecedor passivo de uma estrutura de suspensão
convencional são representados pelos seus coeficientes K e B , f a respectivamente. O parâmetro M corresponde à massa suspensa s (carroceria) do veículo, sustentada pelo sistema de suspensão, sendo M a r massa do conjunto roda mais pneu e K a sua elasticidade. Os p deslocamentos d , d e d são movimentos verticais do pneu, da roda e da p r s
carroceria, respectivamente. A força Fa representa a atuação exercida por um mecanismo com a finalidade de impor determinadas características
adicionais de amortecimento na suspensão. Esse dispositivo pode ser um amortecedor ativo que substitui um amortecedor passivo convencional. As
equações (2.21) expressam o modelo linearizado do sistema em questão.
(2.21)
A expressão (2.22) define uma estratégia de controle para sistemas de suspensão ativa, que é conhecida como continuamente variável. Onde V é abs
a velocidade absoluta da massa suspensa e V rel a velocidade relativa entre a
massa suspensa e a massa do conjunto roda mais pneu. Se a velocidade absoluta e a velocidade relativa possuem o mesmo sinal algébrico, então um estado de alto amortecimento é selecionado por meio de um coeficiente C . on
Agora, se os sinais forem opostos, um estado de baixo amortecimento é selecionado por meio de um coeficiente C . Velocidade relativa positiva é off
definida com as massas M e M (Figura 2.18) se afastando. Velocidade s r absoluta positiva é definida com o movimento para cima da massa suspensa (M ). s
(2.22)
FIGURA 2.18 Estrutura típica de um sistema de suspensão veicular.
A Figura 2.19 ilustra a resposta dinâmica de um sistema de suspensão ativa (a aceleração da carroceria), considerando um deslocamento repentino de cinco centímetros na roda do veículo. Os parâmetros do sistema são: M = s 400 [Kg]; Mr = 50 [Kg]; Kf = 20000 [N/m]; Kp = 250000 [N/m]; Coff = 500 [Ns/m]; C = 1400 [Ns/m]. on
FIGURA 2.19 Resposta do sistema de suspensão veicular com a estratégia clássica.
A estratégia de controle convencional apresenta algumas limitações, pois
a força (F ) adicional de atuação do amortecedor ativo atua em duas faixas a
em relação aos valores dos coeficientes (C e C ) ajustados. Este off on
comportamento pode provocar solavancos e um ruído audível indesejável no sistema de suspensão.
Objetivando melhorar a estratégia de controle (2.22), as suas informações
serão mapeadas em regras fuzzy, com a finalidade de se obter uma melhor atuação no sistema de suspensão.
A escolha adequada das funções de pertinência dos conjuntos nebulosos
(simétricas e igualmente espaçadas como nas Figuras 2.20, 2.21 e 2.22), pode suavizar eventuais descontinuidades na força de atuação (isto tende a minimizar problemas de solavancos e ruídos indesejáveis). Os universos de
discurso dos conjuntos nebulosos foram escolhidos em razão da faixa de excursão das variáveis utilizadas no modelo de suspensão ativa fornecido.
Os conjuntos difusos para as variáveis utilizadas (V , V e F ) terão abs rel a partições denotadas linguisticamente como: NG (negativa grande); NM (negativa média); ZE (zero); PM (positiva média); PG (positiva grande).
FIGURA 2.20 Funções de pertinência para V . abs
FIGURA 2.21 Funções de pertinência para V . rel
FIGURA 2.22 Funções de pertinência para F . a
Genericamente, as regras fuzzy podem ser expressas por (2.23), onde G , i
H e I representam os conjuntos nebulosos do sistema em questão. As i i
regras difusas serão representadas de forma tabular, como ilustrado na
Tabela 2.5.
(2.23)
Tabela 2.5
Representação tabular genérica das regras fuzzy
A seguir, será visto como obter as regras fuzzy para o sistema de suspensão
ativa em questão. Analisando o algoritmo (2.22) é fácil constatar as
condições (2.24) e (2.25).
(2.24)
(2.25)
Da primeira condição de (2.24) em (2.22) é fácil estabelecer que a regra I13 deve gerar um efeito nulo (ou próximo disto), ou seja, a força de atuação deve ter a atribuição de um conjunto nebuloso ZE. Com a última condição
de (2.25) em (2.22) fica claro que I deve ser PM, pois V é intensa no 5 rel
sentido positivo e o coeficiente de amortecimento é baixo, assim a força
tende a ser média e positiva. Com a primeira condição de (2.25) em (2.22) fica estabelecido que I é NM, pois V é intensa no sentido negativo e o 21 rel coeficiente de amortecimento é baixo, assim a força de atuação tende a ser
média e negativa. Da terceira condição de (2.24) em (2.22) fica fácil
perceber que I é NG, pois V é intensa no sentido negativo e o coeficiente 1 abs
de amortecimento é alto, assim a força tende a ser grande e negativa. De
forma similar, analisando os limites de (2.24) e (2.25) em (2.22), torna-se
simples estabelecer as outras regras fuzzy indicadas na Tabela 2.6. A
computação dessas regras é semelhante às dos Exemplos 2.3 e 2.4
Tabela 2.6
Regras fuzzy para o sistema de suspensão ativa
A Figura 2.23 ilustra a resposta dinâmica do sistema de suspensão ativa
(a aceleração da carroceria), agora com o algoritmo definido pelas regras
fuzzy, considerando um deslocamento repentino de cinco centímetros em uma das rodas do veículo. Nota-se que os valores de aceleração são agora
menores do que aqueles da Figura 2.20, o que ocasiona um deslocamento
mais suave na carroceria (Figura 2.24: curva em linha cheia referente ao
controle fuzzy; linha tracejada para a estratégia convencional). Nos artigos citados, essas regras foram implantadas na prática em um sistema real, em que os resultados práticos obtidos comprovaram o melhor desempenho da
estratégia fuzzy.
FIGURA 2.23 Resposta do sistema de suspensão veicular com a estratégia fuzzy.
FIGURA 2.24 Deslocamento dos chassis com a estratégia convencional e fuzzy (linha cheia).
Exemplo 2.5
Este exemplo está relacionado com modelagem via regras fuzzy de um processo dinâmico de nível com comportamento não linear, onde será utilizado um procedimento de treinamento para a obtenção do modelo fuzzy correspondente.
Sistemas de nível são processos usuais em plantas industriais, e a
equação (2.26) constitui um modelo contínuo típico destes sistemas, onde “u” representa a variável de comando do sistema e “y” a variável de saída
(nível). Neste exemplo serão considerados os seguintes coeficientes para
(2.26): R = 1 [m]; r = 0,1 [m]; A = πR2 [m2]; a = πr2 [m2]; g = 9,8 [m/s2]; c =
0,1 [m3/s/V].
(2.26)
Com a utilização frequente de instrumentos digitais em processos
industriais, a representação (2.27) é mais adequada para efeito de modelagens práticas, onde o índice “k” denota informações atuais de entrada e saída do modelo, “k − m” simboliza as informações anteriores, e f(.) representa uma relação entre os valores amostrados.
(2.27)
As figuras seguintes ilustram dados de entrada e saída do sistema em
questão que serão utilizados neste exemplo. Os dados nas duas figuras
representam as informações de entrada (u) e de saída (y) do sistema nas unidades de tensão [V] (de comando) e de nível [m], respectivamente. Cada amostra possui um intervalo de tempo de um segundo em relação à
próxima. Os dados da Figura 2.25 serão utilizados para a obtenção dos
modelos deste exemplo, e os da Figura 2.26 servirão para testar a modelagem em questão.
FIGURA 2.25 Dados originais de entrada e saída de um sistema de nível.
FIGURA 2.26 Dados de entrada e saída para teste do modelo de nível.
A Figura 2.27 mostra uma forma de se utilizar um sistema fuzzy para
modelar um determinado processo dinâmico, onde o operador “z-1” simboliza amostras anteriores (k-1) das variáveis do sistema em questão. Neste exemplo será utilizada a notação: x = u(k-1); x = y(k-1); y = y(k). 1 2
FIGURA 2.27 Exemplo de estrutura utilizada para modelagem fuzzy do processo.
A segunda listagem no Anexo 2.4 contém comandos do toolbox Anfis do
MatLab, onde é utilizado um procedimento baseado em treinamento (aprendizado via retropropagação) para a obtenção das regras difusas e das
funções de pertinência do modelo. Os dados referentes à Figura 2.25 são
usados para a etapa de treinamento, e os da Figura 2.26 para o teste do
modelo fuzzy resultante. A Figura 2.28 ilustra o resultado do aprendizado
utilizando os mesmos valores de entrada (da Figura 2.25). Os resultados na
Figura 2.29 estão relacionados ao teste do modelo (para os mesmos valores
de entrada da Figura 2.26), cujo objetivo é verificar a capacidade de generalização do sistema fuzzy obtido. Nota-se que o modelo difuso apresentou excelente aproximação em relação aos dados do processo
original (que tem comportamento não linear). Este tipo de modelagem é
uma opção interessante para modelos Narx ou Narmax clássicos (Aguirre,
2000).
FIGURA 2.28 Dados (de treinamento) originais do processo e do modelo fuzzy.
FIGURA 2.29 Dados (de teste) originais do processo e do modelo fuzzy.
Utilizando o toolbox “fuzzy” do MatLab podemos carregar, visualizar e
gravar o modelo difuso obtido. Os valores modais dos parâmetros das funções de pertinência ficaram ajustados em: 2,109 e 4,032 para a variável
x ; 1,746 e 4,079 para a variável x . Os coeficientes polinomiais para as 1 2
quatro regras geradas são, respectivamente: 0,03178, 0,9843, -0,02191; 0,03194, 0,989, -0,04471; 0,03454, 0,9776, -0,01823; 0,03181, 0,989,-0,04434.
Exemplo 2.6
Este exemplo tem a estrutura similar ao anterior e a modelagem via regras
fuzzy estará relacionada com a previsão de uma série temporal. A Figura
2.30 contém dados de uma série temporal relativa a valores de arrouba de gado, onde se têm registros de valores (em reais) relativos a 73 meses. Serão utilizados valores dos primeiros 62 meses com a finalidade de projetar um modelo fuzzy, para depois verificar a capacidade deste de estimar os valores dos 11 meses seguintes.
FIGURA 2.30 Dados da série temporal.
Será utilizada uma amostra atual (k) de valor de preço e outra de valor
anterior (k-1) com a finalidade de estimar o preço do mês seguinte (k + 1).
Assim, a estrutura básica da Figura 2.26 será utilizada para modelar os dados da série em questão, onde as variáveis de modelagem são: x = Valor 1 do Preço Anterior; x = Valor do Preço Atual; e Y = Valor do Mês Seguinte. 2
Utilizando o mesmo procedimento de treinamento abordado no exemplo anterior, com um programa bem semelhante ao da segunda listagem do
Anexo 2.4, podemos obter o modelo fuzzy pretendido.
Anexo 2.4
Listagens referentes ao Exemplo 2.5 .
A Figura 2.31 ilustra o resultado do aprendizado com os de treinamento,
onde em linha tracejada estão os dados originais da série e em linha cheia
temos os dados do modelo fuzzy. Na Figura 2.32 temos o resultado do modelo com os dados de teste (em linha tracejada estão os dados originais e em linha cheia temos os dados do modelo fuzzy), cujo objetivo é verificar a
capacidade de previsão do sistema fuzzy obtido. Nota-se que o modelo
difuso apresentou uma razoável capacidade de previsão, que pode ser melhorada com a inclusão no modelo de mais entradas referentes a
amostras passadas, e até mesmo a entradas externas como informação do
mês, taxa de juros etc. A modelagem baseada em regras é uma opção
interessante para previsão de séries temporais (Faustino et al., 2011;
Faustino et al., 2012).
FIGURA 2.31 Dados (de treinamento) originais da série temporal e do modelo fuzzy.