Applying a Parallel Genetic Algorithmic to Fitting ... - FISIOCOMP
Applying a Parallel Genetic Algorithmic to Fitting ... - FISIOCOMP
Applying a Parallel Genetic Algorithmic to Fitting ... - FISIOCOMP
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
fisiocomp<br />
LABORATÓRIO DE FISIOLOGIA COMPUTACIOAL<br />
www.fisiocomp.ufjf.br
Aplicação de um AG paralelo para<br />
Sponsors:<br />
fisiocomp<br />
LABORATÓRIO DE FISIOLOGIA COMPUTACIOAL<br />
aproximação de função<br />
Daves Martins<br />
<br />
09.09.2005
Capítulo 1<br />
Algoritmo Genético<br />
“Esta área é inspirada na observação e na simulação computacional<br />
de processos naturais do mundo real.”<br />
Principal inspiração: Teoria da evolução natural de Darwin<br />
Principais Aplicações: Problemas complexos de otimização
Capítulo 1<br />
Teoria da Evolução Natural<br />
Algoritmo Genético<br />
A vida na terra é o resultado de um processo de seleção, pelo meio<br />
ambiente, dos mais ap<strong>to</strong>s e adaptados, e por is<strong>to</strong> mesmo com mais<br />
chances de reproduzir-se.<br />
Evolução - organismos se modificam com o passar do tempo, alguns<br />
organismos desapareceram do planeta e são substituídos por<br />
outros organismos que não existiam antes.
Capítulo 1<br />
Teoria da Evolução Natural<br />
Algoritmo Genético<br />
• O indivíduo mais adaptado sobrevive por mais tempo<br />
• As características, codificadas nos genes são transmitidas para os<br />
filhos e tendem a se propagar nas novas gerações<br />
• Na reprodução sexual, os cromossomos dos filhos são uma mistura<br />
dos cromossomos de seus pais<br />
• As características dos filhos são herdadas parcialmente de seus pais<br />
e parcialmente do resultados de novos genes criados durante o<br />
processo de reprodução
Capítulo 1<br />
Analogia com a Natureza - Terminologia<br />
Algoritmo Genético
Capítulo 1<br />
Analogia com a Natureza - Terminologia<br />
Algoritmo Genético
Capítulo 1<br />
Analogia com a Natureza - Terminologia<br />
Individuo<br />
0 1 0 1 0 0<br />
Cromossomo<br />
Gene<br />
Alelo desse gene 0 ou 1<br />
Locus é a posição desse gene<br />
População<br />
Algoritmo Genético<br />
Genótipo:010100, significa cor de olhas azuis<br />
Fenótipo: é o resultado do genótipo
Capítulo 1<br />
Analogia com a Natureza - Terminologia<br />
Algoritmo Genético<br />
A seleção natural atua de forma a privilegiar organismos cujas<br />
variações resultam num maior grau de adaptabilidade ao<br />
ambiente.<br />
Sendo assim, a evolução pode ser comparada a um processo de busca<br />
que visa otimizar (através dos processos de reprodução com<br />
herança genética, variação e seleção natural) a estrutura orgânica<br />
dos seres vivos a seus ambientes.
Capítulo 1<br />
Características dos Algoritmos Genéticos (AG)<br />
Algoritmo Genético<br />
AGs são indicados em problemas complexos de otimização:<br />
• mui<strong>to</strong>s parâmetros e variáveis;<br />
• mal estruturados: com condições e restrições, difíceis de serem<br />
modelados matematicamente;<br />
• grandes espaços de busca;<br />
• objetivos múltiplos.
Capítulo 1<br />
Características dos Algoritmos Genéticos (AG)<br />
Algoritmo Genético<br />
•Operam com uma codificação das possíveis soluções (espaço<br />
genotípico) e não com as próprias soluções (espaço fenotípico)<br />
•o AG’s fazem busca sobre uma população de pon<strong>to</strong>s e não sobre um<br />
único pon<strong>to</strong><br />
•AG’s fazem uso de descrições genéricas do que se quer ver presente<br />
na solução, através de funções de fitness (funções objetivo)<br />
•o AG’s utilizam regras de transição probabilísticas, e não regras<br />
determinísticas
Capítulo 1<br />
Características dos Algoritmos Genéticos (AG)<br />
Algoritmo Genético
Capítulo 1<br />
Representação – Estrutura de dados<br />
Algoritmo Genético<br />
AG clássico: Cadeias binárias de comprimen<strong>to</strong> fixo (cromossomos)<br />
(111011011)<br />
Outras estruturas de dados :<br />
• Ve<strong>to</strong>res de reais: (12.34, 7.35, 3.51, 3.4)<br />
• Ve<strong>to</strong>res de inteiros: (1,7,2,5,2,8)<br />
Um cromossomo representa da função um conjun<strong>to</strong> de parâmetros<br />
objetivo cuja resposta será maximizada ou minimizada.<br />
O conjun<strong>to</strong> de <strong>to</strong>das as configurações que o cromossomo pode<br />
assumir compõe o espaço de busca.
Capítulo 1<br />
Algoritmo Genético<br />
População inicial<br />
Atribuição aleatória dos alelos presentes no alfabe<strong>to</strong> de<br />
representação aos genes dos cromossomos.
Capítulo 1<br />
Seleção Natural<br />
Algoritmo Genético<br />
É o princípio básico para o direcionamen<strong>to</strong> da evolução de uma<br />
população<br />
A seleção é responsável por escolher os indivíduos que estão mais<br />
ap<strong>to</strong>s a se <strong>to</strong>rnarem geni<strong>to</strong>res.<br />
Utiliza uma função de avaliação para medir a aptidão de cada<br />
indivíduo.<br />
Nota associada ao indivíduo que avalia quão boa é a solução por ele<br />
representada.<br />
• Essa aptidão pode ser absoluta ou relativa<br />
– Igual a função objetivo<br />
– Resultado do escalonamen<strong>to</strong> da função objetivo.<br />
– Baseado no ranking do indíviduo da população.
Capítulo 1<br />
Algoritmo Genético<br />
Seleção Natural<br />
Função Aptidão<br />
Representa uma medida da capacidade de sobrevivência de um<br />
cromossomo no processo de evolução, e conseqüentemente a<br />
probabilidade dele se reproduzir com mais freqüência. É uma<br />
composição da função objetivo, com funções de penalidade,<br />
estabelecidas a partir das restrições do problema.<br />
• Principais mé<strong>to</strong>dos de seleção:<br />
• Roleta<br />
• Torneio<br />
• Amostragem Universal Es<strong>to</strong>cástica
Capítulo 1<br />
Algoritmo Genético<br />
Seleção Natural<br />
Após a seleção, os indivíduos armazenados na geração intermediária<br />
são submetidos ao processo de reprodução, para então formarem uma<br />
nova geração.<br />
Se uma geração é <strong>to</strong>talmente substituída por outra mais jovem, podese<br />
perder um indivíduo de boa qualidade.<br />
Para que is<strong>to</strong> não ocorra, um percentual da população que tenha um<br />
desempenho exemplar pode ser mantida na geração seguinte,<br />
copiando-se estes indivíduos diretamente.<br />
Esta prática é denominada elitismo.
Capítulo 1<br />
Algoritmo Genético<br />
Operadores Genéticos<br />
Na fase de reprodução: indivíduos selecionados submetidos a um<br />
operador genético.<br />
Formam novos indivíduos que substituirão a geração anterior: <strong>to</strong>tal<br />
ou parcialmente<br />
•Crossover: geralmente aplicado a pares de cromossomos retirados<br />
da população intermediária: formando dois novos cromossomos -<br />
“filhos”<br />
•Mutação: estes cromossomos são submetidos à troca de material<br />
genético (parte da cadeia de bits, no caso de codificação binária).
Capítulo 1<br />
Algoritmo Genético<br />
Operador: Crossover<br />
Nos sistemas biológicos o crossover pode ocorrer durante a<br />
reprodução sexuada permitindo a troca de material genético entre<br />
dois indivíduos.<br />
O crossover é o operador principal do AG:<br />
• Responsável por gerar novos indivíduos (melhores ou piores) a<br />
partir de indivíduos já promissores<br />
• Aplicado a cada par de indivíduos com alta probabilidade ( pc):<br />
normalmente: 0,5 < pc< 1.0
Capítulo 1<br />
Operador: Crossover<br />
Algoritmo Genético
Capítulo 1<br />
Operador de Mutação<br />
Algoritmo Genético<br />
Em genética a mutação pontual é um processo no qual um alelo de<br />
um gene é alea<strong>to</strong>riamente substituído (ou modificado) por outro,<br />
resultando em um novo cromossomo.<br />
O operador de mutação tem o objetivo de melhorar a diversidade<br />
na população, impedindo problemas de convergência prematura,<br />
contudo ele destrói parte da informação contida no cromossomo.<br />
Geralmente existe uma baixa probabilidade de mutar cada gene de<br />
um cromossomo:<br />
Taxa de mutação recomendada: 0,1% < pm < 5%.
Capítulo 1<br />
Operador de Mutação<br />
Algoritmo Genético
Capítulo 1<br />
Parâmetros de controle<br />
- Tamanho da população<br />
- Número de gerações<br />
- Taxa de crossover<br />
- Taxa de mutação<br />
- Aptidão<br />
-Etc.<br />
Algoritmo Genético
Capítulo 2<br />
AGP:<br />
Algoritmo Genético Paralelo<br />
Grande vantagem dos AGs : naturalmente bem estruturados para se<br />
paralelizar.<br />
É possível dividir suas tarefas entre os processadores de sistemas<br />
computacionais paralelos e distribuídos.<br />
Vantagens:<br />
Fornece amplo poder computacional com melhora na<br />
velocidade e no desempenho do AG.<br />
Principais modelos de algoritmos genéticos paralelos (AGP):<br />
• Global (também conhecido como “mestre- escravos” )<br />
• AGP com Granularidade baixa (Modelo de ilhas)<br />
• AGP com Granularidade alta
Capítulo 2<br />
Modelo Global ou “mestre- escravos”<br />
Algoritmo Genético Paralelo<br />
O mais simples dos modelos.<br />
Uma única população é submetida a operadores de seleção,<br />
Crossover e mutação em um processador principal (mestre).<br />
O mestre envia os indivíduos para avaliação nos diversos<br />
processadores (escravos), e espera o resultado para prosseguir para<br />
as próximas gerações.
Capítulo 2<br />
Algoritmo Genético Paralelo<br />
Modelo de ilhas ou AGP com granularidade baixa<br />
Neste modelo a população é dividida em subpopulações (demes:<br />
colônias de células). A evolução é isolada, delegando assim a<br />
diversos processadores, não só a função de avaliação de indivíduos,<br />
mas também as funções de reprodução e seleção destes.<br />
Após um dado número de<br />
gerações, os demes trocam entre<br />
si os melhores indivíduos e<br />
continuam a evolução<br />
isoladamente (migração). Este<br />
processo de troca de indivíduos<br />
é repetido a cada número de<br />
gerações predeterminado.
Capítulo 2<br />
AGP com granularidade alta<br />
Algoritmo Genético Paralelo<br />
Cada indivíduo é colocado em um processador, geralmente<br />
arrumados numa malha 2-D de processadores.<br />
O processo de seleção é aplicado em cada processador, entre ele e os<br />
processadores vizinhos.<br />
O crossover é realizado<br />
localmente, apenas com<br />
indivíduos de processadores<br />
vizinhos.
Capítulo 3<br />
Problema<br />
Temos um conjun<strong>to</strong> de valores obtidos através de um<br />
experimen<strong>to</strong>, esse conjun<strong>to</strong> de valores tem as seguintes<br />
características:<br />
Valores<br />
Experimentais
Capítulo 3<br />
∂<br />
Problema<br />
Nosso objetivo é aproximar a curva experimental, para isso<br />
usaremos a equação de Poisson no intervalo de 0 a 1:<br />
2<br />
∂x<br />
u =<br />
2<br />
f<br />
(<br />
x,<br />
θ )<br />
σ<br />
A função f deve ser do tipo:<br />
0 θ<br />
1<br />
Representa o pon<strong>to</strong> do pulso<br />
θ eσ<br />
são os parâmetros na qual o ag<br />
deve ajustar<br />
X 0; no pon<strong>to</strong> θ<br />
X=0, nos demais<br />
σ Representa a amplitude do pulso
Capítulo 3<br />
Porquê usamos Poisson?<br />
Problema
Capítulo 3<br />
A equação de poisson foi resolvida pelo mé<strong>to</strong>do das<br />
diferenças finitas, o que demanda de mui<strong>to</strong> tempo de<br />
processamen<strong>to</strong>:<br />
∂<br />
2<br />
∂x<br />
u =<br />
2<br />
f<br />
(<br />
x,<br />
θ )<br />
σ<br />
Problema
Capítulo 3<br />
Dificuldades Encontradas<br />
A equação de poisson foi implementada em PTEsC, um<br />
biblioteca matemática já paralelizada, mas não funcionou<br />
paralelizar a função de fitness, por isso utilizou o GSL.<br />
Tentativa de se utilizar uma biblioteca que implementa o ag<br />
em paralelo a PGAPACK.
Capítulo 4<br />
Funcionamen<strong>to</strong> e parâmetros do AGP<br />
O ag precisa otimizar dois parâmetros, o omega e o sigma,<br />
então o fitness, é a minimização do erro quadrático.<br />
( X ' X )<br />
∑ −<br />
O cromossomo, é formado por 24 gene, sendo 12 gene para<br />
o omega e 12 para o sigma.<br />
0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0<br />
5<br />
0,5<br />
0,5 * 104 4<br />
2
Capítulo 4<br />
Funcionamen<strong>to</strong> e parâmetros do AGP<br />
Tendo os parâmetros omega e sigma, utilizamos uma<br />
discretização de 100 pon<strong>to</strong>s entre 0 e 1 para acar os valores<br />
referentes a esses parâmetros, e traçamos os gráfico<br />
comparativo.<br />
Parâmetros do AG<br />
•Crossover 80 %<br />
•Mutação 10%<br />
•Critério de parada 500 gerações ou erro quadrático
Capítulo 4<br />
Funcionamen<strong>to</strong> e parâmetros do AGP<br />
individuo<br />
Escravo<br />
Recebe o cromossomo<br />
e calcula o fitness<br />
Mestre<br />
Crossover,mutação,<br />
seleção<br />
Individuo<br />
+ fitness<br />
individuo Individuo<br />
+ fitness<br />
Escravo<br />
Recebe o cromossomo<br />
e calcula o fitness
Resultados<br />
Resultados e Comparações<br />
Omega=0,29<br />
Sigma=0,81
Resultados<br />
Resultados e Comparações<br />
Experimen<strong>to</strong> realizados com 2 e 3 processadores.<br />
O algoritmo executado em 3 processadores demonstrou um<br />
resultado cerca de 15 % mais rápido.<br />
2 Processadores – 1m 15s<br />
3 Processadores – 1m 00s
Conclusões<br />
Algoritmo genético<br />
Conclusões<br />
Realiza uma explotação e uma exploração dentro do espaço<br />
de busca.<br />
Naturalmente paralelizavel.<br />
Alterações futuras:<br />
Inserção de novos parâmetros, como a largura do pulso.<br />
Melhorar representação binária.
Aplicação de um AG paralelo para<br />
Sponsors:<br />
fisiocomp<br />
LABORATÓRIO DE FISIOLOGIA COMPUTACIOAL<br />
aproximação de função<br />
Daves Martins<br />
<br />
09.09.2005