Vous êtes sur la page 1sur 9

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

ALGORITMOS GENÉTICOS: PRINCÍPIOS E APLICAÇÕES

Marco Aurélio Cavalcanti Pacheco


ICA: Laboratório de Inteligência Computacional Aplicada
Departamento de Engenharia Elétrica
Pontifícia Universidade Católica do Rio de Janeiro
Email: marco@ele.puc-rio.br
Rua Marques de São Vicente 225, Gávea
CEP 22453-900, Rio de Janeiro, RJ, Brasil

RESUMO humano, visando desenvolver sistemas


computacionais capazes de tomar decisões
Algoritmos Genéticos são inspirados no princípio racionais em um ambiente de incerteza e
Darwiniano da evolução das espécies e na genética imprecisão. A Lógica Nebulosa oferece um
[1]. São algoritmos probabilísticos que fornecem mecanismo para manipular informações imprecisas,
um mecanismo de busca paralela e adaptativa tais como os conceitos de muito, pouco, pequeno,
baseado no princípio de sobrevivência dos mais alto, bom, quente, frio, etc, fornecendo uma
aptos e na reprodução. Este artigo introduz as resposta aproximada para uma questão baseada em
técnicas computacionais inteligentes, Redes um conhecimento que é inexato, incompleto ou não
Neurais, Lógica Fuzzy e Sistemas Especialistas, e totalmente confiável.
apresenta os princípios básicos e aplicações dos Sistemas Especialistas são programas
Algoritmos Genéticos. computacionais destinados a solucionar problemas
em um campo especializado do conhecimento
1. SISTEMAS INTELIGENTES humano. Usa técnicas de IA, base de conhecimento
e raciocínio inferencial.
A Inteligência Computacional é uma área da As técnicas da Inteligência Computacional
ciência que busca, através de técnicas inspiradas na têm sido empregadas com sucesso no
Natureza, o desenvolvimento de sistemas desenvolvimento de sistemas inteligentes de
inteligentes que imitam aspectos do comportamento previsão, suporte à decisão, controle, otimização,
humano, tais como: aprendizado, percepção, modelagem, classificação e reconhecimento de
raciocínio, evolução e adaptação. padrões em geral, aplicados em diversos setores:
Energia, Industrial, Econômico, Financeiro,
Técnica Inspiração Comercial e Outros, Síntese de Circuitos, Meio
Redes Neurais Neurônios biológicos Ambiente, entre outros.[2, 6, 7, 8]
Algoritmos Genéticos Evolução biológica
Lógica Fuzzy Proc. lingüístico 2. ALGORITMOS GENÉTICOS: PRINCÍPIOS E
Sistemas Especialistas Inferência Humana APLICAÇÕES

Redes Neurais são modelos computacionais Algoritmos Genéticos (GAs-Genetic


não lineares, inspirados na estrutura e operação do Algorithms) constituem uma técnica de busca e
cérebro humano, que procuram reproduzir otimização, altamente paralela, inspirada no
características humanas, tais como: aprendizado, princípio Darwiniano de seleção natural e
associação, generalização e abstração. Redes reprodução genética [1].
Neurais são efetivas no aprendizado de padrões a Os princípios da natureza nos quais os
partir de dados não lineares, incompletos, com GAs se inspiram são simples. De acordo com a
ruído ou compostos de exemplos contraditórios. teoria de C. Darwin, o princípio de seleção
Algoritmos Genéticos (GAs: Genetic privilegia os indivíduos mais aptos com maior
Algorithms) são algoritmos matemáticos inspirados longevidade e, portanto, com maior probabilidade
nos mecanismos de evolução natural e de reprodução. Indivíduos com mais descendentes
recombinação genética. A técnica de Algoritmos têm mais chance de perpetuarem seus códigos
Genéticos fornece um mecanismo de busca genéticos nas próximas gerações. Tais códigos
adaptativa que se baseia no princípio Darwiniano genéticos constituem a identidade de cada
de reprodução e sobrevivência dos mais aptos. indivíduo e estão representados nos cromossomas.
Lógica Nebulosa (Fuzzy Logic) tem por Estes princípios são imitados na
objetivo modelar o modo aproximado de raciocínio construção de algoritmos computacionais que
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

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

vezes exige um alfabeto de representação com mais fi


símbolos. Qualquer que seja a representação pi = N
empregada, ela deve ser capaz de representar todo o
espaço de busca que se deseja investigar. ∑f
j =1
i

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

bem maior que a dos restantes, o que determinará Equação 9


uma convergência prematura do algoritmo. O
(máx − mín)
segundo problema ocorre quando indivíduos Ai ≡ mín + × (i − 1)
apresentam aptidões semelhantes, mas não n −1
idênticas; neste caso, a intensidade de seleção pode
ser bem menor do que a desejável. No exemplo da Tabela 3 o método reduz o
No método de seleção por torneios, um domínio exercido por super indivíduos
grupo de t indivíduos é aleatoriamente escolhido, e (cromossoma 6) e aumenta a pressão seletiva entre
o indivíduo de melhor aptidão é selecionado. A indivíduos com avaliação próxima (cromossomas 5,
intensidade de seleção é dada neste caso pela 4, 3, 2) em função da taxa de decremento, em
solução da seguinte equação integral [5]: função da taxa de incremento.
Equação 7 Tabela 3
t −1
∞ x2 ⎛x 1 ⎞ CROMOSSOMAS 6 5 4 3 2 1
2
y
1 − −
I = ∫t ⋅ x⋅ ⎜ ⎟ dx
⎜ −∫∞ 2π
⋅e 2
⋅ e 2
dy Avaliação Original200 15 14 13 10 9
2π ⎟ Aptidão (taxa=1) 100 99 98 97 96 95
−∞ ⎝ ⎠
Aptidão (taxa=20) 101 81 61 41 21 1
As variáveis de integração x e y
A intensidade de seleção é dada por:
representam os valores de aptidão da população.
Assume-se uma distribuição Gaussiana de valores Equação 10
de aptidão por indivíduos. A partir da solução
1
numérica da equação acima, observa-se que a I = (1 − mín)
pressão seletiva aumenta a medida em que o π
número de indivíduos envolvidos no torneio, t,
aumenta.
A equação acima mostra que a pressão
No mecanismo de seleção por
seletiva diminui a medida em que mín aumenta.
truncamento, dado um limiar T, apenas os T
O método de seleção por normalização
melhores indivíduos podem ser selecionados. Cada
exponencial diferencia-se da normalização linear
um desses indivíduos apresenta a mesma
pelo fato das probabilidades de seleção de cada
probabilidade de seleção. Demonstra-se [5] que a
indivíduo seguirem uma função exponencial. Esta
intensidade de seleção é dada por:
probabilidade é dada por:
Equação 8
f2 Equação 11
1 1 − c
I= ⋅ ⋅e 2 c − 1 N −i
T 2π pi = c ; i ∈ {1,..., N }
c N −1
Onde fc é o valor da menor aptidão entre
os T melhores indivíduos. Traçando-se o gráfico da Onde c determina a grau de
intensidade de seleção em função do limiar T, ‘exponencialidade’ da função, podendo variar de 0
observa-se que a pressão seletiva diminui a medida até 1. Quanto mais próximo de 1, menor a
em que T aumenta. ‘exponencialidade’. A intensidade de seleção é
No método de seleção por normalização dada por:
linear, os indivíduos são inicialmente ordenados de
Equação 12
acordo com sua aptidão. A seguir, estes valores de
aptidão são alterados de acordo com a posição ln(k )
relativa de cada indivíduo. Ao melhor indivíduo é I≈
assinalada uma aptidão de valor máx e ao pior − 2.548 − 1.086 k + 0.4028 ln(k )
indivíduo uma aptidão mín. Estes dois valores são
determinados pelo usuário, mas a forma original N
Onde k=c . Através da característica de I
deste método prevê que as condições máx = 2 - mín em função de c dada pela equação acima, verifica-
e mín≥0 devam ser atendidas. Os demais indivíduos se que a pressão seletiva diminui a medida em que
têm valores de aptidão linearmente distribuídos c aumenta [5].
entre mín e máx, de acordo com sua posição
relativa na ordenação (i=1 corresponde ao pior 6 – Operadores Genéticos
elemento). Indivíduos selecionados (e reproduzidos na
população seguinte) são recombinados através do
operador de crossover (com uma probabilidade pc).
O operador de crossover é considerado a
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

característica fundamental dos GAs. Pares de 8 – Parâmetros e Critérios de Parada


genitores são escolhidos aleatoriamente da Em um algoritmo genético vários parâmetros
população, baseado na aptidão, e novos indivíduos controlam o processo evolucionário:
são criados a partir da troca do material genético.
Os descendentes serão diferentes de seus pais, mas • Tamanho da População Æ número de pontos
com características genéticas de ambos os do espaço de busca sendo considerados em
genitores. Por exemplo: paralelo a cada ciclo.
• Taxa de Crossover Æ probabilidade (pc) de um
ponto de corte aleatório indivíduo ser recombinado com outro.
G1 1 1 0 0 0 0 • Taxa de Mutação Æ probabilidade (pm) do
G2 0 0 0 1 0 0 conteúdo de uma posição/gene do cromossoma
ser alterado.
• Número de GeraçõesÆ total de ciclos de
D1 1 1 0 1 0 0 evolução de um GA.
D2 0 0 0 0 0 0 • Total de Indivíduos Æ total de tentativas em
um experimento (tamanho da população x
Na sua forma mais simples, o crossover de número de gerações)
um ponto de corte (one-point crossover) corta os
dois genitores em uma posição aleatoriamente Os dois últimos parâmetros são em geral
escolhida, criando dois possíveis descendentes: empregados como critério de parada de um
D1 é um cromossoma mais apto que seus algoritmo genético.
genitores, todavia D2 é um indivíduo medíocre Um algoritmo genético pode ser descrito
(baixa avaliação em f(x) = x2). como um processo contínuo que repete ciclos de
Os cromossomas criados a partir do evolução controlados por um critério de parada,
operador de crossover são então submetidos a conforme apresentado pela figura abaixo:
operação de mutação (com uma probabilidade pm).
Mutação é um operador exploratório que tem por
Representação
objetivo aumentar a diversidade na população.
O operador de mutação troca o conteúdo
de uma posição do cromossoma (alelo, símbolo, F(x)
valor do gene), com uma determinada Problema População
Inicial/
probabilidade, em geral baixa (<1%). Corrente

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

Existem várias outras formas de se efetuar


Operadores
mutação. Por exemplo, o operador genético Genéticos
denominado inversão troca de posição dois genes Descendentes Genitores
aleatoriamente escolhidos. A importância deste
operador é, no entanto, restrita a problemas
baseados em ordem [1, 3]. Figura 1

7 – Inicialização da População 3. FUNDAMENTOS MATEMÁTICOS DE


ALGORITMOS GENÉTICOS
A inicialização da população determina o processo
de criação dos indivíduos para o primeiro ciclo do Podemos compreender melhor o princípio
algoritmo. Tipicamente, a população inicial é de funcionamento de algoritmos genéticos a partir
formada a partir de indivíduos aleatoriamente da Teoria de Schema (padrões) formulada por John
criados. Populações iniciais aleatórias podem ser Holland em 1975 [1].
semeadas com bons cromossomas para uma John Holland definiu schema como um
evolução mais rápida, quando se conhece, a priori, padrão que descreve um conjunto de cromossomas
o valor de boas “sementes”. com similaridades em algumas posições.
Uma técnica eficiente para se encontrar Para representar schemata (plural de
por GA boas soluções em um problema, consiste schema) utiliza-se um símbolo adicional "Σ".
em executar evoluções (rodadas) sucessivas, Assim, para um espaço de busca
semeando-se a população inicial da evolução representado por KL existem (K+1) L schemata.
seguinte com as melhores soluções encontradas na
anterior. K ≡ número de símbolos do alfabeto
L ≡ comprimento do cromossoma
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

A aptidão média da população, dada pela


Seja K = 2 e L = 3 definindo em espaço de equação a seguir, nos permite fazer uma última
busca de 8 pontos. Seja o schema H = 11Σ. H transformação na fórmula de m(H, t+1).
descreve o conjunto de elementos 111 e 110. H
Equação 16
refere-se a conjectura que a razão pela qual 111 (ou
110) é um bom (ou mal) indivíduo são os dois bits n
mais significativos iguais a 1, não importando ∑f
j =1
j
(don't care) os demais. Esta conjectura possui dois
possíveis representantes que podem ou não estar
f =
n
presentes em determinada geração do GA.
Para compreendermos melhor porque os Equação 17
GAs funcionam, basta analisarmos o efeito dos
f (H )
processos de seleção, recombinação e mutação m( H , t + 1) = m( H , t ) ×
sobre schemata. Ou seja, estamos interessados em f
saber o que acontece, ciclo a ciclo, com os
representantes de determinado grupo, aqueles A interpretação desta equação reflete o
indivíduos que possuem o padrão H. Utiliza-se efeito da seleção em GAs:
nesta análise duas definições:
1) Schemata (padrões) com aptidão acima da
• O(H): ordem ou especificidade de um schema, média tendem a proliferar nas gerações
como o número de posições fixas diferentes de seguintes.
Σ; e 2) Schemata com aptidão abaixo da média tendem
• δ(H): comprimento do schema, como a a desaparecer.
distância entre a 1a e a última posições fixas.
Para estimarmos a eficiência do processo de
3.1. ANÁLISE DO EFEITO DA SELEÇÃO evolução, suponha um schema H com aptidão
acima (ou abaixo) da média de um fator C
Seja m(H, t) o número de representações de H em estacionário, a partir de t = 0. Assim temos:
um ciclo t do algoritmo com n indivíduos na
população. Assim, podemos calcular o número Equação 18
provável de representantes de H no próximo ciclo,
f +C f
seguinte como: m(H , t ) = m(H , t ) × = m(H , t ) × (1 + C)
Equação 13 f

∑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

Equação 21 Algoritmos genéticos são sistemas não


lineares com comportamento fortemente ecológico.
δ (H )
ps (H ) = 1 − GAs combinam mudanças aleatórias com processos
L −1 probabilísticos. GAs são, portanto, estocásticos:
dificilmente repetem um resultado de um
é a probabilidade de sobrevivência desse experimento para outro.
padrão. O desempenho de um algoritmo genético é
medido pelo grau de evolução alcançado durante
Sendo pc a taxa de aplicação de crossover todo o processo evolucionário (experimento).
e considerando-se que o par genitor de um Devido à natureza estocástica dos GAs é necessário
cromossoma pode recuperar parte de um padrão se avaliar o resultado médio de vários experimentos
destruído pelo crossover, temos a desigualdade: de um GA, para se ter uma idéia de seu
desempenho.
Equação 22 As principais medidas de desempenho são:
δ (H )
p s ≥ 1 − pc × 1. Curva da média dos melhores cromossomas a
L −1 cada ciclo em vários experimentos.
2. Curva on-line da média da avaliação de todos
Isto significa que schemata curtos tem os indivíduos até um determinado instante t em
maior probabilidade de sobrevivência (se manterem um experimento.
intactos) após o crossover. 3. Curva off-line da média da avaliação do
melhores indivíduos até um instante t em um
3.3. ANÁLISE DO EFEITO DA MUTAÇÃO experimento.

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

5.1. TÉCNICAS DE REPRODUÇÃO: A interpolação de parâmetros pode ser


linear ou adaptativa. Na interpolação linear uma
Essas técnicas determinam o critério de substituição taxa ou um parâmetro qualquer é variado entre um
dos indivíduos de uma população para a próxima valor inicial e final, através de ajustes fixos,
geração. Existem basicamente os seguintes linearmente, a cada K gerações.
métodos: A interpolação adaptativa, normalmente
empregada para ajuste da taxa de aplicação de
1- Troca de toda população: operadores, considera o desempenho destes
A cada ciclo, N novos indivíduos são criados operadores nos ciclos anteriores. Este desempenho
substituindo a população anterior: N/2 pares são é medido em função do sucesso destes operadores
escolhidos para o acasalamento, gerando N na criação de melhores indivíduos. Este esquema
descendentes. requer um processo de pontuação a indivíduos e
seus descendentes, envolvendo razoável “overhead”
2- Troca de toda a população com elitismo: computacional. O efeito, no entanto, é atingir
Todos os cromossomas são substituídos, sendo trajetórias quase ótimas para um parâmetro, durante
o cromossoma mais apto da população corrente a evolução [4].
copiado na população seguinte.
5.3. OPERADORES GENÉTICOS
3- Troca parcial da população (steady state):
Gera M indivíduos (M<N), que substituem os Operadores genéticos se classificam em:
piores indivíduos da população corrente (o número - operadores de recombinação (crossover)
de indivíduos substituídos também é conhecido - operadores de mutação
como GAP). Técnica elitista que mantém - operadores de inversão
população mais estática, permitindo, portanto, a - operadores específicos ao domínio do
utilização de operadores menos conservadores problema.
como o crossover uniforme.
Dentre estes, os operadores de crossover,
4- Troca parcial da população (steady state) sem devido a sua importância fundamental nos GAs,
duplicados: apresentam variações que merecem destaque.
Semelhante ao anterior, sem permitir a presença de
indivíduos duplicados que são descartados da Crossover de Dois Pontos:
população. Garante, assim, o melhor Executa a recombinação de dois
aproveitamento do paralelismo intrínseco dos GAs indivíduos a partir de dois pontos escolhidos
(N pontos diferentes do espaço de busca sendo aleatoriamente. Este operador é capaz de combinar
avaliados a cada ciclo). Todavia, implica em schemata com posições fixas nas extremidades,
“overhead” para a detecção de duplicados e criação como no exemplo abaixo.
de novos indivíduos.
H1 1 1 * * * * * 0
5.2. TÉCNICAS DE INTERPOLAÇÃO DE H2 * * * 1 0 1 * *
PARÂMETROS:

A interpolação de parâmetros de um GA tem por Crossover Uniforme:


objetivo buscar o valor ideal de um determinado
parâmetro para cada ciclo, durante toda a evolução. O crossover de dois pontos também apresenta
Durante a evolução de um GA alguns aspectos limitações na recombinação de schemata.
estão fortemente relacionados: O crossover uniforme, por sua vez, é capaz
- a convergência do algoritmo de recombinar quaisquer posições entre dois
- a aptidão dos cromossomas genitores. Este operador utiliza um padrão (palavra
- as taxas e parâmetros binária) escolhida aleatoriamente para designar os
bits selecionados em cada genitor na criação dos
Por exemplo, é intuitivamente óbvio que a descendentes. Por exemplo:
taxa de aplicação do crossover seja maior nas
primeiras gerações quando a população se G1 1 1 0 0 1 0 1
apresenta dispersar no espaço de busca. Após várias G2 0 1 1 1 1 1 0
gerações os indivíduos tendem a apresentar, na sua
maioria, características muito similares. Um Padrão 0 1 1 0 1 0 0
aumento da taxa de mutação nesta fase de evolução
irá dispersar a população, trazendo novo material D1 0 1 0 1 1 1 0
genético para a formação de melhores indivíduos. D2 1 1 1 0 1 0 1
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

[1] D. Goldberg, Genetic Algorithms in Search,


Optimization and Machine Learning, Addison-
Wesley 1989.
[2] Marco Aurélio Pacheco, Notas de Aula em
Computação Evolucionária, (www.ica.ele.puc-
rio.br).
[3] Z. Michalewicz, Genetic Algorithms+Data
Structures=Evolution Programs, Springer-Verlag-
1994.
[4] L. Davis, Handbook of Genetic Algorithms,
VNR Comp. Library, 1990.
[5] Blickle, T., “Theory of Evolutionary Algorithms
and Application to System Synthesis”, dissertação
de doutorado, Swiss Federal Institute of
Technology, Zurique, 1996.
[6] Ricardo Salem Zebulum, Marco Aurélio C.
Pacheco, Marley Maria B. R. Vellasco,
“Evolutionary Electronics: Automatic Design of
Electronic Circuits and Systems by Genetic
Algorithms”, CRC Press, Boca raton, Florida,
ISBN: 0849308658, 2001.
[7] Ricardo Salem Zebulum, Marco Aurélio C.
Pacheco, Marley Maria B. R. Vellasco,
“Evolutionary Electronics: Automatic Design of
Electronic Circuits and Systems by Genetic
Algorithms”, CRC Press, Boca raton, Florida,
ISBN: 0849308658, 2001.
[8] Marco Aurélio C. Pacheco e Marley Vellasco,
Sistemas Inteligentes de Apoio à Decisão: Análise
Econômica de Projetos de Desenvolvimento de
Campos de Petróleo sob Incerteza, Série Business
Intelligence, ISBN: 978-85-7193-172-5 (brochura),
ISBN: 978-85-7193-173-2 (cartonada), 300 págs,
Série Business Intelligence, Ed. Interciência e Ed.
PUC-Rio, Junho 2007.

Vous aimerez peut-être aussi