Sie sind auf Seite 1von 89

Algoritmos

Genéticos

Victor Gonçalves
Sumário

 Introdução;

 Otimização Global;

 O Algoritmo Genético;
Objetivos da apresentação

 Introduzir a técnica;

 Mostrar suas potencialidade;


Uma definição simplista

Algoritmos Genéticos são técnicas


de otimização global inspiradas
na teoria da evolução das
espécies.
“Pontos fortes” dos AG’s

 Otimização em escopo global;

 Não necessita de conhecimento, a


priori, de características do espaço de
busca;
 Opera sobre uma codificação
genérica dos parâmetros da
otimização;
Otimização

Definição 1:
É a busca da melhor solução
para um determinado problema.

Definição 2:
É maximizar ou minimizar algo.
Processo de otimização
clássico

1 Propor candidato a solução;


2 Obtém-se saídas de interesse e
avalia-se os objetivos;
3 Baseado em algum tipo de análise do
resultado obtido, propõe-se nova
tentativa.
4 Voltar ao passo 2
Uma tarefa difícil

Otimização global e sem


conhecimento do espaço de busca.
Otimização Global

Função Multi-modal (vários sub-ótimos)

V2 Ótimo Global
Ótimo Local ou
sub-ótimo

V1
O Clássico “Hill-Climbing”

1 “Chuta-se” ponto inicial;


2 Avalia a proposta;
3 Analisa-se a tendência, ou seja, a direção
e sentido para onde deve caminhar a
próxima tentativa;
4 Novo “chute”;
5 Se parar de melhorar, FIM, senão, volta
para 2”;
O Clássico “Hill-Climbing”

V2

Melhora

Chute inicial V1
O Clássico “Hill-Climbing”

V2

Tentativa 2 V1
O Clássico “Hill-Climbing”

V2

Tentativa 3 V1
O Clássico “Hill-Climbing”

V2

Tentativa 4 V1
O Clássico “Hill-Climbing”

V2

Tentativa 5 V1
Um dilema

• Técnicas formais de otimização global


demandam conhecimento do espaço de
busca (concavidade, limites, derivadas,
etc)
 Técnicas que não demandam
conhecimento do espaço de busca são
susceptíveis à convergência local.
Proposta de solução

Utilizar algoritmos baseados em


população, como por exemplo:
- Algoritmos Genéticos (AG).
- PBIL
- ACS
- PSO
- DE
O preço da solução

Elevado custo computacional, quando


comparado com o custo demandado por
técnicas tradicionais, como as
mencionadas anteriormente.
AG´s e Otimização Global

 Parte de uma população de candidatos;

 Possui operadores (genéticos) que


proporcionam diversidade de busca,
gerando candidatos em novas regiões
do domínio de busca.
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2

V1
AG´s e Otimização Global

V2 Redondezas do
Ótimo Global

V1
Onde aplicar os AG’s

Problemas multi-modais (vários sub-


ótimos) onde não se tem
conhecimento do espaço de busca a
ser explorado.
A metáfora dos Algoritmos
Genéticos

Numa dada população, os indivíduos mais fortes têm


mais chances de reprodução e, conseqüentemente, de
passar suas características para seus descendentes,
gerando, assim, uma população cada vez mais
adaptada ao meio.
Nos Algoritmos Genéticos

Meio Espaço de busca

Adaptação Cumprimento dos objetivos


Otimização automática (via
computador)

 Definição de uma estrutura de dado para


conter um candidato à solução.

 Definição de uma forma de avaliação do


resultado, considerando os objetivos e
as restrições do problema.
 Mecanismo de controle e geração de
novos candidatos a solução.
Nos Algoritmos Genéticos

Estrutura de Dado Genótipo ou cromossoma

Avaliação Função Objetivo

Controle e geração Operações de seleção,


de novos candidatos cruzamento, mutação, elitismo...
Genótipo

 É a estrutura de dado que codifica um


candidato à solução;

 Nos AG´s clássicos isto é feito


através de uma “string” binária de
tamanho fixo;
Função Objetivo

 É a função que reúne as saídas de


interesse e avalia o quão “boa” é a
solução proposta;
 O valor da função objetivo para um
indivíduo é chamado prêmio ou
aptidão (“fitness”).
O Algoritmo Genético Clássico

1. Inicializa população de candidatos à solução;


2. Avalia população de candidatos;
3. Seleciona candidatos para operações genéticas;
4. Opera e transforma população de candidatos;
5. Atualiza população de candidatos;
6. Se convergiu, FIM, senão, volta para 2;
O Algoritmo Genético Clássico

Início
Inicializa(População);
Enquanto (NÃO Terminar) Faça
Avalia (Pop);
NovaPopulação := Seleciona (População);
Opera (NovaPopulação);
Populaçao := NovaPopulação;
Fim Enquanto;
Fim.
Problema exemplo
 Problema: Obter valores de V1 (podendo variar
entre 1 e 32) e V2 (podendo variar entre 0 e
15.5) de forma que se obtenha o maior valor de
f(V1,V2) = V1 + V2.

v1
f
v2
Exemplo de Genótipo

Codificação das variáveis Codificação de um


candidato à solução:
1 - 00000
2 - 00001 Genótipo
v1 ...
31 - 11110 Gene 1 Gene 2
32 - 11111 v1 v2
0 - 00000 10001 00011
0.5 - 00001
v2 ...
15.0 - 11110 18 1.5
15.5 - 11111
O Algoritmo Genético Clássico

1. Inicializa população de candidatos à solução;


2. Avalia população de candidatos;
3. Seleciona candidatos para operações genéticas;
4. Opera e transforma população de candidatos;
5. Atualiza população de candidatos;
6. Se convergiu, FIM, senão, volta para 2;
Inicialização
É a geração aleatória de uma população inicial.
Indivíduo Genótipo v1 v2
1 0001100010 4 1
2 0101011110 10 15
3 0110000100 13 2
4 0010101011 5 5
5 0001000000 2 0
6 1110011100 29 14
Avaliação
Cálculo da função objetivo para cada candidato.
Indivíduo Genótipo v1 v2 f(v1,v2)
1 0001100010 4 1 5
2 0101011110 10 15 25
3 0110000100 13 2 15
4 0010101011 5 5 10
5 0001000000 2 0 2
6 1110011100 29 14 43
O Algoritmo Genético Clássico

1. Inicializa população de candidatos à solução;


2. Avalia população de candidatos;
3. Seleciona candidatos para operações genéticas;
4. Opera e transforma população de candidatos;
5. Atualiza população de candidatos;
6. Se convergiu, FIM, senão, volta para 2;
Seleção Proporcional

A fitness indica o tamanho do arco correspondente ao indivíduo

Indivíduo f
1 5
2 25
3 15
4 10
5 2
6 43
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional
Seleção Proporcional

Indivíduo 6
selecionado
O Algoritmo Genético Clássico

1. Inicializa população de candidatos à solução;


2. Avalia população de candidatos;
3. Seleciona candidatos para operações genéticas;
4. Opera e transforma população de candidatos;
5. Atualiza população de candidatos;
6. Se convergiu, FIM, senão, volta para 2;
Operações genéticas clássicas

 Cruzamento (“crossover): é a troca


de informação genética entre
indivíduos (mistura de soluções).

 Mutação: é a alteração aleatória de


parte do genótipo (no AG clássico, 1
bit).
Cruzamento (“crossover”)

Pais Filhos

1010100011 1010 100001

0001100001 0001 100011

Ponto de crossover (escolhido aleatoriamente)


Mutação

 Escolhe-se uma posição aleatoriamente e


inverte-se este bit.

Antes da mutação

1010000011

Ponto de mutação (escolhido aleatoriamente)


Mutação

 Escolhe-se uma posição aleatoriamente e


inverte-se este bit.

Depois da mutação

1010100011

Ponto de mutação (escolhido aleatoriamente)


Elitismo

 Técnica utilizada para eliminar a


possibilidade de perda do melhor
indivíduo até então encontrado. Isto é
feito através da simples cópia do
melhor indivíduo para a próxima
geração.
Alguns critérios de parada

 avaliação da similaridade entre os


indivíduos da população;

 estagnação do processo de evolução;

 número máximo de gerações;


Teoria dos Esquemas

 Um esquema é um “template” que caracteriza grupos de


indivíduos através de um padrão de similaridade. A
representação de um esquema: é feita através de um
alfabeto ternário {0, 1, *} onde o * é um “don´t care” (pode
significar tanto um 0 quanto um 1 na posição indicada).

 A Teoria dos Esquemas estuda o comportamento


dinâmico dos esquemas durante a evolução do AG.|
Teoria dos Esquemas

Exemplos de esquema:
H1 = 110**
H2 = *00

Indivíduos representados
por H1: 11000, 11001, 11010 e
11011
por H2: 100 e 000
Teoria dos Esquemas

 Para se estudas a influência das


operações genéticas sobre um
determinado esquema, são definidas
duas grandezas:

Largura Definida do esquema ()

Ordem do esquema (o)


Teoria dos Esquemas

 Largura Definida (): diferença entre o


primeiro e o último bit fixos (diferentes de
*)
Ex:  (1**10**) = 5-1 = 4

Esta grandeza está relacionada com a


probabilidade de um esquema ser
destruído em um crossover.
Teoria dos Esquemas

 Ordem (o): número de bits fixos


(diferentes de *)
Ex:  (1**10**) = 3

Esta grandeza está relacionada com a


probabilidade de um esquema ser
destruído em uma mutação.
Teoria dos Esquemas

Definção:

m(H,t): quantidade de indivíduos


representados pelo esquema H na geração t.
Teoria dos Esquemas

Considerando apenas a seleção proporcional à


fitness:

f (H )
m( H , t  1)  m( H , t )  n 
 fi
f (H )
m( H , t  1)  m( H , t ) 
f
Teoria dos Esquemas

Probabilidade de sobrevivência a um crossover


probabilidade pc de crossover:

 (H )
psc  1  pc
l 1
Teoria dos Esquemas

Probabilidade de sobrevivência a um mutação


com probabilidade pm de mutação:

psm  1  pm 
o( H )

p  1  psm  1  pm   o( H )
Teoria dos Esquemas

Obtêm-se então:

f (H )   (H ) 
m( H , t  1)  m( H , t )  1  pc  o( H ) pm 
f  l 1 
Teoria dos Esquemas

Denomina-se “building blocks” os


esquemas de baixa ordem e pequena
largura definida, com fitness acima da
média. Estes esquemas tendem a
proliferar e formar a base da evolução.

Das könnte Ihnen auch gefallen