IA_CompEvolutiva

20

Click here to load reader

Transcript of IA_CompEvolutiva

Page 1: IA_CompEvolutiva

Computação Computação E l tiE l tiEvolutivaEvolutiva

Profa Dra Gina Maira B de OliveiraProfa Dra Gina Maira B de OliveiraProfa. Dra. Gina Maira B. de OliveiraProfa. Dra. Gina Maira B. de Oliveira

Computação EvolutivaComputação Evolutiva

D fi i ã E t d d ét d d b i i dDefinição: Estudo de métodos de busca inspiradas na reprodução dos seres vivos e na teoria evolucionista de Charles Darwin.

Nestes métodos, parte-se de uma população inicial de soluções candidatas geradas aleatoriamente quesoluções candidatas geradas aleatoriamente que, direcionadas por uma função de avaliação, vai evoluindo através dos operadores genéticos de CROSSOVER e MUTAÇÃO até que es chegue em soluções satisfatórias.

Page 2: IA_CompEvolutiva

Computação EvolutivaComputação Evolutiva

Principais Técnicas:Principais Técnicas:Principais Técnicas:Principais Técnicas:–Algoritmos Genéticos–Programação Genética–Estratégias EvolutivasP ã E l ti–Programação Evolutiva

AlgoritmosAlgoritmosGenéticosGenéticos

Page 3: IA_CompEvolutiva

Algoritmos Genéticos -Origem-

John Holland(U i id d d Mi hi 60)(Universidade de Michigan, anos 60):

a partir de experiências com implementaçõesde redes neurais artificiais, Holland percebeuum nítido elo entre a biologia e a computação:as máquinas podiam ser levadas a adaptar-seao meio ambiente tais como os seres vivosao meio ambiente, tais como os seres vivos.

potencial da evolução como máquinaadaptativa: A evolução era, tal como aaprendizagem, uma forma de adaptação aomeio ambiente.

Algoritmos Genéticos-Origem (cont) -

processo de fazê-lo era começar debaixo: partir de uma situação de acaso eprogramar nas máquinas mecanismosinspirados na Natureza. Depois, estesmecanismos seguiriam seu próprio curso.

modelo matemático do processoevolutivo ⇒ algoritmo de busca cominspiração genética.

Page 4: IA_CompEvolutiva

Princípios dos AGs

Teoria da evolução: implementai d i d i i ãmecanismos adaptativos de otimização

que envolvem aleatoriedade.

Algoritmos Genéticos (AGs) realizamuma busca não determinística baseadana abstração do conceito de Evoluçãona abstração do conceito de Evolução.

Os AGs pertencem à classe dosmétodos probabilísticos de busca eotimização.

Princípios dos AGs (cont)

Começa-se com uma estrutura onde replicam-se os mecanismos da natureza e espera-sese os mecanismos da natureza e espera-seemergir um comportamento espontaneamente.

O processo de tratamento simultâneo dareprodução de todos os organismos de umageração estabeleceria um paralelo com ag ç pmetodologia multiprocessadora da Natureza.

O AG serve-se da evolução para fornecer ummeio poderoso de executar funções deotimização num computador

Page 5: IA_CompEvolutiva

Definição[TANOMARU95]

"Algoritmos Genéticos são métodoscomputacionais de busca baseados noscomputacionais de busca baseados nosmecanismos da evolução natural e nagenética. Em AGs, uma população depossíveis soluções para o problema emquestão evolui de acordo com operadoresprobabilísticos concebidos a partir deprobabilísticos concebidos a partir demetáforas biológicas, de modo que háuma tendência de que, na média, osindivíduos representem soluções cada vezmelhores à medida que o processoevolutivo continua"

Conceitos

•Evolução biológica: sobrevivência é medidad d hde desempenho.•Qualquer criatura viva pode ser consideradauma solução estrutural em seu ecossistema.•AG: procedimento iterativo que mantémsempre uma população de estruturas que são

did t à l ã d blcandidatas à solução do problema.•Indivíduo: Cada ponto no espaço de busca doproblema, representado no sistema por umaestrutura representando seu cromossomo,uma cadeia de símbolos de tamanho fixo.

Page 6: IA_CompEvolutiva

Conceitos (cont)

•Geração: a cada incremento temporal, asç p ,estruturas na população corrente sãoavaliadas através de uma medida dedesempenho que indica o quão próximauma estrutura está de ser a solução doproblema.•Nova população: Baseado nestasavaliações, soluções candidatas sãoformadas, utilizando-se três operadoresgenéticos: reprodução, crossover emutação.

AGs e outros métodos de otimizaçãoOs AGs diferem da maioria dos procedimentos

de busca e otimização em quatro princípios básicos:operam num espaço de soluções codificadas, eã d b di t tnão no espaço de busca diretamente.operam num conjunto (população) de pontos,

e não a partir de um ponto isolado.necessitam somente de informação sobre o

valor de uma função objetivo para cada membroç j pda população e não requerem derivadas ouqualquer outro tipo de conhecimento.usam regras de transição probabilísticas, e não

regras determinísticas.

Page 7: IA_CompEvolutiva

Ciclo de execução G e ra -se a P o p u la ç ã o In ic ia l c o m T P in d iv íd u o s .

A v a lia m -se to d o s o s in d iv íd u o s d a P o p u la ç ã o In ic ia l.

P o p u la ç ã o a t in g iu S I MM e lh o r In d iv íd u o d aP o p u la ç ã o a t in g iu

C rité r io d e T é rm in o ?

S e le c io n a m -se p r e c in d iv íd u o s q u e fo rm a rã oo s p a re s d o c ro sso v e r .

P a ra c a d a p a r , so rte ia -se u m P o n to d e C ro sso v e re 2 n o v o s in d iv íd u o s sã o g e ra d o s p o r c ro sso v e r .

S u b m e te m -se o s n o v o s in d iv íd u o s a u m a m u ta ç ã o

N Ã O

S I M P o p u la ç ã o éa p re se n ta d o c o m o

S o lu ç ã o

F IM

c o m p ro b a b ilid a d e p m u t

A v a lia -se o d e se m p e n h o d o s n o v o s in d iv íd u o s fo rm a d o sa p ó s o s p ro c e sso s d e C ro sso v e r e M u ta ç ã o .

S e le c io n a m -se o s T P m e lh o re s in d iv íd u o s d e n tre ap o p u la ç ã o o r ig in a l e o s n o v o s in d iv íd u o s .

Pontos ImportantesRepresentação CromossômicaPopulação InicialFunção de AvaliaçãoSeleção: Método da RoletaCrossoverMutaçãoBusca Local (cross) e Busca Global (mutação)Condições de TérminoCondições de TérminoDeterminação dos ParâmetrosProblemas Práticos: Convergência Prematura e

Tempo de Processamento Elevado.

Page 8: IA_CompEvolutiva

Crossover e Mutação

Seleção: Método da Roleta

Page 9: IA_CompEvolutiva

31/08/2010

1

Computação Evolutiva

2a Aula

Algoritmos Genéticos• Representação da Solução (Cromossomo):

– Cromossomo Estático: na maioria das aplicações, d ( j dsão representados por um vetor (ou conjunto de

vetores), cujos elementos podem ser: • Binários: é a representação mais utilizada • Reais• Inteiros: normalmente utilizada em problemas de

permutação– Cromossomo Dinâmico:

• Vetor de Tamanho Variável• Arvores

Page 10: IA_CompEvolutiva

31/08/2010

2

Algoritmos Genéticos

• Principais Operadores Genéticos:• Principais Operadores Genéticos:– Seleção

• Pais para Crossover• Reinserção (Seleção Natural)

– Crossover– Mutação– Inversão (pouco utilizado, proposto no trabalho

original de Holland)

Algoritmos Genéticos• Seleção dos Pais para o Crossover:

– Principais métodos:• Truncamento• Ranking• Roleta

A E á i U i l• Amostragem Estocástica Universal• Torneio

Page 11: IA_CompEvolutiva

31/08/2010

3

AGs: Seleção para o Crossover• Truncamento (Truncation Selection)

– Ordena-se todos os indivíduos de acordo com a aptidão. Seleciona-se os N primeiros indivíduos para o crossover, que são alocados em pares aleatoriamente.

– N depende da Taxa de Crossover.Exemplo:Exemplo:

Tp = 100 e pcross= 40%Os 40 melhores indivíduos formarão os pares

para o crossover.

AGs: Seleção para o Crossover• Ranking (Rank-Based Fitness Assignment)

– Ordena-se todos os indivíduos de acordo com a aptidão. A probabilidade de um individuo ser sorteado depende unicamente da sua aptidão.

– Dois tipos:• Ranking Linear• Ranking Linear• Ranking Não-Linear

Page 12: IA_CompEvolutiva

31/08/2010

4

AGs: Seleção para o Crossover• Método da Roleta (Roulette Wheel Selection)

– E o método de seleção mais utilizado em çAGs.

AGs: Seleção para o Crossover• Amostragem estocástica

(Stochastic Universal Sampling )– Distribuição do “numero de casas” é idênticoDistribuição do numero de casas é idêntico

ao Método da Roleta, mas a seleção é feita de forma diferente.

– Primeiro, normalizamos o vetor da roleta– Seja N: numero de seleções desejadas

– Primeira seleção: s1 ∈ [0 , 1/N]– Segunda seleção: s2 = s1 + 1/N..

– N-esima seleção: sn = sn-1 + 1/N

Page 13: IA_CompEvolutiva

31/08/2010

5

AGs: Seleção para o Crossover• Torneio (Tournament)

– Tour: variável que indica o numero de indivíduos que serão envolvidos em cada qtorneio.

– A cada torneio, um sub-grupo de Tourindivíduos é selecionado da população.

– O melhor indivíduo do sub-grupo é selecionado como resultado do Torneioselecionado como resultado do Torneio.• Torneio Simples: a seleção do sub-grupo é feita

sem considerar a aptidão relativa • Torneio Estocástico: a seleção do sub-grupo é

feita através do Método da Roleta.

AGs: Seleção para o Crossover

• Pressão Seletiva: probabilidade do BEST ser selecionado, em comparação com a média., p ç

• Escolha de um método:

– Quanto > a Pressão Seletiva ⇒ < será o numero de gerações necessárias para se chegar na soluçaogerações necessárias para se chegar na soluçao.

– Quanto > a Pressão Seletiva ⇒ > será o risco de Convergência Prematura.

Page 14: IA_CompEvolutiva

31/08/2010

6

AGs: Seleção para o Crossover

• N*: Tamanho populacional mínimo: menor valor de população no qual garantidamentevalor de população no qual garantidamente o AG converge para o ótimo.

• N* depende:Di ã d F ã Obj ti (E d– Dimensão da Função Objetivo (Espaço de Busca)

– Pressão Seletiva

Algoritmos Genéticos• Crossover ou Recombinação:

– Depende da Forma do Cromossomo:• Vetor de Binários• Vetor de Reais• Vetor de Inteiros (permutação)• ArvoresArvores

Page 15: IA_CompEvolutiva

31/08/2010

7

AGs: Crossover

• Vetores Binários:

– Crossover Simples

– Crossover Múltiplop

– Crossover Uniforme

AGs: Crossover• Crossover Simples:

– E sorteado um único Ponto de Crossover. Cada par de pais da origem a um par de filhos. O primeiro filho repete os gens do Cromossomo Pai1 ate– O primeiro filho repete os gens do Cromossomo-Pai1 ate o Ponto de Crossover. A partir deste ponto, ele repete os gens do Cromossomo-Pai2.

– O segundo filho repete os gens do Cromossomo-Pai2 ate o Ponto de Crossover. A partir deste ponto, ele repete os gens do Cromossomo-Pai1.

Pai1: Filho1:

Pai2: Filho2:

1 0 0 1 1 0 0 0

0 1 0 0 1 0 1 1

Pto. de Crossover1 0 0 0 1 0 1 1

0 1 0 1 1 0 0 0

Pto. de Crossover

Page 16: IA_CompEvolutiva

31/08/2010

8

AGs: Crossover• Crossover Múltiplo:

– Idêntico ao Crossover simples com a diferença que são sorteados mais de um Ponto de Crossover e a troca de material genético e feita nos vários pontosmaterial genético e feita nos vários pontos.

– Por exemplo, podem ser sorteados 2 Pontos de Crossover:

Pai1: Filho1:1 0 1 1 1 0 0 0Pai1: Filho1:

Pai2: Filho2:

1 0 1 1 1 0 0 0

0 1 0 0 1 0 1 1

1 0 0 0 1 0 0 0

0 1 1 1 1 0 1 1

AGs: Crossover• Crossover Uniforme:

– E um tipo de Crossover múltiplo levado ao extremo, onde ao invés de sortear-se Pontos de Crossover, sorteia-se uma mascara do tamanho do cromossomo que indicase uma mascara do tamanho do cromossomo que indica qual Cromossomo-Pai fornecerá cada gen do Filho1. O Filho2 e gerado pelo complemento da mascara.

Mascara: 1 1 2 1 2 1 2 2

Pai1: Filho1:

Pai2: Filho2:

1 0 1 1 1 0 0 0

0 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0

1 0 0 1 1 0 1 1

Page 17: IA_CompEvolutiva

31/08/2010

9

AGs: Crossover• Vetores Reais: podem ser aplicados os

métodos para vetores binários, entretanto o nível de recombinação seria inferioro nível de recombinação seria inferior, uma vez que a troca não alteraria os valores reais. Por isso, alguns outros métodos específicos foram estudados:

– Recombinação Discreta– Recombinação Discreta

– Recombinação Intermediaria

– Recombinação Linear

AGs: Crossover• Recombinação Discreta :

– Semelhante ao Crossover Uniforme, mas a mascara de cada filho e sorteada i d dindependentemente.

Mascara Filho 1: Mascara Filho 2:2 2 1 1 2 1

Pai1: Filho1:

Pai2: Filho2:

2512 5

4123 34

4123 5

412 5

Page 18: IA_CompEvolutiva

31/08/2010

10

AGs: Crossover• Recombinação Intermediaria :

– Neste caso, as mascaras são sorteadas para definirem os pesos α da equação:

Filho = Pai1 + α * (Pai2-Pai1)

Alfa 1: Alfa 2:

Pai1: Pai2:2512 5 4123 34

1,10,5 -0,1 0,80,1 0,5

Filho1:

Filho1: De forma análoga, o Filho 2 e obtido:

Filho2:

12 + 0,5 * (123 – 12) 25 + 1,1 * (4 – 25) 5 - 0,1 * (34 – 5)

1,967,5 2,1

8,223,1 19,5

AGs: Crossover• Recombinação Linear :

– Idêntico a Recombinaçao Intermediaria, exceto porque as inves de mascaras e sorteado apenas um valor escalar por filho para definirem os pesos α da equação:filho, para definirem os pesos α da equação:

Filho = Pai1 + α * (Pai2-Pai1)

Alfa 1: 0,5 Alfa 2: - 0,1

Pai1: Pai2:2512 5 4123 34

Filho1:

De forma análoga, o Filho 2 e obtido:

Filho 2:

12 + 0,5 * (123 – 12) 25 + 0,5 * (4 – 25) 5 + 0,5 * (34 – 5)

12 + 0,1 * (123 – 12) 25 + 0,1 * (4 – 25) 5 + 0,1 * (34 – 5)

Page 19: IA_CompEvolutiva

31/08/2010

11

AGs: Crossover

• Vetores Inteiros (Problemas de Permutação):

– PMX (Partially Matched Crossover)

– Crossover Cíclico

AGs: Crossover• PMX:

– Primeiro seleciona-se uma seção no cromossomo (através de 2 Pontos de Crossover), onde o material genético dos 2 pais será integralmente trocado2 pais será integralmente trocado.

– Depois, são feitas mudanças posição a posição para não existirem repetições nos filhos gerados.

Pai1: Filho1:

Pai2: Filho2:

7 5 1 4 3 6 8 2

3 4 8 7 5 2 6 1

7 5 8 7 5 6 8 2

3 4 1 4 3 2 6 1Pai2: Filho2:

Filho1: Filho1:

Filho2: Filho2:

3 4 8 7 5 2 6 1 3 4 1 4 3 2 6 1

7 5 8 7 5 6 8 2

3 4 1 4 3 2 6 1

4 3 8 7 5 6 1 2

5 7 1 4 3 2 6 8

Page 20: IA_CompEvolutiva

31/08/2010

12

AGs: Crossover• Cíclico:

– A partir da troca de uma única posição, verifica-se ate que gen será alterado ate formar um ciclo. Todos os genes dentro do ciclo serão trocados e os que– Todos os genes dentro do ciclo serão trocados e os que permanecerem fora do ciclo não serão trocados.

Pai1: Pai1:

Pai2: Pai2:

7 5 1 4 3 6 8 2

3 4 8 7 5 2 6 1

7 5 1 4 3 6 8 2

3 4 8 7 5 2 6 1

Filho1:

Filho2:

3 4 1 7 5 6 8 2

7 5 8 4 3 2 6 1