Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer...
Transcript of Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer...
![Page 1: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/1.jpg)
Computação Evolucionária
Aurora Pozo
![Page 2: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/2.jpg)
Motivação“...Se variações úteis para qualquer
organismo devam ocorrer para que ele venha a existir, certamente indivíduos assim caracterizados terão a melhor chance de serem preservados na luta por sobrevivência; e do forte princípio de hereditariedade, eles tenderão a produzir gerações com características similares. Este princípio de preservação, eu batizei, para ser sucinto, de Seleção Natural.”
(Darwin, 1859)
![Page 3: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/3.jpg)
Ambientação
ModeloComputa-
cional
Natureza
ModeloBiológico
Teoria de Darwin
Teoria de Computação Evolucionária
![Page 4: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/4.jpg)
Sumário Computação Evolucionária
Conceitos básicos Algoritmos Genéticos Programação Genética
Diferenças fundamentais
![Page 5: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/5.jpg)
Computação Evolucionária Área da Inteligência Artificial que
engloba um conjunto de métodos computacionais inspirados na Teoria da Evolução das Espécies.
auto-organização e o comportamento adaptativo
![Page 6: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/6.jpg)
Ramos Estratégias Evolucionárias:
ênfase na auto-adaptação. O papel da recombinação é aceito, mas como operador secundário.
Programação Evolutiva: Previsão do comportamento de máquinas de estado
finitas. Algoritmos Genéticos:
Indivíduos contém um genótipo formado por cromossomos
Programação Genética Evolução de programas
![Page 7: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/7.jpg)
Evolução Natural Embora tenham origens bastante
diversas, todas essa abordagens têm em comum o modelo conceitual inicial
![Page 8: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/8.jpg)
Aplicações Grande variedade de aplicações
Otimização Indústria, solução de problemas: máquinas x
processos, alocação de recursos, rota de veiculos.
Busca Mineração de Dados, descoberta de
conhecimento em bases de dados, indução de classificadores (caracteristicas x doenças, estrutura de proteinas)
Aprendizado e adaptação
![Page 9: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/9.jpg)
Características Comuns Usam um processo de evolução
baseado em Darwin para resolver problemas computacionais de IA
Inspirados na Teoria da Evolução: os indivíduos mais adaptados sobrevivem
![Page 10: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/10.jpg)
Elementos Chaves de Algoritmos Evolucionarios Uma população de individuos A noção de fitness Um ciclo de nascimento e morte
baseados na fitness A noção de herança
![Page 11: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/11.jpg)
Visão Geral doAlgoritmo Evolucionário
população depais
população defilhos
solução
seleção
recombinação
![Page 12: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/12.jpg)
Visão Geral doAlgoritmo Evolucionário
1. Gerar uma população inicial aleatoriamente
2. Fazer até um critério de parada: selecionar indivíduos para pais (fitness) produzir filhos selecionar indivíduos para morrer
(fitness)
3. Retornar um resultado
![Page 13: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/13.jpg)
Algoritmo população inicial
pais selecionados
filhos gerados
nova população
seleção (fitness)
operadoresgenéticos
cruz repr mut
nova popcompleta?
não
sim
satisfeito c/a solução?
não
início
soluçãofim
sim
![Page 14: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/14.jpg)
Algorithmos Geneticos Holland 1960 São algoritmos de busca Objetivo: robusto, sistema
adaptativo Combinam: Sobrevivência do mais
ajustado com um estruturado, aleatorio intercâmbio de informações
![Page 15: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/15.jpg)
AG Apesar de aleatorios, AG não
funcionam unicamente com este conceito.
Eles explotam informação historica para experimentar novos pontos de busca.
![Page 16: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/16.jpg)
Terminologia Biologica Em AG são utilizados termos
biologicos como analogia com a biologia.
Cromossoma: codificação de uma possivel solução – individuo
Genes: Codifica uma caracteristica particular
Genotipo x Fenotipo
![Page 17: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/17.jpg)
Indivíduos Material genético Conjunto de atributos da solução Cada atributo uma sequência de
bits e o individuo como a concatenação das sequências de bits
Codificação binaria, códigos
![Page 18: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/18.jpg)
População Conjunto de individuos que estão
sendo cogitados como solução Populações pequenas têm grandes
chances de perder a diversidade necessária (exploração de todo o espaço de soluções)
Populações grandes perderá grande parte de sua eficiência pela demora em avaliar a função de fitness
![Page 19: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/19.jpg)
Reprodução Reprodução sexual, genes são
intercambiados entre dois pais – crossover
Os filhos são sujeitos a modificações, na qual bits elementares são mudados - mutação
![Page 20: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/20.jpg)
Função de fitness Mede a adaptação do indivíduo ou
quão boa é a solução dada por este indivíduo.
Representativa do problema: diferencie uma solução boa de uma má.
Heuristica de busca no espaço de estado
Cuidados com o custo computacional.
![Page 21: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/21.jpg)
Requisitos para usar AG Representações das possíveis soluções do problema no formato
de um código genético; População inicial que contenha diversidade suficiente para
permitir ao algoritmo combinar características e produzir novas soluções;
Existência de um método para medir a qualidade de uma solução potencial;
Um procedimento de combinação de soluções para gerar novos indivíduos na população;
Um critério de escolha das soluções que permanecerão na população ou que serão retirados desta;
Um procedimento para introduzir periodicamente alterações em algumas soluções da população. Desse modo mantém-se a diversidade da população e a possibilidade de se produzir soluções inovadoras para serem avaliadas pelo critério de seleção dos mais aptos.
![Page 22: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/22.jpg)
Figura 1 - Estrutura básica de um Algoritmo Genético
População
Avaliação de Aptidão
Seleção
Cruzamento
Mutação
Operadores genéticos
Critério de Parada ?
Retornar Melhor Indivíduo
Não
Sim
![Page 23: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/23.jpg)
Seleção O operador escolhe quais
indivíduos participarão na criação da próxima geração
![Page 24: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/24.jpg)
Exemplo
Indivíduos Fitness % Fitness10101010110101010111
12 23,08
00001001010101110010
8 15,38
00001100001011011101
9 17,31
00000110010010000010
6 11,54
11100011100010011111
12 23,08
00010101001000010000
5 9,62
Total 52 100,00
![Page 25: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/25.jpg)
Roleta
23%
15%
17%12%
23%
10%
![Page 26: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/26.jpg)
Roleta
InicioT = soma dos valores de aptidão de todos os indivíduos da populaçãoRepita N vezes para selecionar n indivíduos
r = valor aleatório entre 0 e TPercorra sequencialmente os indivíduos da população, acumulando em S o valor de aptidão dos indivíduos já percorridos Se S >= r então
Selecione o indivíduo correnteFim se
Fim RepitaFim
![Page 27: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/27.jpg)
TorneioInicio
k = 0.75Repita N vezes
Escolha 2 indivíduos da população aleatoriamenter = valor aleatório entre 0 e 1Se r < k
O melhor indivíduo é escolhidoSenão
O pior indivíduo é escolhidoFim se
Fim RepitaFim
![Page 28: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/28.jpg)
Pressão de Seleção
M pais Kfilhos
Sem sobreposição
Com sobreposição
![Page 29: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/29.jpg)
Pressão de Seleção Generações com sobreposição
Mais pressão que sem sobreposição M moderado, K=M, GA tradicionais M grande, K pequeno “steady state” GA
Estrategias de seleção (pressão decrecente) Truncação Torneio e ranking Proporcional a fitness Uniforme
Estocastica vs deterministica
![Page 30: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/30.jpg)
Problemas da Roleta Tecnicamente resulta numa
distribuição proporcional de indivíduos
Convergência muito rápida Variância quase nula
![Page 31: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/31.jpg)
Seleção por Ranking Não parametrica Os indivíduos são ordenados de
acordo com sua fitness Os offspring são alocados de
acordo ao ranking (pode ser linearmente)
![Page 32: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/32.jpg)
Reprodução Preserva caracteristicas uteis Introduz variedade e novedades Estrategias
Parentes unicos: clonar + mutuação Parentes multiplos: recombinação +
mutação
![Page 33: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/33.jpg)
Metodos de Recombinação Cruzamento: cria novos indivíduos
misturando características de dois indivíduos pais (crossover)
Copia de segmentos entre os pais Crossovers multi-ponto, dois
pontos, um ponto, uniforme e inversão
![Page 34: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/34.jpg)
Cruzamento Pai 1: 10101010110101010111 Pai 2: 00001001010101110010 Cruzamento em um ponto
10101010110101110010, 00001001010101010111
Cruzamento uniforme: os filhos são formados a partir dos bits dos pais (sorteado)
![Page 35: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/35.jpg)
Cruzamento em dois pontos
1 1 1 0 0 1 0 1
1 0 0 0 0 0 0 1
1 1 1 0
0 1 0
1
1 0 0 0
0 0 0
1
Individuo 1
Individuo 2
Descendente 1
Descendente 2
![Page 36: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/36.jpg)
Mutação Esta operação inverte
aleatoriamente alguma característica do indivíduo
Cria novas características que não existiam
Mantem diversidade na população
![Page 37: Computação Evolucionária Aurora Pozo. Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13d497959413d8dcc60/html5/thumbnails/37.jpg)
Balance Explotação-Exploração Pressão de seleção: explotação
Reduz o espaço de busca Reprodução: exploração
Expande o espaço de busca Balance
Seleção forte + taxas de mutação altas Seleçao fraca + taxas de mutação
baixas