Anda di halaman 1dari 5

Algoritmos Genticos Algoritmos Genticos

Gisele L. Pappa Tcnica mais dissiminada em EA Introduzida por Holland em 1975, e desenvolvida por um de seus estudantes, Goldberg

Algoritmos Genticos
Indivduos so strings binrias Cromossomo (indivduo) tem tamanho fixo
Genes normalmente tem tamanho fixo

Gentipo versus Fentipo


Gentipos Fentipos

Existe um mapeamento do gentipo para o fentipo

1001110 1000001 0011110 0010101 1111111


Espao de busca

78 64 30 21 127
Espao de Solues

Em alguns algoritmos evolucionrios no existe distino entre gentipo e fentipo

Algoritmos Genticos
Operadores so aplicados sobre o gentipo O espao do problema conhecido como espao de busca, e engloba todas as solues possveis para um determinado problema

Algoritmos Genticos
Gera uma populao inicial de N strings, cada string codificando uma soluo Decodifica essas strings em solues e avalia a fitness de cada uma delas Seleciona 2 pais dentre os indivduos da populao Aplica operadores de mutao e cruzamento para criar novos filhos Repita at N filhos serem criados

Repita at condio de parada satisfeita Substitui os indivduos da populao atual por seus filhos

Exemplo
OneMax
Maximizar o nmero de 1s em um string de bits de tamanho n Definio de parmetros
N = 8 e tamanho da populao = 4

Algoritmos Genticos
Gera uma populao inicial de N strings, cada string codificando uma soluo Decodifica essas strings em solues e avalia a fitness de cada uma delas Seleciona 2 pais dentre os indivduos da populao Aplica operadores de mutao e cruzamento para criar novos filhos Repita at N filhos serem criados

Gerar populao inicial


Atribuir aleatoriamente 1s e 0s a todos os locus

Repita at condio de parada satisfeita Substitui os indivduos da populao atual por seus filhos

Calcular o valor da fitness


Contar o nmero de 1s

Seleo Proporcional a Fitness (Roleta)


Considere a fitness de um indivduo i como sendo fi Fitness mdia da populao pode ser calculada como Indivduo j pode ser selecionado com a probabilidade

Seleo Proporcional a Fitness (Roleta)

12

Seleo Proporcional a Fitness (Roleta)


Rodo a roleta

Algoritmos Genticos
Gera uma populao inicial de N strings, cada string codificando uma soluo Decodifica essas strings em solues e avalia a fitness de cada uma delas Seleciona 2 pais dentre os indivduos da populao Aplica operadores de mutao e cruzamento para criar novos filhos Repita at N filhos serem criados

11 0 9

Repita at condio de parada satisfeita Substitui os indivduos da populao atual por seus filhos

Operadores Genticos
Cruzamento de um ponto (de acordo com probabilidade definidas pelo usurio)
Padro para GAs Probabilidades altas (70-99%) Ponto de cruzamento escolhido aleatoriamente

Operadores Genticos
Outro tipo de crossover: Crossover Uniforme
Cada gene trocado de acordo com uma probabilidade pc

Pais X1 X2 X3 X4 X5 X6 Y1 Y2 Y3 Y4 Y5 Y6
No exite bias posicional

Filhos X1 Y2 X3 Y4 Y5 X6 Y1 X2 Y3 X4 X5 Y6

Em crossover de um ponto a probabilidade de genes vizinhos serem trocados ao mesmo tempo muito maior do que a de genes distantes serem trocados ao mesmo tempo

Operadores Genticos
Mutao uniforme
Baixa probabilidade em sistemas naturais os efeitos da mutao podem ser destruidores Calcula a probabilidade de trocar cada um dos genes (bits) do cromossomo

Algoritmos Genticos
Gera uma populao inicial de N strings, cada string codificando uma soluo Decodifica essas strings em solues e avalia a fitness de cada uma delas Seleciona 2 pais dentre os indivduos da populao Aplica operadores de mutao e cruzamento para criar novos filhos Repita at N filhos serem criados

Repita at condio de parada satisfeita Substitui os indivduos da populao atual por seus filhos

Substituio da populao atual pela nova


Populao atual

Papel dos operadores na Evoluo


Seleo
Guia o algoritmo para reas promissoras do espao de busca

Crossover
Muda o contexto de informao til j disponvel

Mutao
Nova populao Introduz inovao

Conflito entre o papel da seleo e do crossover e mutao?????

Seleo dos Indivduos


Equilbrio entre explorar (crossover e mutao) o espao de busca e se restringir aos indivduos com boas fitness (seleo) Seleo pode determinar esse equilbrio
Presso seletiva (selective pressure)

Problemas da seleo por roleta


Alta presso seletiva no incio da evoluo
Leva a convergncia prematura do algoritmo

Baixa presso seletiva no fim da evoluo


Valores de fitness similares Probabilidades de seleo uniformes Um soluo um pouco melhor favorecida

A fase de seleo determina a velocidade em que a evoluo vai ocorrer


uma consequncia da competio

Exige computao de estatsticas globais

Seleo por Ranking


Ordena os indivduos por fitness Calcula a probabilidade do indivduo ser selecionado de acordo com seu lugar no ranking
Quanto maior o ranking maior a probabilidade de seleo

Seleo por Torneio


Um pequeno subconjunto de k indivduos retirado aleatoriamente da populao, e o melhor indivduo desse subconjunto selecionado (vencedor do torneio)
k = tamanho do torneio

Quanto maior o valor de k, maior a presso seletiva


Presso seletiva pode ser facilmente regulada No depende de uma estatstica global
Acelara evoluo Torna paralelizao mais fcil

Resolve a maioria dos problemas da seleo da roleta, mas ainda depende de estatsticas globais

Tornou-se um dos mtodos mais comuns, com k = 2

Seleo dos Indivduos


Problema: o melhor indivduo de uma gerao pode morrer sem se reproduzir (devido ao processo de seleo probabilstica) Soluo: elitismo
O melhor indivduo de cada gerao copiado sem alterao para a prxima gerao (elitismo complementa outras tcnicas de seleo)
Fitness do melhor indivduo

Avaliando a Performance de um GA
Nunca tire concluses a partir de uma execuo
Rode o GA vrias vezes
Para problemas simples idealmente pelo menos 30

Utilize medidas estatstica (mdias, medianas, devio padro, etc) Salve o maior nmero de informaes possveis sobre sua populao
Mdia, Melhor e Pior fitness a cada gerao Diversidade, etc

Sem elitismo

Fitness do melhor indivduo

Com elitismo

Desenhe grficos para acompanahar o progresso dessas variveis Compare com um algoritmo de busca aleatria

Gerao

Gerao

Pontos Importantes em GAs


Decises de Design
Representao do Indivduo Mtodo de seleo (quanta presso seletiva?) Escolha dos operadores de mutao e crossover Tamanho da populao Nmero de geraes fixas ou outro critrio de parada? Probabilidades de crossover e mutao Busca local Nichos e Espcies Co-evoluo

Agradecimentos
Alguns desses slides foram retirados das notas de aula de Alex A. Freitas e Michael ONeil

Tpicos avanados

Leitura Recomendada

Anda mungkin juga menyukai