A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 03 Teoria dos Esquemas Módulos de População e Funções de Avaliação Max Pereira.

Apresentações semelhantes


Apresentação em tema: "Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 03 Teoria dos Esquemas Módulos de População e Funções de Avaliação Max Pereira."— Transcrição da apresentação:

1 Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 03 Teoria dos Esquemas Módulos de População e Funções de Avaliação Max Pereira

2 Esquemas Um esquema consiste em um template descrevendo um subconjunto dentre o conjunto de todos os indivíduos possíveis. O esquema descreve similaridades entre os indivíduos que pertencem ao subconjunto, ou seja, descreve quais posições dos seus genomas são idênticas.

3 Esquemas O alfabeto de esquemas consiste no conjunto de símbolos utilizados na representação mais o símbolo *, que significa “não-importa” (wildcard). Os indivíduos diferem exatamente nas posições onde encontram-se os wildcards. Quando utiliza-se a representação binária, um esquema que tenha comprimento n com m posições contendo o símbolo * terá m graus de liberdade e representará até 2 m indivíduos diferentes da atual população.

4 Esquemas Formalmente, um esquema é definido como sendo uma string s={s 1,s 2...s n } de comprimento n, cujas posições pertencem ao conjunto Γ (alfabeto usado) + {*}. Cada posição da string dada por s k ≠ “*” é chamada de especificação, enquanto que um wildcard representa o fato de que aquela posição pode assumir qualquer valor dentro do conjunto Γ.

5 Esquemas O alfabeto de esquema descrito pelos símbolos {0,1 e *}, onde * significa que aquela posição pode ser qualquer elemento do alfabeto, não pertencendo ao esquema.

6 Esquemas EsquemaIndivíduos que representa a*aa, ab,..., az a*baab, abb,..., azb **xyaaxy, abxy,..., azxy, baxy, bbxy,..., bzxy,..., zaxy, zbxy,..., zzxy Considerando o alfabeto ocidental Γ={a,b,...,z} mais o símbolo * como o alfabeto de esquema.

7 Esquemas Se o alfabeto de esquema contém n símbolos, e o esquema contém m posições com *, então o esquema representa (n-1) m indivíduos. O número de esquemas presentes em um determinado indivíduo é dependente do comprimento da string e do número de opções presentes no alfabeto de codificação.

8 Esquemas Pode-se inferir que se a string tem tamanho t e o alfabeto de esquemas contém n símbolos, então o número de esquemas existente na população é exatamente n t. Se o alfabeto de esquemas é {0,1,*} e a string tem comprimento 2, temos 3 2 =9 esquemas possíveis. 00, 01, 10, 11, 1*, 0*, *1, *0, **.

9 Esquemas Por que os esquemas são importantes? Um Algoritmo Genético na verdade é um manipulador de esquemas. Os esquemas contém as características positivas e negativas que podem levar a uma boa ou má avaliação e o AG nada mais faz do que tentar propagar estes bons esquemas por toda a população durante sua execução.

10 Esquemas Um esquema tem duas características importantes: sua ordem e seu tamanho. A ordem de um esquema denotado por O(H), corresponde ao número de posições neste esquema diferentes de *. O tamanho do esquema, representado por δ(H), se refere ao número de pontos de corte entre a primeira e a última posições diferentes de * dentro do esquema.

11 Esquemas EsquemaOrdemTamanho *****1***10 1******027 **1**1*035 10101065 Pode-se verificar que, quanto maior o tamanho de um esquema, maior o número de pontos de corte dentro dele, logo, é maior a probabilidade de que a aplicação do operador de crossover venha a quebrar este esquema em pedaços, possivelmente rompendo suas boas características.

12 Teorema dos Esquemas Formalmente, pode-se dizer que, sendo n o número de indivíduos pertencentes a um certo esquema s, com média de avaliação igual a r e sendo x a média das avaliações de toda a a população, Então o número esperado de ocorrências de s na próxima geração é aproximadamente igual a n*r/x.

13 Teorema dos Esquemas Seja o problema de achar o máximo de x 2 entre 0 e 31. Usando-se uma representação binária (5 bits), em um dado instante pode-se ter a seguinte população IndivíduoAvaliação 01101169 11000 576 0100064 10011361 Média292.5

14 Teorema dos Esquemas Seja o esquema 1****. Há dois indivíduos que o implementam e sua média de avaliação é 468.5. Logo, espera-se que ele esteja presente em 468.5*2/292.5  3.2 indivíduos. Já o esquema 0**0* está presente em dois indivíduos com média de avaliação 116.5. Logo, ele deve estar presente em 116.5*2/292.5  0.8 indivíduos.

15 Teorema dos Esquemas Suponha que os seguintes esquemas estão reproduzindo e todos os pontos de corte para estes indivíduos são iguais e entre a 4 a e 5 a posição do indivíduo. EsquemaDepois do corte 1**1|****Íntegro 1***|****Íntegro 1***|***0Destruído 1**1|**1*Destruído

16 Teorema dos Esquemas Pode-se notar que quanto maior for o tamanho do esquema (δ(H)), maior a sua probabilidade de ser destruído. Um esquema de ordem 1 e tamanho zero nunca pode ser destruído, não importa onde o operador de crossover faça o corte. Logo, reformulando o teorema dos esquemas tem-se que quanto maior a avaliação do esquema e menor o seu tamanho, mais cópias ele terá na próxima geração.

17 Teorema dos Esquemas A mutação também é destrutiva, se ocorrer em uma posição em que o esquema possua um valor diferente de *. Quanto maior a ordem do esquema, mais chances deste ser corrompido pelo operador de mutação.

18 Teorema dos Esquemas Ação dos operadores se encaixa no que é chamado de tensão entre exploração (exploration, a busca de novas adaptações) e aproveitamento (explotation, a manutenção das adaptações úteis feitas até a atual geração).

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

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

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

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

23 Idealmente, a função de avaliação deveria ser suave e regular. Cromossomos que tenham uma avaliação boa estejam perto dos cromossomos que lhe sejam apenas um pouco superiores. Pode fazer com que o desempenho do AG degenere em dois casos: questão do superindivíduo a existência de uma pequena diferença entre as avaliações. Função de Avaliação

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

25 Exemplo – Seja a população dada por: Superindivíduo Indivíduo Avaliação 10000256 0010016 000011 000119 000104 Somatório das Avaliações 286

26 Exemplo: Método da roleta: o primeiro indivíduo será selecionado cerca de 256/286  90% das vezes. Isto fará com que percamos as características benéficas de vários outros indivíduos Superindivíduo

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

28 Normalização Coloque 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:  aval 0 = k  aval i =aval i-1 - t

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

30 Normalização IndivíduoAvaliação (f(x)) Nova Avaliação (log 10 (f(x)) 100002562.41 00100161.20 0000110 0001190.95 0001040.60

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

32 Windowing Exemplo Windowing – diminuindo 19,0 de cada indivíduo

33 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

34 Knapsack Problem Problema da Mochila

35 George B. Dantzig (1957) http://www.orms-today.org/orms-8-05/dantzig.html

36 Otimização Combinatória Richard Karp, em 1972, apresentou 21 problemas NP-completos, dentre eles o problema da mochila. http://www.cs.berkeley.edu/~karp/

37 Problema É necessário carregar uma mochila com capacidade limitada, com um conjunto de objetos com pesos e valores diferentes. O objetivo é ocupar a mochila com o maior valor possível, não ultrapassando o seu peso máximo. Definir o subconjunto de objetos cujo peso não ultrapasse o limite da mochila e ao mesmo tempo maximizando o seu valor total, corresponde a resolver o problema da mochila.

38 Aplicações Investimento de capital Corte e empacotamento Carregamento de veículos Controle orçamental Planejamento de produção

39 Definição matemática n objetos C i = benefício do objeto (valor) i W i = peso do objeto i b = capacidade da mochila

40 Problema: Investimento A empresa tem um orçamento de R$ 200 milhões para este ano, R$ 250 milhões para o ano que vem e mais R$150 milhões para outro ano, e está interessada e definir onde os investimentos devem ser realizados. Objetivo: A empresa está interessada em maximizar o valor presente líquido (VPL) de seus investimentos.

41 Oportunidades Investimento Ano 0Ano 1Ano 2 VPL A12341220 B54946715 C65284934 D380817 E52214256 F98732576 G15485329 Total334298256247 ‫ X j (j=A,B,C,D,E,F,G)

42 Trabalho ArtigoVolumePesoValor A625 B297 C198 D879 E222 F326 G532 H941 I848 J871 K678 L2310 M779 N976 O732 P 48 Q2 6 R925 S152 T987 U3 8 V927 W989 X265 Y476 Capacidade125


Carregar ppt "Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 03 Teoria dos Esquemas Módulos de População e Funções de Avaliação Max Pereira."

Apresentações semelhantes


Anúncios Google