Algoritmos Genéticos

Tamanho: px
Começar a partir da página:

Download "Algoritmos Genéticos"

Transcrição

1 Algoritmos Genéticos Adriano Joaquim de Oliveira Cruz Universidade Federal do Rio de Janeiro Maio 2013 Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

2 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Sorte! Nas minhas investigações debaixo do sol, vi ainda que a corrida não é para os ágeis, nem a batalha para os bravos, nem o pão para os prudentes, nem a riqueza para os inteligentes, nem o favor para os sábios: todos estão à mercê das circunstâncias e da sorte. Eclesiastes 9,12 Adriano Cruz (DCC-UFRJ) AGs Maio / 155

3 Bibliography Adriano Joaquim de Oliveira Cruz. Apresentação Algoritmos Genéticos. Andries P. Engelbrecht. Computational Intelligence: An Introduction. John Wiley & Sons, Ltd, West Sussex, England, Adriano Cruz (DCC-UFRJ) AGs Maio / 155 O Problema Existem problemas para os quais algoritmos rápidos não são conhecidos. Encontrar a solução é buscar em um espaço onde vivem potenciais soluções a que melhor resolve o nosso problema. Quando este espaço é muito grande, encontrar a melhor solução pode levar tempo demais É possível obter soluções aproximadamente ótimas usando algoritmos probabilísticos. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

4 O que são? Técnica prática e robusta de busca e otimização. Baseados nos conceitos da seleção natural. É um método estocástico de busca. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplos de Problemas Encontrar o máximo (mínimo) de uma função. Encontrar um bom conjunto de regras para um sistema nebuloso. Encontrar o melhor agente para atuar como jogador digital. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

5 A Metáfora A metáfora que está por trás dos AGs é a da seleção natural. Na natureza, o problema de cada espécie é o de encontrar as melhores adaptações que a façam sobreviver em um ambiente complicado, muitas vezes hostil e que está sempre mudando. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Evolução Há na natureza evolução no sentido de melhoria? Evolução pressupõe caminhar em direção a um indivíduo ideal. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

6 Adaptação Não seria mais apropriado falar em melhor adaptação ao ambiente? Na natureza sobrevivem não os mais evoluídos e sim os mais adaptados a um determinado ambiente. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

7 Adaptação O conjunto de características de um indivíduo, que o distingue dos demais, determina sua capacidade de sobrevivência. Estas características são determinadas pelo seu material genético. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Mecanismos Na natureza a competição por recursos escassos em ambientes hostis ou que se alteram faz com que os mais aptos sobrevivam e consigam se reproduzir. Através da reprodução com parceiros os genes destes indivíduos são então transmitidos aos seus descendentes. Este processo contínuo de seleção e reprodução dos mais aptos pode conduzir a indivíduos cada vez mais adaptados. Este processo é denominado seleção natural. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

8 Seres Vivos - Cromossomos Cadeias organizadas de ADN (DNA) e proteínas encontrados nas células Contém informações que permitem a geração de um novo ser. É uma peça de ADN contendo diversos genes, elementos reguladores e outras sequências de nucleotídeos. A palavra cromossomo vem do grego chroma (cor) e soma (corpo) devido a propriedade de poder ser tingido facilmente. (fonte wikipedia) O conjunto de cromossomos que descrevem um organismo é o seu genoma. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seres Vivos - Cromossomos Cromossomos vêm em pares. Seres humanos têm 23 pares de cromossomos. Burros têm 31 pares e carpas 51 Cada gene corresponde a uma região do DNA que possui uma posição específica no cromossomo. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

9 Seres Vivos - Cromossomos A T G C G A T G C G Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seres Vivos - Proteínas Proteínas são a base de funcionamento das células. São compostas por cadeias de aminoácidos. Responsáveis por praticamente todo o trabalho realizado dentro das células. Exemplos de proteínas: enzimas, hemoglobina, certos hormônios. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

10 Seres Vivos - Genes Responsáveis por características específicas de cada ser. Podem assumir diferentes valores (alelos). Diferentes combinações de valores (genótipos) levam a diferenças em características do ser (fenótipos). Por exemplo, dois genes para olhos castanhos (fenótipo castanho), dois genes para olhos verdes (fenótipo verde), um gene para olhos verdes e outro para olhos castanhos (depende de como eles trabalham juntos). Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Aproximação do funcionamento DNA armazena informação genética nos indivíduos. Proteínas são as trabalhadoras celulares. Uma sequência de DNA contém toda a informação necessária para se autoreplicar. Esta sequência é transcrita em RNA e posteriormente transcrita em uma proteína. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

11 Seres Vivos - Reprodução Cromossomos são encontrados em pares. Indivíduos possuem duas cópias de seus genes (reprodução sexuada). Gametas produzidos durante a fertilização possuem um representante de cada par. Gametas de dois indivíduos se unem para formar um novo indivíduo. Durante a produção dos gametas: Recombinação: troca de parte das cadeias de um par Mutação: alteração em uma ou mais posições dos cromossomos. A taxa de mutação é muito baixa devido aos mecanismos de correção embutidos no processo. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Genética e Seleção Operadores de recombinação e mutação não garantem que os cromossomos dos filhos sejam exatamente iguais aos dos pais, mas sim uma combinação com possíveis alterações. Estas alterações podem ser benéficas ou não. Indivíduos que forem mais bem adaptados poderão mais facilmente repassar suas características. Deste modo a evolução gera maior adaptabilidade. proteína. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

12 Seres Vivos - Recombinação A G C C G M G A T T A F A G T T A C1 G A C C G C2 Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Variações de Estratégias Algoritmos Genéticos: baseados na evolução (adaptação) genética. Programação Genética: baseados em algoritmos genéticos, mas os indivíduos são programas. Programação Evolucionária: deriva da simulação do comportamento adaptativo em evolução (evolução fenótica). Co-evolução: Evolução em que indivíduos evoluem através de cooperação, ou competição entre si. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

13 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Cromossomo Indivíduos representam soluções potenciais em uma população. Em AG um indivíduo é representado por um único cromossomo. Usualmente, cada possível solução é codificada como uma cadeia de bits, o cromossomo ou genótipo. Cada parâmetro codificado na solução é chamado de um gene. F(x,y,z) Gene X Gene Y Gene Z Adriano Cruz (DCC-UFRJ) AGs Maio / 155

14 População AGs mantém um conjunto de indivíduos formando populações de soluções. Indivíduos devem ser avaliados segundo uma função de aptidão. Indivíduos mais aptos terão mais chances de propagar sua informação genética. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Gerações A cada geração o AG cria uma nova população. Esta criação de indivíduos é baseada em operadores genéticos. A evolução de uma geração para outra é feita em três fases: avaliação da aptidão, seleção dos mais aptos e reprodução. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

15 O Algoritmo Básico início Gera população inicial P i = 0 enquanto condição de parada não satisfeita faça Avalie cada indivíduo da população Cria espaço para nova população NP = enquanto NP P faça Seleciona pais a partir de P Recombine pais e gere filhos Aplique mutação nos filhos Insira filhos em NP fim enqto P NP i = i + 1 fim enqto Retorne melhor indivíduo de P como solução fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Componentes de um AG Uma representação das soluções potenciais. Uma forma de criar a população inicial. Uma função de avaliação que faz o papel do ambiente e ordena as soluções por um critério de qualidade. Operadores genéticos que geram e alteram a composição dos filhos gerados. Valores para os vários parâmetros: tamanho da população, probabilidades de aplicação dos operadores, número de gerações etc. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

16 Por que AG Paralelo: mantém uma população de soluções que podem ser avaliadas simultaneamente. Global: AGs não usam somente informações locais, logo não necessariamente ficam presos em máximos locais. Não totalmente aleatório: usam informações da população atual para determinar o próximo estado de busca. Não afetados por descontinuidades: não usam informações de derivadas nem necessitam informações de seu entorno. Funções: Lidam com funções discretas e contínuas. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

17 Codificações de uma Solução A codificação pode, por exemplo, mapear pontos no espaço de soluções em cadeias de bits. Codificações são maneiras de traduzir o conhecimento sobre o problema para o ambiente dos AGs. Considere f(x 0,x 1,x 2 ) e que x 0 = 3, x 1 = 1, x 2 = 0 O cromossomo de 12 bits com genes de 4 bits poderia ser Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Codificação Binária de uma Solução Considere uma função f(x) de v variáveis, ou seja x = (x 0,x 1,x 2,...,x v 1 ) onde x i R. Considere uma codificação binária que usa n bits para representar um valor real. Este esquema converte o indivíduo x = (x 0,x 1,x 2,...,x v 1 ) em b = (b 0,b 1,b 2,...,b v 1 ) onde b i = (b 0 b 1...b n 1 ) e b i {0,1}. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

18 Acurácia da Codificação Binária Considere que uma variável x é codificada em 16 bits. Considere que esta variável pode assumir valores entre x min = 0 e x max = 2 inclusive. A codificação divide o intervalo [0,2] em pedaços. Neste caso a máxima acurácia é De maneira geral a acurácia máxima neste tipo de codificação é x max,d x min,d 2 n d 1 d é uma das dimensões do espaço do problema. n d número de bits usado para codificar a dimensão d Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Quantos Bits? Suponha que precisamos de D casas decimais. Seja T o tamanho do intervalo. Seja uma representação binária com n bits. Portanto: 2 (n 1) < T 10 D < 2 n Exemplo: D = 6 e T = = 2 21 < < 2 22 = Neste caso o número de bits deve ser 22. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

19 Conversão para Real Considere uma variável x. Intervalo: [x min...x max ]. Representação com n bits: b = [b 0 b 1... b n 1 ] x = b convertido para inteiro. x = n 1 i=0 b i 2 n 1 i x = Φ(b) x = x min + x (x max x min ) (2 n 1) Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplo Duas variáveis x 1,x 2. Intervalo: x 1 [ 2,2] e x 2 [0,1]. Representação usa 6 bits. Cromossomo = b x1 = e b x2 = x 1 = 3 e x 2 = 51 x 1 = ( 2) = x 2 = = Adriano Cruz (DCC-UFRJ) AGs Maio / 155

20 Problemas com Binários Representação binária pode introduzir problemas quando testamos soluções. Considere por exemplo as representações de 7 e 8 com 4 bits: 0111 e A distância de Hamming entre os dois números é 4. Uma pequena mudança na variável deveria deveria resultar em pequena mudança na representação. Neste caso quatro bits devem ser modificados para uma pequena modificação na representação. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Código Gray I No código Gray somente um bit é alterado entre dois números sucessivos. Conversão de binário para gray é simples. b 0...b n 2 b n 1 = g 0 g 1...g n 1 g 0 = b 0 g i = (b i 1 b i ) ( b i 1 b i ) = b i b i 1 Adriano Cruz (DCC-UFRJ) AGs Maio / 155

21 Código Gray II Binário Gray Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Conversão Gray para Binário g 0 g 1... g n 1 = b 0 b 1...b n 1 b 0 = g 0 b i = (b i 1 ḡ i ) ( b i 1 g i ) = b i 1 g i Adriano Cruz (DCC-UFRJ) AGs Maio / 155

22 Outras Representações Reais. Inteiros. Permutações. Estados Finitos. Árvores. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

23 População Inicial Uma estratégia simples é gerar a população inicial aleatoriamente. O tamanho da população deve ser grande o suficiente para permitir variabilidade genética sem atrapalhar o desempenho. Em algumas soluções várias populações são criadas. Estas populações podem evoluir paralelamente de forma cooperativa ou não. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 População: Observações Grande número de individuos aumenta a diversidade, portanto permite explorar melhor as habilidades da população. Grandes populações exigem maior poder computacional. O maior tempo gasto em cada geração pode ser compensado pelo menor número de gerações para atingir o objetivo. Populações menores representam um pedaço menor do espaço de soluções. Em populações menores pode ser necessário aumentar a taxa de mutação para permitir a exploração de um espaço maior. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

24 Avaliação da Aptidão O primeiro passo após gerar uma população de soluções e calcular a aptidão de cada solução. Ela deve procurar abarcar todo o conhecimento que se possui sobre o problema, já que é a única ligação com a realidade. A função de aptidão f mapeia um cromossomo em um valor escalar. f : C n R, onde C n representa os dados contidos em um cromossomo com n dimensões. Esta função representa a função objetivo Ψ, que descreve o problema de otimização a ser resolvido. No caso de uma representação binária isto é feito em etapas. Temos: f : {0,1} n Φ R n Ψ Υ R R+ Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Função de Aptidão A função de aptidão fornece uma avaliação absoluta de cada um dos indivíduos da solução. Em alguns problemas uma função que permita a avaliação absoluta não existe, por exemplo aprendizado em jogos. Neste caso são usadas funções que permitem avaliações relativas dos indivíduos. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

25 Tipos de Problemas de Otimização Otimização sem Restrições: A função de aptidão é simplesmente a função objetivo. Otimização com Restrições: A função de aptidão contém duas funções. Uma é a função objetivo original e a outra uma função de restrição. Multi-Objetivo: Podem ser resolvidos usando-se uma função de agregação ponderada dos resultados das várias sub-funções objetivo. Problemas Dinâmicos e Ruidosos: Problemas em que os valores da função variam com o tempo ou apresentam ruído adicionado. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

26 Seleção Após a avaliação deve-se gerar uma nova população a partir da atual. A seleção escolhe que indivíduos participarão deste processo. Na seleção proporcional a probabilidade de um indivíduo ser selecionado é função direta da sua aptidão. No entanto, mesmo os menos aptos devem ter a possibilidade de passarem para a próxima geração suas características. Existem diversos métodos de seleção. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Pressão Seletiva Pressão seletiva está relacionado com o tempo necessário para que uma população uniforme seja gerada. É definida pela velocidade com que os genes da melhor solução levam para se espalhar por toda a população quando somente o operador de seleção é aplicado. Um operador com alta pressão seletiva diminui com rapidez a diversidade genética da população. Portanto, limita a capacidade do algoritmo explorar o espaço de soluções. Isto pode levar a convergência para mínimos locais. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

27 Exemplo Considere a função y = x 2 no intervalo [0,15]. Considere uma representação com 4 bits. Sabemos que o máximo está em 15 ou b = Considere a população: b 0 = 0001 com y = 1 b 1 = 0011 com y = 9 b 2 = 0100 com y = 16 b 3 = 0110 com y = 36 Os dois melhores indivíduos b 2,b 3 não contém uma boa característica que é o bit mais à direita igual a 1. Se somente os dois melhores fossem escolhidos para reprodução não chegaríamos a solução. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seleção Aleatória É o método mais simples. Cada indivíduo x i (t) tem a mesma probabilidade de ser escolhido ϕ s (x i (t)) = 1 n, onde n é o tamanho da população e x i(t) é o indivíduo i na iteração t. Nenhuma informação sobre a avaliação de cada indivíduo é usada. Este método é o que tem a menor pressão seletiva. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

28 Seleção Proporcional a Avaliação Proposta por Holland. Cria uma distribuição de probabilidades proporcional a avaliação de cada indivíduo. Indivíduos são escolhidos com base na distribuição. ϕ s (x i (t)) = f Υ (x i (t)) n 1 l=0 f Υ(x l (t)) ϕ s (x i (t)) é a probabilidade de x i (t) ser escolhido. f Υ (x i (t)) é uma função de avaliação para o indivíduo x i (t) escalada para produzir um valor real positivo. O tempo t refere-se a iteração, ou geração, t do algoritmo genético. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Funções de Distribuição Proporcional I Em problemas de minimização uma função possível seria f Υ (x i (t)) = f max f Ψ (x i (t)) onde f Ψ (x i (t)) = Ψ(x i (t)) a própria função de avaliação. No entanto, nem sempre o valor f max é conhecido. Uma alternativa é usar f max (t), que é o máximo valor de f até a geração t. Outra função possível é: f Υ (x i (t)) = 1 1+f Ψ (x i (t)) f min Neste caso f Υ (x i (t)) (0,1] Adriano Cruz (DCC-UFRJ) AGs Maio / 155

29 Funções de Distribuição Proporcional II No caso de maximização as funções seriam: A função escalável entre (0,1] é f Υ (x i (t)) = f Ψ (x i (t)) f min f Υ (x i (t)) = 1 1+f max f Ψ (x i (t)) Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Funções de Distribuição Proporcional III Uma função bastante usada é: f Υ (x i (t)) = f Ψ (x i (t)) onde f Ψ (x i (t)) = Ψ(x i (t)) a própria função de avaliação. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

30 Roleta na Seleção Proporcional A roleta é um método de seleção proporcional. Cada cromossomo recebe uma fatia proporcional à sua avaliação. Ao girar a roleta o selecionado será o indivíduo sobre o qual bolinha da roleta parar. Indivíduos com fatias maiores têm mais probabilidade de serem escolhidos. Indivíduos selecionados continuam no sorteio. Portanto, indivíduos podem ser escolhidos mais de uma vez. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Criando a Roleta Calcular a avaliação de cada indivíduo, f Υ (x i (t)) Calcular a avaliação total da população, S = n 1 l=0 f Υ (x l (t)) Calcular a probabilidade da seleção de cada indivíduo ϕ s (x i (t)) = f Υ (x i (t)) n 1 l=0 f Υ(x l (t)) Calcular a probabilidade cumulativa para cada indivíduo Θ s (x i (t)) = n 1 l=0 ϕ s (x l (t)) Adriano Cruz (DCC-UFRJ) AGs Maio / 155

31 Exemplo de Roleta x f Ψ (x i (t)) f Ψ (x i (t)) f min ϕ s (x i (t)) Θ s (x i (t)) Obs. Considere que f min = 0.5 Adriano Cruz (DCC-UFRJ) AGs Maio / 155 A Roleta x ϕ s (x i (t)) Adriano Cruz (DCC-UFRJ) AGs Maio / 155

32 Rodando a Roleta Entrada: ϕ s (x i (t)) para i = 0...n 1 Saída: Índice i do indivíduo escolhido início i = 0 soma = ϕ s (x i (t)) r = rand() enquanto soma < r faça i = i + 1 soma = soma+ϕ s (x i (t)) fim enqto Selecione indivíduo i fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplo de Seleção através da Roleta Considere que o valor r sorteado foi Então o valor selecionado foi 2.0. x f Ψ (x i (t)) f Ψ (x i (t)) f min ϕ s (x i (t)) Θ s (x i (t)) Adriano Cruz (DCC-UFRJ) AGs Maio / 155

33 Problemas com Roletas Pode acontecer do melhor indivíduo da população não ser escolhido para gerar filhos. Como a seleção é baseada na aptidão de cada indivíduo, pode ocorrer que indivíduos fortes dominem a produção de filhos. Portanto, a seleção proporcional tem uma grande pressão seletiva. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seleção por Amostragem Estocástica Para evitar estes problemas Baker propôs um algoritmo de amostragem estocástico. Este algoritmo determina o número de filhos que cada indivíduo irá gerar. J. E. Baker. Reducing Bias and Inefficiency in The Selection Algorithm. In J. Grefenstette, editor, Proceedings of the Second International Conference of Genetic Algorithms, pages 14-21, Hillsdale, N. J. 1987, Erlbaum. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

34 Algoritmo Estocástico de Seleção Universal Entrada: ϕ s (x i (t)),λ total filhos a serem gerados Saída: λ i número de filhos que cada indivíduo pode gerar início para i = 0,...,n 1 faça λ i (t) = 0 fim para r = rand(0, 1 λ ) soma = 0.0 para i = 0,...,n 1 faça soma = soma+ϕ s (x i ) enquanto r < soma faça λ i ++ r = r + 1 λ fim enqto fim para Retorne λ = (λ 0,...,λ n 1 ) fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seleção por Torneio Selecionar aleatoriamente um subconjunto dos indivíduos da população. Competição entre estes indivíduos para ver quem ganha o direito de gerar filhos. Tamanho do torneio (k) é o número de indivíduos que irão competir. Dentre os selecionados o que tiver a melhor avaliação é o selecionado. Para cruzamento entre dois pais, este processo deve ser repetido duas vezes. Este processo de torneio, seleção e cruzamento é repetido até completar a população. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

35 Pressão Seletiva no Torneio Os k indivíduos em um torneio podem ser todos iguais. Este método diminui o favorecimento para os melhores indivíduos devido ao sorteio para entrar no torneio. Se k não é muito grande então o melhor indivíduo não irá dominar. Se k é muito pequeno então as chances de indivíduos ruins serem selecionados aumenta. Se k = 1 temos a seleção randômica. Se k = n o melhor indivíduo será sempre selecionado. Um problema é que o pior indivíduo somente será selecionado se ele for o único no torneio (k iguais). Se há n indivíduos a probabilidade disto ocorrer é 1 n k. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Comparando Probabilidades de Escolha I Vamos considerar o exemplo abaixo. Indivíduo f Ψ (x i (t)) ϕ s (x i (t)) (em %) x x x x x x x x total Adriano Cruz (DCC-UFRJ) AGs Maio / 155

36 Comparando Probabilidades de Escolha II Considere K = 2 para n = 8. Existem 64 combinações possíveis. Com o x 6 (o melhor) e outro indivíduo ele ganhará em 14 possibilidades (x 6, 7 outros) + (7 outros, x 6 ) Com o par (x 6,x 6 ) ele ganhará uma vez. Portanto, temos a probabilidade de = 23.48% Valor menor que na roleta, que é igual a 53.1%. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seleção Baseada na Classificação Indivíduos são colocados em ordem de acordo com sua função de aptidão. A probabilidade de seleção é baseada nesta ordem e não nos valores absolutos das aptidões. Uma possível vantagem é que o mais apto não domina o processo de seleção. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

37 Seleção não Determinística Baseada na Classificação Indivíduos são colocados em ordem de acordo com sua função de aptidão. O indivíduo x i é selecionado de acordo com a função i rand(0,rand(0,n 1)) O melhor indivíduo assume a classificação 0 e o pior a n 1. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Seleção Baseada em Classificação Linear Os n indivíduos são colocados em ordem de acordo com sua função de aptidão. Na seleçao por classificação linear é assumido que a pressão seletiva τ pode variar entre [ ]. Para calcular a probabilidade de cada indivíduo ser selecionado podemos usar a fórmula ϕ((x) i (t)) = 2 τ + 2(τ 1)f c(x i (t)) n 1 n onde f c (x i (t)) é a classificação de x i (t) o melhor classificado tem classificação n 1 e o pior 0. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

38 Probabilidade de Seleção na Classificação Linear Cada uma das curvas foi gerada com uma pressão seletiva. Para pressão seletiva 1 a probabilidade é igual para todos. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Elitismo Modificação no algoritmo de geração da população. Os n melhores indivíduos de cada geração são levados para a próxima geração. Por exemplo, em uma população de p indivíduos com elitismo n somente p n indivíduos precisam ser gerados por cruzamentos. Quanto mais indivíduos sobrevivem para a próxima geração menor será a diversidade genética na próxima geração. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

39 Galeria da Fama Guarda os melhores jogadores de cada geração. A galeria da fama pode ser usada como fonte de bons cromossomos durante o processo de cruzamento. Na última geração o melhor indivíduo na galeria da fama corresponde a melhor solução. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

40 Cruzamento Cruzamento é o operador genético aplicado aos pais selecionados para gerar os filhos. Deste cruzamento espera-se que as boas características de prévias gerações sejam passadas as próximas. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Tipos de Cruzamento Assexuada: o filho é gerado a partir de um pai. Sexuada: dois pais são usados para produzir o filho. Multi-recombinação: o filho é gerado a partir de mais de dois pais. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

41 Seleção dos Pais Pais são selecionados usando um dos esquemas existentes. Cruzamento é aplicado com um critério probabilístico. Cada par de pais tem uma probabilidade p c de gerar filhos. Usualmente a probabilidade de cruzamento é alta. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Ponto de Corte em Representações Binárias Vamos considerar cromossomos binários. Pais são selecionados para gerar os filhos. Ponto de corte é uma posição no cromossomo onde este será separado para ser ligado no cromossomo do outro pai. Cromossomos podem ser cortados de diversas maneiras. Cruzamentos com um ponto de corte único é o modo mais comum. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

42 Exemplo de Cruzamento em um Ponto Considere os dois indivíduos abaixo, cada um com 8 bits (7 até 0). Considere um ponto de corte no bit 5. Pais Filhos X X Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Algoritmo de Cruzamento Entrada: Cromossomos pais b 1 e b 2 Saída: Cromossomos filhos ~ b 1 e ~ b 2 início /* somos como nossos pais */ ~ b1 = b 1 ~ b2 = b 2 se rand() < p c então m = GerarMascaraBinaria() para i = 0 até i < n faça se m(i) = 1 então /* Troca bits */ ~ b1 (i) = b 2 (i) ~ b2 (i) = b 1 (i) fim se fim para fim se fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155

43 Geração de Máscara em Cruzamentos com um Ponto Saída: Máscara m para cruzamento início // Seleciona ponto de cruzamento entre 0 e n 1 c = rand(0, n 1) // Zera n bits da máscara m(i) = 0, i = 0...n 1 para i = c + 1 até i < n faça m(i) = 1 fim para fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Cruzamento em dois pontos I Existem alguns esquemas interessantes que o cruzamento em um ponto não consegue preservar. Considere que a solução de um problema, codificada em 8 bits tem o seguinte esquema: 1******1 Um operador de cruzamento em um ponto irá separar estes bits. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

44 Cruzamento em dois pontos II Pais X Filhos 0100 X Neste exemplo podemos preservar os esquemas 10 **** 11 e 11 **** 01. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Geração de Máscara em Cruzamentos com dois Pontos Saída: Máscara m para cruzamento início // Seleciona primeiro ponto de cruzamento entre 0 e n 1 c 1 = rand(0, n 1) // Seleciona segundo ponto de cruzamento entre 0 e n 1 c 2 = rand(0, n 1) // Zera n bits da máscara m(i) = 0, i = 0...n 1 para i = c até c 2 faça m(i) = 1 fim para fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155

45 Cruzamento Uniforme Uma máscara com n bits é criada aleatoriamente. p c é a probabilidade de troca dos bits. Se p c = 0.5 tem cada bit tem uma chance igual de ser trocado. Algoritmo para gerar a máscara no cruzamento uniforme. início //Zera os n bits da máscara m(i) = 0, i = 0...n 1 para i = 0 até i < n faça se rand() p c então m(i) = 1 fim se fim para fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplo de Cruzamento Uniforme Pais Máscara Filhos Adriano Cruz (DCC-UFRJ) AGs Maio / 155

46 Representação em Ponto Flutuante Números em ponto flutuante são usados para representar os indivíduos. Esta forma pode ser mais rápida e mais precisa. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Operador de Cruzamento I Considerar dois pais x 1 e x 2. Gerar três candidatos: x 1 + x x 1 0.5x x x 2. Escolher os dois melhores candidatos. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

47 Operador de Cruzamento II Considerar dois pais x 1 e x 2. x 2 deve ser melhor que x 1, ou seja f(x 2 ) > f(x 1 ) se for para achar máximo de f. ~x i = rand()(x 2 x 1 )+x 2 Operador direcional, sempre ~x i > x 2. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Operador de Cruzamento III - Cruzamento Aritmético Este é um operador que combina vários pais. Vamos considerar l pais. onde ~x i = l 1 k=0 l 1 k=0 γ k x k γ k = 1 No caso de l = 2 temos ~x i = γx 1 +(1 γ)x 2. Se γ = 0.5 então o filho é a média aritmética dos dois valores. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

48 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Por que? Filhos podem ultrapassar seus pais caso herdem as melhores características de cada pai. E se os indivíduos atuais não contém os genes da solução? Será que temos os genes para telepatia? A ideia é aumentar a diversidade genética da população. Evita que a população entre em estagnação. O valor da probabilidade da mutação deve ser muito baixo para evitar que boas soluções sejam muito distorcidas. Cuidado deve ser tomado para evitar que a mutação gere um cromossomo inválido. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

49 Problemas Mutação é capaz de alterar os cromossomos gerados por cruzamento. Para representações binárias a troca faz com que o valor passe de 0(1) para 1(0). A maneira mais comum é trocar o valor do gene com uma probabilidade baixa (taxa de mutação) p m. Cada gene do cromossomo deve ser testado para verificar se pode ocorrer uma mutação. O valor da probabilidade da mutação deve ser muito baixa para evitar que boas soluções sejam muito distorcidas. A probabilidade que um indivíduo x i de n genes sofra mutação é igual P(x i ) = 1 (1 p m ) n Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Mutações em binários Uniforme: posições de bits são escolhidas e estes bits são complementados ou não com um probabilidade p m. Ordenadamente: dois pontos do cromossomo sao escolhidos aleatoriamente e somente os bits entre estes dois limites podem sofrem mutação. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

50 Algoritmo para Mutação Uniforme Entrada: Novo indivíduo ~ b i Saída: Novo indivíduo b i após sofrer mutação uniforme início para j = 0 até n 1 faça se rand() p m então // complementa bit b i (j) = b i (j) fim se fim para fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Algoritmo para Mutação Ordenada Entrada: Novo indivíduo ~ b i Saída: Novo indivíduo b i após sofrer mutação uniforme início // Seleciona primeiro ponto de mutação entre 0 e n 1 t 1 = rand(0, n 1) // Seleciona segundo ponto de mutação entre 0 e n 1 t 2 = rand(0, n 1) para j = t 1 até t 2 faça se rand() p m então // complementa bit b i (j) = b i (j) fim se fim para fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155

51 Mutação Uniforme em Representações Ponto Flutuante x i = { xi + rand(0,x max,i x i ) if rand() 0.5 x i rand(0, x i x min,i ) if rand() > 0.5 Entrada: Novo indivíduo x i Saída: Novo indivíduo x i após sofrer mutação uniforme início // Gera um número randômico entre 0 e 1. t = rand() se t 0.5 então x i = x i + rand(0, x max,i x i ) senão x i = x i rand(0, x i x min,i ) fim se fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

52 Condições de Parada I Limite de Gerações: o algoritmo para quando um número de gerações predefinido é atingido. Limite de Tempo: o algoritmo para quando um tempo máximo predefinido foi ultrapassado. Limite de Aptidão: o algoritmo para quando uma solução aceitável for encontrada. Considere que x (t) representa um valor aceitável de solução, se f(x i (t)) f(x (t)) ǫ o algoritmo pode parar. Se o valor de ǫ for muito pequeno então o algoritmo pode não terminar. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Condições de Parada II Sem melhor: Se durante um número determinado de gerações nenhum indivíduo supera o melhor atual então o algoritmo pode ser interrompido. Sem mudanças: Se durante um número determinado de gerações não há mudanças na informação contida nos genótipos o algoritmo pode parar. Solução não satisfatória: Se o melhor indivíduo encontrado não agrada então alternativas podem ser procuradas. Aumentar a taxa de mutação para expandir o espaço de exploração do algoritmo e tentar sair do possíve mínimo local. Aplicar a técnica do dilúvio e destruir a população atual começando do zero. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

53 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Paralelismo Algoritmos genéticos são facilmente paralelizáveis. Três categorias principais podem ser identificadas: Populações únicas com avaliação de aptidão sendo distribuída entre vários processadores. Populações únicas com cada indivíduo avaliado por um processador. Multipopulações ou algoritmos genéticos em ilhas. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

54 Ilhas Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Ilhas Adriano Cruz (DCC-UFRJ) AGs Maio / 155

55 Ilhas Múltiplas populações são usadas, cada uma podendo ser resolvida em paralelo. Informação é trocada entre populações com uma política de migração definida. Este método também pode ser executado serialmente. Seleção, cruzamento e mutação ocorrem independentemente nas populações das ilhas. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Políticas de Migração Topologia da comunicação entre as ilhas. Populações isoladas dificultam troca de informações Permitem aparecimento de múltiplas soluções. Comunicação facilitada pode levar a convergência prematura. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

56 Topologias Exemplo simples: um anel. Trocas entre vizinhos. Trocas dinâmicas Origem e destino são encontrados probabilisticamente (por exemplo, torneios). Políticas de aceitação de migrantes são possíveis. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Taxa de migração Determina a frequência da migração. Também é necessário determinar quando a migração irá ocorrer. Migração usualmente ocorre quando cada população convergiu. Após a troca de indivíduos todas as populações são reiniciadas. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

57 Seleção e Substituição Quem irá migrar? Quem será substituído? Um bom migrante substitui um indivíduo ruim. Um bom migrante substitui um indivíduo qualquer. Um migrante qualquer substitui um indivíduo ruim. Um migrante qualquer substitui um indivíduo qualquer. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

58 Algoritmos Genéticos Geracionais Nos algoritmos mostrados até agora toda uma geração de indivíduos é substituída na fase de reprodução. Este tipo de estratégia para reposição de indivíduos é chamada geracional. Algoritmos Genéticos que empregam esta estratégia são chamados Algoritmos Genéticos Geracionais (AGG). Isto não é o que normalmente ocorre na natureza. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Algoritmos Genéticos de Estado Estacionário Nos algoritmos genéticos de estado estacionário (AGEE) há cohabitação entre indivíduos de gerações diversas. Uma vez que um indivíduo é gerado e sofre mutação ocorre uma decisão sobre entre a sobrevivência do novo indivíduo e algum da população atual. O grau de cohabitação é chamado de diferença entre gerações. Isto não é o que normalmente ocorre na natureza. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

59 Estratégias de Substituição Pior: o novo indivíduo substitui o pior indivíduo da população. Aleatório: o novo indivíduo substitui um indivíduo escolhido aleatoriamente da população atual. Torneio da Morte: um grupo de indivíduos é selecionado aleatoriamente e o pior indivíduo deste grupo é substituído. Torneio com Dupla: dois indivíduos são selecionados e o pior indivíduo é substituído com probabilidade, 0.5 p s 1. Substitui o mais Antigo: Substituir o indivíduo mais antigo da população. Esta estratégia tem o inconveniente de ter alta probabilidade de substituir um dos melhores. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Estratégias de Substituição Seleção Conservadora: Combina a substituição do mais antigo com o torneio com duplas. Nesta estratégia ocorre um torneio entre dois indivíduos em que um deles é sempre o mais antigo e o pior é substituído pelo novo indivíduo. Isto garante que o mais antigo não será substituído se for o melhor de todos. Pai-Filho: Uma estratégia de seleção qualquer é usada para decidir se o filho substitui um dos pais. Elitismo: As estratégias acima podem usar elitismo para evitar que os melhores indivíduos são excluídos do processo de substituição. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

60 O Algoritmo Estado Estacionário início Gera população inicial P Avalie cada indivíduo da população t = 0 enquanto condição de parada não satisfeita faça Seleciona pais a partir de P Recombine pais e gere filho Aplique mutação no filho Selecione indivíduo a ser substituído Insira filho em P t = t + 1 fim enqto Retorne melhor indivíduo de P como solução fim Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

61 Exemplo Considere o problema de achar o máximo da função y = sin(10 x) sin(x). Parâmetros: População = 20 Gerações = 30 Probabilidade de cruzamento=0.85 Probabilidade de mutação = 0.01 Bits para codificação = 8 Ex:./ex1/roda.m Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Representação Usaremos um vetor binário de 8 bits para representar os valores reais da variável x. O domínio da variável x = [0... 3] tem comprimento 3 e escolhemos uma representação com 8 bits. 8 bits dividem o domínio em fatias A conversão de vetor binário para real se faz em dois passos: Converte o vetor binário da base 2 para 10 (valor x ). Acha o valor de x: x = 0+x (3/(2 8 1)) Adriano Cruz (DCC-UFRJ) AGs Maio / 155

62 Representação: exemplo Considere x = Portanto: x = 17. Logo: x = 0+17 (3/255) = 0.2 Adriano Cruz (DCC-UFRJ) AGs Maio / 155 População inicial Considere o tamanho da população igual a 20. Gerar aleatoriamente 20 números binários com 8 bits. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

63 Exemplo de população inicial y Geracao: 1 Melhor: > Media: y = sin(10x) * sin(x) x Figura: Exemplo de população inicial. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplo de final ruim y Geracao: 30 Melhor: > Media: y = sin(10x) * sin(x) x Figura: Exemplo de final ruim. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

64 Evolução até final ruim Fitness Best Average Poorest Generations Figura: Evolução até final ruim. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Exemplo de final bom Geracao: 30 Melhor: > Media: y = sin(10x) * sin(x) y x Figura: Exemplo de final bom. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

65 Evolução até final bom Fitness Best Average Poorest Generations Figura: Evolução até final bom. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

66 Elitismo Modificação no algoritmo de geração da população. Os n melhores indivíduos de cada geração são levados para a próxima geração. Por exemplo, em uma população de p indivíduos com elitismo n somente p n indivíduos precisam ser gerados por cruzamentos. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Tabela de elitismo Elitismo = 2. Indivíduo Ação 1 Mantido 2 Mantido 3 Livre para cruzamento 4 Livre para cruzamento 5 Livre para cruzamento 6 Livre para cruzamento 7 Livre para cruzamento 8 Livre para cruzamento Adriano Cruz (DCC-UFRJ) AGs Maio / 155

67 Exemplo com elitismo População = 20, Elitismo = Geracao: 30 Melhor: > Media: y = sin(10x) * sin(x) y x Figura: Exemplo com elitismo. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Evolução com elitismo Fitness Best Average Poorest Generations Figura: Evolução com elitismo. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

68 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Função ga Encontra o mínimo de uma função usando algoritmos genéticos. Sintaxe básica: x = ga(fitnessfcn, nvars) Encontra um mínimo x local sem restrições, sujeito a função fitnessfcn. nvars é o número de variáveis da função. A função objetivo, fitnessfcn, aceita um vetor x de tamanho 1 por nvars e retorna um escalar avaliado no ponto x. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

69 Função ga completa x = ga(fitnessfcn,nvars,a,b,aeq,neq,lb,ub,nonlcon,options) Restrições: A x b, A tem tamanho m nvars e b é vetor de comprimento m. Igualdades lineares: Aeq x = beq Aeq tem tamanho r nvars e beq é vetor de comprimento r. Limites: LB e UB limites superiores e inferiores das variáveis x. Restrições não lineares definidas em nonlincon Opções: estrutura options com diversos parâmetros que definem como o algoritmo será executado. Esta estrutura pode ser criada com a função gaoptimset. Rodar ex1cmatlab.m Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Section Summary 1 Introdução 2 Termos e Definições 3 Algoritmo Genético 4 Codificação 5 População 6 Seleção 7 Cruzamento 8 Mutação 9 Condições de Parada 10 Island Genetic Algorithms 11 Separação de Gerações 12 Um exemplo simples 13 Elitismo 14 Exemplo simples com Matlab 15 Outro exemplo 16 Ambientes Dinâmicos 17 O FIM Adriano Cruz (DCC-UFRJ) AGs Maio / 155

70 Aprendendo estratégia O dilema dos prisioneiros. Dois prisioneiros em celas diferentes. Impossível se comunicarem. Cada um deles pode acusar o outro (A) ou ficar calado/cooperar (C). Resultados em Michalewicz apud Axelrod Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Punições Prêmios Jogador 1 Jogador 2 Pontos J1 Pontos J2 Comentário Acusa Acusa 1 1 Punição Acusa Coopera 5 0 Tentação Coopera Acusa 0 5 Tentação Coopera Coopera 3 3 Prêmio Adriano Cruz (DCC-UFRJ) AGs Maio / 155

71 O dilema Cada um dos prisioneiros deve decidir se deve cooperar com o outro prisioneiro ou trair e procurar uma pena menor. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Como jogar? Jogo entre dois jogadores. Em cada jogada os jogadores decidem o que fazer. Pontos são atribuídos de acordo com a tabela. Após um certo número de jogadas, o jogador com mais pontos vence. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

72 Representando as estratégias I Considerar estratégias determinísticas. Considerar os resultados das três últimas jogadas para decidir o que fazer. Desde que há 4 possibilidades temos 4x4x4=64 histórias diferentes. Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Representando as estratégias II 64 bits indicam o que fazer para cada uma história possível (acusar ou cooperar) Podemos usar seis bits para representar as três jogadas iniciais (imaginárias) para a primeira jogada. Total de 70 bits. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

73 Representando as estratégias III Possível cromossomo: AACCA...ACC Considerando o bit mais à direita como a estratégia 1 (= C cooperar) e o mais à esquerda como estratégia 70 (=A acusar). A estratégia 3 tem como próxima jogada A=acusar Esta estratégia pode estar representando a história: CC; AC; CA Adriano Cruz (DCC-UFRJ) AGs Maio / 155 Algoritmo I Escolha uma população inicial. Cada jogador recebe uma cadeia aleatória de bits (As e Cs), representando uma estratégia. Teste cada jogador para testar sua eficácia. O resultado de cada jogador é a média de todos os jogos. Selecione os jogadores que irão reproduzir. Um jogador mediano recebe um parceiro; um jogador acima de um desvio padrão acima da média recebe dois; um ruim nada. Os jogadores são casados e usa-se mutação. Assim temos uma nova geração. Adriano Cruz (DCC-UFRJ) AGs Maio / 155

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Edirlei Soares de Lima Algoritmos Genéticos Método de busca local. Boa abordagem para lidar com espaços de busca muito

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva Estratégias Evolutivas EEs Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan Estratégias Evolutivas Desenvolvidas por Rechenberg e Schwefel, e estendida por Herdy, Kursawe

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia

Leia mais

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia Elétrica INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL Aula 06 Prof. Vitor Hugo Ferreira Representação por cromossomos Codificação

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Algoritmos Genéticos Algoritmos Genéticos (AGs) constituem um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de seleção natural e reprodução genética [101]. AGs são tipicamente empregados

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Algoritmos Genéticos Conteúdo Introdução O Algoritmo Genético Binário Noções de Otimização O Algoritmo Genético com Parâmetros

Leia mais

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados Otimização Jaime Arturo Ramírez Conteúdo 1. Introdução 2. Analogia de mecanismos de seleção natural com sistemas artificiais 3. Algoritmo genético modelo 4. Um GA simples 5. Representação, genes e cromossomos

Leia mais

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Algoritmos Genéticos 1 Semestre de 2015 Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática 1 2 Introdução Darwin Naturalistas: cada espécie havia sido criada separadamente

Leia mais

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos SCC-230 Inteligência Artificial Thiago A. S. Pardo Solange O. Rezende 1 Computação Evolutiva (CE) Trata de sistemas para a resolução de problemas

Leia mais

Algoritmos Evolutivos para Otimização

Algoritmos Evolutivos para Otimização Algoritmos Evolutivos para Otimização A área de aplicação que tem recebido mais atenção é a otimização. Uma das razões é que existem uma variedade de problemas de otimização e a maioria deles sem solução

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 01 Computação Evolucionária Max Pereira Motivação Se há uma multiplicidade impressionante de algoritmos para solução de problemas,

Leia mais

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden GA Conceitos Básicos Capítulo 3 Prof. Ricardo Linden Algoritmos Evolucionários Algoritmos evolucionários usam modelos computacionais dos processos naturais de evolução como uma ferramenta para resolver

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

Leia mais

Estrutura comum dos AEs Seleção

Estrutura comum dos AEs Seleção Estrutura comum dos AEs Seleção Todos os AEs mantém uma população de tamanho m por: Utilizando uma população como fonte de pais para produzir n descendentes Reduzindo o tamanho da população expandida de

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ Otimização com Algoritmos Genéticos no MATLAB Prof. Rafael Saraiva Campos CEFET-RJ Conteúdo do Mini-Curso PARTE 1 Teoria PARTE 2 Prática Conteúdo do Mini-Curso PARTE 1 Teoria 1.1. Conceitos Básicos de

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS Metaheurísticas de Buscas ALGORITMOS GENÉTICOS (AG) Popularizados por John Holland podem ser considerados os primeiros modelos algorítmicos

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Agentes Adaptativos. Introdução

Agentes Adaptativos. Introdução Agentes Adaptativos Capítulo 6: Costa, E. e Simões, A. (2015). Inteligência Artificial Fundamentos e Aplicações, 3.ª edição, FCA. AGENTES ADAPTATIVOS 1 Introdução Os seres vivos que não se adaptam ao seu

Leia mais

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados Agenda PCS / PCS 09 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Profa. Dra. Anna Helena Reali Costa Busca Local e Problemas de Otimização. Introdução. Busca Local I. Subida da Encosta (Hill-Climbing)

Leia mais

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Busca Competitiva Para Ambientes multiagentes...

Leia mais

3 Otimização Evolucionária de Problemas com Restrição

3 Otimização Evolucionária de Problemas com Restrição 3 Otimização Evolucionária de Problemas com Restrição 3.1. Introdução Este capítulo resume os principais conceitos sobre os algoritmos evolucionários empregados nesta dissertação. Primeiramente, se fornece

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007 GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2007 Cronograma Base conceitual Exemplo: Achando o máximo de uma função... Como criar uma pequena aplicação: Exercício-Exemplo [Animal selvagem...]

Leia mais

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos Introdução a Sistemas Inteligentes Introdução aos Algoritmos Evolutivos Créditos Este material consiste de adaptações e extensões dos originais gentilmente cedidos: pelo Prof. Dr. Eduardo Raul Hruschka

Leia mais

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização Algoritmos Genéticos Otimização São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Prof. Augusto Baffa Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido.

Leia mais

3. ALGORITMOS GENÉTICOS

3. ALGORITMOS GENÉTICOS 1 3. ALGORITMOS GENÉTICOS PARTE 2 3.7 Aspectos de Implementação do Algoritmo 3.8 Seleção da Codificação 3.9 Operadores Genéticos Modificados 3.10 Outros operadores: elitismo, reinicialização e niching

Leia mais

Algoritmos Genéticos 1

Algoritmos Genéticos 1 Algoritmos Genéticos 1 Esquema de um GA Algoritmos Genéticos são um ramo da computação evolucionária Seu funcionamento pode ser resumido algoritimicamente através dos seguintes passos: Inicialize a população

Leia mais

Algoritmo Genético. Teoria da Evolução Princípio seguido pelos AGs

Algoritmo Genético. Teoria da Evolução Princípio seguido pelos AGs Algoritmo Genético Técnica de busca e otimização. Metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John Holland (1975) e seus

Leia mais

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor: Componentes de um Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros 1. PROBLEMA GAs são indicados em problemas complexos de otimização-

Leia mais

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 04 Representações e Programação Genética Max Pereira Representações A representação cromossômica é completamente arbitrária.

Leia mais

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL Miquéias Augusto Ferreira Nantes 1, Douglas Peixoto de Carvalho 1 (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp)

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros Desenvolvimento de um Algoritmo Genético Prof. Marco Aurélio C. Pacheco 1 Componentes de um Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

Leia mais

Computação Evolutiva Parte 2

Computação Evolutiva Parte 2 Computação Evolutiva Parte 2 Fabricio Breve fabricio@rc.unesp.br 29/03/2017 Fabricio Breve 1 Computação Evolutiva Evolução pode ser visto como: Processo capaz de localizar soluções para problemas oferecidos

Leia mais

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor: Componentes de um Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros 1. PROBLEMA GAs são indicados em problemas complexos de otimização-

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Algoritmos Genéticos David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Algoritmos Genéticos 2 Objetivos Introduzir os principais

Leia mais

4 Métodos Existentes. 4.1 Algoritmo Genético

4 Métodos Existentes. 4.1 Algoritmo Genético 61 4 Métodos Existentes A hibridização de diferentes métodos é em geral utilizada para resolver problemas de escalonamento, por fornecer empiricamente maior eficiência na busca de soluções. Ela pode ser

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas

Leia mais

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas para PSRs Problema de Satisfação

Leia mais

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela C o m p u t a ç ã o M ó v e l André Siqueira Ruela Sumário Revisão sobre AGs. Codificação de uma Rede Neural. AG em treinamento supervisionado. AG em treinamento não supervisionado. Revisão: Algoritmos

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação plicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada -

Leia mais

Introdução ao Algoritmo Genético

Introdução ao Algoritmo Genético Introdução ao Algoritmo Genético Sadao Massago Agosto de 2013 1 Introdução O algoritmo genético é um método de otimização bio insperado, desenvolvida por John Henry Holland em 1975. Segundo a teoria evolucionária

Leia mais

Frederico Gadelha Guimarães Departamento de Computação (DECOM) Universidade Federal de Ouro Preto (UFOP)

Frederico Gadelha Guimarães Departamento de Computação (DECOM) Universidade Federal de Ouro Preto (UFOP) Frederico Gadelha Guimarães frederico.g.guimaraes@gmail.com Algoritmos genéticos são algoritmos heurísticos que trabalham com uma população de representações abstratas (genótipo) de soluções candidatas

Leia mais

3 Computação Evolucionária

3 Computação Evolucionária 34 3 Computação Evolucionária Computação Evolucionária compreende diversos algoritmos inspirados no princípio Darwiniano da evolução das espécies e na genética. São algoritmos probabilísticos, que fornecem

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização Problemas de otimização são relacionados a minimização ou maximização de função de uma ou mais variáveis num determinado domínio, possivelmente com a existência de um conjunto de

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Aprendizado por Reforço usando Aproximação

Aprendizado por Reforço usando Aproximação Aprendizado por Reforço usando Aproximação de Funções Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aproximação de Funções 2. Do the evolution 1 Aproximação de Funções Função Utilidade

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo marcone.freitas@yahoo.com.br tulio@toffolo.com.br Departamento de Computação

Leia mais

Motivação Computação Evolucionária e Algoritmos Genéticos. Teoria da Evolução. Teoria da Evolução. Otimização. Algoritmos Genéticos AG

Motivação Computação Evolucionária e Algoritmos Genéticos. Teoria da Evolução. Teoria da Evolução. Otimização. Algoritmos Genéticos AG Motivação Computação Evolucionária e Algoritmos Genéticos Sabedoria da natureza aplicada à computação Eduardo J. Spinosa Adaptado por Huei Diana Lee e Newton Spolaôr...Se variações úteispara qualquer organismo

Leia mais

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Computação Evolutiva Ramo da ciência da computação que propõe um paradigma

Leia mais

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos 46 4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos Para definir a representação de um modelo para problemas de planejamento

Leia mais

Algoritmos Genéticos. Luis Martí LIRA/DEE/PUC-Rio. Algoritmos Genéticos

Algoritmos Genéticos. Luis Martí LIRA/DEE/PUC-Rio. Algoritmos Genéticos Luis Martí LIRA/DEE/PUC-Rio Baseado nas transparências dos professores: Teresa B. Ludermir (UFPE) Ricardo Linden (CEPEL) Marco Aurélio Pacheco (PUC-Rio) Conteúdo! Introdução! O Algoritmo Genético Binário!

Leia mais

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira Computação Evolutiva Aula 4 Usando AEs Prof. Tiago A. E. Ferreira Roteiro Exemplos: Problema das 8 rainhas Comportamentos Típicos dos AE CE no contexto da Otimização Global Relembrando Na Aula Passada,

Leia mais

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina: Sistemas Inteligentes if684 Germano Vasconcelos gcv@cin.ufpe.br Página da Disciplina: www.cin.ufpe.br/~îf684/ec 1 1 Algoritmos Genéticos 2 Algoritmos Genéticos n Técnicas de busca e otimização n Metáfora

Leia mais

4 Metáforas de Optimização

4 Metáforas de Optimização 4 Metáforas de Optimização O gigantesco avanço tecnológico que vem sofrendo os sistemas de computação, mais precisamente as unidades de processamento, criou a base para o uso efetivo da Inteligência Computacional,

Leia mais

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

3 Otimização Aplicada a Reconstituição de Acidentes

3 Otimização Aplicada a Reconstituição de Acidentes 27 3 Otimização Aplicada a Reconstituição de Acidentes 3.1. Otimização A otimização é uma metodologia empregada para minimizar ou maximizar uma função e geralmente são utilizados em problemas onde existam

Leia mais

Métodos de pesquisa e Optimização

Métodos de pesquisa e Optimização Métodos de pesquisa e Optimização Victor Lobo Importância para os SAD Definir o caminho a tomar depois de se ter trabalhado os dados 1ª Fase: Analisar os dados disponíveis Visualização OLAP, relatórios

Leia mais

5 Modelo Kernel PCA Genético para Ajuste de Histórico

5 Modelo Kernel PCA Genético para Ajuste de Histórico 5 Modelo Kernel PCA Genético para Ajuste de Histórico Conforme descrito na seção 3.2.2.2.1, em um estudo anterior, Sarma, Durlofsky, et al. (2007) parametrizaram o campo de permeabilidade através do Kernel

Leia mais

Algoritmos Genéticos. Indivíduos em uma população competem por recursos e parceiros. Os indivíduos mais bem sucedidos em cada competição vão produzir

Algoritmos Genéticos. Indivíduos em uma população competem por recursos e parceiros. Os indivíduos mais bem sucedidos em cada competição vão produzir Algoritmos Genéticos Algoritmos Genéticos (GA) são algoritmos de busca heurística baseados em ideias de seleção natural e genética. Dessa forma, eles representam uma forma inteligente de se fazer uma busca

Leia mais