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

Post on 21-Jan-2019

216 views 0 download

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

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

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.

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.

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)ρ*

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!

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

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.

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

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

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.

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

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 .

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

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.

Windowing

Exemplo

Windowing – diminuindo 19,0 de cada indivíduo

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,

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”.

Movimento do Cavalo

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.

Percurso do Cavalo

• Século IX, primeiras respostas.

Estudos matemáticos

• Leonhard Euler – século XVIII

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

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!!!!).

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!!!!

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.

Algoritmo

Percurso Fechado

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.

Representação

Representação (fechado)

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