Você está na página 1de 9

ICA: Laboratório de Inteligência Computacional Aplicada - www.ICA.ele.puc-rio.

br
Marco Aurélio C.Pacheco

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
Tel: (+55 21) 2529-9445
Rua Marques de São Vicente 225, Gávea
CEP 22453-900, Rio de Janeiro, RJ, Brasil

RESUMO Lógica Nebulosa (Fuzzy Logic) tem por


objetivo modelar o modo aproximado de raciocínio
Algoritmos Genéticos são inspirados no princípio humano, visando desenvolver sistemas
Darwiniano da evolução das espécies e na genética computacionais capazes de tomar decisões
[1]. São algoritmos probabilísticos que fornecem racionais em um ambiente de incerteza e
um mecanismo de busca paralela e adaptativa imprecisão. A Lógica Nebulosa oferece um
baseado no princípio de sobrevivência dos mais mecanismo para manipular informações imprecisas,
aptos e na reprodução. Este artigo introduz as tais como os conceitos de muito, pouco, pequeno,
técnicas computacionais inteligentes, Redes alto, bom, quente, frio, etc, fornecendo uma
Neurais, Lógica Fuzzy e Sistemas Especialistas, e resposta aproximada para uma questão baseada em
apresenta os princípios básicos e aplicações dos um conhecimento que é inexato, incompleto ou não
Algoritmos Genéticos. totalmente confiável.
Sistemas Especialistas são programas
1. SISTEMAS INTELIGENTES computacionais destinados a solucionar problemas
em um campo especializado do conhecimento
A Inteligência Computacional é uma área da humano. Usa técnicas de IA, base de conhecimento
ciência que busca, através de técnicas inspiradas na e raciocínio inferencial.
Natureza, o desenvolvimento de sistemas As técnicas da Inteligência Computacional
inteligentes que imitam aspectos do comportamento têm sido empregadas com sucesso no
humano, tais como: aprendizado, percepção, desenvolvimento de sistemas inteligentes de
raciocínio, evolução e adaptação. previsão, suporte à decisão, controle, otimização,
modelagem, classificação e reconhecimento de
Técnica Inspiração padrões em geral, aplicados em diversos setores:
Redes Neurais Neurônios biológicos Energia, Industrial, Econômico, Financeiro,
Algoritmos Genéticos Evolução biológica Comercial e Outros, Síntese de Circuitos, Meio
Lógica Fuzzy Proc. lingüístico Ambiente, entre outros.[2]
Sistemas Especialistas Inferência Humana
2. ALGORITMOS GENÉTICOS: PRINCÍPIOS E
Redes Neurais são modelos computacionais APLICAÇÕES
não lineares, inspirados na estrutura e operação do
cérebro humano, que procuram reproduzir Algoritmos Genéticos (Gas-Genetic
características humanas, tais como : aprendizado, Algorithms ) constituem uma técnica de busca e
associação, generalização e abstração. Redes otimização, altamente paralela, inspirada no
Neurais são efetivas no aprendizado de padrões a princípio Darwiniano de seleção natural e
partir de dados não lineares, incompletos, com reprodução genética [1].
ruído ou compostos de exemplos contraditórios. Os princípios da natureza nos quais os
Algoritmos Genéticos (GAs: Genetic GAs se inspiram são simples. De acordo com a
Algorithms) são algoritmos matemáticos inspirados teoria de C. Darwin, o princípio de seleção
nos mecanismos de evolução natural e privilegia os indivíduos mais aptos com maior
recombinação genética. A técnica de Algoritmos longevidade e, portanto, com maior probabilidade
Genéticos fornece um mecanismo de busca de reprodução. Indivíduos com mais descendentes
adaptativa que se baseia no princípio Darwiniano têm mais chance de perpetuarem seus códigos
de reprodução e sobrevivência dos mais aptos. genéticos nas próximas gerações. Tais códigos
ICA: Laboratório de Inteligência Computacional Aplicada - www.ICA.ele.puc-rio.br
Marco Aurélio C.Pacheco

genéticos constituem a identidade de cada Otimização de Rota de Ve ículos, Otimização de


indivíduo e estão representados nos cromossomas. Layout de Circuitos, Otimização de Distribuição,
Estes princípios são imitados na Otimização em Negócios e Síntese de Circuitos
construção de algoritmos computacionais que Eletrônicos. Alguns exemplos de produtos
buscam uma melhor solução para um determinado desenvolvidos no ICA são:
problema, através da evolução de populações de
soluções codificadas através de cromossomas • Fluxo de Caixa Inteligente
artificiais. • Classificação de Clientes (Data Mining)
Em GAs um cromossoma é uma estrutura • Alocação de Espaço Físico
de dados que representa uma das possíveis • Planejamento e Otimização de Embarque de
soluções do espaço de busca do problema. Minério no Porto de Tubarão
Cromossomas são então submetidos a um processo • Análise de Alternativas de Investimento em
evolucionário que envolve avaliação, seleção, Projetos de Exploração e Prospecção de
recombinação sexual (crossover) e mutação. Após Petróleo sob Incertezas Técnicas e de Mercado
vários ciclos de evolução a população deverá conter • Otimização da Quantidade e Localização de
indivíduos mais aptos. Poços Petrolíferos para o Desenvolvimento de
A analogia entre Algoritmos Genéticos e o um Campo de Petróleo sob condições de
sistema natural é representada através da tabela certeza
abaixo:
Tabela 1
2 – Representação
Natureza Algoritmos Genéticos A representação das possíveis soluções do espaço
Cromossoma Palavra binária, vetor, etc de busca de um problema define a estrutura do
cromossoma a ser manipulado pelo algoritmo.
Gene Característica do problema
A representação do cromossoma depende
Alelo Valor da característica
do tipo de problema e do que, essencialmente, se
Loco Posição na palavra, vetor
deseja manipular geneticamente. Os principais tipos
Genótipo Estrutura de representação são:
Fenótipo Estrutura submetida ao problema
Indivíduo Solução Representação Problemas
Geração Ciclo Binária Numéricos, Inteiros
Números Reais Numéricos
Podemos caracterizar os Algoritmos
Permutação de Símbolos Baseados em Ordem
Genéticos através dos seguintes componentes [2]:
Símbolos Repetidos Grupamento
1. Problema a ser otimizado
A representação binária é simples, fácil de
2. Representação das Soluções de Problema
manipular cromossomas através dos operadores
3. Decodificação do Cromossoma
genéticos, fácil de ser transformada em inteiro ou
4. Avaliação
real e, ainda, facilita a prova de alguns teoremas.
5. Seleção
Todavia, a representação por números reais (ponto
6. Operadores Genéticos
flutuante) oferece melhor desempenho.
7. Inicialização da População
Por exemplo, seja o problema de encontrar
o valor máximo da função f(x) = x2 , x inteiro
A seguir é apresentada uma breve
[0,63]. Podemos representar as soluções do
discussão sobre cada um desses aspectos,
problema através de um cromossoma de 6 bits.
exemplificando-se quando apropriado.
C1 0 0 1 0 0 1 representa x=9
1 – Problema
C2 0 0 0 1 0 0 representa x=4
GAs são particularmente aplicados em problemas
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 Um binário também pode representar um
não podem ser representadas matematicamente; e número real XR ∈ [X min,Xmáx], com precisão de p
problemas com grandes espaços de busca. casas decimais. Para isso são necessários K bits,
GAs têm sido aplicados a diversos sendo K calculado pela inequação:
problemas de otimização [3], tais como:
Otimização de Funções Matemáticas, Otimização Equação 1
Combinatorial, Otimização de Planejamento,
Problema do Caixeiro Viajante, Problema de 2k ≤ (X máx - Xmin) x 10p
ICA: Laboratório de Inteligência Computacional Aplicada - www.ICA.ele.puc-rio.br
Marco Aurélio C.Pacheco

Equação 3
A representação binária, entretanto, nem
sempre pode ser empregada; o problema muitas fi
pi =
vezes exige um alfabeto de representação com mais N
símbolos. Qualquer que seja a representação ∑f i
empregada, ela deve ser capaz de representar todo o j =1
espaço de busca que se deseja investigar.
Onde N é o número de indivíduos na População.
3 – Decodificação A seleção em GAs é tipicamente
A decodificação do cromossoma consiste implementada por uma roleta onde cada indivíduo é
basicamente na construção da solução real do representado por uma fatia proporcional a sua
problema a partir do cromossoma. O processo de aptidão relativa.
decodificação constrói a solução para que esta seja O operador de seleção é um componente
avaliada pelo problema. A vantagem da essencial de algoritmos genéticos. A literatura
representação binária é a fácil transformação para identifica cinco principais mecanismos de seleção:
inteiro ou real. proporcional, por torneios, com truncamento, por
Na transformação para número real, normalização linear e por normalização
considera-se o intervalo de valores ou comprimento exponencial [5]. Um mecanismo de seleção é
contínuo do domínio (C) dos reais de tal forma que caracterizado pela pressão seletiva ou intensidade
de seleção que o mesmo introduz no algoritmo
Equação 2
genético. O termo pressão seletiva é utilizado em
C diferentes contextos e com significados diferentes
X R = Xb × − X min na literatura de computação evolucionária. A
2 −1
n
definição de intensidade de seleção empregada em
genética é a variação na aptidão média da
Onde XR ∈ [X min,Xmáx]; Xb é o inteiro população induzida pelo método de seleção [5]. A
correspondente ao binário; n é o número de bits de expressão da intensidade de seleção I é dada por:
do cromossoma; e C é o comprimento do domínio
da variável X, dado por C = |X máx – X min|. Equação 4

M * −M
4 – Avaliação I=
A avaliação é o elo entre o GA e o mundo σ
externo. A avaliação é feita através de uma função Onde M é a aptidão média da população,
que melhor representa o problema e tem por M* é o valor esperado da aptidão média após a
objetivo fornecer uma medida de aptidão de cada seleção, e σ é o desvio padrão dos valores de
indivíduo na população corrente, que irá dirigir o aptidão da população antes da seleção.
processo de busca. A função de avaliação é para um No caso de seleção proporcional, a
GA o que o meio ambiente é para seres humanos. probabilidade de um indivíduo ser selecionado é
Funções de avaliação são específicas de cada simplesmente proporcional ao seu valor de aptidão,
problema. No exemplo, a função matemática f(x) = isto é:
x2 mede aptidão de cada indivíduo. Na Tabela 2,
C1 é um indivíduo mais apto que C2. Equação 5

Tabela 2 fi
pi =
Cromossoma x f(x) NM
C1 0 0 1 0 0 1 9 81
C2 0 0 0 1 0 0 4 16 Onde pi é a probabilidade de seleção de
um indivíduo i, fi é a aptidão do mesmo e N é o
5 – Seleção tamanho da população. Demonstra-se que a
O processo de seleção em algoritmos genéticos intensidade de seleção é dada por [5]:
seleciona indivíduos para a reprodução. Equação 6
A seleção é baseada na aptidão dos
indivíduos: indivíduos mais aptos têm maior σ
probabilidade de serem escolhidos para reprodução. I=
M
Assim, se fi é a avaliação do indivíduo i na
população corrente, a probabilidade p i do indivíduo
Isto é, a pressão seletiva é dada pela razão
i ser selecionado é proporcional a
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
ICA: Laboratório de Inteligência Computacional Aplicada - www.ICA.ele.puc-rio.br
Marco Aurélio C.Pacheco

ocorre quando um indivíduo apresenta uma aptidão Equação 9


bem maior que a dos restantes, o que determinará
uma convergência prematura do algoritmo. O ( máx − mín)
Ai ≡ mín + × (i − 1)
segundo problema ocorre quando indivíduos n −1
apresentam aptidões semelhantes, mas não
idênticas; neste caso, a intensidade de seleção pode No exemplo da Tabela 3 o método reduz o
ser bem menor do que a desejável. domínio exercido por super indivíduos
No método de seleção por torneios, um (cromossoma 6) e aumenta a pressão seletiva entre
grupo de t indivíduos é aleatoriamente escolhido, e indivíduos com avaliação próxima (cromossomas 5,
o indivíduo de melhor aptidão é selecionado. A 4, 3, 2) em função da taxa de decremento, em
intensidade de seleção é dada neste caso pela função da taxa de incremento.
solução da seguinte equação integral [5]:
Tabela 3
Equação 7
CROMOSSOMAS 6 5 4 3 2 1
t −1 Avaliação Original

2
x
x
2
y
 200 15 14 13 10 9
1 −
 1 −
I= ∫t ⋅ x⋅ ⋅e 2
∫ ⋅e 2
dy  dx Aptidão (taxa=1) 100 99 98 97 96 95
2π  −∞ 2π  Aptidão (taxa=20) 101 81 61 41 21 1
−∞  
A intensidade de seleção é dada por:
As variáveis de integração x e y
representam os valores de aptidão da população. Equação 10
Assume-se uma distribuição Gaussiana de valores
de aptidão por indivíduos. A partir da solução 1
I = (1 − mín)
numérica da equação acima, observa-se que a π
pressão seletiva aumenta a medida em que o
número de indivíduos envolvidos no torneio, t,
A equação acima mostra que a pressão
aumenta.
seletiva diminui a medida em que mín aumenta.
No mecanismo de seleção por
O método de seleção por normalização
truncamento, dado um limiar T, apenas os T
exponencial diferencia -se da normalização linear
melhores indivíduos podem ser selecionados. Cada
pelo fato das probabilidades de seleção de cada
um desses indivíduos apresenta a mesma
indivíduo seguirem uma função exponencial. Esta
probabilidade de seleção. Demo nstra-se [5] que a
probabilidade é dada por:
intensidade de seleção é dada por:
Equação 8
Equação 11
f c2
1 1 − c − 1 N−i
I= ⋅ ⋅e 2 pi = c ; i ∈ {1,..., N}
T 2π c N −1

Onde fc é o valor da menor aptidão entre Onde c determina a grau de


os T melhores indivíduos. Traçando-se o gráfico da ‘exponencialidade’ da função, podendo variar de 0
intensidade de seleção em função do limiar T, até 1. Quanto mais próximo de 1, menor a
observa-se que a pressão seletiva diminui a medida ‘exponencialidade’. A intensidade de seleção é
em que T aumenta. dada por:
No método de seleção por normalização Equação 12
linear, os indivíduos são inicialmente ordenados de
acordo com sua aptidão. A seguir, estes valores de ln( k )
aptidão são alterados de acordo com a posição I≈
relativa de cada indivíduo. Ao melhor indivíduo é − 2.548 − 1.086 k + 0.4028 ln( k )
assinalada uma aptidão de valor máx e ao pior
N
indivíduo uma aptidão mín. Estes dois valores são Onde k=c . Através da característica de I
determinados pelo usuário, mas a forma original em função de c dada pela equação acima, verifica-
deste método prevê que as condições máx = 2 - mín se que a pressão seletiva diminui a medida em que
e mín≥0 devam ser atendidas. Os demais indivíduos c aumenta [5].
têm valores de aptidão linearmente distribuídos
entre mín e máx, de acordo com sua posição 6 – Operadores Genéticos
relativa na ordenação (i=1 corresponde ao pior Indivíduos selecionados (e reproduzidos na
elemento). população seguinte) são recombinados sexualmente
através do operador de crossover (com uma
probabilidade p c). O operador de crossover é
ICA: Laboratório de Inteligência Computacional Aplicada - www.ICA.ele.puc-rio.br
Marco Aurélio C.Pacheco

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


Pares de 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 (p c) 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 (p m) 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
objetivo aumentar a diversidade na população. Representaçã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
Critério de Seleção
C1 1 1 1 1 0 1 depois da mutação Término

Existem várias outras formas de se efetuar


mutação. Por exemplo, o operador genético Operadores
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

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
(don't care) os demais. Esta conjectura possui dois j =1
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 × ∈n H i
Equação 49
∑f j m( H , t ) = m( H ,0) × (1 + C ) t
j =1

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
δ (H )
∑f j p d (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

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


lineares com comportamento fortemente ecológico.
δ (H) GAs combinam mudanças aleatórias com processos
p s (H ) = 1 −
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 )
ps ≥ 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 p m << 1, temo s
Equação 24 5. TÉCNICAS, PARAMETROS E OUTROS
OPERADORES GENÉTICOS
p s ≅ 1 − pm × 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

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 recomb inaçã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

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.

Você também pode gostar