computação evolucionária

37
Computação Evolucionária Aurora Pozo

Upload: rainer

Post on 21-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Computação Evolucionária. Aurora Pozo. Motivação. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computação Evolucionária

Computação Evolucionária

Aurora Pozo

Page 2: Computação Evolucionária

Motivação“...Se variações úteis para qualquer

organismo devam ocorrer para que ele venha a existir, certamente indivíduos assim caracterizados terão a melhor chance de serem preservados na luta por sobrevivência; e do forte princípio de hereditariedade, eles tenderão a produzir gerações com características similares. Este princípio de preservação, eu batizei, para ser sucinto, de Seleção Natural.”

(Darwin, 1859)

Page 3: Computação Evolucionária

Ambientação

ModeloComputa-

cional

Natureza

ModeloBiológico

Teoria de Darwin

Teoria de Computação Evolucionária

Page 4: Computação Evolucionária

Sumário Computação Evolucionária

Conceitos básicos Visão geral baseada em Algoritmos

Genéticos Programação Genética

Diferenças fundamentais Grupo de Pesquisa em

Computação Evolucionária – DInf

Page 5: Computação Evolucionária

Computação Evolucionária Área da Inteligência Artificial que

engloba um conjunto de métodos computacionais inspirados na Teoria da Evolução das Espécies.

auto-organização e o comportamento adaptativo

Page 6: Computação Evolucionária

Ramos Estratégias Evolucionárias:

ênfase na auto-adaptação. O papel da reocmbinação é aceito, mas como operador secundário.

Programação Evolutiva: Previsão do comportamento de máquinas de estado

finitas. Algoritmos Genéticos:

Indivíduos contém um genótipo formado por cromossomos

Programação Genética Evolução de programas

Page 7: Computação Evolucionária

Evolução Natural Embora tenham origens bastante

diversas, todas essa abordagens têm em comum o modelo conceitual inicial

Page 8: Computação Evolucionária

Aplicações Grande variedade de aplicações

Otimização Indústria, solução de problemas: máquinas x

processos, alocação de recursos, rota de veiculos.

Busca Mineração de Dados, descoberta de

conhecimento em bases de dados, indução de classificadores (caracteristicas x doenças, estrutura de proteinas)

Aprendizado e adaptação

Page 9: Computação Evolucionária

Características Comuns Usam um processo de evolução

baseado em Darwin para resolver problemas computacionais de IA

Inspirados na Teoria da Evolução: os indivíduos mais adaptados sobrevivem

Page 10: Computação Evolucionária

Elementos Chaves de Algoritmos Evolucionarios Uma população de individuos A noção de fitness Um ciclo de nascimento e morte

baseados na fitness A noção de herança

Page 11: Computação Evolucionária

Visão Geral doAlgoritmo Evolucionário

população depais

população defilhos

solução

seleção

recombinação

Page 12: Computação Evolucionária

Visão Geral doAlgoritmo Evolucionário

1. Gerar uma população inicial aleatoriamente

2. Fazer até um critério de parada: selecionar indivíduos para pais (fitness) produzir filhos selecionar indivíduos para morrer

(fitness)

3. Retornar um resultado

Page 13: Computação Evolucionária

Algoritmo população inicial

pais selecionados

filhos gerados

nova população

seleção (fitness)

operadoresgenéticos

cruz repr mut

nova popcompleta?

não

sim

satisfeito c/a solução?

não

início

soluçãofim

sim

Page 14: Computação Evolucionária

Algorithmos Geneticos Holland 1960 São algoritmos de busca Objetivo: robusto, sistema

adaptativo Combinam: Sobrevivência do mais

ajustado com um estruturado, aleatorio intercâmbio de informações

Page 15: Computação Evolucionária

AG Apesar de aleatorios, AG não

funcionam unicamente com este conceito.

Eles explotam informação historica para experimentar novos pontos de busca.

Page 16: Computação Evolucionária

Terminologia Biologica Em AG são utilizados termos

biologicos como analogia com a biologia.

Cromossoma: codificação de uma possivel solução – individuo

Genes: Codifica uma caracteristica particular

Genotipo x Fenotipo

Page 17: Computação Evolucionária

Indivíduos Material genético Conjunto de atributos da solução Cada atributo uma sequência de

bits e o individuo como a concatenação das sequências de bits

Codificação binaria, real, códigos

Page 18: Computação Evolucionária

População Conjunto de individuos que estão

sendo cogitados como solução Populações pequenas têm grandes

chances de perder a diversidade necessária (exploração de todo o espaço de soluções)

Populações grandes perderá grande parte de sua eficiência pela demora em avaliar a função de fitness

Page 19: Computação Evolucionária

Reprodução Reprodução sexual, genes são

intercambiados entre dois pais – crossover

Os filhos são sujeitos a modificações, na qual bits elementares são mudados - mutação

Page 20: Computação Evolucionária

Função de fitness Mede a adaptação do indivíduo ou

quão boa é a solução dada por este indivíduo.

Representativa do problema: diferencie uma solução boa de uma má.

Heuristica de busca no espaço de estado

Cuidados com o custo computacional.

Page 21: Computação Evolucionária

Requisitos para usar AG Representações das possíveis soluções do problema no

formato de um código genético;  População inicial que contenha diversidade suficiente para

permitir ao algoritmo combinar características e produzir novas soluções;

Existência de um método para medir a qualidade de uma solução potencial;

 Um procedimento de combinação de soluções para gerar novos indivíduos na população;

 Um critério de escolha das soluções que permanecerão na população ou que serão retirados desta;

  Um procedimento para introduzir periodicamente alterações em algumas soluções da população. Desse modo mantém-se a diversidade da população e a possibilidade de se produzir soluções inovadoras para serem avaliadas pelo critério de seleção dos mais aptos.

Page 22: Computação Evolucionária

Figura 1 - Estrutura básica de um Algoritmo Genético

População

Avaliação de Aptidão

Seleção

Cruzamento

Mutação

Operadores genéticos

Critério de Parada ?

Retornar Melhor Indivíduo

Não

Sim

Page 23: Computação Evolucionária

Seleção O operador escolhe quais

indivíduos participarão na criação da próxima geração

Page 24: Computação Evolucionária

Exemplo

Indivíduos Fitness % Fitness10101010110101010111

12 23,08

00001001010101110010

8 15,38

00001100001011011101

9 17,31

00000110010010000010

6 11,54

11100011100010011111

12 23,08

00010101001000010000

5 9,62

Total 52 100,00

Page 25: Computação Evolucionária

Roleta

23%

15%

17%12%

23%

10%

Page 26: Computação Evolucionária

Roleta

InicioT = soma dos valores de aptidão de todos os indivíduos da populaçãoRepita N vezes para selecionar n indivíduos

r = valor aleatório entre 0 e TPercorra sequencialmente os indivíduos da população, acumulando em S o valor de aptidão dos indivíduos já percorridos Se S >= r então

Selecione o indivíduo correnteFim se

Fim RepitaFim

Page 27: Computação Evolucionária

TorneioInicio

k = 0.75Repita N vezes

Escolha 2 indivíduos da população aleatoriamenter = valor aleatório entre 0 e 1Se r < k

O melhor indivíduo é escolhidoSenão

O pior indivíduo é escolhidoFim se

Fim RepitaFim

Page 28: Computação Evolucionária

Pressão de Seleção

M pais Kfilhos

Sem sobreposição

Com sobreposição

Page 29: Computação Evolucionária

Pressão de Seleção Generações com sobreposição

Mais pressão que sem sobreposição M moderado, K=M, GA tradicionais M grande, K pequeno “steady state” GA

Estrategias de seleção (pressão decrecente) Truncação Torneio e ranking Proporcional a fitness Uniforme

Estocastica vs deterministica

Page 30: Computação Evolucionária

Problemas da Roleta Tecnicamente resulta numa

distribuição proporcional de indivíduos

Convergência muito rápida Variância quase nula

Page 31: Computação Evolucionária

Seleção por Ranking Não parametrica Os indivíduos são ordenados de

acordo com sua fitness Os offspring são alocados de

acordo ao ranking (pode ser linearmente)

Page 32: Computação Evolucionária

Reprodução Preserva caracteristicas uteis Introduz variedade e novedades Estrategias

Parentes unicos: clonar + mutuação Parentes multiplos: recombinação +

mutuação

Page 33: Computação Evolucionária

Metodos de Recombinação Cruzamento: cria novos indivíduos

misturando características de dois indivíduos pais (crossover)

Copia de segmentos entre os pais Crossovers multi-ponto, dois

pontos, um ponto, uniforme e inversão

Page 34: Computação Evolucionária

Cruzamento Pai 1: 10101010110101010111 Pai 2: 00001001010101110010 Cruzamento em um ponto

10101010110101110010, 00001001010101010111

Cruzamento uniforme: os filhos são formados a partir dos bits dos pais (sorteado)

Page 35: Computação Evolucionária

  

    

Cruzamento em dois pontos

1 1 1 0 0 1 0 1

1 0 0 0 0 0 0 1

1 1 1 0

0 1 0

1

1 0 0 0

0 0 0

1

Individuo 1

Individuo 2

Descendente 1

Descendente 2

 

Page 36: Computação Evolucionária

Mutação Esta operação inverte

aleatoriamente alguma característica do indivíduo

Cria novas características que não existiam

Mantem diversidade na população

Page 37: Computação Evolucionária

Balance Explotação-Exploração Pressão de seleção: explotação

Reduz o espaço de busca Reprodução: exploração

Expande o espaço de busca Balance

Seleção forte + taxas de mutução altas Seleçao fraca + taxas de mutução

baixas