Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf ·...

30
Ciência Ciência Ciência Ciência da da da da Computação Computação Computação Computação Modelos Evolucionários e Tratamento de Incertezas Aula 04 Módulos de População e Funções de Avaliação Max Pereira

Transcript of Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf ·...

Page 1: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

CiênciaCiênciaCiênciaCiência da da da da ComputaçãoComputaçãoComputaçãoComputação

Modelos Evolucionários e

Tratamento de Incertezas

Aula 04Módulos de População e Funções de Avaliação

Max Pereira

Page 2: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Tamanho da População

• O desempenho do algoritmo genético é extremamente sensível ao tamanho da população;

• Caso este número seja pequeno demais, não haverá espaço para termos variedade genética:

– Pode ser que nosso algoritmo seja incapaz de achar boas soluções;

• Caso este número seja grande demais, o algoritmo demorará demais:

– Poderemos estar nos aproximando de uma busca exaustiva.

Page 3: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Populações de Tamanho Variável

• Estratégia 1: definição de uma expectativa de vida para cada indivíduo:

– Esta expectativa é proporcional à qualidade do indivíduo;

– O tamanho da população pode crescer caso a avaliação de todos os indivíduos seja muito boa;

– Neste caso, estes sobreviverão por muitas gerações, além de gerar filhos que também irão compor a população.

Page 4: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Populações de Tamanho Variável

• O número de filhos gerados a cada geração é dado por:

• Como a cada instante podemos gerar mais filhos do que o número de “mortos” da geração anterior, a população pode aumentar

• Ela pode diminuir se o oposto ocorrer!

• Não tem uma pressão seletiva forte sobre os indivídos:

– Eles “morrem” quando atingem a “velhice”

P(t)ρ*

Page 5: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Populações de Tamanho Variável

• Estratégia 2: aumentar o tamanho da população se:

– está havendo convergência genética

– ainda não chegamos perto da performance desejada.

• Problema: determinar quando a convergência genética aconteceu.

– Não é uma tarefa simples!

Page 6: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Idealmente, a função de avaliação deveria sersuave e regular.

Cromossomos que tenham uma avaliação boaestejam perto dos cromossomos que lhe sejamapenas um pouco superiores.

Pode fazer com que o desempenho do AGdegenere em dois casos:

questão do superindivíduo

a existência de uma pequena diferença entre asavaliações.

•Função de Avaliação

Page 7: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Superindivíduo

Um ou mais indivíduos cuja avaliação é muito superior àquela dos outros membros da população.

Este indivíduo ou este grupo será quase sempre escolhido pelo módulo de seleção

Causa uma perda imediata da diversidade genética nas gerações imediatamente subsequentes.

Page 8: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Exemplo – Seja a população dada por:

•Superindivíduo

Indivíduo Avaliação

10000 256

00100 16

00001 1

00011 9

00010 4

Somatório das Avaliações 286

Page 9: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Exemplo:

Método da roleta: o primeiro indivíduo seráselecionado cerca de 256/286≈90% dasvezes.

Isto fará com que percamos ascaracterísticas benéficas de vários outrosindivíduos

•Superindivíduo

Page 10: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Pequena Diferença entre Avaliações

Ocorre quando todos os indivíduos têm funções de avaliação que diferem muito pouco percentualmente.

Nestes casos, uma pequena diferença entre funções de avaliação significa uma grande diferença na qualidade da solução;

O algoritmo não consegue perceber isto, dando espaços praticamente iguais para todos os indivíduos na roleta.

Page 11: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

NormalizaçãoColoque os cromossomos em ordem decrescente de valor;

Crie novas funções de avaliação para cada um dos indivíduos da seguinte maneira:

o melhor de todos recebe um valor fixo (k);

os outros recebam valores iguais ao do indivíduo imediatamente anterior na lista ordenada menos um valor de decremento constante (t).

Matematicamente:• aval0 = k

• avali=avali-1 - t

Page 12: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Normalização

Caso queiramos estabelecer a diferenciação de forma mais acentuada, podemos pensar em usar uma técnica de normalização não linear sobre a avaliação de todos os indivíduos da população;

Este método consiste em aplicar aos valores da avaliação por uma função não linear.

Por exemplo: podemos resolver o problema do superindivíduo usando uma função de normalização logarítmica .

Page 13: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Normalização

Indivíduo Avaliação

(f(x))

Nova Avaliação

(log10(f(x))

10000 256 2.41

00100 16 1.20

00001 1 0

00011 9 0.95

00010 4 0.60

Page 14: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Windowing

Existem situações em que as diferenças absolutas entre os indivíduos são muito pequenas, apesar de haver indivíduos que possuem características bastante superiores a outros.

Page 15: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Windowing

Exemplo

Windowing – diminuindo 19,0 de cada indivíduo

Page 16: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Escalonamento Sigma

Busca tornar o AG menos suscetível à convergência genética prematura.

O princípio do escalonamento sigma é modificar a função de avaliação de um indivíduo (f(i)) pela fórmula:

é a avaliação do indivíduo i

é a avaliação média da população no instante t

é o desvio padrão das avaliações no instante t

f ( i )

f̄ ( t )σ ( t )

≠−

+ 0σ(t),σ(t)2

(t)ff(i)1

0=σ(t)1,

=t)E(i,

Page 17: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Problema do Percurso do Cavalo

• O Percurso do Cavalo (Knight's Tour) consiste de uma sequência de movimentos feitos pela peça de xadrez, o cavalo.

• Cada casa do tabuleiro deve ser visitada exatamente uma vez.

• Cada movimento da peça é descrito como um “L”.

Page 18: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Movimento do Cavalo

Page 19: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Definição do problema

• Dado um tabuleiro n x n, determine uma sequência válida de movimentos do cavalo de modo que esta peça passe por todas as casas uma única vez, a partir de qualquer casa do tabuleiro.

Page 20: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Percurso do Cavalo

• Século IX, primeiras respostas.

Page 21: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Estudos matemáticos

• Leonhard Euler – século XVIII

• Academia de Ciências de Berlim (1759) ofereceu um prêmio.

Page 22: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Quantos percursos possíveis?

• Em 1995 Martin Löbbing e Ingo Wegener anunciaram que o número de percursos possíveis era igual a: 33.439.123.484.294 (20 Sun Workstations por 4 meses!!!!).

Page 23: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Quantos percursos possíveis?

• Em 1997, Brendan McKay usou outro método para calcular o número de percursos (dividindo o tabuleiro em duas partes) e obteve: 13.267.364.410.532.

• Um computador procurando e encontrando percursos a uma velocidade de um milhão de percursos por minuto precisaria de 25 anos para calcular o número de percursos dado por McKay!!!!

Page 24: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Primeiro algoritmo

• Século XIX, H. C. Warnsdorff.

• Antes de fazer o movimento, avaliar as posições seguintes possíveis que ainda não foram visitadas e podem ser alcançadas por um único salto a partir da posição corrente. Essas casas são avaliadas de acordo com o número de vizinhos não visitados que cada uma possui.

Page 25: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Algoritmo

Page 26: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Percurso Fechado

Page 27: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Percurso do Cavalo e Grafos

� O Percurso do Cavalo e Ciclos Hamiltonianos

� Cada casa do tabuleiro torna-se um vértice e as arestas um par de

vértices (casas) entre os quais há um movimento válido do cavalo.

� Para um tabulerio 8 x 8 o grafo possui 64 vértices e 168 arestas.

Page 28: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca
Page 29: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Representação

Page 30: Modelos Evolucionários e Tratamento de Incertezaspaginas.unisul.br/max.pereira/ME Aula 04.pdf · Exemplo Windowing – diminuindo 19,0 de cada indivíduo. Escalonamento Sigma Busca

Representação (fechado)

http://www.borderschess.org/KnightTour.htm