UNIVERSIDADE
FEDERAL DE
SANTA
CATARINA
PROGRAMA
DE
PÓS-GRADUAÇÃO
EM
ENGENHARIA
ELETRICA
AMBIENTE
INTEGRADO
PARA
SÍNTESE
DE
CONTROLADORES
NEURAIS ADAPTATIVOS
~
Dissertaçao
submetida
à
Universidade
Federal de
Santa Catarina
para
a
obtenção do
grau de
Mestre
em
Engenharia
Elétrica
E
MAURO
CEZAR
KLINGUELFUS
Ambiente
Integradopara
Síntesede Controladores
Neurais\
Adaptativos
_
Mauro
Cezar KlinguelfusEsta dissertação foi julgada adequada para obtenção do título de E
Mestre
em
Engenharia na especialidade Engenharia Elétrica,área de concentração Sistemas de Controle,
Automação
e Informática Industrial, '`
e aprovada
em
sua forma final pelo Curso de Pós-Graduação. _Banca Examinadora
rof. Dr.-Ing. arcel Ricardo Stemmer
/
Orientador -Prof. Dr. Ênio Valmor Kassick
Coordenador do Curso de Pós-Graduação
em
Engenharia Elétrica//
~E
rof. Dr.-Ing. Marc o Ricardo S er
Prof. Dr V d on
Rob
rto \e Pieri EPr~o
À
~0
'~}`
É
”'W”ã7~
`
Prof. Dr. Jorge Muniz Barreto
Agradecimentos
Ao
amigo
ecompanheiro Marcelo Ricardo Stemmer,
pela competência e interessecom
que orientou este trabalho.Ao
amigo
DanielPagano
cuja a brilhante orientação e incentivo permitiuque
fosse possível levar este trabalho a contento. '
_
Ao
amigo
Heitor SilvérioLopes
pelaamizade
e colaborações técnicas,contribuiram sensivelmente para a realização deste trabalho.
Aos
professoresdo
curso depós-graduação
do
LCMI,
pelo incentivo,compreensão
e apoio. 'Aos
colegas de pós-graduação pelocompanherismo
e amizade.Ao
amigo
WilliamLopes
de Oliveira, pela particular colaboração na solução deproblemas
de programação.V
A
COPEL
e aCAPES
que
criaram as condições de suporte financeiro para odesenvolvimento deste trabalho.
A
meus
pais,que
com
ternura e afeição, incentivaramsempre
os
meus
estudos. --A
minha
esposa SaleteMaria
Bettin Klinguelfus e ameus
filhos
Gustavo
e Taline Klinguelfus,que
sempre
me
apoiaram
e estimularam a
minha
carreira profissionalcom
apreço ecarinho.
Índice
1.
Introdução
.. 12 3.
Redes
Neurais
Artificiais 5 2.1 Conceitos Fundamentais ... ..52.2 -Conceituação Biológica ... ... ... ..6
2.3
Modelagem
do Neurônio ... ... ..8Redes Multicamadas
13 3.1 Introdução ... ... ... .. 133.2 Algoritmo de Treinamento “Backpropagation” ... ..15
3.3 Algoritmos Genéticos ... ... .. 22
3.3.1 Introdução ... _,_,_,,_22 3.3.2 Descrição do Algoritmo ... ..23
3.4 Coexistência dos Algoritmos ... ..31
3.5 Aspectos Gerais do Treinamento ... ..35
3.5.1 O Problema dos Mínimos Locais ... .. . ... ..35
3.5.2 Validação ... .. . ... ..38
3.5.3 Sobretreinamento ... .i ... ..38
4
Redes
Neurais Aplicadas
àÁrea
de
Controle
... ... ... ....435 Projeto e
Implementação
de
Redes
Neurais
Multicamadas
... ... ..48
5.1 Projetando-se
uma
Rede Neural Multicamadas ... ..485.2 Interpretando os Pesos ... .. 53
5.3 Projetando-se o Conjunto de Treinamento ... ..55
5.4 Implementação ... .. 58
5.4.1 Algoritmos tipo Gradiente Descendente ... .. 58
5.4.2 Algoritmo Genético ... ._ 61 5.5 Pré-treinamento ... .. 64 5.5.1 Introdução ... ._ 64 5.5.2 Desenvolvimento ... ._ 64 5.6 Aquisição On-Line ... ..66 5.7 Realização do Controlador ... .. 70 5.7.1 Introdução ... .. . .... ..70 5.7.2 Controle lndireto ... .. . .... ._ 70 5.7.3 Controle Direto ... _. 74 Testes
do
Ambiente
no Controle de
uma
Planta
Piloto ... ... ..776.1 Descrição da Planta Piloto ... .. 77
6.2 Testes Realizados e Resultados Obtidos ... .. 79
6.3 Conclusões dos Ensaios ... .. 82
7
Conclusão
... ... ... .. ... ..84
ANEXO
A
-CARACTERÍSTICAS GERAIS
DO
AMBIENTE
... ..96ANEXO
B
-UTILIZAÇAO
DO
AMBIENTE
... ..98B.1
MODO
L(earning) ... ..99B.2
MODO
O(utput generation) ... .. 103B.3
MODO
D(irect control) ... .. 103B.4
MODO
I(ndirect control) ... .. 109B.4.1 Introdução ... ._ 109 B.4.2 Rede identificadora... ... .. 110
B.4.3 Rede controladora; ... .. 117
B.5 Definição dos Limites das Entradas e Saídas ... .. 119
B.6
“SETUP”
(Controle Direto e Indireto) ... .. 119B.7
Menu
de Opções ... .. 122B.8 Treinamento ... .. 125
B.8.1 Treinamento Genético ... .. 12
B'.8.2 Treinamento “Backpropagation” ... .. 128
B.8.3 Apresentação do Resultado do Treinamento. ... .. 130
B.9 Obtenção dos
“TRUE
VECTORS”
... .. 131B.10 Captura Dinâmica ... .. 133
Lista
das Figuras
FIGURA 1 _ NEURONIO BIOLÓGICO ... ..
FIGURA 2 _ NEURONIO ARTIFICIAL ....
... ..
FIGURA 3 - FUNÇÕES DE ATIVAÇÃO ...
,.
FIGURA 4 - REDE M.ULTIcAMADAS ... ._
FIGURA 5 - SUPERFÍCIE
DA FUNÇÃO DO ERRO
... ..
FIGURA ó - TREINAMENTO
&
TESTE ... ... ..FIGURA 7 - PAPEL DE
CADA
NEURONIO...FIGURA s - DERIVADOR
NUMERICO
.....
FIGURA 9 - ERRO TREINAMENTO
&
TESTE .....
FIGURA Io - SEQUÊNCIA DE
TREINAMENTO
...
FIGURA II -
CONFIGURAÇÃO
PARA AQUISIÇÃO DOS "TRUE VECTORS"... _.
FIGURA I2 - TABELA DE “TRUE VECTORS” ...
..
FIGURA 13 - ACRÉSCIMO OFF-LINE DE
VETORES DE TREINAMENTO
...FIGURA 14 - AQUISIÇÃO ON-LINE DE
NOVOS VETORES
DETREINAMENTO
....FIGURA Is - TABELA AMPLIADA
COM
VETORES ADQUIRIDOS ON-LINE... ..
FIGURA I7 - TREINAMENTO
DA
RNI ...FIGURA Is -
ESQUEMA
PARACONTROLE
INDIRETO... ..
FIGURA 19 -
ESQUEMA
PARACONTROLE
DIRETO ... _.FIGURA 2o - PLANTA FILOTOz
GERADOR
... ..FIGURA 21 -
RELAÇÃO
SAÍDA/ENTRADADA
PLANTA
... ..
FIGURA 22 - PID
&
CONTROLADOR NEURAL
.... .
FIGURA 23 - EFEITO
DA VARIAÇÃO DA VELOCIDADE
.
FIGURA 24 - EFEITO “DELAY ACCELERATOR” ...
FIGURA 25 - VARIAÇÃO
DA
VELOCIDADE POS-TREINAMENTO ....Ç ... ..
FIGURA 26 -
DESEMPENHO
DA
REDE IDENTIFICADORAEM
RELAÇÃO A PLANTA
FIGURA 30 -
ATUAÇÃO DO
“BASE FACTOR”...FIGURA 31 - CONTROLE INDIRETO ...
... ._
FIGURA 32 - REDE IDENTIFICADORA ...
..
FIGURA 33 - “SETUP”
DA
REDE IDENTIFICADORA ...FIGURA 34 -
OBTENÇÃO
DOS VETORESDA REDE
IDENTIFICADORA... ..
FIGURA 35 - CAPTURA DE VETORES
DA
REDE IDENTIFICADORA... ..
FIGURA 36 - TREINAMENTO E TESTE
DA REDE
IDENTIFICADORAFIGURA 37 - TREINAMENTO
DA
REDE IDENTIFICADORA... ..
FIGURA 38 - TESTANDO A REDE IDENTIFICADORA
... ._
FIGURA 39 - REDE
CONTROLADORA
(CONTROLE INDIRETO)FIGURA 41 -
MENU
TEMPO
REAL ... ..FIGURA 42 - TREINAMENTO GENETICO ...
... ..
FIGURA 16 - AQUISIÇÃO DE VETORES DE
TREINAMENTO PARA A
REDEFIGURA 27 - TELA INICIAL ...
FIGURA 28-TREINAMENTO OFF-LINE... ... ._
FIGURA 29 - CONTROLE DIRETO ...
... ..
FIGURA 40 - TELA “SETUP” PARA
CAPTURA
DINÂMICA... ..
FIGURA 43 - TREINAMENTO “BACKPROPAGATION”...
... ..
FIGURA 44 -
OBTENÇÃO
DOS “TRUE VECTORS”... ._ ...7 ...9 .11 .14 .36 .39 .42 .44 .51 .53 .65 .65 .65 .66 .67 .7I .71 .72 .75 .78 .78 .79 .8O .81 .82 .82 .99 100 104 106 110 111 111 112 114 115 115 116 113 120 124 127 129 131
Resumo
Este trabalho descreve
um
Ambiente
baseado
em
redes neuraiscom
treinamentoneuro-genético para realização
de
controladores neurais adaptativosindependendo
dacomplexidade do
processo a controlar e não requerendoum
modelo
matemático para o projeto.Possue
todas as ferramentas necessárias paraa aquisição dos vetores de treinamento, a execução 'do treinamento
propriamente dito e realização
do
controladorem
tempo
real para diferentestaxas de amostragem.
É
apresentadoum
resumo
da teoria queembasou
o
desenvolvimento
bem
como
osprocedimentos
para utilização doAmbiente
implementado.
Resultados práticos são
também
apresentados parauma
planta piloto. Análisescomparativas são realizadas
com
a utilizaçãoda
solução apresentada frente aoutras que
também
utilizam técnicasde
redes neurais ePIDs
discretos.O
bom
desempenho
dos resultados práticos obtidosdemostram
a potencialidadedo
Ambiente
e dosmétodos
adotados. ~Abstract
This
work
describes a neuralnetwork based environment
with neuro-genetictraining for adaptive neural control, for
any
process complexity,and
doesn”t requireknowledge
about the mathematicalmodel
of the process. It includes all the necessary resources for the training acquisition vectors, for the neuralnetwork
training and for real time control of the plant with differentsamplíng
rates. It presents also a
summary
of the theoryon
which
thedevelopment
was
based as well as the procedure
adopted
in the use of the environment.The work
also includes test results obtained with the environmentwhen
controlling a
power
generator.The
capabilities of this solution areshown
and
compared
to other wellknown
techniques, including PIDS.The
results obtainedexpose
thegood
performance
of the environmentand
adopted procedures. . .
_ `
Llntrodução
Geral
O
uso de.Redes
Neurais Artificiais(RNA)
em
sistema de controle se mostracada vez mais
como
uma
alternativa interessante, principalmentequando
defronta-se
com
plantas razoavelmentecomplexas
e dificeis deserem
modeladas. Nestas condições, os clássicos controladores baseados
em
PID
apresentam
como
principal dificuldade justamente amodelagem
matemáticado
problema
que
nem
sempre
se apresenta deuma
maneira
trivial.Dentre alguns aspectos que
motivam
a utilização de redes neurais, pode-se citaros seguintes: '
-
Método
não-algorítmico:É
um
método
intuitivo,ou
seja, para o usuário é
mais importante o
conhecimento que
estetem
em
relação ao seu próprioproblema do
queum
conhecimento
prévio sobre as técnicas voltadas a utilização de redes neurais.-
A
rede neural aprende através deexemplos,
oque
permite que ela representeum
determinadocomportamento.
Nestesexemplos
são apresentados para arede a relação entrada/saída
que
estadeve
representar.- Simplicidade:
Ao
contráriodo que
pode-se imaginar, a estrutura interna deuma
rede neural artificial é algo muitas vezesmais
simplesdo
que oobservado nos seres vivos.
- Generalização:
Uma
rede neural écapaz
de responder a padrões para os quaisnãonecessariamente foi treinada. Basta
que
durante o treinamento tenha-se apreocupação de escolher
exemplos
para o treinamentoque atendam
a faixa deinteresse.
- Resposta rápida:
Uma
vez treinada, a rede apresentaum
tempo
de respostarápido,
tomando-a
interessante para aplicaçõesem
tempo
real. --
Aproximador
universal:Com
uma
rede neural é possível representar qualquerfunção matemática.
- Eliminação natural de ruídos: Isto ocorre devido a própria caracteristica
construtiva da rede. .
-
Conhecimento
minimo
do
processo: Controladores de processosusando
redesenvolve o processo.
Também
ocorreque
as caracteristicas intrínsecasdo
processo
serem
automaticamente consideradas.Neste aspecto, redes neurais artificiais facilitam a realização de controladores,
visto não estarem calcadas
sobre
osmétodos
clássicos de elaboração decontroladores, e sim, estarem baseadas
num
processo de aprendizadoque
deveser iniciado
numa
fase preliminar à realizaçãodo
controlador propriamente dito.O
que se deseja dizercom
isto é que,somente
necessita-se saber deantemão
as relações de entrada/saídado
processo a controlar,ou
seja, deve-se ter o prévioconhecimento de alguns conjuntos de valores de grandezas que
definam
um
conjunto de entradas e suas respectivas saídas (treinamento supervisionado).
Cada
conjunto entrada/saída corresponde aum
vetor de treinamento e oconjunto de vetores de treinamento
correspondem
aum
padrão de treinamento.A
quantidade de vetores de teste decada
padrão
é proporcional, deuma
certa forma, à complexidadedo
processo a se controlar. Durante os ensaios, observou-se queuma
quantidade razoável de vetores de treinamento para a maioria dos problemas práticos éem
tomo
de20
a 60.A
inspiração para criação dasdenominadas
redes neurais artificiaisremonta
aosanos
40
e é baseada nosmodelos
biológicos. Entretanto, 'somente nas últimasdécadas é que o interesse por estes sistemas conexionistas cresceu de
uma
maneira sólida graças à
melhor
compreensão
de determinadosproblemas
elimitações que existiam,
além do desenvolvimento
tecnológico dos sistemas computacionais.O
surgimento denovas
estruturas e algoritmos de aprendizadoe a disponibilidade de processadores
cada vez
mais rápidos, conseguiram deuma
certa forma, popularizar ouso
destas redes para as mais diferentes aplicações, destacando-sealém
das aplicaçõesem
controle,um
quaseinterminável conjunto de outras utilizações
como
processamento de alarmes,reconhecimento de padrões
como
escrita,imagem
e voz,em
predição deeventos,
em
deteção de faltas e diagnóstico, processamento digital de sinal,despacho
econômico
de carga, etc. [2,3,lO,l l,l2,40,42,43,44,46]. 'Um
estimadorsem
modelo.É
assimque
podem
ser vistas as redes neurais, porserem
aproximadores universaisde
funções gerais,que permitem
mapear
vetores de entrada
em
vetoresde
saídasem
necessitar deum
modelo
Este trabalho se propõe a apresentar
uma
alternativa viável e prática para a realização de controladores de processosem
tempo
realque
possuam
ou não
linearidades
na
sua faixa de atuação, e principalmente,quando
amodelagem
matemática
em
questãonão
é trivialou
mesmo
praticamente impossível de ser obtida.O
trabalhocomo
um
todoculmina
em
um
ambiente dehardware
e softwareimplementado
para plataformasIBM-PC
ou
compatíveis, integrando todas as etapas necessárias para odesenvolvimento completo
do controlador incluindo facilidades para realizações de testes específicos, e ainda,mecanismos
de segurança de controle parao
caso que o ambiente desenvolvidovenha
a ser utilizadocomo
o próprio controlador.Em
outras palavras, é possível usar o ambiente desenvolvidocomo
o controladordo
processoem
tempo
real,ou
então reproduzirsomente
as redes utilizadasde
maneira
independente
do
restantedo
ambiente. `Dentre as soluções que
foram
adotadas são apresentadasalgumas
que aindanão
foram
observadasem
outras propostas de soluções deproblemas
semelhantes.Gostaríamos de destacar o
método
de controle direto que estásendo
originalmente apresentado neste trabalho.
Ainda
utiliza-se o termo redes neuraisou simplesmente
redesem
substituição a redes neuronais artificiaisTambém
é indicado entre aspas duplas todas as palavrasem
inglêsque
não
tiverem sido ainda incluídasno
vocabulárioutilizado
no
Brasil.As
menções
aoAmbiente
Integrado para Síntese deControladores Neurais Adaptativos são feitas
somente
usando-se a palavraAmbiente,
mantendo-se a primeira letra maiúscula.No
capítulo 2 é descrito o neurôniocomo
a unidade elementar deuma
rede neural, destacando tanto o neurônio biológicocomo
o artificial.O
capítulo 3 se refere às características implícitas deuma
rede neural artificialenfocando e justificando a utilização das redes multicamadas. São descritos os
algoritmos de treinamento utilizados e os aspectos gerais
do
treinamento destas redes.A
discussão da aplicação de redes neuraisem
controle é feita de maneiramais
redes neurais existentes
na
literatura justificando-se as razões quelevaram
aadoção
da rede multicamadas frente as essas outras técnicas.Todos
os aspectos construtivos deuma
rede neural aplicada à controle sãoenfatizados
no
capítulo 5.Também
sãoidestacados osmodelos
de controle direto e indireto adotados neste trabalho. 'No
capítulo 6 são descritos a planta piloto utilizada para testar oAmbiente,
como também
os ensaios realizados.Em
seguida são apresentadas as sugestões para continuidade do trabalho e asconclusões gerais.
Finalmente, apresenta-se os
anexos
que
têm
como
objetivo a descriçãocompleta
do
Ambiente no
que tange à sua utilizaçãocomo
uma
ferramentaprática de trabalho. .
O
anexo
A
contém
um
resumo
das características gerais permitindouma
rápidavisualização
do
potencial de utilizaçãodo Ambiente.
VNo
anexoB
são apresentadas deuma
maneira
detalhada todas as funções,comandos
e opções disponíveis nas várias telasque foram
implementadasno
Ambiente
como
um
todo.Basicamente
esteanexo pode
ser descritocomo
o
manual
de utilizaçãodo Ambiente.
.2.
Redes
Neurais
Artificiais
2.1 Conceitos
Fundamentais
Redes
neurais artificiais sãouma
nova
classe de sistemas computacionaisformado
por dezenas, centenas e atémesmo
milhares de elementos simplescomo
sefossem
pequenas células,onde cada
elemento procura simular ocomportamento
do neurônio biológico. Estes elementos são interconectados entre si de maneira similar aoque
ocorreno
cérebrohumano.
A
forma
como
osneurônios são interligados confere as caracteristicas de aprendizado da rede
neural artificial,
como também
ocorrenos
seres vivos.Seguindo
este raciocínio,para cada aplicação deve-se buscar estruturas
que mais
seadaptem
anecessidade de
um
determinado problema.Na
literatura [2,3,42] encontra-se vários tipos distintos de estruturasou
topologiasonde
se ressaltam as potencialidades de cadauma
delas.Na
realidade o
que
se buscano
estudo das redes neurais artificiais é reproduzircomportamentos
similares aos encontradosna
própria natureza,onde
se considera que os processos naturais são suficientemente otimizados a ponto deservirem de referência para os
desenvolvimentos
denovos
algoritmos aplicáveisàs redes neurais artificiais.
Atualmente
existeuma
forte tendência de se rejeitar estruturas que apesar deapresentarem
comportamento
externo semelhante aoscomportamentos
naturaismas
que desrespeitam esteparadigma no que
tange aoprocessamento
interno.Um
exemplo, é a utilização de neurônios não-monotônicos, o que é abordadomais
detalhadamente ao longo deste trabalho.Numa
grande parte das soluções adotadas, pode-sesempre
observar o forteapelo resultante de
comportamento'
jáconhecido na
natureza,ou
mesmo,
humana,
mas
que
são respeitadas as características fisicas dos processosenvolvidos. `
V
Máquinas
quepensam.
Atépouco
tempo eram
simplesmente
produto da ficção.Talvez o
termo
pensar sejaum
pouco
exagerado.O
que
se espera realizarcom
as redes neurais artificiais são
máquinas que
aprendam
um
comportamento, ecomo
extensão disto, que sejam capazes de seadaptarem
aomeio
aque
estão acopladas.Um
aspecto curioso das redes neurais artificiais -é que, de maneira similar aoque
ocorrecom
os seres vivos, a capacidade deaprendizado não
necessariamente define
um
comportamento
determinístico, conferindoum
certograu de não-previsibilidade. Desta forma, o
comportamento
resultante será tãopróximo
ao esperado quantomelhor
for a qualidadedo
processo de treinamentoutilizado. ~
Quase sempre
treinar significa apresentar à redeum
conjunto de entradas e 0 respectivocomportamento
de saída.Talvez
este seja omaior
desafioque
enfrenta-se
quando
trabalha-secom
redes neurais artificiais.2.2
Conceituação
Biológica
Embora
ainda se conheçapouco
sobre a operaçãocompleta do
cérebrohumano,
as redes neurais são baseadas nesta estrutura.O
sistema nervosohumano
é constituído de célulasdenominadas
de neurônios. Estima-se 1011 neurônios participandoem
aproximadamente
1013interconecções sobre vias de transmissão
que
podem
variar deum
ou mais
metros.
Cada
neurônio compartilha muitas característicascom
outras célulasdo
corpo,
mas
uma
capacidade única para receber, processar e transmitir sinais eletroquimicos sobre as vias neuraisdo
sistema decomunicação do
cérebro.Para
compreender
as caracteristicas básicas dos neurônios biológicos, énecessário identificar as estruturas e
mecanismos
fundamentais presentesno
sistema nervoso, taiscomo:
corpoda
célula (ou soma), dendrito, sinapse, axônio, etc.,como
mostra a figura l.A
partirda
observação de variações nasestruturas e
comportamento
dos neurônios surgeum
conjunto de tipos deneurônios
em
vez deum
único tipo.Dendritos prolongam-se
do
corpoda
célula para outros neurôniosonde
elesrecebem
sinaisnum
ponto deconexão
denominado
de sinapse.No
ladoda
recepção da sinapse, estas entradas são
conduzidas
para o corpo da célula,onde
algumas
entradastendem
a excitar a célula e outrastendem
a inibir seu disparo.Do
soma, a partir deum
pontodenominado
de hillock, surgeum
filamentocomprido
denominado
de axônio.Na
extremidade do
axônio tem-se algocomo
micro-ramificaçõesdenominadas
de arborização axonial.Os
pontos extremosda
arborização axonial sãodenominados
de
terminaisdo
neurônioou
botões.”Quando
a excitaçãoacumulada na
célulaexcede
aum
limiar (“-threshold”), a célula dispara, enviandoum
sinal atravésdo.axônio
para outros neurôniosconectados neste tenninais. .
l
f\
r/
D°“d'¡t°5\\<A\ôm‹›
de hillock Sinapse¶$›
\
Axôniø
~Núcleo
Z
l ,fxFigura 1 -
Neurônio
biológicoO
esquema
deconexão não
seresume
necessariamente àconexão
dos terminaisde
um
neurônio aos dendritos de outros neurônios.É
possível que os terminaisdos neurônios estejam conectados a outros terminais
do
próprio ou de outrosneurônios, aos dendritos
do
próprio neurônio,ou
diretamente ao corpoda
célulado
próprioou
de outros neurônios,ou
ainda de dendrito para dendrito.Alguns
neurônios apresentam
um
padrão deconexão
bastante seletivo e especifico,como
por exemplo, os corpos das células dos neurôniosque
controlam a açãomotora
dos dedosdo pé que
estão situadosna
espinha dorsal e seu axôniopercorre toda a
pema
até atingir os dedos. ' _O
axôniopode
transmitir eletricidadeem
ambas
as direções,mas
o fluxo deinformação
sempre
vaino
sentidodos
dendritos para o axônio, istoporque
oimpulso eletrico
começa
no
ladodo
hillock.Em
condições normais, seuma
corrente elétrica é aplicada
em
um
pontodo
axônio, o seu potencial decaiexponencialmente a
medida
que
a corrente épropagada
atravésdo
axônio.O
mecanismo
de disparo defineuma
característica tudoou
nada
dos neurônios,uma
vez queem
qualquer situação o neurôniopode
estar disparado 'ou não.O
processo de excitação de
um
neurônio corresponde à integração de _várias entradas, sendo que cadauma
delasem
particularpode
estar contribuindo paraexcitar o neurônio
ou
inibí-lo.Existe ainda
um
intervalo detempo
entre dois impulsos, conhecidocomo
período refratório,
no
qual oimpulso não pode
ser gerado epropagado
atéque
ocorra a restauração
química
dentrodo
neurônio.2.3
Modelagem
do Neurônio
De uma
forma
genérica, pode-se dizerque
uma
rede neural se constitui demodelos
de processamento distribuído e paralelo.A
unidade básica deuma
redeneural é o neurônio (figura 2). Estes neurônios
têm
a capacidade demudar
o seucomportamento
apósum
treinamento dinâmico. Estes elementos sãointerconectados por ligações
com
valoresvariáveistambém
denominados
depesos. ‹
*tê V
i
Basicamente
um
neurônio corresponde auma
soma
ponderada
de entradas,×1 w1 \‹
//Á
' w2 \_ X2 rm*-°¬'-°-*mz-i*--;---~>
¬ ¡' ,Í /, y W3/R
~
/` 1 -1 net=
Z, x,zw,-+
9y
=f(H@f) Figura 2 -Neurônio
ArtificialObservando
a figura 2, verifica-seque
asoma
dos valores das entradas X1' multiplicadas pelos seus respectivospesos
wi, adicionada aum
valor limite 9conhecido
como
"threshold", é por suavez
aplicada a função de ativação.Em
geral a função de ativação é
uma
função
não-linear, contínua e diferenciável.Na
literatura especializada encontra-se designações de váriosmodelos de
neurônios
além do modelo
biológico apresentado neste trabalho, outroscomo
oneurônio
RAM,
neurônioPLN,
neurônioGSN,
cadaum
com
sua especificidade[2,3,42].
Neurônio de
McCulloch
e PittsMcCulloch
e Pitts [4]propuseram
um
modelo
simplificado de neurôniobiológico.
O
modelo
baseia-seno
fato de que,em
um
dado
instante detempo, o
neurônio
ou
está disparadoou
está inativoimprimindo
desta forma,um
comportamento
discreto e binário. Utilizando-se, então, o cálculo proposicional temporal, pode-semodelar
ocomportamento
de neurôniosV
biológicos.
O
neurônio foi definido
como
tendo dois estados, disparadoou
inativo,que
corresponde ao verdadeiro e falso
do
cálculo da lógica proposicional deordem
Neste neurôniovexistem
conexões
excitatórias e inibitórias representadas atravésde
um
peso
com
sinal, o qual reforçaou
dificulta a geração deum
'impulso desaída.
Um
neurônioNi produz
um
impulso,ou
seja,uma
saída oi=
1, se esomente
se, asoma
das entradas émaior ou
igual aum
limiar.A
equação
1define a função de saída
do
neurôniode
McCulloch-Pitts: _1 ifx= :J \v¡¡i¡J--Oi 20
Oi (x)i{o if×=§¡
w¡¡¡,j-ei<o
Onde
w¡]~ é o peso daconexão
associadocom
a entrada ízj, e 6,' é o limiar deativação
do
neurônio ni. ç'
A
partirdo modelo
proposto porMcCulloch
e Pittsforam
derivados vários outrosmodelos
quepermitem
aprodução
deuma
saída qualquer,não
necessariamente
zeroou
um.
Também
surgiram várias definições quanto afomia
de ativaçãoou
função de ativaçãocomo
mostra a figura 3,onde
são ilustradas quatro funções de ativação, entre elas: a função linear, a funçãorampa, a função degrau e a função sigmoidal.
A
função sigmoidaltambém
conhecida
como
“S-shape” ilustrada na figura 3.d,é
uma
função semilinear, limitada emonotônica.
É
possivel definir váriasfunções sigmoidais.
Uma
das funções sigmoidais mais importante é a funçãologística definida pela equação 2. _
A
~
1
sz(X)=í'+_e:,¡¶
(2)' f(x) E ' f(×) í // /_- x x _J/ I l (H) (D) f(X) Ê__f_` S(×) X E × _ (0) (fi)
Figura 3 -
Funções
de
ativaçãoO
motivoque
tornouesta a funçãode
ativaçãomais
utilizada, é a facilidade dese obter a derivada, que é
dada
pela seguinte equação:S,fo‹>=S¡<›‹><1~S,~<›‹>>
(3)Outras funções sigmoidais,
como
a tangente hiperbólica e o arcotangente sãoalgumas
vezes utilizadas.A
equação
seguinte apresenta a função tangente hiperbólica.tanh(x)
= â-íâ:-š
(4)Na
maioria dos casos, aforma
exatada
função fazpouco
efeito durante a utilização propriamente dita da rede, entretantopode
terum
impactomaior na
velocidade de treinamento. V
Em
[3] reporta-se que valores relativamentepequenos
de derivada deuma
função de ativação logística
tornam o
treinamento lento para o algoritmo de“backpropagation”,
como
descreve-se nos capítulos seguintes.Nas
equações 5 e 6 são apresentadas duas alternativas para atenuar este problema.Neste trabalho
foram
ensaiadas asequações
(5) a título decomparação
dedesempenho.
Observou-seque
odesempenho
foi muitopouco
afetado.Sendo
assim, optou-se por manter a função de ativação logística e fazer o controle dosvalores
pequenos
de derivada atravésdo método
propostono
capítulo 3,principalmente
em
razãodo
esforço computacional. Pelomesmo
motivo,ou
seja,
tempo
de processamento,não foram
feitos testescom
as equações (6),sendo
somente
apresentadas aqui a título de informação. -f
(x)=
štan`l(sính(x)) f'(x)=
É-sech(x) (5) f(x) =E
(Ê-nlfl
+ tan* (sinh(x))) 1: cosh(x) f'<›‹>=
~;Íse¢h3<›‹> i (6) , _E
importante observarque
a funçãosigmóide
nunca
atinge o seu valormáximo
e
mínimo
teórico.Um
neurôniocom uma
função logística é consideradototalmente ativado
quando
a saída estáem
tomo
de 0,9 e desativadoquando
está
em
tomo
de 0,1. Destaforma não
é razoável esperar saidas próximasou
iguaisaOoual.
-A
rede neural é definida pela estruturaformada
pelas interconexões entre neurônios, pelométodo
de treinamento adotado, entre outras coisas. O-processode treinamento define
um
conjunto de pesos iniciais ecomo
estes pesosdevem
3.
Redes
Multicamadas
,3.1
Introdução
Inicialmente, dentro do contexto de redes neurais, aborda-se neste trabalho os tópicos que são efetivamente utilizados
no
Ambiente
proposto.Demais
tópicos gerais sobre estetema
podem
ser pesquisadosna
literatura especializada[2,3,42,43].
i
Dentre as várias topologias de redes ate' hoje descritas, as redes
multicamadas
“feedfoward” apresentada inicialmente
por
Rumelhart,Hinton
e Williamsem
1986 [3,42],
têm
sido vistascomo
um
efetivo sistema de aprendizado bastanteindicado para aplicações
na
áreade
controlecomo
também
em
outras áreas.Nesta rede, cada conjunto de
nós
é associadoem
camadas.A
saída dos nós deuma
camada
são transmitidos aosnós
das outrascamadas
através deuma
conexão
que amplifrca, atenuaou
inibe estaconexão
pormeio
de elementosdenominados
pesos. Excetona
camada
de
entrada, a entrada de cadanó
da rede recebe asoma
das saídas dosnós da
camada
anterior,ponderada
pelos respectivos pesos. Desta forma,cada
nó
é ativado de acordocom
sua entrada e afunção de ativação utilizada,
como
mostra
a figura 4.Nesta estrutura é acrescentado
um
neurônio a cadacamada
intermediária e acamada
de saída.A
entrada destes outros neurônios é mantidasempre
em
l(um)
o que confereuma
característica de estabilidade durante a fase detreinamento.
O
peso correspondente a esta entrada édenominado
de“thres/wld”.
Caso
o “threshold” seja positivo, seu efeito e provocarum
deslocamento da função de ativação para a esquerda ao longo
do
eixohorizontal (figura 3.d). Efeito interessante ocorre quando,
na
função de ativação divide~se o valor correspondentedos
somatóriosponderados
das entradas porum
fator positivo qualquer.Quanto
maior
é este fator tanto mais suave é a inclinação resultante da função sigmoidal. Já,quando
este fator é pequeno, aresultante da função de ativação tende a assemelhar-se mais ao desenho de
uma
função degrau. `PADRÃO
DE
SAÍDA
k
Camada
de saída w(kj) . J-Camada
intermediária/\'›.
WW)
Camada
de entradaPADRAO
DE
ENTRADA
Figura 4 -
Rede
Multicamadas
Constituída a rede,
ou
seja, definida a suacompleta
estrutura, o passo seguinte é a identificação dométodo
de treinamentomais
adequado
para a rede escolhida.Um
dos algoritmosque
obtevemais
sucessono
treinamento de redesmulticamadas
tem
sido o “backpropagation”ou
algoritmo depropagação
reversa. Este algoritmo
vem
a seruma
generalizaçãodo
algoritmo dosmínimos
quadrados. Vários outros algoritmos de treinamento
foram
desenvolvidosno
sentido de otimizar o
desempenho
deste algoritmo,no
entanto, na maioria dasvezes são versões modificadas
ou
incrementadasdo
“backpropagation”[3,5,l5,l9,2,4,25,33,4l]. _
Este algoritmo
tem
como
inconveniente a sua alta sensibilidade aosdenominados
mínimos
locais,como
é exaustivamente tratado ao longo' deste trabalho.Como
conseqüência, outros algoritmosforam
desenvolvidoscom
ointuito de atenuar este problema. Entretanto,
não
existe' até hojeum
únicoalgoritmo que seja totalmente
imune
a problemática dosmínimos
locais.No
capítulo 5 é tratado de
um
algoritmodenominado
“simulated annealing”que
vem
a ser basicamenteuma
extensãodo
“backpropagation” que procura atenuarNa
busca de formas de contorno aoproblema
destesmínimos
locais, a técnicaque
maisvem
obtendo sucesso é adenominada
de algoritmos genéticosou
simplesmente A`Gs [3,26]. Esta técnica
segue
o conceito de reprodução genéticae se caracteriza principalmente por apresentar
um
espaço de buscamais
amplo,contudo, comparativamente a outros algoritmos,
não
émuito
eficientena busca
do
mínimo
efetivo da funçao.Como
solução, a prática nos dizque
émais
interessante fazeruma
composição
dos dois algoritmos, resguardando os
AGs
para a fase preliminardo
treinamento e delegando ao “backpropagation” a missão de buscar o
minimo
efetivo da função,
mantendo
desta forrnauma
solução híbrida. _Nos
itens seguintes descreve-secom
detalhes o funcionamento destes dois algoritmos.3.2
Algoritmo
de
Treinamento
“Backpropagation”
“Backpropagation”, é
um
processo iterativo variantedo método
proposto porRumelhart, Hinton e Williams
em
1986,baseado
numa
regra conhecidacomo
regra delta generalizada [44]. Foi o primeiro
método
prático para treinamentode rede “feedfoward” multicamadas. Este algoritmo é
um
processo iterativo ena
suaforma
básica, enquadra-se dentro dos algoritmos de gradiente descendente. Neste algoritmo écomputado
o gradienteda
função erro,ou
seja,o erro da rede para
um
determinado conjunto de treinamento. Desta maneira,são dados passos na direção
do
gradiente negativo e repetido tantas vezesquanto
forem
necessários.Desde
que
os passos dados sejam no sentido dereduzir o erro, o que se espera é atingir a localização
do
erro mi_nimo.A
distânciado
passo,denominada
de taxa de aprendizagem,pode
ser crítica senão houver algum
procedimento de ajuste automático. Se o passo é pequeno, aconvergência ocorre lentamente, e se grande,
pode
nunca
atingir o valordo
erroesperado [2,3,5,lO,l5,16,42,43].
Uma
consideração a ser feita é sobre a utilização deum
algoritmo de gradientedescendente (“bacl<propagation”)
em
vez do
método
gradiente conjugadoque
éconsiderado genericamente mais robusto e até rápido [3,42]. Este
segundo
aos
denominados
mínimos
locaismostrados na
figura 5.O
“backpropagation”,sem
dúvida, apresenta-secomo
um
algoritmo mais popular e de fácilimplementação, além de ter sido
mais
exploradoque
os demais. Estas sãoalgumas
das razões daadoção do
algoritmo “backpropagation”.Durante a fase de treinamento, é apresentado
um
padrão para a redena forma
deuma
entrada e se busca fazer o ajuste dasconexões ou
dos pesos deforma
a se obterum
padrão de saída correspondente ao desejado. Este ajuste é repetido para outros padrões entrada/saída atéque
o ajuste final conseguido,ou
seja,um
único conjunto de pesos e thresholdsatisfaçam a todos os padrões apresentados
à rederdentro de
uma
tolerância aceitável.Em
geral, as saídas [opk]não
sãoexatamente
iguais aos valores desejados [tpk].Sendo
assim, para cada padrão é calculado o erro quadráticomédio dado
pela expressão:Ep
:
%
Zk
(tpk- Opk )2O
erro do sistemaou
para o conjunto de padrões é definidocomo:
E=
ym EPE,
(8)onde
k corresponde aonúmero
de neurôniosda
últimacamada,
p
corresponde aonúmero
de padrões, nnúmero
de neurôniosda
camada
de saida em
número
de vetores de treinamento
ou
padrões.No
processo de treinamento, procura-se acharuma
maneira
rápida de se reduzir o erro Ep. Diferentes resultados são obtidosquando
sebusca
trabalhar sobreE
ou
Ep.De
qualquer forma, as correções dos pesos são feitas de maneiraseqüencial, sendo que o aprendizado é feito aplicando-se
um
padrão a' cadainstante.
O
que se busca, deforma
geral, é aminimização
da funçãodo
erro E.A
convergência é conseguidaprovocando-se
uma
variação incremental Awkj nospesos e threshold, proporcional a -ÕE/õfwkj, tal que:
ÕE
O
termo T]também
conhecidocomo
taxa de aprendizagem, permite definiruma
velocidade de convergência versus granularidade de aproximação,
ou
seja,quanto
maior
é este valor, tantomaior
e' a variação incremental sobre os pesos e“thresholds”,
em
contrapartida, tem-seuma
maior
dificuldade de seaproximar
do
ponto de convergência ótimodevido
à distânciaque
se estabelece entrecada
~
um
dos passos de minimizaçãoda funçao do
erro.O
erroE
'é expressoem
termos das saídas ok,ou
seja,da
saída não-linearde
cada
nó
k, talcomo:
_z
0/‹
=
f(neÍ/J (10)onde
netk é a entradado
k-ésimo nó, e_por
definição
é asoma
linearponderada
de todas as saídas dos neurônios
da
camada
anterior:netk=Zwk¡
0] (ll)A
derivada parcial ÕE/õwkjpode
serdeterminada usando
a regra da cadeia:ÊÂ
__ʧ_
Êffl
(12)-
ôwkj.
_
õnefk êwkj
Aplicando
a equação (ll) tem-se:Êzlgíwkjojzoj
_(13)
Ôwkj. âwkj.
Pode-se então definir:
õk :
__š_
` '
ânetk (14)
Logo,
pode-se escrever:Novamente
para calcular ôk = -õE/ânerkusando
a regra da cadeia para expressar a derivada parcialem
termos de dois fatores,um
fatorque
expressa a variaçãodo
erro em- relação a saída ok e outroque
expressa a taxa de variaçãoda
saídado
nó
kem
relação a entradado
mesmo
nó.Assim:
õ,z___ôÔE
=_Õí_,Õ°kt
,(16) netk Õok onetkEstes dois fatores
podem
ser obtidosda
seguinte maneira.Por definição:
Õ
íz-(fr-‹›,‹>
(17)'
ôok
onde
tk é o valor desejado de saída e ok e' a própria saída, e ainda:ão Ôf (net_) ,
W=ä=f*<”@'f‹>
(18)k k
Até
aqui tem-se então que:6,: =
m
-‹›k>f'r(wi)
~~
(19)
Obtém-se, desta
forma
para qualquer neurônioou nó
dacamada
de saída oseguinte:
Awkj
:
r|(¡/‹ "01‹)f'1‹ (nefk )0¡:
TlõkojkJá
no
que tange os neurônios dascamadas
intermediárias,não
tem-seexplicitamente os valores desejáveis,
ou
seja, os tj.Sendo
assim, as condiçõesque
cercam
estes neurôniospodem
ser reescritascomo
segue: ‹ÕE
Awkj = -T15;
(21) jf Õ z.=-ni
(22) Õnetj. Õwfl.:
-U
Õnetj. Oi (23)55
ão] = --~
.24
-n(
õoj õnerj )O' ( ) =n(-
)f'¡ <n‹zf,>‹›, (25)Entretanto o fator ÕE/õoj,
como
já foi dito,não
pode
ser avaliado diretamente.Em
contrapartida, pode-se escrevê-loem
termos
de quantidadesque
sãoconhecidas e outras quantidades
que
podem
ser calculadas,ou
seja:ÕE
_ _ÔE
õnetkõoj _
É
õnetk õoj (26)k ,af ô
2
_(_
Õnerk)
âoj Wk11¡011| /‹ mÔE
=Ê
-L
.28
Õnetk )WkJ ( ) k .ÔE
E
"äíj = õkw/‹¡ (29) kNeste caso, pode-se observar que:
Õ¡=f'¡(net¡)2õkw¿j
.(30)O
valordo
delta deum
neurônio internopode
ser determinadoem
termosdo
delta da
camada
superior. Desta forma,começando
dacamada
mais alta,ou
seja, dacamada
de saida, pode-se determinar -õkusando
a expressão (19), eassim, retropropagar o erro
no
sentido dascamadas
mais
baixas ou de entrada.Considerando que
p
representa onúmero
do
padrão, tem-se:Apwj, =nõp,.op,. (31)
Como
jámencionado,
paraoj-ésimo neurônio da
últimacamada
resulta:õpf
:
(fm ` 0p1)f'f(”e¡pf) (32)Entretanto, se o neurônio é de
uma
camada
interna, precisamos determinar õpjem
termos dos deltas dacamada
mais
altacom
segue:H C õz›j:f'1(”e¡m)
Ê
õpkwkf (33) kConsiderando
que: l.=---1-_i;
4 0' l+exp[-(Z,.wJ.,o,+9J.)](3)
Então
ão. ,, 5%'-Í-j~=0j.(1-oj.) (35)Logo,
os deltas correspondentespodem
ser obtidos das seguintes expressões: õpk =(tpk-opk)0p¡_(l-opk) (36)E
ainda:õpj=0p¡(l-0pj)§Õpkw,g‹ (37)
A
equação (36) se aplica para os neurôniosda
últimacamada
e aequação
(37)Deve-se observar que os “thresholds” GJ- são treinados da
mesma
maneiraque
um
outro peso qualquer,simplesmente
considerandoque
a entrada Bjsempre
tem
o valor unitário.Também
é importante observarque
a derivada parcialôoj/õnezj é igualla oj.(1-ol.) e
que
omáximo
é atingido para of=
0.5 e, desdeque
O
5
ojS
1, osmínimos
são obtidosem
zero eum.
.Como
comentado
anteriormente, 'a função deativação dada pela equação (34),
não pode alcançar 'valores 0 (zero) e l
(um)
sem
que
os pesossejam
inñnitamentegrandes
no
sentido positivoou
negativo.No
entanto, pode-seconsiderar
uma
variação entre 0,1 e 0,9'como
bastante razoável para a ~totalidade das aplicaçoes.
No
procedimento de treinamento, considera-seque
a rede inicia seus pesoscom
valores
randomizados
e diferentes entre si. Escolhe-seum
padrão e aplica-secomo
entradana
rede e se avalia o erro final.A
partir daí é feito o ajuste necessário dos pesos utilizandoum
procedimento
apropriado, por exemplo,o de
propagação reversa
ou
“backpropagation”.No
casodo
procedimento adotadopara propagação reversa, é calculado
Apwfi
para todos os wj-,~ da rede paracada
particular p. Este processo é repetido para todos os padrões
do
conjunto detreinamento resultando
em
AW]-,› paracada
um
dos pesosque
compõem
a rede.O
objetivo de se modificar os valores dos pesos é o de reduzir as discrepâncias entre o valor da saída atual e a saída desejada.
Depois
decompletada
a apresentação de todos os padrõesdo
conjunto de treinamento,um
conjunto depesos é obtido e as saidas
devem
ser avaliadas dentro da maneira conhecidacomo
propagação diretaou
“feedforWard”.Para o treinamento, pode-se utilizar tanto os erros dos padrões de
forma
individualizada, mostrado
na equação
(7),como
o errodo
sistemamostrado na
equação (8).
São
vários os detalhesque deve
se terem
mente quando
daimplementação
deuma
rede.No
último caso tratado, a questão decomo
se escolher o valor de 11 ébastante relevante. Pode-se imaginar
que
um
n
de valor grande corresponde aum
treinamento rápido,mais
istotambém
provoca
oscilações. Rumelhart,Hinton e Williams
sugerem que
asequações
(20) e (31) sejam modificadas parapara evitar
que
ocorram
oscilações durante o treinamento,embora
não
elimine totalmente este efeito.A
equação
pode
ser rescritacomo
segue: _Awj.,.(n+l)=nÔj.oj. +ocAwj.,.(n) (38)
O
valor (n+]) é usado para indicar o (n+I)ész`mo passo, e ot éuma
constante.O
segundo termo
da expressão éusado
paraque
a variação de wj,-,do passo (rz-1-I)seja
na
mesma
direção da variaçãoempreendida no
passo (n).E
como
se fosseaplicado
um
coeficiente de inércia ao sistema.O
momentum
atuacomo
um
filtro passa-baixa, filtra as rápidas oscilaçõesdo
erro, evitando destaforma
o efeito ziguezague.Examinando
a variaçãodo
errodo
sistema, observa-se que ot tendea diminuir as oscilações
do
erro,mesmo
parapequenos
valores de n.A
medida que
o processo de treinamento vai avançando, o valor do ii deve sergradativamente diminuído para evitar oscilações
do
erro etambem,
para seobter erros finais menores.
Deve-se
lembrarque somente
é atingido omínimo
efetivo da funçãodo
erro se o valorda
taxa deaprendizagem
for infinitamentepequeno.
3.3
Algoritmos
Genéticos
3.3.1
Introdução'
As
pesquisas sobremodelos
computacionais inteligentes têm, nos últimos anos, se caracterizado pela tendênciaem
buscar inspiraçãona
natureza,onde
existeum
sem-número
deexemplos
vivos de processosque
podem
ser ditosinteligentes. Para cientistas de
computação, matemáticos
e engenheiros, muitasdas soluções que a natureza encontrou para
complexos problemas
de adaptaçãofomecem
modelos
interessantíssimos.Embora
não
se possa afirmar que tais soluções sejam ótimas,não
há amenor
dúvida deque
os processos naturais,em
particular os relacionados diretamentecom
os seres vivos, sejambem
paradigmas de
computação
denominados
“Simulated Annealing”,Redes
Neurais e
Computação
Evolucionária(CE).Em
termos computacionais,CE
incorporauma
das metáforas mais apelativas:CE
encara a teoria de evoluçãoDarwiniana
como
um
processo adaptativo deotimização, sugerindo
um
modelo
em
que
populações de estruturascomputacionais
evoluem
demodo
a melhorar,em
média, odesempenho
geralda população
com
respeito aum
dado problema, ou
seja, a “adequabilidade”da
população
com
respeito ao ambiente.Atualmente,
CE
englobaum
número
crescente de paradigmas e métodos, dosquais os
mais
importantes são osAlgoritmos
Genéticos (Ags) [3,8,26,30,39],Programação
Evolucionária (PE), Estratégias Evolucionárias (EE),Programação
Genética (PG), e Sistemas Classificadores (SCS), entre outros[26].
De
fato,SCS
ePG
podem
ser vistascomo
aplicações especiais deAGs,
enquanto
que
PE
eEEs
foram
desenvolvidas independentemente dosAGs,
esomente
agoracomeçam
a interagir.De modo
geral, técnicasem CE
dão origem
aos
denominados
Algoritmos Evolucionários (AES).3.3.2
Descrição
do
Algoritmo
Algoritmos Genéticos estão entre as
mais
difundidas e estudadas técnicas deCE,
pela sua flexibilidade, relativa simplicidade de implementação, e eficáciaem
realizar busca globalem
ambientes adversos.Busca
eOtimização
O
objetivo é encontrar amelhor
combinação
dos fatores,ou
seja, acombinação
de fatores
que
proporcione omelhor
desempenho
possível para o sistemaem
questão.Em
termos técnicos, o conjunto de todas ascombinações
possíveis para os fatores constitui odenominado
espaço de
busca.Não
é dificil perceber que existeuma
dualidade entre os conceitos debusca
e otimização, de talmodo
que todo
problema
de buscapode
ser consideradoum
problema
de otimização eSem
perda de generalidade,consideremos somente problemas
demaximização.
Dada
uma
função f:íRn -›ÊR eum
espaço de buscaS
Q
9%”, oproblema
deotimização
pode
serformulado
assim: "maximizar
ƒ(,z×) | ,fe S. (39)Em
termos deum
problema
de busca, omesmo
problema pode
ser escrito:encontrar
fi
| f(,z× *)2
f(,z×),Vz
e
S
(40)A
função ƒ(.)pode
ser derivávelou
não, uniou
multidimensional, e o espaçode
busca
S pode
ser contínuoou
discreto, finitoou
infinito,côncavo ou
convexo.O
problema
édenominado unimodal
quando
há somente
um
pontomáximo ,W
no
espaço de busca,ou multimodal
em
caso contrário.Além
disso, a função ƒ(.)pode
ser estacíonáriaou
não-estacionária, isto é, variávelcom
o tempo.Otimizaçao na Natureza
eAGS
Vista de
forma
global, a evolução naturalimplementa mecanismos
adaptativos de otimização que,embora
estejam longe de seruma
forma
de busca aleatória,com
certezaenvolvem
aleatoriedade.É
esse tipo debusca
inteligente,mas
não
determinística, que os
AGs
tentam imitar. 'Os
AGs
pertencem a classe dosmétodos
probabilisticos de busca e otimização,embora não
sejam aleatórios. Usa-se o conceito de probabilidade,mas
AGs
não
são estúpidas buscas aleatórias. Pelo contrário,
AGs
tentam dirigir abusca
pararegiões do espaço
onde
é provável a existência dos pontos ótimos.Fundamentos
dosAGs
Uma
definição que o autorda
referência consideramais
plausível de algoritmogenético é a que segue: `
Algoritmos Genéticos
(AGS)
sãométodos
computacionais de busca baseadospossiveis soluções para o
problema
em
questão evolui de acordocom
operadores probabilísticos concebidos a partir de metáforas biológicas, de
modo
que
háuma
tendência de que,na
média, os indivíduos representem soluçõescada vez melhores a
medida que
o processo evolutivo continua.Terminologia
A
terminologia utilizadaem
engenharia genéticadefine
que:0
Cromossomo:
É
a completa descrição genética deum
indivíduo.É
uma
coleção de características primitivasdenominadas
de gene.0 Gene:
É
a representação simples deuma
das característica deum
cromossomo.
~0 Genótipo:
É
a estrutura genética explicita deum
cromossomo.
0 Alelo:
É
o valor específicoque
ogene
pode
assumir. _Características
Primárias
0
AGS
operam
numa
população (conjunto)de
pontos, enão
a partir deum
ponto isolado.
0
AGS
operam
num
espaço de soluções codificadas, enão no
espaço debusca
diretamente.
6
AGs
necessitamsomente
deinformação
sobre o valor deuma
funçãoobjetivo para cada
membro
da
população, enão requerem
derivadasou
qualquer outro tipo de conhecimento.
-l
0
AGs
usam
transições probabilisticas, enão
regras determinísticas.Representação
Cromossômica
O
primeiro passo para aplicação deAGS
aum
problema
qualquer é representarcada possivel solução
X
no
espaço debusca
como
uma
seqüência de símbolos sgerados a partir de
um
dado
alfabeto finito A.No
caso mais simples, usa-se oalfabeto binário
A=
{O,l},mas
no
caso geral tanto ométodo
de representaçãoUsando
algumas
das metáforasextremamente
simplistas,mas
empregadas
pelos teóricos e praticantes deAGS
com
freqüência, cada seqüência s corresponde aum
cromossomo,
e cadaelemento
de s e' equivalente aum
gene.Como
cadagene
pode
assumir qualquer valordo
alfabeto A, cada elemento deA
éequivalente a
um
alelo,ou
seja,um
valor possível paraum
dado
gene.A
posição de
um
genenum
cromossomo,
ou
seja, o índice dentro da seqüência,corresponde a
um
“locfus gênico”. 'Além
disso, na maior parte dosAGS
assume-seque
cada indivíduo seja constituído deum
únicocromossomo,
razão pela qual écomum
usarem-se ostermos indivíduo e
cromossomo
indistintamenteem
trabalhos científicos elivros textos.
A
grande maioria dosAGs
propostosna
literaturausam
uma
população de
número
fixo de indivíduos,com
cromossomos
também
detamanho
constante.Fluxo
BásicoAGS
são algoritmos iterativos, e acada
iteração a população é modificada.Cada
iteração de
um
AG
édenominada
uma
geração,embora
nem
todos os indivíduos deuma
populaçãosejam
necessariamente “filhos” de indivíduosda
população
na
iteração anterior. Este fluxo segueem
primeirouma
inicialização,ou
seja, geração dapopulação ou
indivíduos, e avaliação destes indivíduos.Após,
num
processo iterativo,temos
o ciclo que corresponde a seleção,recombinação
e mutação.Avaliação
eAdequabilidade
AGS
necessitam da informaçãodo
valor deuma
fixnção objetivo para cadamembro
da população, quedeve
'serum
valor não-negativo.Nos
casosmais
simples, usa-se justamente
o
valorda
funçãoque
se quer maximizar.A
funçãoobjetivo dá, para cada indivíduo,
uma
medida
dequão
bem
adaptado aoambiente ele está, ou seja, quanto