Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
br
Marco Aurélio C. Pacheco, versão 1 em 14/07/1999
buscam uma melhor solução para um determinado Eletrônicos. Alguns exemplos de produtos
problema, através da evolução de populações de desenvolvidos no ICA são:
soluções codificadas através de cromossomas
artificiais. • Fluxo de Caixa Inteligente
Em GAs um cromossoma é uma estrutura • Classificação de Clientes (Data Mining)
de dados que representa uma das possíveis • Alocação de Espaço Físico
soluções do espaço de busca do problema. • Planejamento e Otimização de Embarque de
Cromossomas são então submetidos a um processo Minério no Porto de Tubarão
evolucionário que envolve avaliação, seleção, • Análise de Alternativas de Investimento em
recombinação sexual (crossover) e mutação. Após Projetos de Exploração e Prospecção de
vários ciclos de evolução a população deverá conter Petróleo sob Incertezas Técnicas e de Mercado
indivíduos mais aptos. • Otimização da Quantidade e Localização de
A analogia entre Algoritmos Genéticos e o Poços Petrolíferos para o Desenvolvimento de
sistema natural é representada através da tabela um Campo de Petróleo sob condições de
abaixo: certeza
Tabela 1
Natureza Algoritmos Genéticos 2 – Representação
Cromossoma Palavra binária, vetor, etc A representação das possíveis soluções do espaço
de busca de um problema define a estrutura do
Gene Característica do problema
cromossoma a ser manipulado pelo algoritmo.
Alelo Valor da característica
A representação do cromossoma depende
Loco Posição na palavra, vetor
do tipo de problema e do que, essencialmente, se
Genótipo Estrutura deseja manipular geneticamente. Os principais tipos
Fenótipo Estrutura submetida ao problema de representação são:
Indivíduo Solução
Geração Ciclo Representação Problemas
Binária Numéricos, Inteiros
Podemos caracterizar os Algoritmos Números Reais Numéricos
Genéticos através dos seguintes componentes [2]: Permutação de Símbolos Baseados em Ordem
Símbolos Repetidos Grupamento
1. Problema a ser otimizado
2. Representação das Soluções de Problema
A representação binária é simples, fácil de
3. Decodificação do Cromossoma
manipular cromossomas através dos operadores
4. Avaliação
genéticos, fácil de ser transformada em inteiro ou
5. Seleção
real e, ainda, facilita a prova de alguns teoremas.
6. Operadores Genéticos
Todavia, a representação por números reais (ponto
7. Inicialização da População
flutuante) oferece melhor desempenho.
Por exemplo, seja o problema de encontrar
A seguir é apresentada uma breve
o valor máximo da função f(x) = x2 , x inteiro
discussão sobre cada um desses aspectos,
[0,63]. Podemos representar as soluções do
exemplificando-se quando apropriado.
problema através de um cromossoma de 6 bits.
1 – Problema
C1 0 0 1 0 0 1 representa x=9
GAs são particularmente aplicados em problemas
C2 0 0 0 1 0 0 representa x=4
complexos de otimização: problemas com diversos
parâmetros ou características que precisam ser
combinadas em busca da melhor solução;
problemas com muitas restrições ou condições que
não podem ser representadas matematicamente; e Um binário também pode representar um
problemas com grandes espaços de busca. número real XR ∈ [Xmin,Xmáx], com precisão de p
GAs têm sido aplicados a diversos casas decimais. Para isso são necessários K bits,
problemas de otimização [3], tais como: sendo K calculado pela inequação:
Otimização de Funções Matemáticas, Otimização
Combinatorial, Otimização de Planejamento, Equação 1
Problema do Caixeiro Viajante, Problema de
Otimização de Rota de Veículos, Otimização de 2k ≥ (Xmáx - Xmin) x 10p
Layout de Circuitos, Otimização de Distribuição,
Otimização em Negócios e Síntese de Circuitos A representação binária, entretanto, nem
sempre pode ser empregada; o problema muitas
ICA: Laboratório de Inteligência Computacional Aplicada - www.ica.ele.puc-rio.br
Marco Aurélio C. Pacheco, versão 1 em 14/07/1999
3 – Decodificação
Onde N é o número de indivíduos na população.
A decodificação do cromossoma consiste
A seleção em GAs é tipicamente
basicamente na construção da solução real do
implementada por uma roleta onde cada indivíduo é
problema a partir do cromossoma. O processo de
representado por uma fatia proporcional a sua
decodificação constrói a solução para que esta seja
aptidão relativa.
avaliada pelo problema. A vantagem da
O operador de seleção é um componente
representação binária é a fácil transformação para
essencial de algoritmos genéticos. A literatura
inteiro ou real.
identifica cinco principais mecanismos de seleção:
Na transformação para número real,
proporcional, por torneios, com truncamento, por
considera-se o intervalo de valores ou comprimento
normalização linear e por normalização
contínuo do domínio (C) dos reais de tal forma que
exponencial [5]. Um mecanismo de seleção é
Equação 2 caracterizado pela pressão seletiva ou intensidade
de seleção que o mesmo introduz no algoritmo
C
X R = Xb × + X min genético. O termo pressão seletiva é utilizado em
2 −1
n diferentes contextos e com significados diferentes
na literatura de computação evolucionária. A
Onde XR ∈ [Xmin,Xmáx]; Xb é o inteiro definição de intensidade de seleção empregada em
correspondente ao binário; n é o número de bits de genética é a variação na aptidão média da
do cromossoma; e C é o comprimento do domínio população induzida pelo método de seleção [5]. A
da variável X, dado por C = |Xmáx – Xmin|. expressão da intensidade de seleção I é dada por:
Equação 4
4 – Avaliação
A avaliação é o elo entre o GA e o mundo M * −M
externo. A avaliação é feita através de uma função I=
que melhor representa o problema e tem por σ
objetivo fornecer uma medida de aptidão de cada Onde M é a aptidão média da população,
indivíduo na população corrente, que irá dirigir o M* é o valor esperado da aptidão média após a
processo de busca. A função de avaliação é para um seleção, e σ é o desvio padrão dos valores de
GA o que o meio ambiente é para seres humanos. aptidão da população antes da seleção.
Funções de avaliação são específicas de cada No caso de seleção proporcional, a
problema. No exemplo, a função matemática f(x) = probabilidade de um indivíduo ser selecionado é
x2 mede aptidão de cada indivíduo. Na Tabela 2, simplesmente proporcional ao seu valor de aptidão,
C1 é um indivíduo mais apto que C2. isto é:
Tabela 2 Equação 5
Cromossoma x f(x) fi
C1 0 0 1 0 0 1 9 81
pi =
NM
C2 0 0 0 1 0 0 4 16
Onde pi é a probabilidade de seleção de
5 – Seleção um indivíduo i, fi é a aptidão do mesmo e N é o
O processo de seleção em algoritmos genéticos tamanho da população. Demonstra-se que a
seleciona indivíduos para a reprodução. intensidade de seleção é dada por [5]:
A seleção é baseada na aptidão dos
indivíduos: indivíduos mais aptos têm maior Equação 6
probabilidade de serem escolhidos para reprodução.
σ
Assim, se fi é a avaliação do indivíduo i na I=
população corrente, a probabilidade pi do indivíduo M
i ser selecionado é proporcional a
Isto é, a pressão seletiva é dada pela razão
entre o desvio padrão das aptidões e a média das
mesmas. O método de seleção proporcional
apresenta dois problemas: existência de super-
indivíduos e competição próxima [2]. O primeiro
Equação 3 ocorre quando um indivíduo apresenta uma aptidão
ICA: Laboratório de Inteligência Computacional Aplicada - www.ica.ele.puc-rio.br
Marco Aurélio C. Pacheco, versão 1 em 14/07/1999
C1 1 1 1 1 0 0 antes Seleção
Critério de
C1 1 1 1 1 0 1 depois da mutação Término
∑f i portanto,
m(H, t + 1 ) = n × ∈ i H
n Equação 49
∑f
j =1
j m( H , t ) = m( H ,0) × (1 + C ) t
Define-se f(H) como a aptidão média do schema H, Isto significa que o número de
dada por: representantes de H em gerações sucessivas cresce
(ou decresce) exponencialmente durante a
Equação 14 evolução.
∑
∈
f i 3.2. ANÁLISE DO EFEITO DO
f(H) = i H CROSSOVER
m(H,t)
Nesta análise estamos interessados no impacto que
Assim, podemos rescrever m(H, t+1) através da o corte de um indivíduo venha a destruir um
equação abaixo: padrão, não transmitindo-o aos seus descendentes.
Seja pd(H) a probabilidade de destruição
Equação 15 de um schema H pelo crossover de um ponto:
f(H) Equação 20
m(H, t + 1 ) = m(H, t) × n × n
∑f δ (H )
j pd (H ) =
j =1 L −1
Portanto,
ICA: Laboratório de Inteligência Computacional Aplicada - www.ica.ele.puc-rio.br
Marco Aurélio C. Pacheco, versão 1 em 14/07/1999
Seja pm a probabilidade do operador de mutação ser A curva média dos melhores indivíduos
aplicado a uma determinada posição do em vários experimentos apresenta o desempenho
cromossoma. Assim a probabilidade de médio de um GA e serve para ajuste de parâmetros.
sobrevivência do cromossoma é dada por: A curva on-line mede a velocidade com
que o GA consegue produzir boas soluções para o
Equação 23
consumo "on- line" das soluções [1].
p s = (1 − p m ) O ( H ) A curva off- line mede o grau de
convergência do GA na criação de soluções mais
aptas, geradas off- line em relação ao problema [1].
Para taxas de mutação pm << 1, temos
Equação 24 5. TÉCNICAS, PARAMETROS E OUTROS
OPERADORES GENÉTICOS
p s ≅ 1 − p m × O( H )
Técnicas, parâmetros e tipos de operadores
Isto significa que cromossomas de baixa genéticos afetam significativamente o desempenho
ordem tem maiores chances de não serem de um algoritmo genético. Em geral, o algoritmo
destruídos pela mutação. genético é extremamente sensível a introdução ou
Combinando o efeito da seleção, crossover combinação de técnicas empregadas. A escolha de
e mutação, temos: técnicas, parâmetros e tipos de operadores é
empírica, porém em sintonia com o problema.
Equação 25
Podemos classificar as técnicas
f (H) ⎡ δ(H)⎤
m(H,t +1) ≥m(H,t)× ×⎢1− pc × ×[1− pm ×O(H)] empregadas em GAs nas seguintes classes:
f ⎣ L−1⎥⎦
1- Técnica de Reprodução
2- Técnica de Aptidão
3- Técnica de Interpolação de Parâmetros
A interpretação desta equação nos leva ao
Teorema Fundamental de GAs:
Quanto aos operadores genéticos, os
principais tipos são:
“Schemata curtos e de baixa ordem
tendem a se proliferar ou desaparecer nas gerações
1- Crossover de Um-Ponto
seguintes, de acordo com a aptidão média”.
2- Crossover de Dois-Pontos
3- Crossover Uniforme.
4. DESEMPENHO DE ALGORITMO
GENÉTICOS
ICA: Laboratório de Inteligência Computacional Aplicada - www.ica.ele.puc-rio.br
Marco Aurélio C. Pacheco, versão 1 em 14/07/1999
O crossover uniforme apresenta um poder partir de schemata curtos. Sua utilização deve ser,
de destruição maior que o crossover de um ponto e portanto, em ambientes altamente elitistas como na
o de dois pontos que, por sua vez, preservam os reprodução parcial da população (steady state), que
códigos (schemata curtos) compactos. O crossover garantem a permanência dos melhores indivíduos.
uniforme pode prejudicar a formação de padrões a