Algoritmos Genéticos - Capítulo 151 Algoritmos Genéticos Capítulo 15 Prof. Ricardo Linden.

Slides:



Advertisements
Apresentações semelhantes
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Advertisements

Técnicas e Projeto de Sistemas
Transporte em Nanoestruturas. I) Transporte balístico Um material unidimensional (confinado em duas dimensões) transporta carga quando uma voltagem é
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Extreme Programmig Programação em Duplas Dificuldades e Benefícios.
Sistemas Operacionais
Prof. Dr. Helder Anibal Hermini
Prof. Dr. Helder Anibal Hermini
Desempenho de Tratores aula 3
Criptografia Quântica : Um Estudo
Gustavo Vieira Pereira
ANÁLISE SOBRE O ARTIGO: AUTOTUNING GEMMS FOR FERMI André Moraes Julio Toss.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Framework Master-Worker.
DISPONÍVEL EM: tema 1.1. Elabore uma dissertação, com cerca de 20 linhas, na qual você discuta a relação do progresso tecnológico do.
Algoritmos Genéticos Capítulo 7
Algoritmos Genéticos Capítulo 5 Ricardo Linden. Algoritmos Genéticos - Capítulo 52 Teoria dos GAs Algoritmos genéticos são um pesadelo em termos de análise;
Algoritmos Genéticos - Capítulo 10 Desvantagens da Representação Binária Prof. Ricardo Linden.
Algoritmos Genéticos – Capítulo 12
Repensando a Avaliação da Aprendizagem
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Otimizações independentes de máquina.
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Arquitetura de Computadores I
O Fluxo de Testes © Alexandre Vasconcelos
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
Técnicas de Amostragem
Reconexão por Caminhos Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
CES-11 LAB 03 Bitmap Quadtree
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Capítulo V Análise Sintática
TA 733 A – Operações Unitárias II
TA 733 A – Operações Unitárias II
Tema I TEMA DE DISCUSSÃO I Prof. Dr. Marcio Lobo Netto 1 o. Período / 2004 Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018.
FERRAMENTAS DE CRIATIVIDADE
LIDERANÇA.
A Molécula isolada + excipientes B Molécula modificada a partir da molécula natural Como a molécula é isolada, apenas é patenteável na forma de uma composição.
Mac-499 Trabalho de Formatura Supervisionado
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Região Sul Coordenador: José Cezar Pereira - EPAGRI.
Interpolação Introdução Conceito de Interpolação
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Resolução de Sistemas Lineares- Parte 1
Organização de Sistemas de Computadores
Arquitetura de ComputadoresProf a Luiza Mourelle Apesar da evolução tecnológica, as CPUs continuam mais rápidas que a memória. O problema não é tecnológico,
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Classificação Interna de Dados Estrutura de Dados I Prof. Mai-Ly Vanessa Campus Prof. Alberto Carvalho - UFS.
Sistema de Planejamento da Produção
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Introdução à Probabilidade
Otimização Aplicada ao Dimensionamento e Operação de Reservatórios
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
Conceitos Básicos de Redes de Computadores e acesso a Internet
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
INPE / CAP-334 Celso L. Mendes Aula 4-D(1) Reestruturação de Programas em Sistemas Vetoriais (II) Tópicos: Suporte à Paralelização Vetorização.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Transcrição da apresentação:

Algoritmos Genéticos - Capítulo 151 Algoritmos Genéticos Capítulo 15 Prof. Ricardo Linden

Algoritmos Genéticos - Capítulo 152 GAs Paralelos Cada processador tem um limite na sua capacidade de computação, que não pode ser rompida. Cada processador tem um limite na sua capacidade de computação, que não pode ser rompida. Solução óbvia: comprar máquinas ainda mais potentes (mais velozes ou com mais memória) Solução óbvia: comprar máquinas ainda mais potentes (mais velozes ou com mais memória) Se não for possível, pode-se usar múltiplos processadores ou distribuir a memória, usando a tecnologia denominada computação paralela. Se não for possível, pode-se usar múltiplos processadores ou distribuir a memória, usando a tecnologia denominada computação paralela. Na computação paralela, podemos aproveitar os múltiplos processadores dividindo uma tarefa em várias sub-tarefas e executando-as de forma simultânea. Na computação paralela, podemos aproveitar os múltiplos processadores dividindo uma tarefa em várias sub-tarefas e executando-as de forma simultânea.

Algoritmos Genéticos - Capítulo 153 GAs Paralelos GAs são excelente candidatos para paralelização: GAs são excelente candidatos para paralelização: Têm como princípio básico evoluir uma grande população de indivíduos; Têm como princípio básico evoluir uma grande população de indivíduos; Eles normalmente requerem um grande tempo de execução; Eles normalmente requerem um grande tempo de execução; GAs tradicionais não são paralelizáveis, devido à sua inerente estrutura sequencial; GAs tradicionais não são paralelizáveis, devido à sua inerente estrutura sequencial; Paralelismo implícito não tem relacionamento com computação paralela! Paralelismo implícito não tem relacionamento com computação paralela! Novos modelos para paralelização de algoritmos genéticos são necessários Novos modelos para paralelização de algoritmos genéticos são necessários

Algoritmos Genéticos - Capítulo 154 Panmitic Classe mais simples de todas; Classe mais simples de todas; Mais indicados para máquinas com memória compartilhada; Mais indicados para máquinas com memória compartilhada; Consiste em vários GAs simples executando cada um em um processador distinto e operando sobre uma única população global. Consiste em vários GAs simples executando cada um em um processador distinto e operando sobre uma única população global. Os processadores sincronizam na avaliação no operador de seleção; Os processadores sincronizam na avaliação no operador de seleção; Quando o número desejado já tiver sido escolhido, cada processador "expele" os filhos que gerou e que vão compor a nova população; Quando o número desejado já tiver sido escolhido, cada processador "expele" os filhos que gerou e que vão compor a nova população; Cada avaliação e operação genética pode ser realizada conhecendo-se apenas o(s) pai(s) selecionado(s). Cada avaliação e operação genética pode ser realizada conhecendo-se apenas o(s) pai(s) selecionado(s).

Algoritmos Genéticos - Capítulo 155 Panmitic Problema: temos um conjunto de novos indivíduos e de pais previamente existentes que são os candidatos a compor a nova população. Problema: temos um conjunto de novos indivíduos e de pais previamente existentes que são os candidatos a compor a nova população. Isto exige um único módulo de população capaz de decidir como será composta a nova geração Isto exige um único módulo de população capaz de decidir como será composta a nova geração Processo único cria um gargalo no sistema, não importando quantos processadores possuímos. Processo único cria um gargalo no sistema, não importando quantos processadores possuímos.

Algoritmos Genéticos - Capítulo 156 Panmitic Vantagem sobre GAs não paralelos o fato de ser muito mais rápido, pois as reproduções podem ser realizadas ao mesmo tempo. Vantagem sobre GAs não paralelos o fato de ser muito mais rápido, pois as reproduções podem ser realizadas ao mesmo tempo. Pode-se também dividir os trabalho de avaliar os indivíduos da população entre os vários processadores. Pode-se também dividir os trabalho de avaliar os indivíduos da população entre os vários processadores. Por outro lado, esta versão é muito mais complexa, devido à necessidade de se gerenciar o paralelismo. Por outro lado, esta versão é muito mais complexa, devido à necessidade de se gerenciar o paralelismo. Processadores precisam se comunicar para dizer quantos pais já selecionaram e quantos filhos já geraram, o que causa uma sobrecarga considerável de trabalho de programação. Processadores precisam se comunicar para dizer quantos pais já selecionaram e quantos filhos já geraram, o que causa uma sobrecarga considerável de trabalho de programação. Muitos programadores resolvem este problema usando uma abordagem mestre-escravo; Muitos programadores resolvem este problema usando uma abordagem mestre-escravo;

Algoritmos Genéticos - Capítulo 157 Island Biológos perceberam que ambientes isolados, como por exemplo ilhas, frequentemente geram espécies animais melhor adaptadas; Biológos perceberam que ambientes isolados, como por exemplo ilhas, frequentemente geram espécies animais melhor adaptadas; Populações centrais grande e estáveis exercem uma forte influência homogeneizante; Populações centrais grande e estáveis exercem uma forte influência homogeneizante; Novas mutações favoráveis são diluídas na grande massa populacional em que devem se espalhar; Novas mutações favoráveis são diluídas na grande massa populacional em que devem se espalhar; Modificações filéticas neste tipo de população são raras. Modificações filéticas neste tipo de população são raras. Grupos periféricos isolados cortados da população, sofrem intensa pressão seletiva e variações favoráveis se espalham rapidamente. Grupos periféricos isolados cortados da população, sofrem intensa pressão seletiva e variações favoráveis se espalham rapidamente.

Algoritmos Genéticos - Capítulo 158 Island Esta teoria, chamada de equilíbrio pontual (punctuated equilibrium) inspirou a comunidade científica que trabalha com GAs a criar novos modelos e arquiteturas. Esta teoria, chamada de equilíbrio pontual (punctuated equilibrium) inspirou a comunidade científica que trabalha com GAs a criar novos modelos e arquiteturas. Em particular, isto levou à teoria de que várias pequenas populações competindo poderiam ser mais efetivas na busca de boas soluções do que uma grande população do tamanho da soma dos tamanhos das pequenas. Em particular, isto levou à teoria de que várias pequenas populações competindo poderiam ser mais efetivas na busca de boas soluções do que uma grande população do tamanho da soma dos tamanhos das pequenas. Conclusão: modelo distribuído para GAs chamado modelo Island, ou modelo coarse grained Conclusão: modelo distribuído para GAs chamado modelo Island, ou modelo coarse grained

Algoritmos Genéticos - Capítulo 159 Island A população de cromossomos é particionada em um certo número de subpopulações isoladas; A população de cromossomos é particionada em um certo número de subpopulações isoladas; Cada população evolui de forma independente, tentando maximizar a mesma função; Cada população evolui de forma independente, tentando maximizar a mesma função; Uma estrutura de vizinhança é definida sobre este conjunto de subpopulações de forma que periodicamente cada uma troca um número n de seus indivíduos por n indivíduos de cada vizinho; Uma estrutura de vizinhança é definida sobre este conjunto de subpopulações de forma que periodicamente cada uma troca um número n de seus indivíduos por n indivíduos de cada vizinho; Esta atividade de troca de indivíduos é chamada de migração. Esta atividade de troca de indivíduos é chamada de migração.

Algoritmos Genéticos - Capítulo 1510 Island Migração Migração

Algoritmos Genéticos - Capítulo 1511 Island Algoritmo Algoritmo Passo 1Defina um modelo adequado para resolver o problema; Gere aleatoriamente uma população de indivíduos e divida-os entre as várias subpopulações. Defina uma estrutura de vizinhança entre as subpopulações Passo 2Execute um GA comum em cada uma das subpopulações durante um certo número de gerações Passo 3Mande os melhores n indivíduos para os vizinhos Receba os melhores n de cada um deles Substitua n indivíduos da sua população pelos n recebidos de acordo com alguma estratégia pré-definida Passo 4Se o GA não tiver acabado (de acordo com padrões pré- definidos, volte para o passo 2.

Algoritmos Genéticos - Capítulo 1512 Island Escolha dos indivíduos migrantes: Escolha dos indivíduos migrantes: Escolher sempre os melhores causa convergência genética mais veloz; Escolher sempre os melhores causa convergência genética mais veloz; Idéia: escolher usando uma roleta! Idéia: escolher usando uma roleta! Escolha dos substituídos: Escolha dos substituídos: Escolher sempre os piores (elitismo) também causa convergência genética mais veloz; Escolher sempre os piores (elitismo) também causa convergência genética mais veloz; Escolher os mais parecidos com os recebidos é custoso; Escolher os mais parecidos com os recebidos é custoso; Quantidade de indivíduos que migram também é um parâmetro crítico: Quantidade de indivíduos que migram também é um parâmetro crítico: Se o número for muito grande, perde-se o efeito da evolução em separado ; Se o número for muito grande, perde-se o efeito da evolução em separado ; Um número muito pequeno de indivíduos faz com que as populações fiquem muito isoladas. Um número muito pequeno de indivíduos faz com que as populações fiquem muito isoladas.

Algoritmos Genéticos - Capítulo 1513 Finely Grained Também chamado de modelo de vizinhança (neighbouhood); Também chamado de modelo de vizinhança (neighbouhood); Difere do modelo anterior por evoluir somente uma única população; Difere do modelo anterior por evoluir somente uma única população; Cada indivíduo da população é colocada em uma cela de uma grade (ou uma hipergrade de n dimensões, se quisermos generalizar); Cada indivíduo da população é colocada em uma cela de uma grade (ou uma hipergrade de n dimensões, se quisermos generalizar); Operadores genéticos só são aplicados sobre indivíduos que sejam vizinhos nesta grade (vizinhança, ou deme, pré-definida de acordo com a estrutura da nossa hipergrade); Operadores genéticos só são aplicados sobre indivíduos que sejam vizinhos nesta grade (vizinhança, ou deme, pré-definida de acordo com a estrutura da nossa hipergrade); É importante que exista sempre alguma interseção entre as várias vizinhanças, de forma que a informação genética possa fluir por toda a população. É importante que exista sempre alguma interseção entre as várias vizinhanças, de forma que a informação genética possa fluir por toda a população.

Algoritmos Genéticos - Capítulo 1514 Finely Grained Extremamente adequado para computadores que têm uma estrutura maciçamente paralela; Extremamente adequado para computadores que têm uma estrutura maciçamente paralela; Este tipo de equipamento é eficiente na execução de atividades simples e locais Este tipo de equipamento é eficiente na execução de atividades simples e locais GA voltado para este tipo de hardware deve consistir de uma série de atividades extremamente simples que possam ser executadas simultaneamente, sem congestionar os canais de memória. GA voltado para este tipo de hardware deve consistir de uma série de atividades extremamente simples que possam ser executadas simultaneamente, sem congestionar os canais de memória.

Algoritmos Genéticos - Capítulo 1515 Finely Grained Topologia deve ser resolvida a priori: Topologia deve ser resolvida a priori: Muitos trabalhos usam grades de duas dimensões, como se fosse a superfície de um toróide, para evitar efeitos de bordas; Muitos trabalhos usam grades de duas dimensões, como se fosse a superfície de um toróide, para evitar efeitos de bordas; Pode-se usar noções de grades cúbicas ou mesmo hipergrades (de n dimensões, n 4); Pode-se usar noções de grades cúbicas ou mesmo hipergrades (de n dimensões, n 4); Existem defensores para cada uma das topologias existentes; Existem defensores para cada uma das topologias existentes; Ainda não foi comprovado, de forma consistente em múltiplos trabalhos, aumento significativo de desempenho quando se utilizam quaisquer tipos específicos de conformação espacial. Ainda não foi comprovado, de forma consistente em múltiplos trabalhos, aumento significativo de desempenho quando se utilizam quaisquer tipos específicos de conformação espacial.

Algoritmos Genéticos - Capítulo 1516 Finely Grained Algoritmo Algoritmo Passo 1Defina um modelo adequado para resolver o problema; Gere aleatoriamente uma população de indivíduos, compute sua função de avaliação e divida-os entre as células. Defina uma estrutura de vizinhança entre as subpopulações Passo 2Escolha um indivíduo na vizinhança de cada célula, reproduza o ocupante com o escolhido e coloque um dos filhos na célula em questão Passo 3Faça mutação em cada célula com probabilidade pm. Compute a função de avaliação de cada um dos novos indivíduos Passo 4Se o GA não tiver acabado (de acordo com padrões pré- definidos, volte para o passo 2.