6
SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTELIGENTE CEFET-PR, 13 a 15 de Setembro de 1995 Curitiba Paraná UM ALGORITMO PRÁTICO E EFICIENTE PARA MODELAGEM DIFUSA DE SISTEMAS DINÂMICOS CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves Laboratório de Controle de Processos Industriais Centro de Pesquisa e Desenvolvimento em Engenharia Elétrica Escola de Engenharia da U.F.M.G. Av. Antônio Carlos, 6627 - Belo Horizonte - Cep: 31270-901 Resumo Apresenta-se neste trabalho um algoritmo simples e eficiente para a identificação de sistemas dinâmicos por meio de modelagem difusa. Nessa proposta, as relações entre entrada e saída presentes e futuras do processo são definidas a partir de sentenças do tipo SE-ENTÃO de forma que mesmo uma pessoa .leiga possa entender ou mesmo prever o comportamento do sistema a partir de suas entradas. Para testar e validar o algoritmo proposto um estudo simulado foi realizado usando plantas padrão apresentadas na literatura. Palavras-Chave: Modelagem Difusa ; Identificação de Sistemas ; Lógica Difusa . 1. Motivação Uma das formas freqüentemente usadas para se descrever um processo com uma entrada e uma saída é modelar o seu comportamento a partir de equações de diferenças finitas. Assim, para um processo com uma entrada u(t) e uma saída y(t), a saída do processo é descrita por um modelo ARMAX [1]. u(t) I - . Processo Figura 1 - Modelo Entrada/Saída do processo. o modelo correspondente é do tipo: Yt=-aIYt-raiYt-T ... -a"J't-m +b IUt-l+b2Ut-2+ ... + b"ut_n+ruído onde Yt,yt-bYt-2, ... ,Yt-m representam os valores para a saída nas últimas m amostragens no tempo e UhUt-l , Ut-2"",Ut-n representam as entradas do processo nas últimas n amostragens realizadas em intervalos regulares no tempo. A saída y'(t), gerada pelo modelo, deve ser o mais próximo possível de y(t). Vários algoritmos de estimação de parâmetros são apresentados na literatura [1]. Nestes, os parâmetros de entrada e de saída são calculados a partir dos coeficientes aJ, a2, ... ,a m ,b J,b 2 ,... ,b n . Uma das desvantagens desse tipo de modelagem é que o "conhecimento" adquirido fica expresso pelo conjunto de números (aJ,a2, ... ,a".,b J,b 2 , ... ,b n ), que pode ter pouco ou nenhum significado para um. leigo. Outra desvantagem é que este método não é adequado para processos não-lineares, a menos que as não- linearidades sejam explicitamente 'consideradas no modelo. Uma proposta alternativa para resolver este tipo de problema é a "modelagem difusa". Esta consiste em modelar as relações entre entradas e saídas usando variáveis linguísticas. As principais vantagens de uma modelagem difusa são: uma base de conhecimentos que poderia ser- interpretada facilmente e a capacidade para modelar processos não-lineares. Regras difusas do tipo: se Entrada=Alta então Saida=Média. se Entrada=Baixa então SaúJa=Baixa. são mais fáceis de serem interpretadas que números (como nos coeficeientes de um modelo ARMAX). A modelagem difusa pode ser feita utilisando-se vários métodos. Pedrycz em [5] e Kosko em [3] propõem uma modelagem usando redes "Neuro-Fuzzy" [4] combinadas com o método de "Clustering" [6]. Este tipo de algoritmo foi chamado por Kosko em [3] de DIRO (Data In Rules Out). .

CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

  • Upload
    vothu

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

2~ SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTELIGENTE CEFET-PR, 13 a 15 de Setembro de 1995 Curitiba Paraná

UM ALGORITMO PRÁTICO E EFICIENTE PARA MODELAGEM DIFUSA DE SISTEMAS DINÂMICOS

CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves Laboratório de Controle de Processos Industriais

Centro de Pesquisa e Desenvolvimento em Engenharia Elétrica Escola de Engenharia da U.F.M.G.

Av. Antônio Carlos, 6627 - Belo Horizonte - Cep: 31270-901

Resumo

Apresenta-se neste trabalho um algoritmo simples e eficiente para a identificação de sistemas dinâmicos por meio de modelagem difusa. Nessa proposta, as relações entre entrada e saída presentes e futuras do processo são definidas a partir de sentenças do tipo SE-ENTÃO de forma que mesmo uma pessoa .leiga possa entender ou mesmo prever o comportamento do sistema a partir de suas entradas. Para testar e validar o algoritmo proposto um estudo simulado foi realizado usando plantas padrão apresentadas na literatura. Palavras-Chave: Modelagem Difusa ; Identificação de Sistemas ; Lógica Difusa .

1. Motivação

Uma das formas freqüentemente usadas para se descrever um processo com uma entrada e uma saída é modelar o seu comportamento a partir de equações de diferenças finitas. Assim, para um processo com uma entrada u(t) e uma saída y(t), a saída do processo é descrita por um modelo ARMAX [1].

u(t) • I

- . Processo

Figura 1 - Modelo Entrada/Saída do processo.

o modelo correspondente é do tipo:

Yt=-aIYt-raiYt-T ... -a"J't-m +b IUt-l+b2Ut-2+ ... + b"ut_n+ruído

onde Yt,yt-bYt-2, ... ,Yt-m representam os valores para a saída nas últimas m amostragens no tempo e UhUt-l , Ut-2"",Ut-n representam as entradas do processo nas últimas n amostragens realizadas em intervalos regulares no tempo. A saída y'(t), gerada pelo modelo, deve ser o mais próximo possível de y(t).

Vários algoritmos de estimação de parâmetros são apresentados na literatura [1]. Nestes, os parâmetros de entrada e de saída são calculados a partir dos coeficientes aJ, a2, ... ,am,b J,b2, ... ,bn .

Uma das desvantagens desse tipo de modelagem é que o "conhecimento" adquirido fica expresso pelo conjunto de números (aJ,a2, ... ,a".,b J,b2, ... ,bn), que pode ter pouco ou nenhum significado para um. leigo. Outra desvantagem é que este método não é adequado para processos não-lineares, a menos que as não­linearidades sejam explicitamente 'consideradas no modelo.

Uma proposta alternativa para resolver este tipo de problema é a "modelagem difusa". Esta consiste em modelar as relações entre entradas e saídas usando variáveis linguísticas. As principais vantagens de uma modelagem difusa são: uma base de conhecimentos que poderia ser- interpretada facilmente e a capacidade para modelar processos não-lineares. Regras difusas do tipo:

se Entrada=Alta então Saida=Média. se Entrada=Baixa então SaúJa=Baixa.

são mais fáceis de serem interpretadas que números (como nos coeficeientes de um modelo ARMAX).

A modelagem difusa pode ser feita utilisando-se vários métodos. Pedrycz em [5] e Kosko em [3] propõem uma modelagem usando redes "Neuro-Fuzzy" [4] combinadas com o método de "Clustering" [6]. Este tipo de algoritmo foi chamado por Kosko em [3] de DIRO (Data In Rules Out). .

Page 2: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

32

"Neuro-Fuzzy" . é um tipo de Rede Neuronial na qual os "neurônios" são operações lógicas difusas. O método de "Clustering" é um método para agrupar um número grande de dados em um número pré determinado ou não de conjuntos. A combinação destes métodos fornece um meio de se fazer urna modelagem difusa.

Uma das desvantagens mais sérias da modelagem difusa é a "explosão de regras", isto é, o banco de regras pode exigir um número muito grande de regras. Isto é indesejável pelo menos por duas razões: um banco muito grande é de dificíl interpretação (neste caso, viola-se um dos objetivos do trabalho) e muitas regras requerem muita memória e muitos cálculos, tornando inviáveis as modelagens na prática.

Propõe-se~ no presente trabalho, um processo de modelagem do tipo DIRO com duas vantagens adicionais. A primeira é a simplicidade. O algoritmo computacional é rápido, pois não exige um número muito grande de cálculos. A segunda é o emprego de um banco de regras reduzido. O algoritmo produz regras difusas onde, para que estas sejam significativas (representativas), só são incluídas regras que sejam realmente necessárias à conformação do modelo aos dados. Isto é possivel pelo. fato de a "explosão de regras" ser devida a inúmeras regras que não tem valor prático pois nunca são acionadas.

Uma das grandes vantagens deste tipo de modelagem é a capacidade de representar processos com comportamento não-linear.

2. Descrição da Proposta

No programa usado, as medidas y"Yt-J,Yt-2,

... ,Yt-m e Ut>Ut-J,Ut-2"",Ut-n são tratadas corno números difusos sendo portanto associadas, a cada uma delas, graus de pertinência a conjuntos difusos pré definidos. Dessa forma, cada entrada llt e saída Yt será tratada como sendo um conjunto de graus de pertinência WJ,W2,W3, ... ,Wk onde k é o número de conjuntos difusos associados à entrada e à saída.

A proposta do trabalho é implementar uma "máquina de modelagem difusa", que, tomando como entradas as medidas Yt-J,Yt-2,''''

Yt..""Ut-J,Ut-2, ... ,Ut-n. gere urna saída Y 'to Os parâmetros m e n do modelo são pré-determinados pelo usuário. Uma generalização do método poderia ser feita para processos de entradas e saídas múltiplas.

A modelagem é realizada "on-line", ou seja, recursivamente enquanto o processo . se desenvolve. Este é um requisito importante pois, numa próxima fase do trabalho, pretende-se

~21~

2' SIMPÓSIO BRASILEIRO DE ~ AUTOMAÇAO INTELIGENTE

implementar um controlador difuso adaptativo que utilize as informações dadas pelas regras geradas pela modelagem difusa para sintonizar automaticamente o controlador.

3. Princípios de Funcionamento da Modelagem Difusa Proposta

A seguir são descritas as etapas de funcionamento da "máquina" usada para realização da modelagem difusa. Estas etapas demonstram como um conjunto de entradas são processadas, gerando um banco de regras e como a saída é finalmente calculada.

i. Difusão - Um difusor (elemento que transforma variáveis reais em um conjunto de k graus de pertinência para cada conjunto difuso definido) atua nas entradas da "máquina". Por exemplo~ para urna variávellinguística e k= 3 poderíamos ter:

CX1xJ -100% -50% o 50% 100%

Figura 2 - Exemplo de conjuntos difusos.

onde N (Negativo), Z (Zero) e P (positivo) são conjuntos difusos associados à variávellinguística.

A difusão das variáveis linguísticas é feita segundo o esquema abaixo:

2 Yt-l

2 Yt-2

A primeira matriz (A) contém as entradas do difusor e tem dimensões (m+n)xl. A segunda (B) contém graus de pertinência de cada entrada e tem dimensões (m+n)xk. É importante notar que estas matrizes representam o conjunto de medidas realizadas em um instante t.

ii. Criação de Regras - Nesta etapa, o algoritmo busca as regras difusas que se aplicam à medida feita. O conjunto de todas as regras difusas

.!.c

Page 3: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

21 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE

possíveis é o conjunto de todas as combinações possíveis de (m+n)xk elementos da matriz B. O número de regras possíveis (N) vale portanto:

N = k(m+n)

Uma regra difusa tem o seguinte formato:

se ANTECEDENTES então CONSEQUENTES.

Como na modelagem difusa, as relações de EIS não são conhecidas a priori, as regras são do tipo:

r: Se Y(t-l)=a] e Y(t-2)=a2 e ... e Y(t-m)=a", e U(t-l)=Pl e U(t-2)=P2 e ... e u(t-n)=Pn então y't=y.

onde aJ,a2, ... ,a""Pl,P2, ... ,P",r(aj, Pj, e r E v: onde V tem k elementos e representa os conjuntos difusos definidos) representam uma das variáveis linguísticas envolvidas e podem variar, independentemente. r é uma regra e temos 15rsN. ré ajustado de forma a se ter Y 't=Yt.

Associado a cada regra tem-se a média da saída do sistema para cada regra Yr.

iii. Cálculo de Yr - Neste estágio, o algoritmo efetivamente calcula (avalia) as regras, onde são gerados os CONSEQUENTES para as regras criadas no estágio anterior.

Considerando-se que, para uma dada combinação de antecedentes, o conseqüente deve ser determinado a partir de uma medida Yt, o valor mais provável da saída y't para uma combinação poderia ser aproximada pelo seu valor médio, ponderado pelo valor mínimo dos graus de pertinência da regra (Minr), isto é:

onde H é o número de vezes que a regra r foi ativada e h (J:s1z:5H) representa os valores de Minr e YI nos instantes em que a regra foi ativada. Minr é o peso atribuído a uma regra e vale:

Ml·n - m,·n(ya) ya2 ••• ya.. u P) u P2 ••• up,,) r - 1-1' 1-2' 't-m' 1-1' t-2' 't-n

Para evitar que o banco de regras cresça muito, o algoritmo cria apenas regras que não tenham nenhum grau de pertinência igual a zero. Caso a regra já exista~ esta não será destruída, pois

33

ela representa um conhecimento acumulado no passo anterior.

Visando acelerar a convergência do algoritmo de ajuste do modelo, o erro quadrático

pode ser usado para pesar mais os valores Min(r,h) no cálculo de Yr. Assim, se o erro for grande,

Min,.. fj/ terá efeito mais pronunciado do que se, para o mesmoMinr~ fj/for pequeno. Tem-se então:

H

LY(t,h)Min(r,h) f//IJ - 17=1 Yr = ....:..:.......~H~-----

L Min(r,h) f//h 17=1

Dessa· forma, quando o sistema converge, ambas as equações geram Yr =y,..

Uma vez calculado Yr' o valor de r é igualado ao conjunto difuso cujo centróide é mais próximo de Yr. Feito isto, tem-se uma regra completa: os antecedentes e consequentes foram encontrados. É claro que, à medida que o processo se desenvolve e mais medidas são feitas a média, Yr de uma regra pode variar e junto com Yr o consequente estimado para a regra.

iv. Concentração - Como o objetivo é aplicar o controlador difuso a processos reais, que não operam diretamente com variáveis difusas é preciso transformar número difuso em um nUmero real:

c = [Y'tl y't2

C representa os graus de pertinência da saída e D o valor da saída já concentrado.

A saída estimada y't para o processo pode assim ser comparada com a real:

TI @] +

Difuso

·lly(tJ

Processo .

@­-~~Y'(tJ

Erro de Estimação ( 'If)

Figura 3 - Diagrama de blocos da "máquina de modelagem" .

Page 4: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

34

4. Implementação

A solução computacional empregada é muito simples. O programa utiliza uma estrutura de dados que foi inspirada na estrutura sugerida em [4]. A estrutura de dados foi modificada para facilitar a implementação do algoritmo. A seguir apresenta-se a estrutura de dados utilizada. Como o programa foi escrito usando a linguagem C++, a estrutura de dados será apresentada utilizando uma notação de fácil assimilação para pessoas que tenham familiaridade com C.

Aul~

IfRuleBement *lfSide 1henRueBemeri *ThenSide Rue*Next

charVaJue float ThisVVeight Point PT ThenRueBemeri *Next

-charVaJue IfRuleBement *Next

Pnint

int N dOlble f\lnn dOlble PSun dOlble Med

Figura 4 - Estrutura de dados da "máquina".

Rufe, ljRufeE/ement e ThenRu/eE/ement são listas ligadas e representam o conhecimento adquirido na forma de regras difusas. O número ThisWeight é o peso com o qual a regra foi ativada por último (P). PT armazena os dados para o cálculo da média ponderada. Em Point o elemento N representa o número de vezes que a regra foi

H

ativada, Num é a soma LY(t,h)Min(r,h) ou a h=l

H

soma LY(t,h)Min(r,h) 'f/h' PSum é a soma h=1

H H

L Min(r,h) ou a soma L Min(r,h) 'f/h e Med é o h=l h=l quociente de Num e PSum (Yr).

Este algoritmo é de execução rápida porque, nas etapas que tratam da modelagem propriamente dita, são realizadas apenas 4 somas (cálculo de N, de Num e de PSum), 3 multiplicações (cálculo de PSum) e 1 divisão (cálculo de Meti) para cada regra ativada. Estes números são muito pequenos quando comparados

2' SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE ~2'~1

aos dos algoritmos Neuro-FU7ZY e de Clustering [5].

Para o sistema implementado. às variáveis de entrada (Yt-I, YI-2, UI-I, Ut-2) e às variáveis de saída (y 'I) são associados conjuntos difusos idênticos, conforme esquematizado abaixo (k= 7):

-100 -66 -33 o 33 66 100

Figura 5 - Conjuntos difusos implementados.

5. Resultados

Fazendo uso do algoritmo descrito acima conseguiu-se realizar modelagens difusas que apresentaram resultados bastante satisfatórios. A convergência do sistema é rápida, mas, como era de se esperar, só acontece em regiões nas quais o processo tenha operado em algum instante. Caso a saída do processo oscile entre 500/0 e 80%, por exemplo, o algoritmo só gera regras relativas a esta faixa de valores. Isto é fácil de observar pelo propno funcionamento da "máquina de modelagem". No exemplo anterior, se o processo começar, repentinamente, a operar em 200/0, o modelo, apesar de não ter informações a respeito desta faixa de valores, converge rapidamente.

Pelas próprias características da "máquina de modelagem" (uso da média ponderada), à medida que o tempo vai passando, e mais medidas são feitas, a velocidade de convergência se reduz e o modelo tende a se estabilizar. Apesar disto, observou-se que, se o processo muda as suas características após a convergência, a máquina de modelagem ainda consegue se adaptar rapidamente alcançando logo depois um ponto estável.

Nos exemplos testados, não foi observado um caso onde o sistema se tomasse instável ou em que o modelo não atinjisse uma boa convergência.

Exemplos de modelagens feitas são apresentados a seguir:

Page 5: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

21 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE 35

Figura 6 - Modelagem difusa de um sistema de primeira ordem (primeiros 600 pontos)

%

Figura 7 - Modelagem de um sistema de primeira ordem (quase estabilizado - após 1000 amostragens)

Uma simulação de um controlador PI atuando em um sistema de primeira ordem foi realizada. O perfil de referência ('"set-point") foi gerado a partir de um sinal pseudo-aleatório quantizado. É interessante notar os "'saltos" que a

saída do modelo apresenta nas figuras ocorrem nos instantes em que há mudanças de regras, ou seja, nos instantes em que o ré mudado.

Figura 8 - Modelagem de um sistema de segunda ordem com atraso (primeiros 600 pontos)

Page 6: CARVALHO, Daniel Balparda e JOTA, Fábio Gonçalves · 2013-02-27 · Uma das formas freqüentemente usadas ... linearidades sejam explicitamente 'consideradas no modelo. Uma proposta

~2'~

2! SIMPÓSIO BRASILEIRO DE ~ AUTOMAÇAO INTELIGENTE

Figura 9 - Modelagem de um sistema de segunda ordem com atraso (quase estabilizado - após 1000 amostragens)

Observa-se pelas figuras 6,7,8 e 9 que o sistema encontrou rapidamente as relações de entrada e saída, convergindo de forma bastante satisfatória após 1000 amostragens. Nas duas modelagens apresentadas, o número total de regras necessárias está entre 60 e 1 OO~ enquanto que o número total de regras possíveis é de 2.401 .

O programa de modelagem implementado neste trabalho utiliza o algoritmo descrito anteriormente e é executado na plataforma MS­DOS. Em sua forma presente, a modelagem não é feita "on-line", mas a partir de um arquivo de dados em formato temo com medidas já realizadas e gera como saída um arquivo (também no formato texto) de regras. Os nomes destes arquivos e o número de medidas de Yt e de Ut são especificados pelo usuário. O arquivo executável desse programa estará disponível no SBAI para interessados.

6. Conclusões

O algoritmo descrito neste artigo . demonstrou ser bastante eficiente e apresentou bons resultados nos casos estudados. Na forma proposta este é certamente mais rápido do que algoritmos do tipo Neuro-Fuzzy e Clustering.

Uma desvantagem do algoritmo, que até agora não foi mencionada, mas que pode ser deduzida pelas explicações acima é que ele apenas altera regras (deixando fixas as funções de pertinência). As funções de pertinência devem ser pré-definidas. No algoritmo implementado estas são geradas pelo programa na sua inicialização. No futuro, um desenvolvimento do algoritmo acima pode levar a um bom ajuste também das funções de pertinência.

Uma possível continuação deste projeto será usar a máquina de modelagem difusa para

fazer uma sintonia "on-line" de controladores para processos. Estes controladores poderiam ser, em primeiro lugar, controladores difusos e depois outros controladores como o PID, por exemplo.

7. Agradecimentos

Os autores agradecem e reconhecem o valor do apoio e dos financiamentos do CNPq e da FAPEMIG.

8. Bibliografia

[1] - ASTRÕM, K.J. & WfITENMARK, B. -Computer Control/ed Systems - Prentice Hall -1990.

[2] - BALL, G. & HALL, D. - A Clustering Technique for Summarizing Multivariate Data -Revista Behavoral Science - N°12 pp.153-155 -1967 .

[3] - KOSKO, Bart - Fuzzy Thinking: The New Science of Fuzzy Logic - Hyperion - New York - First Edition - 1993.

[4] - KOSKO, Bart (Editor) - Neural Networks for Signal Processing - Prentice-Hall International Inc. - New Jersey - 1992.

[5] - PEDRYCZ, Witold - Fuzzy Control and Fuzzy Systems - John Wiley & Sons Inc. - New York -Second, extendedEdition - 1953.

[6] - VIOT, Greg - Fuzzy Logic in C - Dr. Dobb's Journal - Fevereiro pp.41-49,94 - 1993.