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.

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Unidade VII Algoritmos Genéticos
Fluxo em Redes Prof. Ricardo R. Santos.
Lógica Fuzzy Aplicada a Sistemas de Diagnóstico
Capítulo 3 - Aplicações das Derivadas
Nice Maria Americano da Costa
PERCEPTRON (CONTINUAÇÃO)
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Adriano Joaquim de O Cruz
Geometria Computacional Interseção de Segmentos
Algoritmos Genéticos Marcone Jamilson Freitas Souza
Medida do Tempo de Execução de um Programa
Computação Evolutiva: Programação Genética
Otimização de Funções Contínuas via Algoritmos Genéticos Adaptado do trabalho realizado por: Frederico Heitor Mônica do Amaral.
Medida do Tempo de Execução de um Programa
Otimização de Funções Contínuas via Algoritmos Genéticos
Medida do Tempo de Execução de um Programa
Inteligência Artificial
Algoritmos Genéticos – Capítulo 11
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Métodos Populacionais
Material adaptado de Algoritmos Geneticos Material adaptado de
Controle de parâmetros em algoritmos evolucionários
Prof. Roberto Cristóvão
Desempenho de Algoritmos Genéticos
Linguagem de Programação II Parte V
Sistemas Operacionais
Alexis Adriano da Silva Vitek Consultoria Ltda.
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Modelos de distribuição de erros
Sistema de equações lineares
INTRODUÇÃO À ANÁLISE COMBINATÓRIA
1 - Equações Diferenciais Ordinárias
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Aula 5 - Método experimental ou de seleção aleatória
Algoritmos Genéticos Ricardo Prudêncio.
Opções Financeiras - 3 As Gregas
INF 1771 – Inteligência Artificial
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
Busca Combinatorial e Métodos de Heurística
Estatística Geral (Elementos de Probabilidade)
* Cadeias formadas por três símbolos: 0, 1, e * * O símbolo * (um curinga) significa 0 ou 1.
INE Fundamentos de Matemática Discreta para a Computação
Artigo: Berth allocation planning in the public berth system by genetic algorithms Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Heurística.
Resolução de problemas por meio de busca
Geometria Computacional Fecho Convexo
Algoritmos Genéticos Capítulo 8
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Inteligência Artificial I
Busca Competitiva Disciplina: Inteligência Artificial
Algoritmos Genéticos Ricardo Prudêncio.
Inteligência Artificial
Metodologia da Pesquisa em Ensino de Ciências I
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Interpolação Polinomial: Introdução; Lagrange.
Algoritmos Genéticos ÝIntrodução ÝHistórico ÝAlgoritmo Genético Básico: 3Representação de um indivíduo 3Função de aptidão 3Operadores genéticos 3Critério.
Gerenciamento de riscos
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Taís Sineiro Herig Laboratório de Genômica e Expressão / UNICAMP
1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.
Inferência 1:Estimação de Parâmetros Relembrando o Teorema Central do Limite Da aula anterior: a) Os estimadores da média e da s 2 são não viciados e de.
Aula 4 Bioestatística Probabilidade para variáveis aleatórias.
Métodos Populacionais. Mantém um conjunto de soluções candidatas e não só uma solução Cada solução será modificada e avaliada Hill-Climbing paralelos.
Comportamento Assintótico
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 10 Algoritmos Genéticos Max Pereira.
Transcrição da apresentação:

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

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.

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.

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

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.

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.

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.

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, **.

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.

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.

Esquemas EsquemaOrdemTamanho *****1***10 1******027 **1**1* 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.

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.

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 Média292.5

Teorema dos Esquemas Seja o esquema 1****. Há dois indivíduos que o implementam e sua média de avaliação é 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 Logo, ele deve estar presente em 116.5*2/292.5  0.8 indivíduos.

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

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.

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.

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

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”

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

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 Somatório das Avaliações 286

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

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çã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

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íduoAvaliação (f(x)) Nova Avaliação (log 10 (f(x))

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

Knapsack Problem Problema da Mochila

George B. Dantzig (1957)

Otimização Combinatória Richard Karp, em 1972, apresentou 21 problemas NP-completos, dentre eles o problema da mochila.

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.

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

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

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.

Oportunidades Investimento Ano 0Ano 1Ano 2 VPL A B C D E F G Total ‫ X j (j=A,B,C,D,E,F,G)

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