ia_compevolutiva
TRANSCRIPT
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.
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
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.
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
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.
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.
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.
Crossover e Mutação
Seleção: Método da Roleta
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
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
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
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
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.
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
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
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
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
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)
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
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