computação evolutiva€¦ · computação evolutiva! ‣teoria da evolução natural – c....

144
Computação Evolutiva MC 906 – Prof. Anderson Rocha

Upload: others

Post on 06-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computação Evolutiva€¦ · 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,

Computação EvolutivaMC 906 – Prof. Anderson Rocha

Page 2: Computação Evolutiva€¦ · 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,

Organizaçãodessa aula

Page 3: Computação Evolutiva€¦ · 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,

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€¦ · 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,

Resolvendo problemas...

Page 5: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

5

Page 6: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

‣ Técnicas para resolver problemas classificadas em

5

Page 7: Computação Evolutiva€¦ · 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,

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 8: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

6

Page 9: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

‣ Técnicas para resolver problemas classificadas em

6

Page 10: Computação Evolutiva€¦ · 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,

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 11: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

7

Page 12: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como resolver problemas

‣ Técnicas para resolver problemas classificadas em

7

Page 13: Computação Evolutiva€¦ · 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,

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 14: Computação Evolutiva€¦ · 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,

ComputaçãoEvolutiva

Page 15: Computação Evolutiva€¦ · 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,

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 16: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Computação Evolutiva

10

Page 17: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Computação Evolutiva

‣ Paradigma para resolver problemas

10

Page 18: Computação Evolutiva€¦ · 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,

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

10

Page 19: Computação Evolutiva€¦ · 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,

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 20: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Computação Evolutiva

11

Page 21: Computação Evolutiva€¦ · 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,

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 22: Computação Evolutiva€¦ · 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,

Interessante,mas para que serve?

Page 23: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

13

Page 24: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

‣ Podemos validar teorias e conceitos associados à biologia da evolução

13

Page 25: Computação Evolutiva€¦ · 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,

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 26: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

14

Page 27: Computação Evolutiva€¦ · 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,

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?

14

Page 28: Computação Evolutiva€¦ · 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,

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 29: Computação Evolutiva€¦ · 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,

Como simular este comportamento?

Page 30: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

16

Page 31: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

‣ A CE está baseada em algumas idéias básicas

16

Page 32: Computação Evolutiva€¦ · 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,

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

16

Page 33: Computação Evolutiva€¦ · 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,

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 34: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

17

Page 35: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

‣ Operadores aplicados a uma dada geração para obtenção de uma próxima geração

17

Page 36: Computação Evolutiva€¦ · 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,

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.

17

Page 37: Computação Evolutiva€¦ · 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,

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 38: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

18

Page 39: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

‣ Operadores aplicados a uma dada geração para obtenção de uma próxima geração

18

Page 40: Computação Evolutiva€¦ · 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,

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

18

Page 41: Computação Evolutiva€¦ · 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,

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 42: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Idéias básicas

19

Page 43: Computação Evolutiva€¦ · 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,

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 44: Computação Evolutiva€¦ · 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,

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 45: Computação Evolutiva€¦ · 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,

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 46: Computação Evolutiva€¦ · 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,

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 47: Computação Evolutiva€¦ · 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,

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 48: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Entendendo melhor

24

Page 49: Computação Evolutiva€¦ · 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,

Diferentesabordagens de CE

Page 50: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Diferentes abordagens

26

Page 51: Computação Evolutiva€¦ · 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,

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 52: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

27

Page 53: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

‣ Empregam apenas operadores de mutação

27

Page 54: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

‣ Empregam apenas operadores de mutação

‣ Não necessita de muitas informações sobre o problema

27

Page 55: Computação Evolutiva€¦ · 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,

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 56: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

28

Page 57: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

‣ Algoritmo básico

28

Page 58: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Estratégia Evolutiva

‣ Algoritmo básico

1. População com m indivíduos. Cada um tem n genes

28

Page 59: Computação Evolutiva€¦ · 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,

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)

28

Page 60: Computação Evolutiva€¦ · 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,

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 61: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação Evolutiva

29

Page 62: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação Evolutiva

‣ Cada indivíduo gera um único descendente através de mutação

29

Page 63: Computação Evolutiva€¦ · 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,

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 64: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação Evolutiva

30

Page 65: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação Evolutiva

‣ Algoritmo básico

30

Page 66: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação Evolutiva

‣ Algoritmo básico

1. População inicial escolhida aleatoriamente

30

Page 67: Computação Evolutiva€¦ · 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,

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

30

Page 68: Computação Evolutiva€¦ · 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,

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 69: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

31

Page 70: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

‣ Combinam variações aleatórias com seleção de indivíduos mais aptos

31

Page 71: Computação Evolutiva€¦ · 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,

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

31

Page 72: Computação Evolutiva€¦ · 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,

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

31

Page 73: Computação Evolutiva€¦ · 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,

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 74: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

32

Page 75: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

‣ Algoritmo básico

32

Page 76: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

‣ Algoritmo básico

1. Inicializar população (soluções candidatas)

32

Page 77: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Algoritmos genéticos

‣ Algoritmo básico

1. Inicializar população (soluções candidatas)

2. Avaliar cada cromossomo (solução)

32

Page 78: Computação Evolutiva€¦ · 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,

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)

32

Page 79: Computação Evolutiva€¦ · 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,

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

32

Page 80: Computação Evolutiva€¦ · 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,

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 81: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação genética

33

Page 82: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação genética

‣ Extensão de Algoritmos Genéticos

33

Page 83: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação genética

‣ Extensão de Algoritmos Genéticos

‣ Indivíduos são programas

33

Page 84: Computação Evolutiva€¦ · 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,

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 85: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Programação genética

34

Indivíduo em PG

Page 86: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

35

(2,4,6,8,3,1,7,5)

Page 87: Computação Evolutiva€¦ · 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,

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 88: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

36

Page 89: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

‣ Como criar uma população inicial? Aleatório ou usar um método simples?

36

Page 90: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

‣ Como criar uma população inicial? Aleatório ou usar um método simples?

‣ Operadores genéticos

36

Page 91: Computação Evolutiva€¦ · 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,

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?

36

Page 92: Computação Evolutiva€¦ · 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,

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 93: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

37

Page 94: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Problemas comuns

‣ Como selecionar indivíduos para a próxima geração?

37

Page 95: Computação Evolutiva€¦ · 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,

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

37

Page 96: Computação Evolutiva€¦ · 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,

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 97: Computação Evolutiva€¦ · 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,

Ok... mas temalgum exemplo real?

Page 98: Computação Evolutiva€¦ · 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,

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 99: Computação Evolutiva€¦ · 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,

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 100: Computação Evolutiva€¦ · 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,

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 101: Computação Evolutiva€¦ · 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,

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 102: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Resultado

43

Ponto ótimo

‣ 1500 indivíduos apenas. Quantos eram mesmo? ~109

‣ Resultados em menos de 1 segundo!

Page 103: Computação Evolutiva€¦ · 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,

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 104: Computação Evolutiva€¦ · 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,

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 105: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Como combinar?

46

Page 106: Computação Evolutiva€¦ · 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,

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.

46

Page 107: Computação Evolutiva€¦ · 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,

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?

46

Page 108: Computação Evolutiva€¦ · 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,

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 109: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

PG e Recuperação de Imagens

47

Page 110: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Reprodução

48

Page 111: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Recombinação

49

Page 112: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Mutação

50

Sub-árvoreselecionada

Gera sub-árvore aleatoriamente

Page 113: Computação Evolutiva€¦ · 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,

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 114: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Curiosidade

52

Ex.

PG

AG

BAS

Page 115: Computação Evolutiva€¦ · 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,

Lição da aulade hoje

Page 116: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Lição de casa

54

Page 117: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Lição de casa

1. O que aprendemos na aula de hoje?

54

Page 118: Computação Evolutiva€¦ · 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,

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

54

Page 119: Computação Evolutiva€¦ · 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,

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

54

Page 120: Computação Evolutiva€¦ · 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,

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 121: Computação Evolutiva€¦ · 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,

Para casa...

Page 122: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Para casa...

56

Page 123: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Para casa...

‣ Considere o problema

56

Page 124: Computação Evolutiva€¦ · 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,

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.

56

Page 125: Computação Evolutiva€¦ · 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,

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 126: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Para casa – pergunta-se

57

Page 127: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

Para casa – pergunta-se

‣ Podemos utilizar AG para resolver esse problema? Por quê?

57

Page 128: Computação Evolutiva€¦ · 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,

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?

57

Page 129: Computação Evolutiva€¦ · 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,

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

57

Page 130: Computação Evolutiva€¦ · 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,

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?

57

Page 131: Computação Evolutiva€¦ · 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,

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 132: Computação Evolutiva€¦ · 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,

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 133: Computação Evolutiva€¦ · 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,

Obrigado!

Page 134: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

60

Page 135: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

‣ Podemos validar teorias e conceitos associados à biologia da evolução

60

Page 136: Computação Evolutiva€¦ · 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,

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.

60

Page 137: Computação Evolutiva€¦ · 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,

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

60

Page 138: Computação Evolutiva€¦ · 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,

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

60

Page 139: Computação Evolutiva€¦ · 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,

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 140: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

61

Page 141: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

‣ Mas técnicas de busca baseadas em gradiente exigem o que?

61

Page 142: Computação Evolutiva€¦ · 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,

MC906 – Prof. Anderson Rocha

CE – Motivação

‣ Mas técnicas de busca baseadas em gradiente exigem o que?

• Função objetivo diferenciável

61

Page 143: Computação Evolutiva€¦ · 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,

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

61

Page 144: Computação Evolutiva€¦ · 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,

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