Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... ·...
Transcript of Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... ·...
![Page 1: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/1.jpg)
Computação EvolutivaMC 906 – Prof. Anderson Rocha
![Page 2: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/2.jpg)
Organizaçãodessa aula
![Page 3: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/3.jpg)
MC906 – Prof. Anderson Rocha
Sumário
3
‣ Como resolver problemas
‣ Comp. Evolutiva (CE)
‣ Para que serve
‣ Como simular
‣ Abordagens de CE
‣ Problemas comuns
‣ Exemplos
‣ Próximos capítulos
‣ Lição
![Page 4: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/4.jpg)
Resolvendo problemas...
![Page 5: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/5.jpg)
MC906 – Prof. Anderson Rocha
Como resolver problemas
‣ Técnicas para resolver problemas classificadas em
• Métodos fortes: problemas genéricos mas operando em um mundo específico onde impera linearidade, continuidade, diferenciabilidade. Ex.: busca iterativa, gradiente etc.
5
![Page 6: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/6.jpg)
MC906 – Prof. Anderson Rocha
Como resolver problemas
‣ Técnicas para resolver problemas classificadas em
• Métodos específicos: problemas específicos em mundos específicos. Ex.: toda técnica que conduz a uma solução na forma fechada como a resolução de sistemas lineares
6
![Page 7: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/7.jpg)
MC906 – Prof. Anderson Rocha
Como resolver problemas
‣ Técnicas para resolver problemas classificadas em
• Métodos fracos: problemas genéricos em mundos genéricos. Operam em mundos não lineares e não estacionários. Não garantem eficiência total na solução
7
![Page 8: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/8.jpg)
ComputaçãoEvolutiva
![Page 9: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/9.jpg)
MC906 – Prof. Anderson Rocha
Computação Evolutiva
‣ Teoria da Evolução Natural – C. Darwin
A vida na terra é o resultado de um processo de seleção, pelo meio ambiente, dos mais aptos e adaptados, e por isso mesmo, com mais chances de reproduzir-se.
9
![Page 10: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/10.jpg)
MC906 – Prof. Anderson Rocha
Computação Evolutiva
‣ Paradigma para resolver problemas
‣ Não exige, para resolver um problema, um conhecimento prévio de uma maneira de encontrar a solução
‣ Baseada em mecanismos evolutivos da natureza: auto-organização e comportamento adaptativo
10
![Page 11: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/11.jpg)
MC906 – Prof. Anderson Rocha
Computação Evolutiva
‣ Em CE abre-se mão da garantia de obtenção de uma solução ótima para se conquistar a tratabilidade via uma ferramenta de propósito geral.
11
![Page 12: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/12.jpg)
Interessante,mas para que serve?
![Page 13: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/13.jpg)
MC906 – Prof. Anderson Rocha
CE – Motivação
‣ Podemos validar teorias e conceitos associados à biologia da evolução
‣ Podemos lidar com problemas com os quais não é possível ou é muito custoso obter uma descrição detalhada.
13
![Page 14: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/14.jpg)
MC906 – Prof. Anderson Rocha
CE – Motivação
‣ Não é necessário reiniciar todo o processo de busca de uma solução frente a pequenas mudanças nas especificações do problema. Por que?
• Refinamentos podem ser obtidos a partir da solução atual
14
![Page 15: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/15.jpg)
Como simular este comportamento?
![Page 16: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/16.jpg)
MC906 – Prof. Anderson Rocha
Idéias básicas
‣ A CE está baseada em algumas idéias básicas
• População de soluções (e.g., inicialmente aleatória) no qual os indivíduos registrem os parâmetros que descrevem uma possível solução
• Função de avaliação – julga a aptidão de cada indivíduo. Apenas atribui uma “nota”.
16
![Page 17: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/17.jpg)
MC906 – Prof. Anderson Rocha
Idéias básicas
‣ Operadores aplicados a uma dada geração para obtenção de uma próxima geração
• Seleção: permite escolher os indivíduos (rep. assexuada) ou um par deles (rep. sexuada) para gerar descendência.
• Prioridade de escolha recai sobre os mais bem avaliados
17
![Page 18: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/18.jpg)
MC906 – Prof. Anderson Rocha
Idéias básicas
‣ Operadores aplicados a uma dada geração para obtenção de uma próxima geração
• Recombinação: simula a troca de material genético entre os ancestrais, determina a carga genética dos descendentes
• Mutação: operador que realiza mudanças aleatórias no material genético
18
![Page 19: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/19.jpg)
MC906 – Prof. Anderson Rocha
Idéias básicas
‣ Adaptação: uma população inicial de soluções evolui ao longo das gerações que são simuladas no processo em direção a soluções mais adaptadas por meio dos operadores de seleção, mutação e recombinação.
19
![Page 20: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/20.jpg)
MC906 – Prof. Anderson Rocha
Indivíduos formam População
20
0 1 0 1 0
0 1 1 1 0
1 1 1 1 1
1 0 0 1 0
0 1 0 1 1
0 1 0 1 0
1 1 0 1 0
0 0 0 1 0
0 1 0 1 0
1 1 0 1 0
0 1 0 1 1
1 1 0 1 1
1
2
3
4
5
6
7
8
9
10
11
12
I I
Popula
ção
![Page 21: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/21.jpg)
MC906 – Prof. Anderson Rocha
Função de avaliação – fitness
21
0 1 0 1 0
0 1 1 1 0
1 1 1 1 1
1 0 0 1 0
0 1 0 1 1
0 1 0 1 0
1 1 0 1 0
0 0 0 1 0
0 1 0 1 0
1 1 0 1 0
0 1 0 1 1
1 1 0 1 1
1
2
3
4
5
6
7
8
9
10
11
12
f(I) f(I)
![Page 22: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/22.jpg)
MC906 – Prof. Anderson Rocha
Recombinação
22
0 1 0 1 0 1 1 1 1 11 3
1 1 0 1 0 0 1 1 1 1
Ponto de corte
Pais
Filhos
![Page 23: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/23.jpg)
MC906 – Prof. Anderson Rocha
Mutação
23
0 1 0 1 0 1 1 1 1 11 3
1 1 0 1 1 0 1 1 0 1
Ponto de corte
Pais
Filhos
![Page 24: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/24.jpg)
MC906 – Prof. Anderson Rocha
Entendendo melhor
24
![Page 25: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/25.jpg)
Diferentesabordagens de CE
![Page 26: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/26.jpg)
MC906 – Prof. Anderson Rocha
Diferentes abordagens
‣ Diferentes abordagens de CE
• Estratégias Evolutivas
• Programação Evolutiva
• Algoritmos Genéticos
• Programação Genética
26
![Page 27: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/27.jpg)
MC906 – Prof. Anderson Rocha
Estratégia Evolutiva
‣ Empregam apenas operadores de mutação
‣ Não necessita de muitas informações sobre o problema
‣ Muito utilizada em otimização (problemas multi-dimensionais, multi-modais e não lineares)
27
![Page 28: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/28.jpg)
MC906 – Prof. Anderson Rocha
Estratégia Evolutiva
‣ Algoritmo básico
1. População com m indivíduos. Cada um tem n genes
2. Cada indivíduo produz k/m descendentes com pequenas mudanças (mutações)
3. Apenas os m melhores indivíduos dos k gerados permanecem vivos.
28
![Page 29: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/29.jpg)
MC906 – Prof. Anderson Rocha
Programação Evolutiva
‣ Cada indivíduo gera um único descendente através de mutação
‣ A melhor metade da população ascendente e a melhor metade da população descendente formam a nova geração
29
![Page 30: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/30.jpg)
MC906 – Prof. Anderson Rocha
Programação Evolutiva
‣ Algoritmo básico
1. População inicial escolhida aleatoriamente
2. Cada solução gera uma nova solução utilizando-se mutação
3. Calcula-se aptidão de cada solução. Os mais aptos são retidos.
30
![Page 31: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/31.jpg)
MC906 – Prof. Anderson Rocha
Algoritmos genéticos
‣ Combinam variações aleatórias com seleção de indivíduos mais aptos
‣ AG e AE mantém uma população de soluções candidatas
‣ Busca multi-direcional e paralelismo
‣ Recombinação e Mutação
31
![Page 32: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/32.jpg)
MC906 – Prof. Anderson Rocha
Algoritmos genéticos
‣ Algoritmo básico
1. Inicializar população (soluções candidatas)
2. Avaliar cada cromossomo (solução)
3. Criar novos cromossomos a partir da população atual (mutação + recombinação)
4. Substituir ascendentes por descendentes
5. Se atingir critério de parada, terminar.
32
![Page 33: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/33.jpg)
MC906 – Prof. Anderson Rocha
Programação genética
‣ Extensão de Algoritmos Genéticos
‣ Indivíduos são programas
‣ Representação comum: árvores
33
![Page 34: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/34.jpg)
MC906 – Prof. Anderson Rocha
Programação genética
34
Indivíduo em PG
![Page 35: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/35.jpg)
MC906 – Prof. Anderson Rocha
Problemas comuns
‣ Codificação dos indivíduos – binária, ponto flutuante etc.
‣ Codificação errada pode levar a problemas de convergência prematura e valores inválidos (fora do domínio)
35
(2,4,6,8,3,1,7,5)
![Page 36: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/36.jpg)
MC906 – Prof. Anderson Rocha
Problemas comuns
‣ Como criar uma população inicial? Aleatório ou usar um método simples?
‣ Operadores genéticos
• Quais os seus parâmetros? Mutação deve ser de valor alto ou baixo?
• Como deve ser a recombinação?
36
![Page 37: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/37.jpg)
MC906 – Prof. Anderson Rocha
Problemas comuns
‣ Como selecionar indivíduos para a próxima geração?
• Modelo roleta – probabilidade proporcional ao fitness. Pode perder melhor indivíduo. Solução: usar elitistismo
• Seleção baseada em rank – ordena pelo fitness
37
![Page 38: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/38.jpg)
Ok... mas temalgum exemplo real?
![Page 39: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/39.jpg)
MC906 – Prof. Anderson Rocha
Problema 1: voltagem
‣ 16 posições
‣ 9 botões
‣ Encontrar combinação que maximiza sinal de saída
39
169 ~ 68,7x109
![Page 40: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/40.jpg)
MC906 – Prof. Anderson Rocha
Problema 1: Codificação
40
‣ 16 posições possíveis: 4 bits
‣ Indivíduo 4 bits * 9 botões = 36 bits
![Page 41: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/41.jpg)
MC906 – Prof. Anderson Rocha
Um indivíduo
41
Cromossomo (solução candidata)
0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 1
0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1
1 18
19 36
‣ Operadores genéticos – mutação simples e recombinação uniforme
‣ Que é recombinação uniforme? Para cada posição, escolhe-se com certa prob. se pai X ou Y é que contribui
![Page 42: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/42.jpg)
MC906 – Prof. Anderson Rocha
Adaptação
‣ Função de adaptação: voltagem da saída
‣ Valores arbitrários
• Prob. de bits 1 na população inicial: 50%
• Taxa de mutação: 3%
• Recombinação: 60%
• Tipo de seleção na recombinação: bi-classista (50% bons, 10% ruins)
42
![Page 43: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/43.jpg)
MC906 – Prof. Anderson Rocha
Resultado
43
Ponto ótimo
‣ 1500 indivíduos apenas. Quantos eram mesmo? ~109
‣ Resultados em menos de 1 segundo!
![Page 44: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/44.jpg)
MC906 – Prof. Anderson Rocha
Problema 2: CBIR
44
Consulta Modelos do Banco de Dados
Banco de Dados
Descrição
Modelo Resultante
Comparação
Resultado
![Page 45: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/45.jpg)
MC906 – Prof. Anderson Rocha
Problema 2: CBIR
‣ Agora suponha que cada imagem possa ser descrita de alguma forma por cor, forma e textura
45
Cor: (1, 20, 50, 50, 30, 25)
Forma: (0, 1, 1, 0, 1, 1)
Textura: (234, 50, 45, 11, 13, 14)
![Page 46: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/46.jpg)
MC906 – Prof. Anderson Rocha
Como combinar?
‣ Dado esses números que representam as imagens, como combiná-los? Soma, subtração, raiz, log, multiplicação, etc.
‣ Como conseguir boas combinações?
‣ Resposta: Programação Genética
46
![Page 47: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/47.jpg)
MC906 – Prof. Anderson Rocha
PG e Recuperação de Imagens
47
![Page 48: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/48.jpg)
MC906 – Prof. Anderson Rocha
Reprodução
48
![Page 49: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/49.jpg)
MC906 – Prof. Anderson Rocha
Recombinação
49
![Page 50: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/50.jpg)
MC906 – Prof. Anderson Rocha
Mutação
50
Sub-árvoreselecionada
Gera sub-árvore aleatoriamente
![Page 51: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/51.jpg)
MC906 – Prof. Anderson Rocha
Vamos pensar
‣ Como seria se usássemos algoritmos genéticos?
‣ GP melhor que GA?
‣ E no caso de recuperação de imagens?
51
![Page 52: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/52.jpg)
MC906 – Prof. Anderson Rocha
Curiosidade
52
Ex.
PG
AG
BAS
![Page 53: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/53.jpg)
Lição da aulade hoje
![Page 54: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/54.jpg)
MC906 – Prof. Anderson Rocha
Lição de casa
1. O que aprendemos na aula de hoje?
2. Computação Evolutiva para resolver problemas difíceis
3. Baseada em leis da natureza tais como seleção natural, mutação, reprodução
4. AE não devem ser considerados prontos para o uso mas sim como um elenco de procedimentos gerais que podem ser prontamente adaptados a cada aplicação
54
![Page 55: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/55.jpg)
Para casa...
![Page 56: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/56.jpg)
MC906 – Prof. Anderson Rocha
Para casa...
‣ Considere o problema
• Suponha que um caixeiro deva partir de sua cidade, visitar clientes em outras 99 cidades diferentes, e então retornar à sua cidade.
• Dadas as coordenadas das 100 cidades, descubra o percurso de menor distância que passe uma única vez por todas as cidades e retorne à cidade de origem.
56
![Page 57: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/57.jpg)
MC906 – Prof. Anderson Rocha
Para casa – pergunta-se
‣ Podemos utilizar AG para resolver esse problema? Por quê?
‣ Quantas combinações teríamos se tentássemos resolver por força bruta?
‣ Imagine uma codificação possível para o problema
‣ Como gerar uma solução inicial?
‣ Proponha uma função de adequação
57
![Page 58: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/58.jpg)
MC906 – Prof. Anderson Rocha
Referências
Evolutionary Computation 1: Basic Algorithms and Operators. Eds. Thomas Back, David Fogel and Zbigniew Michalewicz. Capítulos 1-3, 8-10.
Evolutionary Computation 2: Advanced Algorithms and Operators. Eds. Thomas Back, David Fogel and Zbigniew Michalewicz.
Computação Evolutiva: Uma abordagem Pragmática. Fernando J. Von Zuben.
Inteligência Artificial: Ferramentas e Teorias. Guilherme Bittencourt,
58
![Page 59: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/59.jpg)
Obrigado!
![Page 60: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/60.jpg)
MC906 – Prof. Anderson Rocha
CE – Motivação
‣ Podemos validar teorias e conceitos associados à biologia da evolução
‣ Podemos lidar com problemas com os quais não é possível ou é muito custoso obter uma descrição detalhada.
• Ex.: algoritmos de programação linear
• Requerem que a função objetivo seja linear
• Caso contrário, busca baseada no gradiente
60
![Page 61: Computação Evolutiva - ic.unicamp.brrocha/teaching/2011s2/mc906/aulas/computacao... · Computação Evolutiva! ... ‣Adaptação: uma população inicial de soluções evolui ao](https://reader030.fdocument.pub/reader030/viewer/2022021611/5ba9696a09d3f28b6f8c22c0/html5/thumbnails/61.jpg)
MC906 – Prof. Anderson Rocha
CE – Motivação
‣ Mas técnicas de busca baseadas em gradiente exigem o que?
• Função objetivo diferenciável
• Baixo custo de diferenciação
• O que fazer caso a diferenciação não seja possível ou muito cara?
61