Você está na página 1de 20

Computação

E l ti
Evolutiva
Profa Dra.
Profa. Dra Gina Maira B.
B de Oliveira

Computação Evolutiva

Definição:
D fi i ã Estudo
Et d dde métodos
ét d d de bbusca iinspiradas
i d 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 que,
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 Evolutiva

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

Algoritmos
Genéticos
Algoritmos Genéticos
-Origem-
John Holland
(U i
(Universidade
id d de
d Michigan,
Mi hi anos 60):
60)
ƒa partir de experiências com implementações
de redes neurais artificiais, Holland percebeu
um nítido elo entre a biologia e a computação:
as máquinas podiam ser levadas a adaptar-se
ao meio ambiente,
ambiente tais como os seres vivos.
vivos

ƒpotencial da evolução como máquina


adaptativa: A evolução era, tal como a
aprendizagem, uma forma de adaptação ao
meio ambiente.

Algoritmos Genéticos
-Origem (cont) -
ƒprocesso de fazê-lo era começar de
baixo: partir de uma situação de acaso e
programar nas máquinas mecanismos
inspirados na Natureza. Depois, estes
mecanismos seguiriam seu próprio curso.

ƒmodelo matemático do processo


evolutivo ⇒ algoritmo de busca com
inspiração genética.
Princípios dos AGs

ƒTeoria da evolução: implementa


mecanismos
i adaptativos
d i d otimização
de i i ã
que envolvem aleatoriedade.
ƒAlgoritmos Genéticos (AGs) realizam
uma busca não determinística baseada
na abstração do conceito de Evolução.
Evolução
ƒOs AGs pertencem à classe dos
métodos probabilísticos de busca e
otimização.

Princípios dos AGs (cont)

ƒComeça-se com uma estrutura onde replicam-


se os mecanismos da natureza e espera-se
emergir um comportamento espontaneamente.

ƒO processo de tratamento simultâneo da


reprodução de todos os organismos de uma
geração
g ç estabeleceria um p paralelo com a
metodologia multiprocessadora da Natureza.

ƒO AG serve-se da evolução para fornecer um


meio poderoso de executar funções de
otimização num computador
Definição
[TANOMARU95]
"Algoritmos Genéticos são métodos
computacionais de busca baseados nos
mecanismos da evolução natural e na
genética. Em AGs, uma população de
possíveis soluções para o problema em
questão evolui de acordo com operadores
probabilísticos concebidos a partir de
metáforas biológicas, de modo que há
uma tendência de que, na média, os
indivíduos representem soluções cada vez
melhores à medida que o processo
evolutivo continua"

Conceitos
•Evolução biológica: sobrevivência é medida
d desempenho.
de d h
•Qualquer criatura viva pode ser considerada
uma solução estrutural em seu ecossistema.
•AG: procedimento iterativo que mantém
sempre uma população de estruturas que são
candidatas
did t à solução
l ã dod problema.
bl
•Indivíduo: Cada ponto no espaço de busca do
problema, representado no sistema por uma
estrutura representando seu cromossomo,
uma cadeia de símbolos de tamanho fixo.
Conceitos (cont)

•Geração:
ç a cada incremento temporal,
p , as
estruturas na população corrente são
avaliadas através de uma medida de
desempenho que indica o quão próxima
uma estrutura está de ser a solução do
problema.
•Nova população: Baseado nestas
avaliações, soluções candidatas são
formadas, utilizando-se três operadores
genéticos: reprodução, crossover e
mutação.

AGs e outros métodos de otimização


Os 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
não
ã no espaço de d busca
b di t
diretamente.
t
„operam num conjunto (população) de pontos,
e não a partir de um ponto isolado.
„necessitam somente de informação sobre o
ç objetivo
valor de uma função j para cada membro
p
da população e não requerem derivadas ou
qualquer outro tipo de conhecimento.
„usam regras de transição probabilísticas, e não
regras determinísticas.
Ciclo de execução
G e r a - s e a P o p u la ç ã o I n ic ia l c o m T P in d iv íd u o s .

A v a lia m - s e t o d o s o s in d iv íd u o s d a P o p u la ç ã o I n ic ia l .

M e lh o r I n d iv íd u o d a
P o p u la ç ã o a t in g iu SIM
P o p u la ç ã o é
C r it é r io d e T é r m in o ?
a p resen ta d o co m o
S o lu ç ã o
NÃO
S e le c io n a m - s e p r e c in d iv íd u o s q u e fo r m a r ã o
o s p a re s d o cro sso v e r.
F IM

P a r a c a d a p a r , s o r t e ia - s e u m P o n t o d e C r o s s o v e r
e 2 n o v o s in d iv íd u o s s ã o g e r a d o s p o r c r o s s o v e r .

S u b m e t e m - s e o s n o v o s in d iv íd u o s a u m a m u t a ç ã o
c o m p r o b a b ilid a d e p m u t

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

S e le c io n a m - s e o s T P m e lh o r e s in d iv íd u o s d e n t r e a
p 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 Importantes
„ Representação Cromossômica
„ População Inicial

„ Função de Avaliação

„ Seleção: Método da Roleta

„ Crossover

„ Mutação

„ Busca Local (cross) e Busca Global (mutação)

„ Condições de Término

„ Determinação dos Parâmetros

„ Problemas Práticos: Convergência Prematura e


Tempo de Processamento Elevado.
Crossover e Mutação

Seleção:
Método da Roleta
31/08/2010

Computação Evolutiva

2a Aula

Algoritmos Genéticos
• Representação da Solução (Cromossomo):
– Cromossomo Estático: na maioria das aplicações,
são representados
d por um vetor (ou
( conjunto
j de
d
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

1
31/08/2010

Algoritmos 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
• Amostragem
A E
Estocástica
á i Universal
U i l
• Torneio

2
31/08/2010

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:
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 Não-Linear

3
31/08/2010

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
numero de casas
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

4
31/08/2010

AGs: Seleção para o Crossover


• Torneio (Tournament)
– Tour: variável que indica o numero de
indivíduos qque serão envolvidos em cada
torneio.
– A cada torneio, um sub-grupo de Tour
indivíduos é selecionado da população.
– O melhor indivíduo do sub-grupo é
selecionado como resultado do Torneio.
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
p ç com a média.

• Escolha de um método:

– Quanto > a Pressão Seletiva ⇒ < será o numero de


gerações necessárias para se chegar na soluçao.
soluçao

– Quanto > a Pressão Seletiva ⇒ > será o risco de


Convergência Prematura.

5
31/08/2010

AGs: Seleção para o Crossover


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

• N* depende:
– Dimensão
Di ã da
d Função
F ã Objetivo
Obj ti (Espaço
(E de
d
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)
• Arvores

6
31/08/2010

AGs: Crossover

• Vetores Binários:

– Crossover Simples

– Crossover Múltiplo
p

– 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
Cromossomo-Pai1Pai1 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.
Pto. de Crossover Pto. de Crossover
Pai1: Filho1:
1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1

Pai2: 0 1 0 0 1 0 1 1 Filho2: 0 1 0 1 1 0 0 0

7
31/08/2010

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 pontos.
pontos
– Por exemplo, podem ser sorteados 2 Pontos de
Crossover:

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

Pai2: 0 1 0 0 1 0 1 1 Filho2: 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 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: 1 0 1 1 1 0 0 0 Filho1: 1 0 0 1 1 0 1 1

Pai2: 0 1 0 0 1 0 1 1 Filho2: 0 1 1 0 1 0 0 0

8
31/08/2010

AGs: Crossover
• Vetores Reais: podem ser aplicados os
métodos para vetores binários, entretanto
o nível de recombinação seria inferior,
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 Intermediaria

– Recombinação Linear

AGs: Crossover
• Recombinação Discreta :
– Semelhante ao Crossover Uniforme, mas a
mascara de cada filho e sorteada
i d
independentemente.
d

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

Pai1: 12 25 5 Filho1: 123 4 5

Pai2: 123 4 34 Filho2: 12 4 5

9
31/08/2010

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: 0,5 1,1 -0,1 Alfa 2: 0,1 0,8 0,5

Pai1: 12 25 5 Pai2: 123 4 34

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

Filho1: 67,5 1,9 2,1 De forma análoga, o Filho 2 e obtido:

Filho2: 23,1 8,2 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,
Filho = Pai1 + α * (Pai2-Pai1)

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

Pai1: 12 25 5 Pai2: 123 4 34

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

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

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

10
31/08/2010

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 trocado.
trocado
– Depois, são feitas mudanças posição a posição para não
existirem repetições nos filhos gerados.

Pai1: 7 5 1 4 3 6 8 2 Filho1: 7 5 8 7 5 6 8 2
Pai2: 3 4 8 7 5 2 6 1 Filho2: 3 4 1 4 3 2 6 1

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

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

11
31/08/2010

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
permanecerem fora do ciclo não serão trocados.

Pai1: 7 5 1 4 3 6 8 2 Pai1: 7 5 1 4 3 6 8 2
Pai2: 3 4 8 7 5 2 6 1 Pai2: 3 4 8 7 5 2 6 1

Filho1: 3 4 1 7 5 6 8 2

Filho2: 7 5 8 4 3 2 6 1

12

Você também pode gostar