- 13º Paulo_padilha
Transcript of - 13º Paulo_padilha
INSTITUTO MILITAR DE ENGENHARIA
PAULO CESAR CARNEIRO PADILHA
DESENVOLVIMENTO DE UMA METODOLOGIA DE SINTONIA DE
CONTROLADORES “FUZZY” UTILIZANDO REDES NEURAIS.
APLICAÇÕES EM PROCESSOS PETROQUÍMICOS
Dissertação de mestrado apresentada ao Curso de Mestrado em Engenharia Elétrica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Elétrica.
Orientador: Mário Cesar M. M. de Campos - Dr. ECP
Co-orientador: Geraldo M. Pinheiro Gomes - Dr.ENSAE
Rio de Janeiro
2001
2
C2001
INSTITUTO MILITAR DE ENGENHARIA
Praça General Tibúrcio, 80 – Praia Vermelha
Rio de janeiro – RJ CEP: 22290-270
Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá inclui-
lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer
forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre
bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que
esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações,
desde que sem finalidade comercial e que seja feita a referência bibliográfica
completa.
Os conceitos expressos neste trabalho são de responsabilidade do autor e do
orientador.
P123 Padilha, Paulo Cesar Carneiro. Desenvolvimento de uma metodologia de sintonia de controladores “fuzzy” utilizando redes neurais: aplicações em processos petroquímicos / Paulo Cesar Carneiro Padilha. – Rio de Janeiro : Instituto Militar de Engenharia, 2001. 95 p. : il., graf., tab. Dissertação (mestrado) – Instituto Militar de Engenharia – Rio de Janeiro, 2001.
1. Sintonia de controladores “fuzzy”. 2. Controle robusto. 3. Processo petroquímico. 4. Rede neural “fuzzy”. I. Instituto Militar de Engenharia. II. Título. CDD 629.83
3
INSTITUTO MILITAR DE ENGENHARIA
PAULO CESAR CARNEIRO PADILHA
DESENVOLVIMENTO DE UMA METODOLOGIA DE SINTONIA DE
CONTROLADORES “FUZZY” UTILIZANDO REDES NEURAIS.
APLICAÇÕES EM PROCESSOS PETROQUÍMICOS
Dissertação de mestrado apresentada ao Curso de Mestrado em Engenharia Elétrica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Elétrica.
Orientador: Mário Cesar Mello Massa de Campos – Dr. ECP
Co-orientador: Geraldo Magela Pinheiro Gomes – Dr.ENSAE
Aprovada em 03 de maio de 2001 pela seguinte Banca Examinadora:
Prof. Mário César Mello Massa de Campos – Dr. ECP, do IME - Presidente
Prof. Geraldo Magela Pinheiro Gomes – Dr.ENSAE, do IME
Prof. Roberto Ades – Dr. PUC – Rio, do IME
Prof. Maurício Bezerra de Souza Júnior – D.Sc., da UFRJ
Rio de Janeiro
2001
4
A minha esposa pelo incentivo, apoio e paciência.
5
AGRADECIMENTOS
A Deus.
Ao Instituto Militar de Engenharia pela oportunidade da minha participação neste
curso.
A CAPES pelo apoio material.
Aos professores Cel. Pinheiro, Cap. Ades, Leonardo, Luiz Antônio, Maj. Decílio,
Nunes e Carla do Departamento de Engenharia Elétrica do IME, bem como aos
professores João Carlos Basílio e Afonso Celso da COPPE.
Aos colegas de mestrado Edilmar, Maurício e Cap. Rebello pela camaradagem e
integração.
Especial ao professor orientador Mário César Mello Massa de Campos pelo
apoio integral, dedicação, interesse e paciência.
6
SUMÁRIO
LISTA DE ILUSTRAÇÕES...........................................................................................9
LISTA DE TABELAS..................................................................................................12
LISTA DE ABREVIATURAS E SÍMBOLOS................................................................13
1 INTRODUÇÃO.............................................................................................17
1.1 Introdução.....................................................................................................17
1.2 Objetivos do Trabalho..................................................................................18
1.3 Desenvolvimento do Trabalho......................................................................18
2 CONTROLE “FUZZY”.................................................................................19
2.1 Introdução....................................................................................................19
2.2 Introdução à lógica “Fuzzy”..........................................................................19
2.2.1 Subconjuntos “Fuzzy”...................................................................................19
2.2.2 Grau de Pertinência......................................................................................20
2.2.3 Tipos de Funções de Pertinência.................................................................21
2.2.4 Operação entre Subconjuntos “Fuzzy”.........................................................23
2.2.5 Relações “Fuzzy”..........................................................................................24
2.2.6 Raciocínio “Fuzzy”........................................................................................25
2.3 Controle de Processo “Fuzzy”......................................................................26
2.3.1 Modelo Básico do Controlador “Fuzzy”........................................................26
2.3.1.1 Exemplo de um controlador “Fuzzy”.............................................................28
2.3.1.2 Exemplo de CLF para um Processo simples (SISO)...................................30
3 REDES NEURAIS ARTIFICIAIS...................................................................38
3.1 Introdução.....................................................................................................38
7
3.2 Redes Neurais Artificiais..............................................................................38
3.3 Redes Neurais Artificiais Multicamada.........................................................38
3.4 Propriedade de Aproximação Universal das Redes Neurais.......................41
3.5 Generalidades sobre o Processo de Aprendizagem....................................41
3.6 Rede Neural com Base Radial (RNBR)........................................................44
3.7 Aproximação de Funções através de RNBR................................................45
4 REDES NEURAIS FUZZY............................................................................54
4.1 Introdução.....................................................................................................54
4.2 Redes Neurais “Fuzzy” (RNF)......................................................................54
4.3 Estrutura de RNF..........................................................................................56
4.4 Algoritmo de Aprendizagem.........................................................................59
4.4.1 Aprendizagem da Estrutura..........................................................................59
4.4.2 Aprendizagem Paramétrica..........................................................................63
4.5 Exemplo de Aplicação do Algoritmo de Aprendizagem...............................66
4.6 Exemplo de Aplicação: Coluna Desbutanizadora........................................73
4.6.1 Controlador “Fuzzy”......................................................................................74
4.6.2 Controlador Neuro “Fuzzy”...........................................................................75
5 CONCLUSÕES E PERSPECTIVAS............................................................79
5.1 Conclusões...................................................................................................79
5.2 Perspectivas.................................................................................................80
6 REFERÊNCIAS BIBLIOGRÁFICAS............................................................82
7 APÊNDICES.................................................................................................85
7.1 APÊNDICE 1: Fluxograma do algoritmo.de aprendizagem.da RNF...........85
8
7.2 APÊNDICE 2: Diagrama do controlador Neuro “Fuzzy” do exemplo 4.5....86
7.3 APÊNDICE 3: Controle “Fuzzy” duplo para a Coluna Desbutanizadora.....87
7.4 APÊNDICE 4: Diagrama do Controlador “Fuzzy” (parte 4.6.1)...................92
7.5 APÊNDICE 5: Diagrama do “Mod. Desbutanizador” do Controlador “Fuzzy”
(parte 4.6.1)..........................................................................93
7.6 APÊNDICE 6: Diagramas dos erros normalizados de tp e tf (parte 4.6.1)..94
7.7 APÊNDICE 7: Diagrama que atualiza os valores iniciais para as funções de
transferência (parte 4.6.2).....................................................95
9
LISTA DE ILUSTRAÇÕES
FIG. 2.1 Funções de pertinência............................................................................20
FIG. 2.2 Funções de pertinência da variável temperatura....................................21
FIG. 2.3 A, B e C Funções de pertinência triangular, trapezoidal e gaussiana....21
FIG. 2.4 União........................................................................................................23
FIG. 2.5 Interseção.................................................................................................24
FIG. 2.6 Complemento...........................................................................................24
FIG. 2.7 Controlador “Fuzzy”..................................................................................27
FIG. 2.8 Controlador convencional.........................................................................27
FIG. 2.9 Inferência “Fuzzy”.....................................................................................29
FIG. 2.10 Funções de pertinência das 3 variáveis...................................................31
FIG. 2.11 Evolução das variáveis E e DE para definição das regras “Fuzzy”..........32
FIG. 2.12 Controlador “Fuzzy” (diagrama)...............................................................34
FIG. 2.13 Erro normalizado (diagrama)....................................................................34
FIG. 2.14 Ponto de Operação / saída do processo (controlador “Fuzzy”)................35
FIG. 2.15 Controlador PID........................................................................................36
FIG. 2.16 Ponto de operação / saída do processo (controlador PID)......................36
FIG. 3.1 Modelo de rede neural multicamada........................................................39
FIG. 3.2 Arquitetura do neurôneo artificial i............................................................39
FIG. 3.3 Rede neural com retroalimentação..........................................................40
FIG. 3.4 Diagrama de aprendizagem.....................................................................43
FIG. 3.5 Modelo da rede nerual com Base Radial.................................................44
FIG. 3.6 Função para aproximação (1o exemplo de 3.7).......................................46
FIG. 3.7 Aproximação da função (1o exemplo de 3.7)...........................................47
FIG. 3.8 Evolução da soma do erro quadrático Função para aproximação
(1oexemplo de 3.7)..................................................................................48
FIG. 3.9 Teste de aprendizagem Função para aproximação (1o exemplo de 3.7).48
10
FIG. 3.10 Superfície da função (2o exemplo de 3.7)................................................49
FIG. 3.11 Evolução do erro (2o exemplo de 3.7)......................................................50
FIG. 3.12 Superfície de erro (2o exemplo de 3.7).....................................................51
FIG. 3.13 Diagrama para simulação do processo no MATLAB / SIMULINK
(3oexemplo de 3.7)...................................................................................52
FIG. 3.14 Padrões de entrada e saída.....................................................................52
FIG. 3.15 Aproximação do processo (3o exemplo de 3.7)........................................53
FIG. 3.16 Evolução do erro (3o exemplo de 3.7)......................................................53
FIG. 4.1 Estrutura da RNF......................................................................................58
FIG. 4.2 Fluxograma de Aprendizagem da Estrutura............................................63
FIG. 4.3 PO / saída do processo sem atualização ( exemplo de 4.5)....................67
FIG. 4.4 PO / curvas de referência ( exemplo de 4.5)............................................67
FIG. 4.5 Diagrama do Bloco REFERÊNCIA ( exemplo de 4.5)..............................68
FIG. 4.6 PO / limites de referência / saída do processo após 130 iterações
(exemplo de 4.5).......................................................................................68
FIG. 4.7 FPs iniciais das variáveis de entrada ( exemplo de 4.5)..........................69
FIG. 4.8 FPs da variável erro ( exemplo de 4.5)....................................................69
FIG. 4.9 FPs da variável variação do erro ( exemplo de 4.5)...............................70
FIG. 4.10 Número de regras X Iterações ( exemplo de 4.5)..................................70
FIG. 4.11 FPs da variável erro X Iterações ( exemplo de 4.5).................................71
FIG. 4.12 FPs da variável variação do erro X Iterações ( exemplo de 4.5)............71
FIG. 4.13 EEMQ X Iterações....................................................................................72
FIG. 4.14 Controle dual para a Coluna Desbutanizadora.........................................73
FIG. 4.15 Temperatura de topo (tp) e de fundo (tf) / POs (exemplo de 4.6.1)..........75
FIG. 4.16 Regiões de referência de tp / POtp e tf / POtf (exemplo de 4.6.2)............76
FIG. 4.17 POs / saída do processo (tp e tf) sem aprendizagem
(exemplo de 4.6.2).....................................................................................77
FIG. 4.18 Desempenho do Controlador Neuro “Fuzzy” (exemplo de 4.6.2)..............77
FIG. 4.19 Evolução do desempenho do Controlador Neuro “Fuzzy”........................78
11
FIG. 7.1 Fluxograma do algoritmo de aprendizagem da RNF...............................85
FIG. 7.2 Diagrama do Controlador Neuro “Fuzzy”.................................................86
FIG. 7.3.1 Sistema Fuzzy (parte 4.6.1).....................................................................87
FIG. 7.3.2 Função de pertinência da variável Erro (parte 4.6.1)..............................88
FIG. 7.3.3 Função de pertinência da variável dErro (parte 4.6.1)............................89
FIG. 7.3.4 Função de pertinência da variável de saída dU (parte 4.6.1)..................90
FIG. 7.3.5 Conjunto de regras “Fuzzy” (parte 4.6.1)..................................................91
FIG. 7.4 Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de
composição dupla.....................................................................................92
FIG. 7.5 Diagrama do “Mod. Desbutanizador” do Controlador “Fuzzy”...................93
FIG. 7.6 Diagramas dos erros normalizados de tp e tf............................................94
FIG. 7.7 Diagrama que atualiza os valores iniciais ................................................95
12
LISTA DE TABELAS
TAB. 2.1 Regras da base de conhecimento do Controlador “Fuzzy”.......................33
TAB. 4.1 Funções de transferência da Desbutanizadora.........................................74
13
LISTA DE ABREVIATURAS E SÍMBOLOS
ABREVIATURAS
CNF - Controlador Neuro “Fuzzy”
EMQ - Erro Médio Quadrático
EMQtf - Erro Médio Quadrático da temperatura de fundo
EMQtp - Erro Médio Quadrático da temperatura de topo
FP - Função de Pertinência
MIMO - “Multiple Input Multiple Output”
PID - Controlador Proporcional Integral Derivativo
RNBR - Rede Neural com Base Radial
RNF - Rede Neural “Fuzzy”
SISO - “Single Input Single Output”
PO - Ponto de Operação
SÍMBOLOS
loge Logaritmo base natural
exp Base do logaritmo natural (2,718...)
µA(x) Função de pertinência
bj(x) Função de pertinência gaussiana
δ Parâmetro de sintonia da RNF para decisão de criar uma nova FP
m Centro da função de pertinência gaussiana
σ Desvio padrão da função de pertinência gaussiana
14
w Pesos das regras
Ek Erro quadrático
ηm Taxa de aprendizagem dos centros das FPs gaussianas
ησ Taxa de aprendizagem dos desvios padrões das FPs gaussianas
ηw Taxa de aprendizagem dos pesos das regras
15
RESUMO
Os sistemas de controle “Fuzzy” são atualmente ferramentas importantes para a solução de problemas complexos de controle em plantas industriais. O controlador “Fuzzy” tem como característica a capacidade de incorporar o conhecimento de operadores e engenheiros especialistas na estratégia de controle valorizando desta forma estas informações. O objetivo deste trabalho é o desenvolvimento de uma metodologia para sintonia de controladores “Fuzzy” utilizando uma arquitetura de Rede Neural. A associação da teoria de subconjuntos “Fuzzy” com a Rede Neural combina a capacidade de raciocínio dos Sistemas “Fuzzy” com a capacidade de aprendizagem das Redes Neurais. Neste trabalho apresenta-se inicialmente conceitos introdutórios da teoria da lógica de subconjuntos “Fuzzy” bem como o modelo básico de um controlador “Fuzzy”, seguido de aplicações ilustrativas. Apresenta-se, em seguida, uma introdução às Redes Neurais com alguns exemplos de aplicações. Finalmente mostra-se a possibilidade de interpretar um sistema “Fuzzy” através de uma rede especial utilizando os algoritmos de aprendizagem desta última para a obtenção dos parâmetros de sintonia do controlador “Fuzzy”. Esta metodologia é aplicada para a sintonia (obtenção dos parâmetros e da estrutura) de um controlador “Fuzzy” em um exemplo de processo petroquímico.
16
ABSTRACT
The Fuzzy Control Systems are nowadays an important instruments for solution of complex problems in industrial plants. The Fuzzy controller has as a characteristic the capacity to incorporate the knowledge of specialized operators and engineers in control strategy in order to give value on these information. The purpose of this work is the development of a methodology for tuning the Fuzzy controllers using a Neural Network architecture. The association of the Fuzzy Subsets Theory with the Neural Network combines the capacity of reasoning of Fuzzy System with the learning capacity of the Neural Networks. In this work it is presented , initially , introductory concepts of Fuzzy Subsets Logic Theory, as well as the basic model of a Fuzzy controller followed by illustrative applications. After that it is presented an introduction to the Neural Network with some examples of applications. Finally, it is shown the possibility of interpreting a Fuzzy System through a special network and to use the learning algorithms of this last one to obtain the tuning parameters of the Fuzzy controller. This methodology is applied for the tuning (obtaining the parameters and the structure) of the Fuzzy controller in an example of a petrochemical process.
17
1 INTRODUÇÃO
1.1 INTRODUÇÃO
Em sistemas complexos, tais como veículos aéreos não tripulados e processos
industriais petroquímicos, o uso de sistemas de controle inteligentes visa melhorar o
desempenho face a variações das condições ambientais, interações entre variáveis,
não-linearidades e variações de parâmetros ao longo do tempo. Normalmente estes
sistemas são solicitados a operar em vários pontos de operação necessitando
portanto de robustez, estabilidade e transições suaves entre estes possíveis pontos
de operação. Um sistema de controle que fosse capaz de melhorar o desempenho,
se adaptando de certa forma a novos pontos operacionais, continua sendo uma área
de pesquisa promissora (HARRIS et al, 1993).
O objetivo básico do controle adaptativo é manter o desempenho do sistema na
presença de incertezas ou variações desconhecidas dos parâmetros da planta
adaptando o controlador. Tipicamente, os controles adaptativos são desenvolvidos
para sistemas lineares MIMO, sistemas não lineares SISO e para certas classes de
sistemas não lineares MIMO (JAGANNATHAN, 1998) e (ZHANG et al,1997).
Atualmente, as Redes Neurais “Fuzzy” (RNFs) são usadas para implementar
sistemas lógicos “fuzzy”. As RNFs combinam capacidade de aprendizagem das
Redes Neurais com o alto poder de raciocínio e de decisão obtidos pelos sistemas
“fuzzy” (THEOCHARIS e VACHTSEVANOS, 1996). Existem diversas maneiras de
se implementar uma RNF (LEITÃO, 2000), (CAMPOS,1997). A obtenção de um
modelo de RNF para uma relação entrada-saída desejada requer a aprendizagem
paramétrica e também a aprendizagem da estrutura da rede. A aprendizagem da
estrutura é efetuada, por exemplo, modificando o número de partições do espaço de
entrada e expandindo o conjunto de regras-base “fuzzy” enquanto a aprendizagem
paramétrica atua ajustando os pesos da rede. A construção de uma RNF pode ser
classificada em duas categorias : 1) estrutura neural “fuzzy” baseada no método de
inferência Takagi e Sugeno (TAKAGI e SUGENO,1985) com função conseqüente
linear (JANG,1992,1993) e 2) estrutura neural “fuzzy” e conseqüentes “fuzzy”
[JANG, 1993].
18
A estrutura neural “fuzzy” proposta em (MINGZHONG e FULI, 1997) é
considerada neste trabalho. Esta estrutura de RNF consiste em uma base de regras
“fuzzy” Takagi e Sugeno cujas partes conseqüentes são polinômios lineares das
variáveis de entrada (premissa). Ela contempla os dois tipos de aprendizagem: a da
estrutura e a dos parâmetros que são usados para o desenvolvimento ”adaptativo”
da RNF (THEOCHARIS e VACHTSEVANOS, 1996). A aprendizagem da estrutura
insere novas funções de pertinência criando novas regras “fuzzy” e determina os
parâmetros das novas regras baseadas nos dados de saída desejados. A
aprendizagem dos parâmetros atualiza a média, o desvio padrão das funções de
pertinência gaussianas e os pesos dos conseqüentes das regras através do
algoritmo de retro-propagação.
1.2 OBJETIVO DO TRABALHO
A motivação deste trabalho é estudar a possibilidade de usar conceitos de
Redes Neurais “Fuzzy” (RNF) para o desenvolvimento de uma metodologia de
sintonia de Controladores “Fuzzy” aplicada a um processo petroquímico
multivariável.
1.3 DESENVOLVIMENTO DO TRABALHO
No capítulo 2 apresenta-se de forma sucinta alguns conceitos da lógica “fuzzy”;
mostra-se o modelo básico do controlador “fuzzy” e a aplicação deste tipo de
controlador em exemplos simples de processo.
No capítulo 3 apresenta-se informações básicas sobre redes “Neurais Artificiais”,
sua aplicação na aproximação de funções e alguns outros exemplos de aplicações
de redes.
No capítulo 4 apresenta-se um modelo de Rede Neural “Fuzzy” (RNF), os
métodos de aprendizagem paramétrica e estrutural da mesma. Em seguida mostra-
se como a RNF pode ser usada para a sintonia de controladores “Fuzzy”. A
aplicação deste método é feita inicialmente em um modelo SISO simples e em
seguida a um processo petroquímico MIMO.
No capítulo 5 apresenta-se alguns comentários, análises, conclusões e
perspectivas.
19
2 CONTROLE “FUZZY”
2.1 INTRODUÇÃO Neste capítulo apresenta-se de forma sucinta alguns conceitos da lógica ”fuzzy”;
mostra-se o modelo básico do Controlador ”Fuzzy”, bem como aplicações deste tipo
de controlador em exemplos simples de Processos, comparando o desempenho
com o de controladores PID convencionais.
2.2 INTRODUÇÃO À LÓGICA “FUZZY”
A teoria dos subconjuntos “fuzzy” foi proposta pelo Prof. Lotfi Zadeh em 1965
(ZADEH,1965). Fuzzy em inglês significa: difuso, nebuloso. A matemática nebulosa
(fuzzy) realiza operações com subconjuntos (nebulosos).
A teoria de subconjuntos “fuzzy” objetiva criar um sistema ou um ambiente que
permita representar conhecimentos complexos, incertos, contraditórios e
incompletos de maneira sistemática e lógica (BOUCHON-MEUNIER, 1995). O
sistema ”fuzzy” alia a flexibilidade do tipo simbólico de representação dos
conhecimentos (normais nos sistemas especialistas convencionais) com o poder dos
cálculos numéricos das técnicas baseadas em redes neurais (CAMPOS,1997).
2.2.1 SUBCONJUNTOS “FUZZY”
O subconjunto ”fuzzy” A é caracterizado pelo par (X , µµµµA(X)), onde X é a
variável (discreta ou contínua) do universo em estudo e µµµµA(X) é uma função função
de pertinência cuja imagem pertence ao intervalo [0 , 1] , em que 1 representa o
conceito de pertinência total e 0, o de não pertinência, definida por:
µµµµA : X [0 ,1]
A FIG. 2.1 mostra um exemplo de definição de funções de pertinência que
caracterizam a variável com valores próximos de zero (conjunto A1) e próximos de
4 (conjunto A2).
20
µµµµA(X)
1 A1
A2
0 4 8 variável x
FIG. 2.1: Funções de pertinência µA1(x) e µA2(x).
2.2.2 GRAU DE PERTINÊNCIA
Um elemento x pertence a um subconjunto “fuzzy” X={x} ,discreto ou contínuo,
se existe um grau de pertinência normalizado µµµµA(x) entre zero e um. Isto é, µµµµA(x)
associa cada elemento de X um grau de pertinência entre zero e um com o qual x
pertence a A.
Exemplificando:
Ao observar um objeto xi pode-se decidir se ele é grande, médio ou pequeno e
atribuir graus de pertinência a estes subconjuntos “fuzzy”. Grande pode ser uma
pertinência 0,8 (µGRANDE(xi)=0,8), pequeno pode ser uma pertinência 0,2
(µPEQUENO(xi)=0,2).
Os subconjuntos (“fuzzy”) grande e médio, por exemplo, podem não ter
fronteira bem definida ,ou seja, têm fronteira nebulosa, pois podem existir vários
elementos comuns aos dois subconjuntos, com graus de pertinência diferentes .
Uma variável lingüística é definida pelo trio V, X e TV, onde V é uma variável
definida sobre um conjunto de referência (domínio) X. O conjunto TV = {A1, A2,...},
finito ou infinito, contem os subconjuntos “fuzzy” normalizados de X que servem para
caracterizar V. Por simplicidade, usa-se a mesma notação para representar os
valores lingüísticos Ai (baixa, alta, etc.) e os subconjuntos “fuzzy” associados.
21
Um exemplo: dentro do intervalo [0 , 100] , pode-se definir a variável
temperatura com três valores lingüísticos : A1=baixa ,A2=média e A3=alta. Estes
valores caracterizam subconjuntos “fuzzy” com as funções pertinência (FP)
representadas na FIG. 2.2 cuja variável conjunto TV é:
T Temperatura={baixa, média, alta}
FP
1 baixa média alta
0 10 50 90 100 Temperatura (0C)
FIG. 2. 2 Funções de pertinência da variável “temperatura”.
2.2.3 TIPOS DE FUNÇÃO DE PERTINÊNCIA
Existem diversas formas de funções de pertinência (FP) para representar
adequadamente os subconjuntos “fuzzy”. Algumas das mais utilizadas são a
triangular, trapezoidal e gaussiana que são mostradas nas FIG. 2.3 A, B e C.
FIG. 2.3A Função de pertinência triangular.
0 2 4 6 8 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
FP TRIÂNGULAR
22
FIG. 2.3B Função de pertinência trapezoidal.
FIG. 2.3C Função de pertinência gaussiana.
0 2 4 6 8 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
FP GAUSSIANA
0 2 4 6 8 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
FP TRAPEZOIDAL
23
2.2.4 OPERAÇÃO ENTRE SUBCONJUNTOS “FUZZY”
Pode-se definir várias operações com subconjuntos “fuzzy” (união, interseção,
complemento,...). A seguir são analisadas algumas destas operações.
União:
Sejam A e B, subconjuntos “fuzzy” com funções de pertinência µµµµA e µµµµB. A união
entre os dois subconjuntos é um subconjunto “fuzzy” C, tal que sua função de
pertinência é definida como:
µC=µA ∪ µB
µC(xi) =max{µA(xi) , µB(xi)} (∀ xi ∈ X)
µ µC(X)
A B C=A ∪ B
x x
FIG. 2.4 União entre subconjuntos “fuzzy”.
Interseção:
Sejam A e B os subconjuntos “fuzzy” definidos anteriormente. A interseção entre
os dois subconjuntos é um outro subconjunto “fuzzy” C, tal que:
µC=µA ∩ µB
µC=min{µA (Xi ), µB(Xi)} (∀ xi ∈ X)
24
µ µC(X)
A B C=A ∩ B
x x
FIG. 2.5 Interseção entre subconjuntos “fuzzy”.
O operador min pode ser usado para realizar a interseção entre subconjuntos
”fuzzy” (CAMPOS, 1997).
Complemento:
Seja A o subconjunto “fuzzy” anterior. O complemento do subconjunto é também um
subconjunto “fuzzy” Ã, tal que:
µÃ(xi)={1-µA(xi)}
µ µÃ(X)
A Ã=1 - A
x x
FIG. 2.6 Complemento entre subconjuntos “fuzzy”.
2.2.5 RELAÇÕES “FUZZY”
A relação entre subconjuntos “fuzzy” mostra as ligações imprecisas ou graduais
entre os elementos destes subconjuntos (ZADEH,1973).
Um sistema dinâmico pode ser interpretado como uma transformação entre
entradas e saídas . No caso de um sistema “fuzzy”, estas transformações são
25
definidas entre os subconjuntos “fuzzy” dos diferentes domínios das variáveis de
entradas e saídas através de uma implicação lingüística, do tipo:
A ⇒ B, isto é, SE {A(u)} ENTÃO {B(v)}
Um algoritmo “fuzzy” é composto de N regras lingüísticas:
R1: [SE {A1(u)} ENTÃO {B1(v)}]
R2: [SE {A2(u)} ENTÃO {B2(v)}]
:
RN: [SE {AN(u)} ENTÃO {BN(v)}]
A relação “fuzzy” R para este algoritmo tem função de pertinência µR(u,v) ,
definida, por exemplo, utilizando operadores “min” e “max” em um subconjunto
“fuzzy” do produto cartesiano {Ai x Bi} de função de pertinência igual a:
µR(u,v)=∪i=1,...N {min(µAi(u) , µBi(v))}
µR(u,v)=maxi=1,...N {min(µAi(u) , µBi(v))}
A composição de duas relações “fuzzy” R1 entre X e Y (XxY) e R2 entre Y e Z
(YxZ) é uma relação “fuzzy” R=R1 o R2 entre X e Z (XxZ) com função de
pertinência definida utilizando operadores “min” e “max” como:
µR(x,z)=sup {min(µR1(x,y) , µR2(y,z))} => (x,z) ∈ XxZ e y∈Y
µR(x,z)=max {min(µR1(x,y) , µR2(y,z))}
2.2.6 RACIOCÍNIO “FUZZY”
A lógica “fuzzy” permite um tratamento mais flexível dos conhecimentos do que a
lógica clássica .
26
Por exemplo, se existir uma regra da forma “SE {V é A} ENTÂO {W é B}”; e se
uma medida ou sensor indicar que V está próximo de A , isto é, V é A’ ; o
raciocínio fuzzy conclui que W também deve estar próximo de B , ou seja, W é B’.
Após esta breve introdução aos principais conceitos da lógica “fuzzy”, será
descrito o controle de processo “fuzzy”.
2.3 CONTROLE DE PROCESSO ‘’FUZZY”
Os métodos de controle de processos clássicos são geralmente baseados na
hipótese de que os sistemas são lineares e estacionários, e raramente consideram
as incertezas e as imprecisões da planta (HARRIS, 1993). O regulador “fuzzy” não
precisa de um modelo analítico completo do processo. Ele calcula suas ações em
função de uma base heurística de conhecimentos do processo, e esta pode ser
complexa, mal conhecida (modelo impreciso) e incerta (BERENJI,1993). O controle
“fuzzy” opera com uma função não linear entre as variáveis de entrada e de saída, e
reflete os conhecimentos que os operadores e/ou engenheiros possuem do
processo.
Um sistema especialista clássico tem uma regra para cada situação. Um sistema
baseado na lógica “fuzzy” permite generalizar e inferir dentro do universo de
referência de cada variável controlada. Assim, o controle “fuzzy” pode considerar
vários critérios de desempenho ao mesmo tempo, que podem ser colocados de uma
forma matemática ou lingüística. São os seguintes os objetivos de um controlador
“fuzzy”:
• Controlar e operar automaticamente processos complexos, não lineares e
multivariáveis, com desempenho pelo menos igual ao manualmente obtidos pelos
operadores;
• Respeitar as especificações e restrições operacionais;
• Ser simples, robusto e operar em tempo real.
2.3.1 MODELO BÁSICO DO CONTROLADOR “FUZZY” Uma das diferenças entre um sistema de controle “fuzzy” e um sistema de
controle convencional é que no primeiro existe o elemento fuzzificador ou
codificador que converte as entradas em suas respectivas representações difusas
27
(subconjuntos “fuzzy”). No controlador, os subconjuntos “fuzzy” (caracterizados por
seus respectivos valores lingüísticos, do tipo do mostrado na figura 2.2) são
submetidos ao conjunto de regras que ativa o decodificador. O codificador converte
a saída difusa inferida, que é também composta por subconjuntos “fuzzy”, em um
valor numérico e preciso (ação de controle). As FIG. 2.7 e 2.8 mostram os diagramas
de blocos dos dois tipos de controlador.
FIG. 2.7 Controlador “FUZZY”.
FIG. 2.8 Controlador Convencional.
Defuzzificador
Controlador
Fuzzificador
PROCESSO
Entrada
Conhecimento
Codificado
REGRAS
Subconjuntos
“Fuzzy”
Interface de
Saída
PROCESSO
Entrada
Controlador
Entrada
Saída
28
2.3.1.1 EXEMPLO DE UM CONTROLADOR “FUZZY”.
Seja um sistema que é controlado ajustando uma válvula de vapor de acordo
com a temperatura e a pressão. Este sistema será tomado como exemplo (TORRES
e SILVA, 1995). A FIG. 2.9 mostra as funções de pertinência que representam os
valores das variáveis “fuzzy” de entrada e de saída. São 7 os subconjuntos “fuzzy”
para ação da válvula:
NG (negativo grande), NM (negativo médio), Z (zero), PP (positivo pequeno),etc. Por
simplicidade vamos usar apenas 4 regras “fuzzy” que combinam as funções de
pertinência das variáveis de entrada do processo (parte premissa) com as ações de
controle sobre a válvula (parte conseqüente). As regras são as seguintes:
R1- SE Temperatura é Fria E Pressão é Muito Baixa
ENTÃO Ação da válvula é PG.
R2- SE Temperatura é Fria E Pressão é Baixa
ENTÃO Ação da válvula é PM.
R3- SE Temperatura é Fria E Pressão é Correta
ENTÃO Ação da válvula é Z.
R4- SE Temperatura é Fria E Pressão é Alta
ENTÃO Ação da válvula é NM.
A inferência “fuzzy” converte o conhecimento contido nas regras em um valor
preciso do posicionamento da válvula de vapor.
Tendo como base apenas as 4 regras apresentadas, se em um determinado
instante to os sensores do Processo indicarem uma temperatura T(to) e uma
pressão P(to) como na FIG. 2.9. Então a variável T, neste instante, ativaria apenas
a função de pertinência Fria com grau de pertinência 0,5. Por outro lado a variável P
tem grau de pertinência em dois subconjuntos “fuzzy”: Baixa (com grau de
pertinência 0,6) e Correta (com grau de pertinência 0,25). A atividade de atribuir os
graus de pertinência é chamada de codificação ou fuzzificação. Assim estas duas
entradas ativam, no tempo to, as regras 2 e 3 como mostra a FIG. 2.9.
Para cada conexão E entre as funções de pertinência da premissa usa-se, por
exemplo, o operador mínimo para se obter o resultado que ativa as funções de
pertinência do domínio de saída: 0,5 (mínimo entre 0,5 e 0,6) para a 2a regra e 0,25
29
(mínimo entre 0,25 e 0,5) para a 3a. Por estas duas regras, as funções de
pertinência da saída ativadas são: a PM ( assumindo o grau de pertinência 0,5) e Z
(assumindo o grau de pertinência 0,25). A seguir serão combinadas as duas regras.
Esta combinação produz uma função de pertinência para o domínio da saída que é,
então inferida, através de umas das técnicas de defuzzificação ou decodificação,
por exemplo, Centroíde (centro de gravidade) isto é:
Ação da válvula=( ) ( )0,25 0 / 0,5 360 /
240 /0,25 0,5
mm s mm smm s
× + ×=
+
Onde: centro da função PM=360 mm/s
centro da função Z=0 mm/s
A cada instante os sensores cáptam outros pares de valores (T e P) e o
controlador, então, recalcula as novas ações de saída.
µ Muito Muito
Fria Fria Morna Quente Quente
1
0,5 Ativação das Regras 2 e 3
0 T µ
110 T(to) 220 330 1 NG NM NP Z PP PM PG
Temperatura em graus Celsius
0,5
µ Muito Muito 0,25
Baixa Baixa Correta Alta Alta
1 -600 0 240 360 +600
Ação da Válvula em mm/s
0,6 0,25
0
100 P(to) 1200 2300
Pressão em Pascal
FIG.2.9. Inferência “FUZZY”
30
2.3.1.2 EXEMPLO DE UM CONTROLADOR “FUZZY” PARA UM PROCESSO
SIMPLES (SISO)
A dinâmica do processo é representada pela função de transferência Gp abaixo:
( ) 2
5
1p sG
s s=
+ +
Deseja-se construir um controlador “fuzzy” para este processo. Os passos para
elaboração do controlador “Fuzzy” são:
1o Passo: Definição do domínio das variáveis do controlador.
2o Passo: Normalização, por exemplo, no intervalo [-1 , 1].
3o Passo: Definição das funções de pertinência das variáveis do controlador.
4o Passo: Elaboração das regras.
VARIÁVEIS DO CONTROLADOR:
ENTRADAS: Erro � E(t)=(Ponto de Operação)-(saída do processo)=PO-y(t)
Variação do erro� DE(t)=E(t)-E(t-1)
SAÍDA: �∆U
AÇÃO DE CONTROLE:
Variável manipulada� U
Que irá , por exemplo, abrir ou fechar uma válvula.
FUNÇÕES DE PERTINÊNCIA.
Cada variável terá 7 valores lingüísticos (para as 3 variáveis), sendo cada um
destes valores representado por uma função de pertinência:
{NG, NM, NP, Z, PP, PM, PG}
conforme mostra a FIG. 2.10.
31
FP
1 NG NM NP Z PP PM PG
0
-1 -0,66 -0,33 0 0,33 0,66 1
FIG.2.10 Funções de pertinência das 3 variáveis.
Como cada variável tem 7 valores lingüísticos, pode-se obter até 49 regras
(número de valores lingüísticos elevado à dimensão do espaço de entrada 72). Estas
regras são criadas em função dos conhecimentos de um especialista em controle e
de um especialista do processo a ser controlado, a partir de uma resposta dinâmica
desejada para o sistema. A FIG. 2.11 mostra a resposta dinâmica do processo, que
será usada para a definição das regras “fuzzy”.
A TAB. 2.1 mostra as 17 regras de controle obtidas pela análise do pontos de a
até q da FIG. 2.11, considerando o comportamento aceitável, segundo a análise
qualitativa de um especialista do sistema, da variável de saída para cada um destes
pontos. Por exemplo, no ponto b o erro entre a variável de saída e o seu valor
desejado (Ponto de Operação) está próximo de zero (Z), mas a variação do erro é
negativa e grande (NG), assim espera-se que saída se afaste do seu Ponto de
Operação, logo o controlador deve se antecipar e variar a saída de um forma
negativa e grande (NG) (Regra 2 da TAB. 2.1).
32
E(t)=(PO)-y(t)
DE(t)=E(t)-E(t-1)
ERRO ���� E + - - + + - - + + - - + + - - +
VAR.ERRO���� DE - - + + - - + + - - + + - - + +
FIG. 2.11 Evolução das variáveis “E” e “DE” para definição das regras “Fuzzy”.
0 1 2 3 4 5 6 7-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
PO
a
b
c
d
e
f
g
h
i
jk
l mn o
p
a
b
c
d
e
f
g
h jk
l mn o
p q
i
y(t)
33
TAB. 2.1 Regras da base de conhecimento do controlador “Fuzzy”.
E DE NG NM NP Z PP PM PG
NG NG3 NM16 PM17
NM NM15 NM7
NP NP11
Z NG2 NM6 NP10 Z 13 PP12 PM8 PG4
PP PP9
PM PM5
PG PG1 PM14
A FIG. 2.12 mostra o diagrama de simulação para o controlador “fuzzy” no
MATLAB / SIMULINK no qual destacam-se os blocos controlador “fuzzy” (com 17
regras) e Erro normalizado (FIG. 2.13). A variação do erro normalizado é obtida
através dos blocos retardo 1 e sum 1. A saída do Controlador (∆U) é processada
pelos blocos sum 2 e retardo 2 que compõem a ação de controle (U).
Na saída do controlador existe um ganho (kc=3) que que pode ser usado para a
sintonia fina do controlador “fuzzy”.
34
FIG. 2.12 Controlador “FUZZY”.
Para obter um melhor desempenho foi colocado um amplificador para cada
variável de entrada do controlador, cujo efeito é o de sintonia , isto é, ajuste dos
fatores de escala. O ajuste destes ganhos foram obtidos por tentativa e erro.
FIG. 2.13 Erro normalizado.
t
tempo
sp
set-point
saida
saída
z
1
retardo 2, st=1seg1
z
1
retardo 1, st=1seg
ex_contr_fuzzy
E En
erro normalizado
E
erro
Sum2Sum1Sum
Step
Scope4
Scope3
Scope2
Scope1
Scope
s +s+12
5
PROCESSO
Mux
Mux
3
Gain
1.3
Fator deescala /dE
1
Fator deescala /E
Clock
En= (2*(E-Emin)/(Emax-Emin))-1ERRO NORMALIZADO
1
En-20
erro mín.Emin
20
erro máx.Emax
Sum2
Sum1
SumProduct
2
Gain
1
Constant2
1
E
35
A FIG. 2.14 mostra a resposta do Processo (saída) a uma variação de 5 para 25
do Ponto de Operação (PO).
FIG. 2.14 Ponto de Operação / Saída do Processo
Para efeito de comparação, o mesmo processo é controlado por um PID. O
controlador foi ajustado, através de um processo de tentativa e erro, com parâmetros
kP =0,15, kI =0,11 e kD =0,18 ( para obtenção do desempenho considerado
aceitável em função de uma análise visual dos resultados da simulação). O
diagrama em blocos do sistema com controlador PID é mostrado na FIG. 2.15.
A FIG. 2.16 apresenta a resposta do processo como controlador PID.
0 20 40 60 80 1000
5
10
15
20
25
30
tempo(segundo)
PO
(ve
rde)
/ sa
ída
(ver
mel
ho)
36
FIG. 2.15 : Controlador PID.
FIG. 2.16 Ponto de Operação / Saída do Processo
PROCESSO
t
tempo
sp
set-point
saida
saída
s +s+12
5
SumStep
Scope2
Scope1Scope
PID
PID Controllerkp=0.15 ,ki=0.11, kd=0.18
Clock
0 20 40 60 80 1000
5
10
15
20
25
30
tempo(segundo)
PO
(ver
de)
/ saí
da(v
erm
elho
)
37
A comparação entre as FIG. 2.14 (desempenho do controlador “FUZZY”) e 2.16
(desempenho do controlador PID) indica que a resposta do controlador PID é
apenas mais rápida do que a do “FUZZY”.
O desempenho do controlador “FUZZY” pode ser melhorado utilizando-se um
método de sintonia dos seus parâmetros, por exemplo:
• redefinir o número de funções de pertinência das variáveis, posicionar
adequadamente seus centros e ajustar as respectivas larguras.
• incluir novas regras, etc.
Este exemplo mostra que a sintonia de um controlador baseado na lógica
“Fuzzy” (CLF) necessita da definição de um número maior de parâmetros, o que na
prática só se justifica em problemas complexos, pois nos casos simples, algoritmos
do tipo PID podem apresentar um desempenho satisfatório, com um custo bem
menor em termos de parâmetros a serem sintonizados.
CONCLUSÃO
Neste capítulo apresentou-se uma introdução aos CLFs, mostrando os diversos
passos para a construção do algoritmo:
• Definição das variáveis;
• Definição das FPs;
• Definição das regras.
38
3 REDES NEURAIS ARTIFICIAIS
3.1 INTRODUÇÃO
Neste capítulo apresenta-se conceitos básicos sobre redes Neurais Artificiais, e
sua aplicação na aproximação de funções. Por último apresenta-se alguns exemplos
dessa aplicação.
3.2 REDES NEURAIS ARTIFICIAIS
As redes neurais artificiais são construídas a partir de vários elementos simples
de processamento que são geralmente implementados usando componentes
eletrônicos ou através de simulação em computadores digitais.
As redes neurais artificiais são inspiradas no sistema nervoso biológico. Elas
tentam modelar a maneira com que o cérebro humano executa uma determinada
tarefa. Com esse objetivo as redes neurais são formadas usando uma alta
interconexão de células, que operam em paralelo, chamadas de neurônios artificiais.
As redes neurais artificiais têm sido utilizadas para solucionar problemas
complexos de controle, difíceis de serem resolvidos pelos métodos convencionais.
3.3 REDE NEURAL ARTIFICIAL MULTICAMADA
A rede neural multicamada é um sistema artificial (ROSENBLANTT, 1962)
composto de células elementares, chamadas de neurônios, e organizada em
camadas sucessivas que são conectadas entre si. A FIG. 3.1 mostra um modelo de
rede neural multicamada.
39
Camada de Camada
Entrada de Saída
Recepção Decisão
do Sinal
Camada
Intermediária
FIG. 3.1 Modelo de rede neural multicamada.
O NEURÔNIO ARTIFICIAL
O elemento base de toda rede neural é o neurônio artificial. Ele é um
processador não linear (geralmente simulado no computador, e algumas vezes
implementado com circuitos eletrônicos) que a cada instante discreto k, calcula o
seu potencial vi(k) e a sua ativação zi(k) da seguinte maneira:
zi(k) =fi(vi(k)) onde vi(k)=∑∑∑∑j∈∈∈∈Pi(wij x zj(k))
“Pi” é o conjunto dos neurônios da rede conectados ao neurônio i. A ativação vi(k) é
uma soma dos valores das atividades destas unidades ponderadas pelos
coeficientes de ponderação das conexões wij. A função de ativação do neurônio fi é
geralmente não linear. Ela pode ser uma função de distribuição sigmoidal, radial, etc
(RIVALS et al.,1995). Um “neurônio linear” é um simples somador, cuja função de
ativação é a identidade. A FIG. 3.2 ilustra um neurônio artificial.
Z1(k) Wi1
Z2(k) Wi2 Zi(k)=fi(vi(k))
Zj(k) Wij vi(k)=j Pi∈∑ (Wij x
Zj(k))
FIG. 3.2 Arquitetura do neurônio artificial i.
j Pi∈∑ ( ).if
40
Os neurônios artificiais são geralmente organizados em camadas. Cada uma
destas camadas é totalmente conectada à camada seguinte e a anterior. O sinal que
chega à camada de entrada se propaga até a camada de saída. Todos os neurônios
de uma camada calculam suas saídas simultaneamente (paralelismo da rede neural
multi-camadas) (MINSKY e PAPERT, 1969 ). Desta forma, os parâmetros que
caracterizam uma rede neural multicamada são:
• número de camadas;
• número de neurônios por camada;
• escolha das conexões;
• tipos de funções de ativação dos neurônios;
• peso de cada uma das conexões.
Uma rede neural pode ter ou não uma retroalimentação. Uma rede em malha
aberta ou sem retroalimentação (estática) se caracteriza por não possuir uma malha
fechada ou ciclo, e representa geralmente uma relação algébrica não linear entre
suas entradas e saídas. Uma rede fechada ou com retroalimentação (dinâmica)
possui pelo menos uma malha fechada ou ciclo (RIVALS et al.,1995). Um exemplo
deste tipo é mostrado na FIG. 3.3.
Saídas Variáveis de estado
...... .......
Atraso
........ ........ Unitário
Entradas
FIG. 3.3 Rede neural com retroalimentação.
REDE NEURAL
MULTI-CAMADAS
41
Resumindo, uma rede neural é uma estrutura paralelamente distribuída de
processamento de informações, consistindo de uma série de neurônios artificiais
interconectados.
3.4 PROPRIEDADE DE APROXIMAÇÃO UNIVERSAL DAS REDES NEURAIS
A propriedade de aproximação universal das redes neurais pode ser formulada
da seguinte forma:
Para qualquer função determinística suficientemente regular, existe pelo menos uma
rede neural artificial sem retroalimentação, possuindo uma camada intermediária,
além das camadas de entrada e de saída (neurônio linear), que aproxima esta
função e suas derivadas sucessivas, no sentido dos mínimos quadrados, com uma
precisão arbitrária (RIVALS et al.,1995). Este teorema só se aplica quando as
funções de ativação dos neurônios das camadas intermediárias possuem certas
propriedades particulares que não serão desenvolvidas neste trabalho (as funções
sigmoidais satisfazem a esta condições).
Esta propriedade de aproximação universal não é específica das redes neurais:
os polinômios e as séries de Fourier, por exemplo, possuem esta mesma
característica. O que diferencia as redes neurais dos outros aproximadores
universais é sua economia ou parcimônia, isto é, para obter um determinado nível
de aproximação a rede neural utiliza menos parâmetros que os outros
aproximadores (HORNIK et al.,1994). Esta vantagem reduz o tempo de cálculo, e a
quantidade informações necessárias à estimação dos coeficientes da rede. Outra
vantagem das redes é a sua capacidade de lidar com problemas de grandes
dimensões.
3.5 GENERALIDADES SOBRE O PROCESSO DE APRENDIZAGEM
A implementação de uma rede neural multicamadas passa geralmente por três
etapas:
• a definição das entradas e saídas da rede;
42
• a escolha da arquitetura da rede (número de camadas, número de neurônios por
camada e escolha das conexões);
• o ajuste dos pesos das conexões ou aprendizagem da rede.
Uma arquitetura muito simples corre o risco de subestimar a complexidade do
problema. E inversamente, a escolha de uma arquitetura muito complexa para o
problema, pode levar a uma rede extremamente boa para os pontos fornecidos para
treinamento, mas com péssimo desempenho para os novos pontos, isto é, com uma
péssima capacidade de extrapolação. Este problema ligado a concepção de uma
rede neural é conhecido como dilema da aprendizagem (DEFFUANT, 1992].
O ajuste dos pesos das conexões é chamado de aprendizagem da rede e no
caso de uma aprendizagem supervisionada, consiste no seguinte procedimento :
• Apresentar à rede um conjunto de pontos (entradas e saídas desejadas);
• Minimizar uma função Custo (por exemplo, o desvio entre a saída da rede e o
valor desejado).
É importante que o conjunto de dados (pontos) fornecidos à rede durante o
processo de aprendizagem seja suficientemente rico de forma a cobrir, tanto quanto
possível, todo o domínio esperado de funcionamento da rede. O número de pontos
pontos usados durante a aprendizagem também deve ser suficientemente grande
em relação ao número de coeficientes da rede. É interessante observar que a
necessidade de se possuir um número suficiente de pontos representativos do
problema em questão, não é uma limitação das redes neurais, mas uma limitação de
todos os métodos estatísticos. Entretanto, como já foi mencionado, esta limitação é
mais fácil de ser atendida, com o uso das redes neurais.
A aprendizagem de uma rede neural é portanto, definida como um problema de
otimização, que consiste em obter os coeficientes da rede que minimizam uma
função custo J. Por exemplo, pode-se definir uma função custo J na iteração i
pela equação:
( )( ) ( ) ( ) ( )
1
, ,
,
TN
k
D k O k i Q D k O k i
J W iN
=
− × × −
=∑
43
onde w representa os coeficientes ou pesos da rede na iteração i, Q é uma matriz
definida positiva, D(k) é o vetor de saídas desejado para o ponto k, O(k,i) é o vetor
de saídas da rede para o ponto k na iteração i, e N é o número de pontos do
conjunto de aprendizagem. A FIG. 3.4 mostra o diagrama de aprendizagem para
uma rede.
Saída - +
Erro
FIG. 3.4 Diagrama de aprendizagem.
A aprendizagem consiste em determinar as conexões que são responsáveis por
um erro da rede, e modificá-los de forma a diminuir este erro. Este problema pode
ser resolvido pelo algoritmo da retro-propagação do gradiente (RUMELHART et
al.,1986), (MULLER e REINHARDT,1991), (CONDAMIN, 1995), que executa uma
busca guiada pelo gradiente para uma rede multicamadas. A cada iteração, isto é,
uma passagem por todos os pontos ou dados do conjunto de aprendizagem, o
algoritmo modifica as conexões ou pesos da rede segundo a fórmula:
W
J
Wλ
∂∆ = −
∂
A convergência deste método é assegurada, em função da escolha da taxa de
aprendizagem λλλλ, mas o mínimo obtido é local. Este mínimo local depende
fortemente das condições iniciais dos pesos da rede. Desta forma, utilizando-se este
algoritmo não se pode garantir que se tem a melhor rede após a aprendizagem.
Resumindo, a maioria das redes aprende modificando os pesos das conexões. O
desafio é desenvolver uma lei que guie efetivamente o vetor de pesos na direção do
melhor desempenho da rede.
A seguir é descrita, brevemente, a Rede Neural com Base Radial e alguns
exemplos de aplicações em aproximações de funções e identificação de modelos.
DADOS REDE VALOR
ESPERADO
ALGORITMO DE
APRENDIZAGEM
44
3.6 REDE NEURAL COM BASE RADIAL (RNBR)
A Rede Neural com Base Radial é uma rede de três camadas: a camada de entrada, a camada intermediária e a de saída.
Cada nó da camada intermediária é composto por funções de base radial, cuja
forma mais usada é a gaussiana (com seu centro e variância). Cada nó desta
camada está associado a uma região do espaço (domínio) de entrada, desta forma a
saída do nó corresponde ao grau de pertinência da variável de entrada dentro dos
limites da função radial do nó.
Os nós de saída constituem uma combinação linear das saídas de cada nó da
camada intermediária, isto é, uma soma ponderada das saídas destes nós. A FIG.
3.5 mostra um modelo de Rede com Base Radial (sem polarização).
b1(x)
x1 . w1
. . .
. . y
. . .
xN . wj
bj(x)
FIG. 3.5 Modelo da Rede Neural com Base Radial.
A função com base radial Gaussiana é da forma:
( )
2
2exp
2*
j
jj
x mb x
σ
−= −
45
onde:
x : vetor de entrada x=[x1,x2,...,xN]T
σj : desvio padrão do j-ésimo nó ;
mj : vetor centro da função Gaussiana do j-ésimo nó ;
bj(xI) : saída do j-ésimo nó da camada intermediária ;
O valor de cada saída dos nós bj (x) pertence ao intervalo [0,1] de tal forma que
quanto mais próximo do centro da função Gaussiana cj, estiver a entrada x, maior
será a saída do nó. Uma função com base radial tem curva radialmente simétrica em
relação ao seu centro, como a função Gaussiana. Desta forma a saída de cada nó
da camada intermediária fornece o mesmo valor para valores de entrada com
distâncias simétricas com relação ao seu centro. A saída y da rede é obtida por:
1
NR
j jj
y w b=
=∑
onde :
y : saída da rede;
wj : peso associado ao j-ésimo nó;
bj : saída do j-ésimo nó da camada intermediária;
NR : número de nós da camada intermediária.
3.7 APROXIMAÇÃO DE FUNÇÕES ATRAVÉS DE RNBR
1o Exemplo: Como ilustração mostra-se a seguir o projeto de uma RNBR para
aproximar a função abaixo cujo gráfico é mostrado na FIG. 3.6.
y= exp(-x/10) seno(1,5ππππx)
46
FIG. 3.6 Função para aproximação.
O domínio da variável x para treinamento é [-3,3], a distância entre os pontos é
de 0,1, assim o número total de pontos apresentados para treinamento é 61.
A ferramenta utilizada para a aproximação da função, isto é, para o treinamento
da RNBR, é a função solverb do MATLAB da forma:
[W1,B1,W2,B2,NR,TR]=solverb (X,Y,dp) onde: X - matriz NxQ das N entradas de comprimento Q (N é o número de entradas) (Q é o número de dados para treinamento de cada entrada).
Y - matriz SxQ (S é o número de saídas).
dp – conjunto de parâmetros de projeto:
dp(1) - número iterações entre cada apresentação da evolução dos resultados.
dp(2) - número máximo de neurônios.
dp(3) - máxima soma do erro quadrático.
dp(4) – largura inicial da função base radial (BR).
Após o treinamento, a função apresenta os seguintes resultados:
W1 - matriz dos centros (NRxN) da camada das funções BR (NR=no de neurônios).
B1 - vetor das larguras ou variâncias (NRx1) para a camada das funções BR
W2 - matriz de pesos (SxNR) da camada linear (S=no de saídas)
B2 - vetor de polarização (Sx1) para camada linear.
-3 -2 -1 0 1 2 3-1.5
-1
-0.5
0
0.5
1
1.5
x
Y
y= exp(-x/10) seno(1,5πx)
47
NR - número de neurônios com base radial usados.
TR - vetor dos erros durante o treinamento.
O algoritmo solverb treina uma rede representada por uma topologia
semelhante à da figura 3.3 acrescida das entradas B2 (polarizações) à camada de
saída y, assim B2 é somado a y. O algoritmo a cada iteração, minimiza a soma do
erro quadrático. A rede, desta forma, evolui pelo aumento do número de neurôneos
e pelas alterações das Bases Radiais (de seus pesos, centros e larguras) e
polarizações da camada de saída.
A matriz dos parâmetros da função utilizada foi a seguinte:
dp=[20, 100, 0.1, 1 ]
Os resultados para a função da figura 3.4 são os seguintes:
Número de neurôneos : NR=15
W1=[-3, -2.9, -2.8, -2.7, -0.8, -2.6, -2.2, 0.3, -2.5, -0.1, 1.8, -2.4, 3, -0.6, 2.9]T;
B1=[0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326,
0.8326, 0.8326, 0.8326, 0.8326, 0.8326]T;
W2=[-0.0 518, 0.3432, -0.9858, 1.5822, 0, -1.5170, 0.0097, 0, 0.8441, 0, 0, -0.2248,
0, 0, 0]10+9; B2=-84.6771.
As FIG. 3.7 e 3.8 mostram o desempenho da rede na aproximação da função
teste (FIG. 3.6) e a evolução da soma do erro quadrático respectivamente.
FIG. 3.7 Aproximação da função.
-3 -2 -1 0 1 2 3-1.5
-1
-0.5
0
0.5
1
1.5APROXIMAÇÃO DE y=exp(-x/10) seno(1,5πx)
x
SA
ÍDA
:(-)
, O
BJE
TIV
O:(
+)
48
FIG.3.8 Evolução da soma do erro quadrático.
Para teste da rede aumenta-se o domínio da função para o intervalo X ∈[-3.5,
3.5]. O ensaio é realizado com a função simurb do MATLAB. O resultado é
mostrado na FIG. 3.9 em que Y é a resposta da rede e Y1 é a resposta da função.
FIG. 3.9 Teste da aprendizagem da rede.
0 5 10 1510
-20
10-15
10-10
10-5
100
105
NÚMERO DE ITERAÇÕES (NEURÔNIOS)
SO
MA
DO
S E
RR
OS
AO
QU
AD
RA
DO
EVOLUÇÃO
-4 -3 -2 -1 0 1 2 3 4-25
-20
-15
-10
-5
0
5
X
Y(-)
e
Y
1
TESTE DE APRENDIZAGEM
49
A análise do resultado apresentado na FIG. 3.9 indica que a rede só apresenta
uma saída válida para os pontos de entrada localizados no intervalo [-3,3]. Isto é, a
rede não é capaz de extrapolar além da região dos dados usados para treinamento.
Este resultado era esperado pois a RNBR é composta de neurônios que só
apresentam saída válida (≈1) em torno de seu respectivo centro.
2o Exemplo: para aumentar o grau de complexidade, mostra-se a seguir o projeto
de uma RNBR com objetivo de aproximar a função abaixo (com duas variáveis) cujo
gráfico (superfície) é mostrado na FIG. 3.10.
y=10(x13) - x2
4
FIG. 3.10 Superfície da função.
O domínio das variáveis x1 e x2 para treinamento é [-5, 5]. A ferramenta utilizada
para a aproximação da função, isto é para o treinamento da RNBR, é a
mesma função solverb do MATLAB usada e descrita no exemplo anterior. O vetor
de parâmetros utilizado foi o seguinte:
dp=[10, 200, 0.1, 11.5 ]
50
Os resultados são os seguintes:
Número de neurônios : NR=54.
Os primeiros 5 termos da matriz (54x2) dos centros das BRs das variáveis são :
W1=[-4.5 5; 5 3.5; 1.5 4; -1.5 4.5; 5 5;...................................]
As larguras de todas as 54 BRs são iguais formando o seguinte vetor:
B1=[0,0724 ,.........................., 0,0724]T.
Os 5 primeiros termos da matriz (54x1) de pesos da camada linear são:
W2=[0.292; -0.3934; -0.4484; -0.0430; -0.1657;...........................]10+11
A polarização da camada linear é:
B2=-7,8628x10+3.
A FIG. 3.11 mostra a evolução da soma do erro quadrático durante o
treinamento da rede.
FIG. 3.11 Evolução do erro.
Para teste da rede aumenta-se o domínio de ambas as variáveis x1 e x2, para o
intervalo [-5.5, 5.5]. O ensaio é realizado com a função simurb do MATLAB. O
resultado gera uma superfície de erro (Y-Y1) mostrada na FIG. 3.12 em que Y1 é a
resposta da rede e Y é resposta da função.
0 10 20 30 40 5010
-20
10-15
10-10
10-5
100
105
1010
NÚMERO DE ITERAÇÕES (NEURÔNIOS)
SO
MA
DO
S E
RR
OS
AO
QU
AD
RA
DO
EVOLUÇÃO
51
FIG. 3.12 Superfície de erro.
A análise do resultado apresentado na FIG. 3.12 indica, tal como no exemplo
anterior, que a saída da rede só é válida para uma região de pontos que foi
contemplada durante o treinamento, isto é, no intervalo [-5, 5].
3o Exemplo: mostra-se o projeto de uma RNBR para o processo (SISO) mostrado
na FIG. 3.13, e cuja função de transferência é:
2
5( )1
pG ss s
=+ +
A FIG. 3.14 mostra o padrão de entrada para o treinamento da RNBR e a saída
do processo para esta entrada.
52
FIG. 3.13 Diagrama para simulação do Processo no MATLAB / SIMULINK
FIG. 3.14 Padrões de entrada e saída.
A variável u para treinamento foi trocada pela variável t ∈[0, 60]com distância 1
entre os pontos. A ferramenta utilizada para a aproximação da função, isto é para o
treinamento da RNBR, é a função solverb do MATLAB usada e descrita no 1o
exemplo. Para a simulação do modelo Simulink foi usada a função sim do
MATLAB.
A matriz dos parâmetros de projeto é:
t
To Workspace2
u
To Workspace1
saida
To WorkspaceSum
Step2
Step1
Step
Scope1
Scope
s +s+12
5
PROCESSO
Clock
0 10 20 30 40 50 600
10
20
30
U(v
erm
elho
)
0 10 20 30 40 50 600
50
100
150
tempo (segundo)
SA
ÌDA
(azu
l)
53
dp=[20, 200, 0.1, 1]
O número de neurônios resultante foi: NR=76.
A FIG. 3.15 mostra a aproximação do processo.
FIG.3.15 Aproximação do Processo.
A FIG. 3.16 mostra a evolução do erro.
FIG. 3.16 Evolução do erro.
0 10 20 30 40 50 60-20
0
20
40
60
80
100
120
140
160 APROXIMAÇÃO do PROCESSO5/S
ENTRADA
SA
ÍDA
:(-)
, O
BJE
TIV
O:(
+)
0 10 20 30 40 50 60 7010
-20
10-15
10-10
10-5
100
105
1010
NÚMERO DE ITERAÇÕES (NEURÔNIOS)
SO
MA
DO
S E
RR
OS
AO
QU
AD
RA
DO
EVOLUÇÃO
54
4 REDES NEURAIS “FUZZY”
4.1 INTRODUÇÃO
Neste capítulo apresenta-se um modelo de Rede Neural “Fuzzy”, o método de
sua aprendizagem, a aplicação deste método ao processo usado como exemplo nos
capítulos anteriores e finalizando, a validação do método em um processo
petroquímico.
4.2 REDES NEURAIS “FUZZY” (RNF)
A lógica “fuzzy” permite que o comportamento de um sistema possa ser descrito
com relações do tipo se-então. Na área de sistema de controle, soluções “fuzzy”
simples podem ser obtidas de forma direta e em menor tempo de projeto para as
tarefas de modelagem e controle de processos (CAMPOS et al., 2000). Além disso,
a estrutura dos sistemas baseados na lógica “fuzzy” permite utilizar todo o
conhecimento especialista do processo para otimização do seu desempenho de uma
maneira rápida e direta.
Em muitas aplicações o conhecimento disponível para descrição do
comportamento do sistema está restrito a um conjunto de dados experimentais.
Neste caso, o projetista tem que obter as regras “fuzzy” diretamente destes dados, o
que representa um esforço proporcional ao tamanho do conjunto de dados
fornecidos.
Quando um conjunto de dados experimentais contendo as informações
necessárias para descrição de um sistema está disponível, a implementação de
redes neurais surge como uma solução suficiente para a tarefa de modelagem e
controle, devido a sua capacidade de auto-aprendizagem a partir de dados de
treinamento.
Pode-se definir um sistema neuro-“fuzzy” como um sistema “fuzzy” que utiliza um
algoritmo de aprendizado derivado ou inspirado na teoria de redes neurais para
55
determinar seus parâmetros (subconjuntos e regras “fuzzy”) através do
processamento das amostras de dados.
Sistemas neuro-“fuzzy” são usualmente representados como redes neurais de
múltiplas camadas (JANG,1993), (JANG e SUN, 1995) e (BERENJI e KHEDAR,
1992). Entretanto, outras arquiteturas de redes neurais também são utilizadas, tais
como em (VUORIAMAA, 1994) onde os pesos das conexões e as funções de
ativação e propagação diferem das redes neurais mais comuns.
Embora existam várias abordagens diferentes, normalmente utiliza-se o termo
neuro-“fuzzy” para as implementações que apresentam as seguintes características
(NAUCK et al.,1997):
i) Uma estrutura neuro-“fuzzy” é baseada em um sistema “fuzzy”
treinado por um algoritmo de aprendizado derivado da teoria de
redes neurais. O procedimento de aprendizado atua sobre regiões
“fuzzy” restritas, baseando-se apenas em informações locais.
ii) Um sistema neuro-“fuzzy” pode ser visto como uma rede neural de
3 camadas. A primeira camada representa as variáveis de entrada,
a camada intermediária representa as regras “fuzzy” e a terceira
camada representa a camada de saída. Os subconjuntos “fuzzy”
são codificados como pesos das conexões entre os nós da rede.
Embora não seja estritamente necessário representar um sistema
“fuzzy” desta forma, para se aplicar um algoritmo de aprendizagem,
ela apresenta a vantagem da representação explícita do
processamento dos dados no interior do modelo. Também são
comuns arquiteturas de redes com 5 camadas, onde os
subconjuntos “fuzzy” são representados na segunda e na quarta
camada.
iii) Um sistema neuro-“fuzzy” sempre pode ser interpretado como um
conjunto de regras “fuzzy”, isto é, antes, durante e depois da
aprendizagem. Também é possível iniciar o sistema neuro-“fuzzy”
sob a forma de regras “fuzzy” através do conhecimento a priori das
características do processo (CAMPOS, 1997).
56
iv) Um sistema neuro-“fuzzy” aproxima uma função n-dimensional que
é parcialmente definida por seus dados de treinamento. As regras
“fuzzy” codificadas dentro do sistema representam amostras que
podem ser vistas como protótipos dos dados de treinamento.
Assim as RNFs combinam a capacidade de aprendizagem das redes neurais
com a capacidade de raciocínio dos sistemas “fuzzy”. Desta forma, elas formam uma
estrutura que atualiza seus parâmetros em função de uma relação entrada-saída
desejada.
4.3 ESTRUTURA DA RNF
A estrutura da RNF usada neste trabalho é similar a apresentada por Rufus
(RUFUS et al., 1999) e é mostrada na FIG. 4.1. Ela é dividida em três partes:
premissa, conseqüente e de decodificação (defuzzificação). A estrutura consiste em
conjunto de regras “fuzzy” baseadas nas regras Takagi e Sugeno (TAKAGI e
SUGENO,1985) cuja parte conseqüente é formada por polinômios lineares das
variáveis de entrada (premissa).
A parte premissa desta rede consiste das seguintes camadas:
Camada 1: cada nó representa uma variável lingüistica do espaço de
entrada com função de pertinência (FP) gaussiana; cuja saída é um possível
antecedente de uma das regras “fuzzy”.
Camada 2: cada nó representa uma regra “fuzzy”, tendo como saída, a
ativação da regra para uma determinada entrada 1[ ,..., ]mx x x= .
A parte conseqüente desta rede consiste das seguintes camadas:
Camada 3: cada nó representa um polinômio linear das variáveis de entrada
cujos coeficientes são os pesos dos seus termos. A saída de um nó desta
camada é o peso de uma regra “fuzzy” associada, por
exemplo 1 01 11 1 1. ... .k k k kmm
f w w x w x= + + + é o peso associado a 1µ da
camada 2.
A parte de decodificação desta rede consiste das seguintes camadas:
57
Camada 4: a saída de cada nó é o produto da saída da camada 2 (ativação
da regra) pela respectiva saída da camada 3 (peso da regra).
Camada 5: a saída de cada nó é o somatório das saídas da camada 2
(ativação das regras).
Camada 6: a saída de cada nó é o somatório das saídas da camada 4.
Camada 7: cada nó representa uma saída do Sistema que é razão entre as
as camadas 6 e 5, por exemplo: 1
1
.N
kv v
vN
vv
k
f
yµ
µ
=
=
=∑
∑
O vetor de entrada da RNF é x=[x1,......,xm]T e o de saída é y=[y1,.......,yp]T.
A base de regras “fuzzy” da RNF é um conjunto de regras da forma Takagi e
Sugeno (TAKAGI e SUGENO,1985), por exemplo:
R(j): SE x1 é A1j E x2 é A2j E.......E xm é Amj ENTÃO
fj1=w1
oj+w11jx1+....+w1
mjxm E.......E fjp=wp
oj+wp1jx1+....wp
mjxm
onde:
l
jf é a saída da j-ésima regra associada ao l-ésimo componente de saída yl.
,..., ,...,l l l
oj ij mjw w w são os coeficientes polinomiais (pesos) que conectam linearmente
as variáveis de entrada à função conseqüente l
jf .
A1j,...,Aij,...,Amj são os termos lingüisticos dos subconjuntos “fuzzy” no espaço das
premissas associado à j-èsima regra R(j). Cada termo Aij é associado a uma função
de pertinência gaussiana µAij(xi) que determina o grau de pertinência com que um
dado xi satisfaz a Aij.
2
2
( )exp
2( )ij
i ijA
ij
x mµ
σ
−= −
onde mij e σσσσij são a média e o desvio padrão da função de pertinência gaussiana
respectivamente.
58
CAMADA 1 CAMADA 2 X1 A11(X1) µ1
• • • CAMADA 5 • •
• A1Q(X1) • 1
N
v
v
µ=
∑
• • • * • • • • CAMADA 7
yk • • CAMADA 4 • Am1(Xm) • µ1.f1
k
Xm • µN CAMADA 6 •
AmR(Xm) • 1
Nk
v v
v
fµ=
∑
• Wk
01
f1k
Wk11
X1 Wkm1
• µN.fNk
• • • Wk
1N Wk0N
fNk
Xm WkmN
CAMADA 3 * OPERADOR DA INVERSA
FIG. 4.1 Estrutura da RNF.
∩
∩
∩
∩
∏
∏
∑
∑
Π
∑
∑
1
INV
Π
Π
PREMISSA
DECODIFICAÇÃO
CONSEQÜENTE
59
A ativação de cada regra R(j) é obtida pelo operador produto, isto é:
( )1 1,..., ( ) ... ( )ij mj
m mj A Ax x x xµ µ µ= × ×
Dado um vetor de entrada x, o k-ésimo componente de saída (yk) do sistema
“fuzzy” é inferido como:
1
1
.N
kj j
jk N
jj
f
y
µ
µ
=
=
=∑
∑
( ) ( ) ( )1 ,...,T
pk k ky t y t y t
=
A saída yk acima é obtida pelo método da média ponderada de defuzzificação
pela estrutura da rede mostrada anteriormente, pode-se observar que a mesma
implementa um algoritmo “fuzzy”, ou melhor, que os parâmetros da rede podem ser
interpretados como parâmetros de um modelo “fuzzy”. Desta forma ao se utilizar um
algoritmo de aprendizagem para a rede pode-se gerar automaticamente o sistema
“fuzzy” desejado, como será discutido a seguir.
4.4 ALGORITMO DE APRENDIZAGEM
O objetivo do processo de treinamento é determinar a estrutura e os parâmetros
adequados das partes premissa e conseqüente da rede. Portanto, a aprendizagem
deve ajustar a estrutura neuro-“fuzzy” pelo acréscimo de novas funções de
pertinência assim como de novas regras (em função do desempenho da RNF) a
partir de um conjunto inicial de regras. A aprendizagem também deve atualizar os
parâmetros (médias e desvios padrões) das funções de pertinência gaussianas bem
como os pesos das regras através de um algoritmo equivalente ao da retro
propagação, para cada ponto de treinamento.
A seguir será detalhado este algoritmo. Inicialmente será discutida a
aprendizagem da estrutura da rede e a seguir a dos parâmetros da mesma.
60
4.4.1 APRENDIZAGEM DA ESTRUTURA
Seja Si o conjunto de termos lingüisticos “fuzzy” associado à i-ésima entrada (xi)
tendo Qi termos (no de subconjuntos “fuzzy”) e N o número de regras no k-ésimo
ponto de treinamento (tempo discretizado). Cada regra é descrita em termos de m
coordenadas cada uma associada a uma entrada xm.
R(j):{A1j,...,Amj}, j=1,...,N onde Aij ∈ Si.
As coordenadas Aij podem ser substituídas (traduzidas) por seus respectivos
números de ordem dentro do subconjunto “fuzzy” de cada variável (xm). Desta forma,
o conjunto de regras do sistema pode ser representado por uma matriz REGRAS
(Nxm), por exemplo: REGRAS=[2 4 ; 1 3]. A primeira linha da matriz (2 4)
representa os antecedentes:
SE (x1 é A12) E (x2 é A24)
Seja x(tk+1) o vetor de entrada no tempo discretizado tk+1. O vetor de entrada
alimenta a RNF que calcula os níveis de ativação de todos os termos da camada 1.
Assim para cada entrada xi a RNF calcula:
**,
max1 1,
max ( ( )), 1,..., ,ivi i vi i
i i i iA Ak ki vx t v Q x tµ µ µ
+ += = = 1,...,i m=
O termo *max, ii v
µ representa o valor máximo de pertinência para a entrada xi(tk+1)
do conjunto de termos “fuzzy” Si. Sendo que este máximo grau de pertinência
ocorre na *iv -ésima pertinência *, ii v
A . Considerando o parâmetro de sintonia δ
como o mais baixo nível admissível para *max, ii v
µ , que se não for atingido deve-se
criar uma nova função de pertinência, o algoritmo de aprendizagem da RNF pode
ser resumido nos seguintes passos:
1) Verifique se os termos *max, ii v
µ são menores ou maiores do que δ .
Se *, ii vµ δ≥ o conjunto Si deve permanecer inalterado (com seus Qi termos).
61
Se *, ii vµ δ< uma nova função de pertinência deve ser adicionada ao conjunto e
seus parâmetros determinados da seguinte forma:
, 1i novo i km x t
+
=
( )
, ,, 2 log
i prox i novo
i novoe
m mσ
α
+ −=
− × , 0<α<1
onde: ,i novom é o centro da nova função de pertinência;
,i novoσ é o desvio padrão da nova função de pertinência;
,i proxm + é o centro da função de pertinência mais próxima de xi(tk+1) que
pertence a Si ;
αααα é um parâmetro que determina o nível de superposição da nova função de
pertinência ,i novaA em relação à mais próxima ,i proxA + .
O desvio padrão ,i novoσ é limitado em
( )
,max 2 loge
ii i
i
R R
Qσ
α
+ −−=
− ×
onde iR− e iR
+ são os limites inferior e superior do espaço (domínio) de i
x , isto é,
,i i i
x R R
− += .
2) Se nenhuma função de pertinência foi inserida, usar os números de ordem
(posição *iv ) do máximo de cada entrada xi em relação ao seu subconjunto para
formar uma possível nova regra, arranjados da seguinte forma:
REGRA=[ * *1 ,..., mv v ].
Caso esta nova regra ainda não pertença ao conjunto N regras, ela deve ser
inserida na camada 2 da RNF (na última linha da matriz REGRAS que passará a ter
dimensão N+1 x m).
62
3) Se pelo menos uma função de pertinência foi criada (com parâmetros ,i novom e
,i novoσ ) uma nova regra deve ser adicionada na última linha da matriz REGRAS da
seguinte forma:
=> acrescentar o par de novos parâmetros à matriz formada pelos centros e desvios
padrões do algoritmo de aprendizagem, reordená-la pelos centros. Assim o índice
(posição) da nova função de pertinência é restabelecido. A nova regra é obtida
através da combinação deste índice com os índices dos máximos ( )*iv das outras
variáveis e REGRA= * *1 ,.., ,.., mNOVO
v v v
.
4) Se várias funções de pertinência foram criadas, e não somente uma, o
procedimento é mesmo que o anterior e
REGRA= * *1 1 2 ,..,,.., ,.., mNOVO NOVO
v v v v− −
. Assim uma nova regra deve ser
adicionada na última linha da matriz REGRAS.
OBS: Para que não seja criada mais de uma regra para um mesmo ponto de
aprendizagem x(tk+1) foram estabelecidos graus de prioridade, desta forma o último
critério sempre prevalece sobre os anteriores e assim sucessivamente.• O valor
inicial dos pesos (parte conseqüente) para nova regra (N+1) é o seguinte:
0,( 1) 1
,( 1)
( ),
0
l dN l k
li N
w y t
w
+ +
+
=
=
1,...,i m= ; 1,...,l p=
Onde 1( )dl k
y t+
denota a saída desejada da RNF para o ponto de treinamento
k+1 (tempo discretizado tk+1).
A FIG. 4.2 mostra o fluxograma de Aprendizagem da Estrutura.
63
FIG. 4.2 Fluxograma de Aprendizagem da Estrutura.
4.4.2 APRENDIZAGEM PARAMÉTRICA
A aprendizagem da RNF passa também pelo ajuste dos seus parâmetros
(centros e desvios das funções de pertinência gaussianas bem como dos pesos das
regras).
Seja ST o conjunto de dados de treinamento e T um número inteiro de pares
saída-entrada, da forma:
, , 1,...,dT k k
S x t y t k T
= =
R(j):{A1j,...,Amj}, j=1,...,N => matriz REGRAS (N x m)
*max
1,max ( ( )), 1,...,
ivi ii i iA ki v
x t v Qµ µ+
= =
Nova FP:
,i novom e ,i novoσ
Nova REGRA
= * *1,.., ,.., mNOVO
v v v
Possível nova REGRA=
[* *1,..., mv v ]
[* *1,..., mv v ] =>
matriz REGRASagora (N+1 x m)
Nova REGRA =>matriz REGRAS agora(N+1 x m) Matriz REGRAS
Inalterada
*,i
i vµ δ≥
N S
[* *1,..., mv v ] ∈ REGRAS
N S
64
onde 1 ,...,T
d dmy
dk k k
t t y ty
= é o vetor de saída e
1 ,...,T
mk k kx t x t x t
= é o vetor de entrada da RNF.
Pode-se definir:
o erro da RNF no k -ésimo ponto: dk k k
e y t y t
= −
o erro quadrático no k -ésimo ponto: 12
T
k k kE e e
=
o erro de referência: ( ) ( )dRRk k k
y t y te = −
onde dR
y é uma faixa admissível de valores em torno de dy .
Os parâmetros da RNF serão atualizados da seguinte forma:
( ) ( )1 kmij ij
ij
Em t m t t
mη
∂+ = +
∂
( ) ( )1 k
ijijji
Et t tσσ σ η
σ
∂+ = +
∂
( ) ( )0 00
1k kj j k
j
kww
Et w t t
wη
∂+ = +
∂
( ) ( )1k kij ij k
ij
kww
Et w t t
wη
∂+ = +
∂
onde: 1,...,i m= ;
1,..., ij Q= ;
1,...,k p= ;
mη , ση , wη são as taxas de aprendizagem dos centros, desvios e pesos
(são também parâmetros de sintonia do algoritmo de aprendizagem).
65
Os gradientes de k
E em relação aos parâmetros são calculados, para cada
variável de entrada da seguinte forma:
( )( )
, 21
1
ij
p i ijkqlkqRk l l k N
ij l q I ijv
v
x t mEe f y t
m
µ
σµ= ∈
=
−∂= ⋅ − ⋅ ⋅
∂ ∑∑∑
( )( )
, 31
1
ij
p i ijkqlkqRk l l k N
ij l q I ijv
v
x t mEe f y t
µσ σ
µ= ∈
=
−∂= ⋅ − ⋅ ⋅
∂ ∑∑∑
,0
1
E jk eRk lNlw
j vv
µ
µ
∂= ⋅
∂∑=
,
1
E jk e x tiRk l kNlw
ij vv
µ
µ
∂= ⋅ ⋅
∂∑=
onde: 1,...,i m= ;
1,...,j N= ;
1,...,l p= ;
ijI é o conjunto de regras “fuzzy” no k-ésimo ponto de aprendizagem e l
qf é
o peso da regra q .O apêndice 1 mostra o fluxograma que descreve o
algoritmo de aprendizagem da RNF.
66
4.5 EXEMPLO DE APLICAÇÃO DO ALGORITMO DE APRENDIZAGEM
O algoritmo de aprendizagem da RNF será agora aplicado ao Processo que foi
usado como exemplo nos capítulos anteriores:
( ) 25
1pG ss s
=+ +
parâmetros iniciais: variável erro =>E=[-1,1]
7 funções de pertinência
centros => [-1,-0.67,-0.33,0,0.33,0.67,1]
desvios => [1/7,1/7,1/7,1/7,1/7,1/7,1/7]
variável variação do erro =>∆E=[-1,1]
7 funções de pertinência
centros => [-1,-0.67,-0.33,0,0.33,0.67,1]
desvios => [1/7,1/7,1/7,1/7,1/7,1/7,1/7]
Regras => 13 regras (matriz 13 x 2):
[7,4; 4,1; 1,4; 4,7; 6,4; 4,2; 2,4; 4,6; 5,4; 4,3; 3,4; 4,5; 4,4]
Pesos => matriz 13 x 3
[1,0,0; -1,0,0; -1,0,0; 1,0,0; 0.67,0,0; -0.67,0,0; -0.67,0,0;
0.67,0,0; 0.33,0,0; -0.33,0,0; -.033,0,0; 0.33,0,0; 0,0,0]
Estes parâmetros (iniciais) foram feitos, tanto quanto possível, iguais aos do
exemplo 2.3.1.2 onde as FPs são triangulares e com 17 regras. Neste exemplo as
FPs são gaussianas e com 13 regras que são um subconjunto daquelas 17.
A simulação é realizada no MATLAB/SIMULINK. Primeiro verifica-se o
desempenho da RNF sem a aprendizagem, isto é, só com os parâmetros iniciais.
São usados 100 pontos para a aprendizagem da RNF correspondentes a simulação
do tempo 1 ao tempo 100 (yd(t), u(t)).
A FIG. 4.3 apresenta o resultado da simulação apenas com os parâmetros
iniciais (sem aprendizagem) para a iteração dos 100 pontos que produziu erro
médio quadrático EMQ=0,086.
67
FIG. 4.3 PO / saída do processo. Sem atualização.
Para o processo de aprendizagem foram criadas regiões de trajetórias de
referência em torno do Ponto de Operação. Se a variável controlada y(t) estiver
nesta região o sistema para de alterar seus parâmetros. A FIG. 4.4 mostra o Ponto
de Operação e as curvas de referência que limitam a excursão da saída. Esta região
de referência é um parâmetro de sintonia do algoritmo.
O uso de regiões de referência aumenta a robustez do algoritmo de
aprendizagem pois diminui a tendência do processo instabilizar, em função de uma
escolha do objetivo yRd(tk) mais realista. Neste caso, a FIG. 4.5 mostra como foram
implementadas no MATLAB / SIMULINK estas curvas de referência. O apêndice 2
mostra o diagrama completo do simulador para este sistema.
FIG. 4.4 PO / Curvas de referência.
0 20 40 60 80 100-5
0
5
10
15
20
25
PO
(ve
rmel
ho)/
saíd
a(az
ul)
t(seg)
0 20 40 60 80 100-5
0
5
10
15
20
25
30
PO
(ve
rmel
ho)/
refe
rênc
ias(
mag
ent
a)
t(seg)
68
FIGURA 4.5 : Diagrama do Bloco REFERÊNCIA
Após 130 iterações do processo de aprendizagem os parâmetros da RNF
evoluíram de tal forma que o desempenho é o mostrado na FIG. 4.6. comparando-se
com o desempenho inicial (FIG 4.3) pode-se observar que o sistema foi capaz de
melhorar bastante o seu desempenho e respeitar as regiões de referência.
FIG. 4.6 PO / limites de referência / saída do processo após 130 iterações.
As funções de pertinência iniciais da RNF para as variáveis de entrada são
mostradas na FIG. 4.7.
0 20 40 60 80 100-5
0
5
10
15
20
25
30
PO
(ver
mel
ho)
/ saí
da(a
zul)/
refe
rênc
ia(m
agen
ta)
t(seg)
referência 1
2
ref1/ref2
1
E_U
1.0
s +1.5s+12
referência 2TransportDelay1
TransportDelay
1
1.5s+1
Scope
MATLABFunction
REFERÊNCIA
Mux
Mux1
Mux
Mux
Demux
Demux2
y
1
sp
1
1
1
1
11
1
1
11
11
1
1
111
2
2
2
33
33
11
69
FIG. 4.7 FPs iniciais das variáveis de entrada.
As FIG. 4.8 e 4.9 mostram as FPs das variáveis de entrada da rede após as 130
iterações de aprendizagem. Para a variável erro houve o acréscimo 3 FPs (total de
10) e para a variável variação do erro foi usada mais 1 FP (total de 8).
FIG. 4.8 FPs da variável erro.
-1.5 -1 -0.5 0 0.5 1 1.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Variáveis Erro / DErro
FP
-1.5 -1 -0.5 0 0.5 1 1.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Variável ERRO
FP
70
FIG. 4.9 FPs da variável variação do erro.
A FIG. 4.10 mostra a evolução do número de regras da RNF durante as 130
iterações. Como se pode observar a partir de 53 iterações o número de regras
permanece inalterado em 42. Este resultado mostra que não ocorre uma explosão
exponencial do número de regras ao longo das iterações com o uso desta estratégia
de aprendizagem.
FIG. 4.10 No de REGRAS x Iterações
As FIG. 4.11 e 4.12 mostram a evolução dos números de funções de pertinência
das duas variáveis de entrada com o número de iterações.
-1.5 -1 -0.5 0 0.5 1 1.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Variável DERRO
FP
0 20 40 60 80 100 120 14020
25
30
35
40
45
NÚMERO DE ITERAÇÕES
NÚ
ME
RO
DE
RE
GR
AS
71
FIG. 4.11 FPs da variável erro x Iterações.
FIG. 4.12 FPs da variável variação do erro x Iterações.
A FIG. 4.13 mostra a evolução do erro médio quadrático (EMQ
E ) com número
de iterações.
0 20 40 60 80 100 120 1407
7.5
8
8.5
9
9.5
10
NÚMERO DE ITERAÇÕES
NÚ
ME
RO
DE
FP
da
var.
ER
RO
0 20 40 60 80 100 120 1407
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
8
NÚMERO DE ITERAÇÕES
Núm
ero
de F
P’s
da
var.
DE
RR
O
72
FIG. 4.13 EMQ
E x Iterações.
Os parâmetros finais, isto é, após a sintonia do algoritmo de aprendizagem da
RNF, foram os seguintes:
- parâmetro 0,2δ = ;
- parâmetro mη =0,05;
- parâmetro ση =-0,05 ;
- parâmetro wη =0,01;
- número máximo de FP’s para cada variável: 12;
- critério de parada usado: número de iterações, 130.
O desempenho da RNF permanece praticamente inalterado após 90 iterações e
dentro dos limites de variação permissíveis adotados. Após 22 iterações os
números de FP’s das variáveis já eram os finais, 8 e 10.
Observando-se as FIG. 4.7 e 4.8 pode-se ver que para as duas variáveis há a
superposição de FP’s.
Uma das possíveis perspectivas para trabalhos futuros é melhorar a sintonia do
algoritmo na hora de definir a superposição entre as novas e antigas funções de
pertinências.
0 20 40 60 80 100 120 1400.08
0.082
0.084
0.086
0.088
0.09
0.092
0.094
0.096
NÚMERO DE ITERAÇÕES
VA
RIA
ÇÃ
O D
O E
RR
O A
O Q
UA
DR
AD
O
73
4.6 EXEMPLO DE APLICAÇÃO: COLUNA DESBUTANIZADORA
Para validação do método de sintonia do controlador “fuzzy” usa-se como
exemplo a Coluna Desbutanizadora.. A Coluna Desbutanizadora é usada para
separar a mistura de hidrocarbonos em duas correntes: gás liqüefeito de petróleo
(GLP) e nafta (gasolina). Os produtos de topo da torre são o GLP e o gás
combustível, e o produto de fundo é a nafta.
A estratégia de controle é baseada numa estrutura onde o refluxo é usado para
controlar a temperatura de topo da torre, e um fluido de óleo quente (HCO – “Heavy
Cycle Oil”) é usado para controlar a temperatura de fundo. Esta estratégia é ilustrada
na FIG. 4.14.
FIG. 4.14 Controle dual para a Coluna Desbutanizadora.
O modelo (identificado ) está reportado em (FREITAS, CAMPOS, LIMA, 1993).
A TAB. 4.1 a seguir, mostra as funções de transferências identificadas.
FC
TC
FC
TC SP
SP
ALIMENTAÇÃO
NAFTA
GÁS
GLP
HCO
74
TAB 4.1 Funções de transferência da Desbutanizadora
FUNÇÕES DE TRANSFERÊNCIA MODELO DINÂMICO
Temp. topo / Refluxo 11
1,7719
71, 4 1G
s
−=
+
Temp. fundo / Refluxo 21
0,0401
25,1 1G
s
−=
+
Temp. topo / HCO 12
0,1172
7,6 1G
s=
+
Temp. fundo / HCO 22
0,1441
6,8 1G
s=
+
Temp. topo / Alimentação 1
0,3755
18,4 1FGs
−=
+
Temp. fundo / Alimentação 2
0,2731
19,1 1FGs
−=
+
O objetivo do controle é manter, as variáveis controladas (saídas) que são as
temperaturas de fundo (tf) e de topo (tp) nos valores desejados. As variáveis
manipuladas são o refluxo de topo (rt) e a vazão de HCO que é o fluido quente do
refervedor de fundo. A perturbação do processo é a vazão de alimentação (F).
4.6.1 CONTROLADOR “FUZZY”.
Em primeiro lugar, para efeito de comparação, o controle do processo é feito
através de um controlador “Fuzzy” duplo, isto é, um para controlar a temperatura de
fundo e outro para a de topo. Cada controlador possui 26 regras. As variáveis de
entrada de cada um são: o erro (E) e a variação do erro (dE) da variável controlada.
A variável de saída é a variação da ação de controle (dU), isto é, vazão de refluxo
para a temperatura de topo e vazão de HCO para a temperatura de fundo. O
apêndice 3 mostra o sistema “Fuzzy”, as funções de pertinência das variáveis de
75
entrada, a função de pertinência da variável de saída e o conjunto das 26 regras
respectivamente. Os diagramas de simulação (SIMULINK) do controlador, do
processo e do erro normalizado são mostrados nos apêndices 4, 5 e 6
respectivamente. A sintonia do controlador é realizada através dos ganhos dos
amplificadores das variáveis de entrada de cada um dos controladores “fuzzy”, de
uma forma heurística (tentativa e erro).
A FIG. 4.15 mostra o desempenho do controlador, isto é, as temperaturas de
topo e de fundo comparadas com os respectivos valores desejados (POs).
FIG. 4.15 Temperaturas de topo (tp) e de fundo (tf) x POs.
4.6.2 CONTROLADOR NEURO “FUZZY”.
Em seguida o processo da Coluna Desbutanizadora é submetido ao controle da
RNF (dupla / paralela) para que esta seja treinada. Existem também duas RNF,
sendo uma para a temperatura de topo e outra para a de fundo.
A RNF tem o mesmo conjunto de regras iniciais (26 regras) usado no controlador
Fuzzy; as funções de pertinência gaussianas usam os mesmos centros mas com
desvios equivalentes aos usados no controlador “Fuzzy” do item 4.6.1. Os valores
dos POs foram mantidos os mesmos da simulação no item 4.6.1 deste trabalho.
0 20 40 60 80 10080
82
84
86
88
tempo
PO
tp /
tp
DESEMPENHO DOCONTOLADOR. “FUZZY”
0 20 40 60 80 100125
130
135
140
145
tempo
PO
tf /
tf
76
Foram estabelecidas regiões de referência em torno de cada PO bem
conservadoras, apenas com a finalidade de testar o processo de aprendizagem da
rede. Quando as duas variáveis controladas (tp e tf) estiverem dentro das suas
respectivas regiões de referência o sistema de aprendizagem não mais altera os
parâmetros e regras do controlador “Fuzzy” (RNF). A FIG. 4.16 mostra as duas
regiões de referência e os respectivos POs.
FIG.4.16 Regiões de Referência de tp / POtp e tf / POtf
Para aumentar a velocidade de processamento, o Controlador Neuro Fuzzy
(CNF) é implementado através de um programa, que simula todo o controlador
multivariável, e está associado a um diagrama SIMULINK que, a cada ponto de
treinamento simula o processo. Isto é, o CNF atualiza as condições iniciais das 6
funções de transferência do processo e o SIMULIK fornece as tp e tj atuais. Este
diagrama é mostrado no apêndice 7.
A FIG. 4.17 apresenta o resultado da simulação apenas com os parâmetros
iniciais (sem aprendizagem) para a iteração dos 100 pontos que produziram erro
médio quadráticos de EMQtp=0,0012 e EMQtf=0,0012.
0 20 40 60 80 10075
80
85
90REFERÊNCIAS DE tp / POtp
RE
Ftp
(MG
)/P
Otp
(VM
)
0 20 40 60 80 100125
130
135
140
145REFERÊNCIAS DE tf / POtf
RE
Ftf
(MG
)/P
Otf
(VM
)
tempo
77
FIG. 4.17 POs / saídas do processo (tp e tf). Sem aprendizagem.
Após 11 iterações a rede se estabilizou (cessou sua aprendizagem), isto é, não
criou mais regras nem alterou os seus parâmetros, já que o desempenho do
controlador ficou dentro dos limites estabelecidos pelas referências como mostra a
FIG. 4.18. A FIG. 4.19 evidencia a evolução da aprendizagem do controlador.
FIG. 4.18 Desempenho do Controlador Neuro “Fuzzy”.
0 20 40 60 80 10075
80
85
90
RE
Ftp
/ P
Otp
/ tp
(oC
)
tp
0 20 40 60 80 100125
130
135
140
145tf
RE
Ftf
/ P
Otf
/ tf(
oC)
tempo
0 20 40 60 80 10075
80
85
90
95
RE
Ftp
/ P
Otp
/ tp
(oC
)
tp
0 20 40 60 80 100120
130
140
150tf
RE
Ftf
/ P
Otf
/ tf(
oC)
tempo
78
FIG. 4.19 Evolução do desempenho do Controlador Neuro “Fuzzy”.
Ao final das 11 iterações, os erros médios quadráticos das variáveis foram
EMQtp=0,000170 e MQtf=0,000279.
O número de regras correspondentes a ambas variáveis de saída passou de 26
(inicial) para 28.
Não houve aumento do número de FPs para todas 4 variáveis de entrada.
Os resultados mostrados nas FIG. 4.15 e 4.17 diferem pelo fato das funções de
pertinência do controlador “Fuzzy” serem triangulares (assimétricas) e no caso do
controlador Neuro “Fuzzy”, gaussianas equivalentes.
0 20 40 60 80 10075
80
85
90
95
RE
Ftp
/ P
Otp
/ tp
(oC
) tp
0 20 40 60 80 100120
130
140
150tf
RE
Ftf
/ PO
tf / t
f(oC
)
tempo
79
5 CONCLUSÕES E PERSPECTIVAS
5.1-CONCLUSÕES
Do capítulo 2, através do exemplo da parte 2.3.1.2, pode-se concluir que para
problemas simples (controle de sistemas SISO, linear e de ordem reduzida) uma
boa solução continua ainda sendo o uso de controladores clássicos do tipo PID. Isto
decorre do fato do desempenho ser razoável, e deste algoritmo ter um número de
reduzido parâmetros a serem ajustados.
No capítulo 3 constatou-se que as redes neurais são ferramentas eficazes para a
aproximação de funções e identificação de processos.
No capítulo 4 mostrou-se uma Rede Neural “Fuzzy” e seu algoritmo. Os
resultados obtidos tanto na parte 4.5 (processo SISO) quanto na parte 4.6 (processo
MIMO) demonstraram a evolução do desempenho e do aprendizado da RNF.
Para o sucesso do desempenho e aprendizagem da RNF é necessário
inicialmente uma adequada escolha dos domínios das variáveis de entrada, dos
parâmetros das funções de pertinência e do conjunto básico de regras.
Na RNF da parte 4.6.2 foram usados como parâmetros iniciais os mesmos
parâmetros utilizados no controlador “Fuzzy” da parte 4.6.1, isto é, os mesmos
centros, regras e pesos das regras. Os desvios das funções de pertinência da RNF
foram feitos, tanto quanto possível, equivalentes aos usados no controlador “Fuzzy”,
já que nos dois casos são utilizados tipos diferentes de funções de pertinência:
uma é do tipo gaussiana e a outra é do tipo triangular (assimétrica). Este fato
facilitou a sintonia da RNF.
Uma vez arbitrados os parâmetros iniciais da RNF, por tentativa / erro, é
conveniente que se estabeleça um procedimento para a sintonia. A metodologia
usada neste trabalho foi a seguinte:
1- Antes de iniciar a aprendizagem da RNF, ajustar os ganhos
correspondentes a todas as variáveis de entrada e de saída visando o
melhor desempenho.
80
2- Com os valores obtidos em 1 são liberados para a aprendizagem somente
os centros e desvios. Pela observação do desempenho das RNFs são
definidos os sinais de m
η e ση . Depois são ajustados os respectivos
valores absolutos.
3- Com os valores obtidos em 1 são liberados para a aprendizagem somente
os pesos das regras. Pela observação do desempenho das RNFs são
definidos os sinais de w
η e logo após os seus respectivos valores
absolutos.
4- Com os valores obtidos em 1, 2 e 3 são liberados para a aprendizagem os
centros, desvios, pesos das regras e o algoritmo de criação das regras
para a primeira iteração. As RNFs evoluem até que sejam satisfeitos os
seus limites de referências
Observou-se que as pré sintonias efetuadas em 1, 2 e 3 minimizam o
número de regras. A cada resultado considerado positivo eram redefinidos os
limites das referências. Isto é, os limites iam ficando progressivamente mais
rigorosos.
Os resultados apresentados pela RNF foram bons, e não houve uma explosão
exponencial do número de regras, nem do número de funções de pertinência, graças
a estratégia de usar limites ou regiões de referência para definir os objetivos.
5.2- PERSPECTIVAS
Pela observação dos resultados da parte 4.5 (FIG. 4.7 e 4.8) pode-se ver que
uma perspectiva para futuros trabalhos, consiste em melhorar a sintonia do
algoritmo quando da definição da superposição entre as novas e as antigas funções
de pertinência.
Os resultados das partes 4.6.1 e 4.6.2 indicam interações entre as variáveis de
saída (tp e tf). Para futuros trabalhos, em processos MIMO, sugere-se estudar o uso
de um método de desacoplamento como o apresentado, para o mesmo processo
(Desbutanizadora) em (FREITAS, CAMPOS, LIMA, 1993). Uma outra possibilidade
é estudar um controlador “Fuzzy” MIMO, ao invés dos dois controladores
independentes (um para a o topo e outro para o fundo) como os estudados neste
trabalho.
81
Como perspectiva de trabalhos futuros também sugere-se testar a metodologia
proposta em um caso real.
82
6 REFERÊNCIAS BIBLIOGRÁFICAS
BERENJI, H. R. e KHEDAR, P., “Learning and Tunning Fuzzy Logic Controllers through reinforcements”, IEEE Trans. Neural Network, vol. 3, 724 – 740, 1992.
BERENJI, H. R., “Fuzzy and Neural Control” dans Antasaklis, P. et Passino, K. , “An Introduction to Intelligent and Autonomous Control”, Kluwer Academic Publishers, 1993.
BOUCHON-MEUNIER, B., “La Logique Floue et ses Application”, Ed.Addison- Wesley, France, 1995.
CAMPOS, M. C., “La simulation Dynamique et L’ Intelligence Artificielle Delaboration de Strategies de Controle-Commande Multivariable Flou. Aplication a une Unite de Cracage Catalytique en Phase Fluide”, Tese de doutorado, Paris, 1997.
CAMPOS,M.C., “Sistemas Inteligentes para Controle e Automação de Processos”, Notas de Aula, IME, 2000.
CONDAMIN, L., “Extraction et Intégration des règles sur un réseau neuro- mimétique. Aplication à l’harmonisation de la cotation à la banque de France”, Tese de doutorado, Ecole Centrale Paris, février, 1995.
DEFFUANT,G., “Réseaux connexionnistes auto-construits”, Tese de doutorado de l’EHESS –Paris VI, juin, 1992.
FREITAS,M. S., CAMPOS, M, C. e LIMA, E. L., “Dual Composition Control of a Debutanizer Column”, ISA, Individual Paper Preprint, vol. 295, pp. 501 – 509, 1993.
HARRIS, C. J. , MOORE, C. G. e BROWN, M., “Intelligent Control – Aspects of Fuzzy Logic end Neural Nets”, World Scientific Publishing, 1993.
HORNIK, K., STINCHCOMBE, M., WHITE, H. e AVER, P., “Degree of approximation results for feedforward networks approximating unknown mappings and their derivatives”, Neural Computation, 6, 1262-1275, 1994.
JAGANNATHAN, S, “Adaptative Fuzzy Logic Control of Feedback Linearizablel Discrete-Time Dynamical Systems Under Persistence of Exitation”, Automatica, vol. 34 no.11,pp.1295 – 1310, 1998.
83
JANG, J, S, R, “Self Learning Fuzzy Controllers Based on Temporal Back Propagation”, IEEE Transactions on Neural Networks, vol. 3 no. 5, pp. 714 – 723, 1992.
JANG, J, S, R, “ANFIS: Adaptative-Network-Based Fuzzy Inference System”, IEEE Transactions on Systems, Man, and Cybernetics, vol. 23 no. 3, pp. 665 – 685, 1993.
JANG, J.R. e SUN, C.T., “Neuro-Fuzzy Modeling and Control”, Proc. IEEE, vol. 83, N.3, 1995.
LEITÃO, F,O, “Metodologia para Implementação de Controladores Fuzzy em Processos Petroquímicos Utilizando Redes Neurais”, Tese de Mestrado, IME, 2000.
MINGZHONG, L e FULI, W, “Adaptative Control of Black-Box Nonlinear Systems Using Recurrent Neural Networks”, Proceedings of the IEEE Conference on Decision and Control, San Diego, California, pp. 4165 – 4170, 1997.
MINSKY, M. e PAPERT, S., “Perceptrons”, MIT Press, MA, 1969.
MULLER, B. e REINHARDT, J., “Neural Networks: An introduction”, Springer- Verlag, NY, 1991.
NAUCK, D., KLAWONN, F. e KRUSE, R., “Foundations of Neuro-Fuzzy Systems”, Wiley, Chichester, 1997.
RIVALS, I., PERSONNAZ, P., DREYFUS, G. et PLOIX, J. L., “Modélisation, Classification et Commande par réseaux de neurones: Principes fondamentaux, methodologie de conception et illustrations industrialles”, dans CORRIOU, J. P., ”Réseaux de Neurones pour la modélisation et la conduite de procédés”, Recents Progress en Génie des Procédés, 9 , (37), 1-37, 1995.
ROSENBLATT, F., “Principles of Neurodynamics”, Spartan Books, NY, 1962.
RUFUS, F., VACHTSEVANOS, G. e HECK, B., “Real Time Adapation of Mode Transition Controllers”, AIAA, Journal of Guidance, Control and Dynamics, 1999.
RUMELHART, D. E., HINTON, G. E. et WILLIAMS, R. J., “Learning representations by back-propagation erros”, Nature, no 323, 533-536, 1986.
84
TAKAGI, T. e SUGENO, M., “Fuzzy Identification of Systems and its Aplication to Modeling and Control”, IEEE Trans. Systems, Man and Cybernetics, vol 15, pp 116 – 132, 1985.
THEOCHARIS e VACHTSEVANOS, G., “Adaptative Fuzzy Neural Networks as Identifiers of Discrete-Time Nonlinear Dynamic Systems”, Journal of Intelligent and Robotic Systems, vol. 17 pp. 119 – 168, 1996.
TORRES, G. L. e SILVA, L.E.B. “Estacionamento de um Veículo Utilizando Técnicas de Controle Difuzzo” Revista Unitau, 31-38, dezembro 1995.
VUOIRIMAA, P., “Fuzzy Self-Organizing Maps”, Fuzzy Sets and Systems, vol. 66, 223 – 238, 1994.
ZADEH, L. A., “Fuzzy Sets”, Information and Control, 8, 338-353, 1965.
ZADEH, L. A., “Outline of a New Approach to the analysis of Complex Systems and Decision Process”, IEEE Trans. Systems, Man and Cybernetics, 3, 28 – 44, 1973.
ZHANG, T.S.S. GE e HANG, C.C., “Neural-Based Direct Adaptive Control for a Class of General Nonlinear Systems”, International Journal of Systems Science, vol. 28 no 10, pp 1011 – 1020, 1997.
85
7 APÊNDICES
7.1 APÊNDICE 1: Fluxograma do algoritmo de aprendizagem da RNF. I=No de iterações F=No máximo de iterações t=N0 de pontos de aprendizagem tf= N0 total de pontos de aprendizagem ε=valor máximo do somatório do erro médio ao quadrado FIG. 7.1 Fluxograma do algoritmo de aprendizagem da RNF.
PROCESSO SIMULINK
VARIÁVEIS DE ENTRADA:
, , ,RE E E t∆
MATRIZES INICIAIS: , , ,Rem w grasσ
I=0 , F , tf , ε
CÁLC. ATIVAÇÕES
DAS FP’s : ( )mj mA x
CÁLC. ATIVAÇÕES
DAS REGRAS: jµ
CÁLC. PESO DAS
REGRAS: k
Nf
SOMATÓRIO ATIVAÇÕES
DAS REGRAS: 1
j
v
v
µ=
∑
CÁLC. DEFUZIFICAÇÃO: ky
AÇÃO DE CONTROLE SIMULINK
N
S
S
ATUALIZAÇÃO MATRIZ: CENTROS
ATUALIZAÇÃO MATRIZ: DESVIOS
ATUALIZAÇÃO MATRIZ: PESOS
ATUALIZAÇÃO MATRIZ: REGRAS
SOMATÓRIO: ATIVAÇÕES x PESO
1
jk
v v
v
fµ=
⋅∑
FIM
t<tf tt0
t=0
eQ=0
N
N
N S
eQ= eQ+E2
EQ=eQ/tf , I=I+1
I=F
QE ε≤ S
86
7.2 APÊNDICE 2: Diagrama do Controlador Neuro “Fuzzy” do exemplo 4.5.
FIG. 7.2 Diagrama do Controlador Neuro “Fuzzy”.
ref
set-point1sp set-point
E En
erro normalizado
Zero-OrderHold3
Zero-OrderHold2
Zero-OrderHold1
Zero-OrderHold
z
1
Unit Delay1
z
1
Unit Delay
1
1Transfer Fcn1
s +s+12
5
Transfer Fcn
t
To Workspace2
saida
To Workspace
Sum3
Sum2
Sum1
Sum
Step2
Step1
Step
Scope6
Scope5
Scope4
Scope3
Scope2
Scope1
Scopesp
y
E_U
ref1/ref2
REFERÊNCIA
Mux
Mux
.2
Ganho do Errode Aprendizagem
1
Gain2 1
Gain1
1Gain
Clock
MATLABFunction
ex_fun_neuro_fuz_sintonizado9_1
87
7.3 APÊNDICE 3: Controle “Fuzzy” duplo para a coluna Desbutanizadora (parte
4.6.1).
FIG. 7.3.1 Sistema Fuzzy (parte 4.6.1).
.
88
FIG. 7.3.2 Função de pertinência da variável Erro (parte 4.6.1).
89
FIG. 7.3.3 Função de pertinência da variável dErro (parte 4.6.1).
90
FIG. 7.3.4 Função de pertinência da variável de saída dU (parte 4.6.1).
91
FIG. 7.3.5 Conjunto de regras “Fuzzy” (parte 4.6.1).
92
APÊNDICE 4. Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de
composição dupla (parte 4.6.1).
FIG. 7.4 Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de
composição dupla
-K-
válvularefluxok=-1500
-K-
válvulahco
k=1000
t
tempo
tf
t.fundoset-point1
set-point
erro Etp Entp
erro normalizado
erro Etf Entf
erro normalizado1
alimentação m3/min 7500/(24*60)
z
1
Unit Delay3
z
1
Unit Delay2
z
1
Unit Delay1
z
1
Unit Delaysptf
To Workspace3
sptpTo Workspace2
tp
To Workspace
Sum5
Sum4
Sum3
Sum2
Sum1
Sum
Scope8
Scope7
Scope6
Scope5
Scope4
Scope3
Scope2
Saturationde -1 até 1
Saturationde -1 a 1
Mux
Mux1
Mux
Mux
refluxo.
hco
alimentação
temperatura de topo
temperatura de fundo
Mod.Debutanizador
.01
Gain3
.03
Gain2
.01
Gain1
.03
Gain
Control Fuzzy26 regras 1
Control Fuzzy26 regras
Clock
93
APÊNDICE 5: Diagrama do “Mod. Desbutanizador” do Controlador Fuzzy (parte
4.1.6).
FIG. 7.5 Diagrama do “Mod. Desbutanizador” do Controlador Fuzzy
2
temperaturade fundo
1
temperaturade topo
Sum1
Sum80
PO da temp. detopo
140
PO da temp. de fundo
-0.2731
19.1s+1
Gf2
-0.3755
18.4s+1
Gf1
6.8s+1
0.1441
G22
-0.0401
25.1s+1
G21
7.6s+1
0.1172
G12
-1.7719
71.4s+1
G11
3
alimentação
2
hco
1
refluxo.
94
APÊNDICE 6: Diagramas dos erros normalizados de tp e tf (parte 4.6.1).
FIG. 7.6 Diagramas dos erros normalizados de tp e tf
1
EntfSum2
Sum1
SumProduct
2
Gain-10
Etfmin
10
Etfmax
1
Constant2
1
erroEtf
1
EntpSum2
Sum1
SumProduct
2
Gain-6
Etpmin
-110
6
Etpmax
1
Constant2
1
erro
Etp
95
APÊNDICE 7: Diagrama que atualiza os valores iniciais para as funções de
transferência (parte 4.6.2).
dy1_du1
d_tt_rt
dy1_du2
d_tt_rf
dy1_dd
d_tt_c
dy2_du1
d_tf_rt
dy2_du2
d_tf_rf
dy2_dd
d_tf_c
du1
Refluxo_topo
du2
Refervedor
Mux
Mux7
Mux
Mux6
Mux
Mux3
Mux
Mux2
Mux
Mux1
Mux
Mux
s
1
Integrator6
s
1
Integrator5
s
1
Integrator4
s
1
Integrator3
s
1
Integrator2
s
1
Integrator1
MATLABFunction
GF2
MATLABFunction
GF1
MATLABFunction
G22
MATLABFunction
G21
MATLABFunction
G12
MATLABFunction
G11
dy1_du2_ini
Constant8
dy2_du1_ini
Constant7
dy1_du1_ini
Constant6
dy1_dd_ini
Constant4
dy2_dd_ini
Constant11
dy2_du2_ini
Constant10
dd
Carga
FIG. 7.7 Diagrama que atualiza os valores iniciais