Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Algoritmos Geneticos
Apostila Algoritmos Geneticos
Marco, 2002
Conte
udo
1 Introdu
c
ao
1.1 Selec
ao Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Otimizac
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
4
2 Algoritmos Gen
eticos
2.1 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
6
3 Componentes
3.1 Indivduos . . . . . . .
3.1.1 Representac
ao
3.1.2 Caractersticas
3.2 Populac
oes . . . . . .
3.2.1 Caractersticas
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
9
9
4 Operadores Gen
eticos
4.1 Inicializac
ao . . . . . . . . . . . . .
4.2 Avaliac
ao . . . . . . . . . . . . . .
4.3 Selec
ao . . . . . . . . . . . . . . . .
4.3.1 Scaling . . . . . . . . . . .
4.3.2 Metodos de selecao . . . . .
4.4 Reproduc
ao . . . . . . . . . . . . .
4.4.1 Pareamento (mating) . . .
4.4.2 Operadores de cruzamento
4.5 Mutac
ao . . . . . . . . . . . . . . .
4.6 Atualizac
ao . . . . . . . . . . . . .
4.7 Finalizac
ao . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
11
12
12
13
14
14
14
16
17
17
5 T
ecnicas
5.1 Populac
oes . . . . . . .
5.1.1 Estado fixo . . .
5.1.2 Incremental . . .
5.1.3 Modelo de Ilhas .
5.2 Representac
ao poliploide
5.3 Algoritmos mimeticos .
5.4 Hbridos . . . . . . . . .
5.5 Programac
ao genetica .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
18
18
18
19
20
21
21
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CONTEUDO
6 Considera
c
oes
6.1 Esquemas . . . . . . . . . . . . . . . . . . . . .
6.1.1 Ordem de um esquema . . . . . . . . . .
6.1.2 Tamanho de um esquema . . . . . . . .
6.2 Mutac
ao e Cruzamento . . . . . . . . . . . . .
6.3 Busca por hiperplanos . . . . . . . . . . . . . .
6.4 Algoritmos Geneticos Escalada de Montanha
6.4.1 O problema dos otimos locais . . . . . .
6.4.2 Escalada de montanha em um AG . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
23
23
24
24
26
26
26
7 Aplica
c
oes
7.1 Sistemas de classificacao . . . .
7.2 Teoria dos Jogos . . . . . . . .
7.2.1 Implementacao . . . . .
7.2.2 Resultados . . . . . . .
7.3 Escalonamento e grade horaria
7.3.1 Implementacao . . . . .
7.3.2 Resultados . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
27
29
30
31
32
34
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Figuras
38
Lista de Tabelas
39
Glossary
40
Bibliografia
45
Captulo 1
Introduc
ao
1.1
Sele
c
ao Natural
Poucas ideias causaram uma repercussao semelhante ao conceito de selecao natural, proposto por Darwin em 18581 . Opondo-se `a corrente de pensamento da
epoca (o criacionismo) em favor da ideia de evoluc
ao das especies, o darwinismo
se firmou, ap
os v
arias adaptacoes, como uma das mais importantes teorias cientficas da modernidade.
O advento da genetica e de in
umeras tecnicas de microbiologia trouxeram
consigo novas teorias cientficas que acabaram sendo agregadas, em conjunto
com ????,
portuges
Segundo o neo-darwinismo, os preceitos basicos do processo de evolucao das
especies seriam:
indivduos de mesma ou diferentes especies disputam continuamente por
limitados recursos presentes no meio ambiente;
dentre os v
arios concorrentes presentes em um determinado meio, alguns,
por conta de suas caractersticas especficas, possuem uma melhor chance
(maior probabilidade) de sobrevivencia. Tais indivduos sao ditos mais
adaptados ao ambiente;
indivduos mais adaptados possuem uma maior probabilidade de sobrevivencia, e conseq
uente reproducao;
visto que no processo de reproducao um grande n
umero de caractersticas
do(s) pai(s) s
ao repassadas ao(s) filho(s), indivduos que se reproduzem
mais tendem a propagar mais significativamente suas caractersticas nas
gerac
oes subseq
uentes;
1 O ano de 1858 marcou a apresenta
c
ao da teoria de evoluc
ao por selec
ao natural `
a sociedade
Linus de Londres, por Charles Darwin e Alfred Wallace (co-inventor do conceito). O primeiro
grande trabalho te
orico a respeito deste assunto foi publicado por Darwin no ano seguinte
([DAR 2002]), a partir de notas coletadas ao longo de dez anos, que lhe permitiram reinvidicar
o ttulo/m
erito de descobridor.
CAPITULO 1. INTRODUC
AO
1.2
Otimiza
c
ao
Freq
uentemente nos deparamos com situacoes em que devemos decidir determinadas caractersticas de um sistema de forma a dele extrair o maior n
umero
possvel de benefcios. Exemplos praticos deste tipo de preocupacao no mundo
real s
ao a tomada de decis
ao de preco de produtos de forma a maximizar o lucro,
ou a escolha de um trajeto de onibus que maximize o n
umero de passageiros
servidos e minimize as dist
ancias percorridas.
Visto que ferramentas matematicas nos permitem expressar muitos destes
problemas na forma de func
oes, foram desenvolvidos metodos para descobrir
que valores devem ser escolhidos para se atingir os pontos maximos ou mnimos
destas. A tal processo d
a-se o nome de otimizacao, e o classificamos em dois
tipos:
otimiza
c
ao num
erica: opera sobre o valor de retorno de funcoes matematicas.
Exemplo: a descoberta do valor de x que maximize a funcao:
f (x1 , x2 ) = 21.5 + x1 sin(4x1 ) + x2 sin(20x2 );
otimiza
c
ao combinat
oria: tem como objetivo descobrir qual a melhor combinac
ao dos recursos disponveis e suas caractersticas para otimizar seu
uso. Exemplos: qual a melhor forma de alocar processos concorrentes em
uma CPU, qual a melhor seq
uencia de cidades para o problema do caixeiro
viajante.
A propria evoluc
ao das especies pode ser vista como um processo de otimizac
ao: ao longo do tempo, os seres vivos se tornam cada vez mais adaptados a
um meio ambiente em constante mudanca.
Captulo 2
Algoritmos Gen
eticos
Os algoritmos geneticos utilizam conceitos provenientes do princpio de selec
ao
natural para abordar uma serie ampla de problemas, em especial de otimizacao.
Robustos, genericos e facilmente adaptaveis, consistem de uma tecnica amplamente estudada e utilizada em diversas areas.
2.1
Funcionamento
CAPITULO 2. ALGORITMOS GENETICOS
Inicializa Populac
ao
?
Avalia Populac
ao
?
Seleciona Reprodutores
?
Cruza Selecionados
?
Muta Resultantes
?
Avalia Resultantes
?
Atualiza populac
ao
PP
?
PP nao
PP Deve Parar? P
PP
P
sim
?
FIM
2.2
Caractersticas
CAPITULO 2. ALGORITMOS GENETICOS
Captulo 3
Componentes
3.1
Indivduos
Os indivduos s
ao a unidade fundamental de um algoritmo genetico: eles codificam possveis soluc
oes para o problema a ser tratado, e e atraves de sua
manipulac
ao (pelo processo de evolucao) que respostas sao encontradas.
3.1.1
Representac
ao
A escolha de representac
ao para os indivduos e a etapa mais importante para
de desenvolvimento de um AG, visto que ela sera a principal responsavel para
o desempenho do programa.
de uso comum na
E
area de AGs utilizar os termos genoma e mesmo cromossoma como um sin
onimo para indivduo. Tal definicao nos sugere que um
indivduo se resume ao conjunto de genes que possui (seu gen
otipo), e apresenta
um problema: o de que apesar de toda representacao por parte do algoritmo
ser baseada u
nica e exclusivamente em seu genotipo, toda avaliacao e baseada
em seu fen
otipo (conjunto de caractersticas observaveis no objeto resultante do
processo de decodificac
ao dos genes).
Tabela 3.1: Exemplos de gen
otipos e fenotipos correspondentes em alguns tipos
de problema.
Gen
otipo
Fen
otipo
Problema
0010101001110101 10869
otimizacao numerica
CGDEHABF
caixeiro viajante
C1 R4 C2 R6 C4 R1
CAPITULO 3. COMPONENTES
3.1.2
Caractersticas
3.2
Popula
c
oes
A evoluc
ao como conhecemos so e possvel gracas `a dinamica populacional:
ao propagar caractersticas desejaveis a geracoes subseq
uentes (cruzamento)
enquanto novas s
ao testadas marginalmente (mutacao), um AG manipula a
freq
uencia com que determinadas seq
uencias de genes (ver esquemas, na secao
6.1) aparecem nas populacoes sobre as quais atua.
3.2.1
Caractersticas
gera
c
ao: diz respeito ao n
umero de vezes pelas quais a populacao passou pelo
processo de selec
ao, reproducao, mutacao e atualizacao;
m
edia de adapta
c
ao:
Pn
MA =
fO (i)
n
i=1
grau de converg
encia: representa o quao proximo a media de adaptacao da
objetivo dos AGs fazer a poatual gerac
ao est
a de suas anteriores. E
pulac
ao convergir em um valor otimo de adaptacao.
Um fen
omeno negativo vinculado a esta medida e a convergencia prematura, que se d
a quando a populacao converge em uma media de adaptacao
sub-
otima, e dela n
ao consegue sair por causa de sua baixa diversidade.
diversidade: mede o grau de variacao entre os genotipos presentes na populac
ao. A diversidade e fundamental para a amplitude da busca, e sua
queda est
a fortemente vinculada ao fenomeno de convergencia prematura;
elite: e composta pelos indivduos mais adaptados da populacao. Uma tecnica
comumente usada em AGs e a de elitismo, onde os m melhores indivduos
(normalmente m = 1) sao sempre mantidos a cada geracao.
Captulo 4
Operadores Gen
eticos
4.1
Inicializa
c
ao
A inicializac
ao b
asica de um algoritmo genetico classico se resume `a sntese de
uma populac
ao inicial, sobre a qual serao aplicadas as acoes dos passos subseq
uentes do processo.
Tipicamente se faz uso de funcoes aleatorias para gerar os indivduos, sendo
este um recurso simples que visa a fornecer maior biodiversidade 1 , fundamental para garantir uma boa abrangencia do espaco de pesquisa. Existem varias
alternativas ao metodo rand
omico, destinadas a suprir deficiencias no que diz
respeito a dificuldades existentes quanto `a criacao aleatoria de indivduos de
representac
ao mais complexa e, fator mais considerado, a uma melhora na performance. Podemos citar como exemplo o uso de algoritmos de busca heurstica
como geradores de populac
oes iniciais, especialmente em casos que apresentem um alto grau de restricoes, onde o AG recebe uma populacao que ainda
n
ao possui indivduos
otimos, mas que apresentam pelo menos algumas das caractersticas desejadas. Os operadores de inicializacao mais tradicionais sao,
segundo [GOL 89] e [GEY 97]:
inicializa
c
ao rand
omica uniforme: cada gene do indivduo recebera como
valor um elemento do conjunto de alelos2 , sorteado de forma aleatoriamente uniforme;
inicializa
c
ao rand
omica n
ao uniforme: determinados valores a serem armazenados no gene tendem a ser escolhidos com uma freq
uencia maior
do que o restante. Um exemplo de tal operador seria o de lancamento de
moeda com uma distribuicao de probabilidade diferente de 50%.
inicializa
c
ao rand
omica com dope: indivduos otimizados sao inseridos
em meio `
a populac
ao aleatoriamente gerada. Esta alternativa apresenta
o risco de fazer com que um ou mais super indivduos tendam a dominar
no processo de evoluc
ao e causar o problema de convergencia prematura.
1 O termo biodiversidade aqui empregado pertence `
a tradic
ao existente no meio da computac
ao evolutiva de utilizar, com certa liberdade, termos da biologia.
2 Tamb
em pertencente a biologia, o termo conjunto de alelos diz respeito ao conjunto de
valores que um gene pode assumir.
10
CAPITULO 4. OPERADORES GENETICOS
11
inicializa
c
ao parcialmente enumerativa: sao inseridos na populacao indivduos de forma a fazer com que esta comece o processo de evolucao possuindo todos os esquemas possveis de uma determinada ordem.
4.2
Avalia
c
ao
1
distancia(gi , gi+1 )
CAPITULO 4. OPERADORES GENETICOS
12
4.3
Sele
c
ao
A selec
ao e a respons
avel pela perpetuacao de boas caractersticas na especie.
Segundo [DAW 96], ela e um processo:
dirigido: ao contr
ario da mutacao, que muitos acreditam ocorrer de forma
aleat
oria, a selec
ao opera de forma determinstica (ou proxima disso).
Isto e, enquanto as mutacoes ocorrem ao acaso, um indivduo so consegue
sobreviver em um ambiente e nele se reproduzir se e somente se for capaz,
gracas `
as suas caractersticas fenotpicas, de responder de forma adequada
a todos fen
omenos de seu meio;
cumulativo: os benefcios do processo de selecao sao mantidos de uma geracao
para a outra. Este fator, combinado com a nao aleatoriedade da selecao,
garante a possibilidade de surgimento de organismos complexos como as
formas de vida que hoje conhecemos. A selecao natural consiste entao
de um longo processo de pequenas tentativas e erros, onde os ganhos sao
sempre acumulados, de geracao para geracao.
no est
E
agio de selec
ao que os indivduos sao escolhidos para posterior cruzamento. Neste ponto, fazendo uso do grau de adequacao de cada um, e efetuado
um sorteio onde os mais aptos possuem maior probabilidade de se reproduzirem. Este grau e calculado a partir da funcao de avaliacao de cada indivduo, e
determina qu
ao apto ele est
a para a reproducao em relacao `a populacao a que
pertence.
4.3.1
Scaling
De acordo com [GOL 89, WAL 2000, GEY 97], o uso de um metodo de scaling
sobre o valor de adaptac
ao de cada indivduo normalmente e u
til por reduzir a
probabilidade de convergencia prematura. Diversas funcoes podem ser aplicadas
sobre a adaptac
ao
no scaling : O valor de retorno da funcao objetivo e usado sem nenhum tipo
de alterac
ao.
linear scaling : O valor de retorno da funcao objetivo ( fO (x) ) sofre a seguinte
alterac
ao:
fl (fO (x)) = fO (x) a + b,
onde
a = (c 1)
max c med
med
e b = med
, se 6= 0,
ou a = 1, b = 0 em caso contrario,
CAPITULO 4. OPERADORES GENETICOS
13
4.3.2
M
etodos de sele
c
ao
Existem v
arias formas para efetuar a selecao, dentre as quais destacam-se:
sele
c
ao por ranking (rank selection): os indivduos da populacao sao ordenados de acordo com seu valor de adequacao e entao sua probabilidade
de escolha e atribuda conforme a posicao que ocupam;
sele
c
ao por giro de roleta (roulette wheel selection): o metodo de selec
ao por giro de roleta funciona da seguinte forma [DAV 91]: calcula-se
o somat
orio da adequac
ao da populacao (total) sorteia-se um valor i tal
que pertence ao intervalo [0; total] seleciona-se o indivduo x tal que a ele
corresponda `
a faixa do somatorio onde i se localiza;
sele
c
ao por torneio (tournament selection): Grupos de solucoes sao escolhidos sucessivamente e as mais adaptadas dentro de cada um destes sao
selecionadas [GOL 89, WAL 2000, GEY 97];
sele
c
ao uniforme: todos indivduos possuem a mesma probabilidade de serem
selecionados [WAL 2000]. Obviamente, esta forma de selecao possui uma
probabilidade muito remota de causar uma melhora da populacao sobre a
qual atua;
remainder stochastic selection: a partir da formula:
s(x) =
fA (x)
med
CAPITULO 4. OPERADORES GENETICOS
4.4
14
Reprodu
c
ao
Uma vez selecionados os indivduos, estes passam com uma probabilidade preestabelecida pelo processo de cruzamento (crossover ), onde partes dos genes dos
pais s
ao combinadas para geracao de filhos.
4.4.1
Pareamento (mating )
Alguns dos principais metodos de escolha dos pares de reprodutores sao, segundo
[GEY 97]:
escolha aleat
oria: os pares de indivduos que devem se reproduzir sao escolhidos ao acaso;
inbreeding : parentes s
ao combinados;
line breeding : um indivduo de alta performance e cruzado com uma subpopulacao de indivduos e os filhos sao selecionados como pais;
outbreeding : indivduos que codificam fenotipos diferentes sao combinados;
self-fertilization: o indivduo e combinado consigo mesmo;
positive assortive mating : indivduos semelhantes sao combinados;
negative assortive mating : indivduos diferentes sao combinados.
4.4.2
Operadores de cruzamento
Na verdade, e possvel representar o funcionamento dos operadores de cruzamento como uma selec
ao por mascara: esta seria representada por um vetor
cujos elementos possam assumir valores binarios e que possua um comprimento
igual ao dos cromossomas a serem combinados . Seu uso pelo operador se daria
segundo o seguinte algoritmo:
Figura 4.1: Algoritmo de uso de uma mascara de cruzamento
se mascarai = 0 ent~
ao
f ilho1 pai1
f ilho2 pai2
sen~
ao
f ilho1 pai2
f ilho2 pai1
CAPITULO 4. OPERADORES GENETICOS
15
A m
ascara de cruzamento seria uma serie de 0s (zeros) sucedidas de 1s
(uns) pertencente ao conjunto {0n1m | n 0, m 0, n + m = lg }.
Dentre os operadores de cruzamento tradicionais o de um ponto e o que
normalmente apresenta o pior desempenho.
CAPITULO 4. OPERADORES GENETICOS
16
cruzamento Segmentado (SX): o cruzamento segmentado funciona de maneira semelhante ao multi-ponto, com a excecao de que sorteia o n
umero
de pontos de corte toda vez que e executado;
cruzamento uniforme (UX): para cada gene a ser preenchido nos cromossomos filhos, o operador de cruzamento uniforme sorteia de qual dos pais
este deve ser gerado. A mascara de cruzamento de tal operador e uma
seq
uencia qualquer de zeros e uns;
4.5
Muta
c
ao
A mutac
ao opera sobre os indivduos resultantes do processo de cruzamento e
com uma probabilidade pre-determinada efetua algum tipo de alteracao em sua
estrutura. A import
ancia deste operador reside no fato de que uma vez bem
escolhido seu modo de atuar garante que diversas alternativas serao exploradas,
mantendo assim um nvel mnimo de abrangencia na busca (ver secao 6.2).
Exemplos de operadores de mutacao:
muta
c
ao flip: cada gene a ser mutado recebe um valor sorteado do alfabeto
v
alido;
muta
c
ao por troca (swap mutation): sao sorteados n pares de genes, e os
elementos do par trocam de valor entre si;
muta
c
ao creep: um valor aleatorio e somado ou subtrado do valor do gene.
CAPITULO 4. OPERADORES GENETICOS
4.6
17
Atualiza
c
ao
4.7
Finaliza
c
ao
A finalizac
ao n
ao envolve o uso de nenhum operador genetico: ela simplesmente
e composta de um teste que da fim ao processo de evolucao caso o AG tenha
chegado a algum ponto pre-estabelecido de parada. Os criterios para a parada podem ser v
arios, desde o n
umero de geracoes ja criadas ate o grau de
convergencia da atual populacao (por convergencia entende-se o grau de proximidade dos valores da avaliacao de cada indivduo da populacao).
3 Para
Captulo 5
T
ecnicas
Existe uma ampla gama de tecnicas de implementacao de AGs que servem
importante ressaltar aqui que mesmo uma
como alternativa `
a tradicional. E
combinac
ao de diversas tecnicas geralmente e possvel, e em muitos casos, e ate
mesmo recomend
avel.
5.1
Popula
c
oes
5.1.1
Estado fixo
5.1.2
Incremental
18
CAPITULO 5. TECNICAS
5.1.3
19
Modelo de Ilhas
CAPITULO 5. TECNICAS
P op1
20
I
@
@
@
R
@
P op2
P opM estre
P op3
@
I
@
@
R
@
P op4
P op1
6
?
- P op4
P op3
P op2
5.2
Representa
c
ao polipl
oide
A representac
ao genetica mais utilizada nos AGs e a haploide, onde o genotipo
de cada indivduo e representado por apenas um cromossoma. Tal escolha se
justifica pelo fato de evitar a redundancia trazida por representacoes diploides e
polipl
oides, onde o fen
otipo relacionado a um certo gene e determinado por uma
relac
ao de domin
ancia: uma vez que cada cromossoma a mais oferece um gene
extra que codifica a caracterstica desejada e possivelmente um valor (ou alelo)
diferente neste, ser
a selecionado aquele considerado dominante em detrimento
dos recessivos.
Levando-se em conta que a representacao haploide e usada na natureza apenas para formas de vida mais simples e necessario questionar o porque do uso
de gen
otipos dipl
oides ou poliploides por parte de organismos mais complexos.
A justificativa para isto e encontrada no fato de que as relacoes de dominancia
entre os alelos n
ao e est
atica, mas tambem sujeita `a evolucao, e que os genes redundantes servem como recipientes de informacoes que possibilitam uma
especie de mem
oria do processo de evolucao, reduzindo assim a probabilidade
de que determinados alelos que codificam caractersticas ate o momento pouco
desej
aveis sejam extintos da populacao.
CAPITULO 5. TECNICAS
5.3
21
Algoritmos mim
eticos
5.4
Hbridos
termo mim
etico vem do grego mimetes, que quer dizer imitac
ao.
importante ressaltar que o termo natural n
ao est
a sendo aqui utilizado de maneira
literal, isto
e, a press
ao social
e um fato derivado da natureza e, por conseq
u
encia, pode ser
vista como um fen
omeno natural.
2E
CAPITULO 5. TECNICAS
22
converter operac
oes aplicadas com freq
uencia em operadores geneticos
tais operac
oes podem ser adaptadas para funcionar como um operador
genetico j
a conhecido. Por exemplo, considerando-se que a mutacao e
un
aria (atua sobre apenas um objeto) e causa variacoes no cromossoma,
uma operac
ao do concorrente que apresente tais caractersticas pode ser
convertida neste operador. Tambem e possvel gerar um operador com
uma nova l
ogica de funcionamento para substituir ou trabalhar em conjunto com os restantes;
utilizar o metodo de decodificacao se o algoritmo concorrente apresenta um metodo de decodificacao eficiente e este e importante para o
funcionamento do AG, a melhor alternativa e incorpora-lo ao hbrido;
5.5
Programa
c
ao gen
etica
JJ
^
x
JJ
^
y
Captulo 6
Considera
c
oes
6.1
Esquemas
6.1.1
Ordem de um esquema
=
=
=
=
{0,1,0,1}
{*,*,1,*}
{*,*,*,*}
{0,*,0,*}
6.1.2
Tamanho de um esquema
23
CAPITULO 6. CONSIDERAC
OES
24
mento, como veremos adiante. O teorema dos esquemas de Holland diz que
bons esquemas tendem a se reproduzir de forma exponencial nas geracoes subseq
uentes.
6.2
Muta
c
ao e Cruzamento
6.3
termo l
ocus designa a posic
ao de um gene dentro do cromossoma.
CAPITULO 6. CONSIDERAC
OES
25
110
111
010
011
100
101
000
001
B0110
B
B
BB
a
0010a
0110
aa
a
0111
#
#
#
#
##
0111
1010
0111
1011
0100
1000
0100
0000
0101
H
HH
1001
HH
0101
H
L
L
L
L
0001L
CAPITULO 6. CONSIDERAC
OES
26
6.4
6.4.1
Algoritmos Gen
eticos Escalada de Montanha
O problema dos
otimos locais
6.4.2
Escalada de montanha em um AG
Captulo 7
Aplicac
oes
Por se tratar de uma tecnica bastante difundida e geralmente oferecer bons
resultados, os AGs s
ao usados em uma ampla serie de domnios de problemas.
A seguir, ilustramos sua utilizacao em alguns deles. Mais comentarios podem
ser encontrados em [HEI 2000].
7.1
Sistemas de classifica
c
ao
De acordo com [HEI 2000], uma das aplicacoes propostas por Holland para os
AGs seria seu uso em sistemas de classificacao (classifier system, CFS), capazes
de interpretar mudancas em seu meio ambiente e decidir sobre qual a melhor
maneira de se adaptar a elas.
Para isto, e necess
ario que se defina um meio ambiente e a forma como o
CFS interage com ele, ou seja, que funcionalidades serao implementadas para
que o u
ltimo seja informado a respeito de alteracoes e para que possa efetuar
alterac
oes no primeiro.
A l
ogica de funcionamento de um CFS pode ser definida como . . . start
from scratch, i.e., from tabula rasa (without any knowledge) using a randomly
generated classifier POPULATION, and let the system learn its program by induction, (cf Holland et al. 1986), this reduces the input stream to recurrent
input patterns, that must be repeated over and over again, to enable the animat
to classify its current situation/context and react on the goings on appropriately.[HEI 2000].
7.2
CAPITULO 7. APLICAC
OES
28
5, 0
1, 1
CAPITULO 7. APLICAC
OES
7.2.1
29
Implementac
ao
Desde que existem 4 resultados possveis para cada rodada ([a1 , b1 ], [a1 , b2 ],
[a2 , b1 ], [a2 , b2 ]), uma estrategia baseada nas n iteracoes anteriores deve levar
em consideracao 4n combinacoes. Alem disso, visto que ainda nao existe um
hist
orico de tamanho n ate a rodada n + 1, e incorporada ao genoma uma
mem
oria de n primeiras rodadas hipoteticas (o que lhe acrescenta 2n combinac
oes). Assumindo n = 3, temos 43 = 64 estrategias possveis, mais 23 = 6
combinac
oes para o hist
orico inicial, resultando num total de 70 genes.
Podemos ent
ao usar o pr
oprio historico de jogadas efetuadas entre os envolvidos como ndice para definir que acao deve ser seguida: atribuindo ao ato de
delatar o valor 0 e ao de cooperar 1, temos que qualquer combinacao de jogadas
pode ser codificada como uma string de bits. Alguns exemplos de strings e seus
respectivos hist
oricos podem ser vistos na tabela 7.2:
string
000000
010011
101001
111010
111111
historico
(DD),(DD),(DD)
(DC),(DD),(CC)
(CD),(CD),(DC)
(CC),(CD),(CD)
(CC),(CC),(CC)
ndice
0
19
41
58
63
estrategia
hist
orico
jogada1
jogada2
DDDC
DDCC
DCDC
DCCC
CDDC
CDCC
CCDC
CCCC
C D C D C D C D C D C D C D C D C
DDDD
DDCD
DCDD
DCCD
CDDD
CDCD
CCDD
CCCD
CAPITULO 7. APLICAC
OES
30
Figura 7.2: O Algoritmo Genetico proposto por [AXE 97] para o estudo do DPI
7.2.2
Resultados
Ap
os um n
umero razo
avel de geracoes, Axelrod pode constatar o domnio de
indivduos que baseavam suas jogadas em reciprocidade, de maneira semelhante
`a tit for tat, mas obtendo um maior valor de utilidade: o algoritmo havia encontrado uma maneira de explorar estrategias menos robustas enquanto mantinha
o jogo cooperativo com as que nao conseguia manipular. A explicacao para este
desempenho residia na especializacao permitida pelo uso de estrategias fixas
como adversarias.
O pr
oximo passo foi, entao, lancar mao de estrategias dinamicas para a
avaliac
ao de indivduos. Este objetivo foi alcancado fazendo com que jogadores pertencentes ao AG enfrentassem uns aos outros. Ao rodar o prototipo,
foi possvel observar uma proliferacao inicial de indivduos que denunciavam
cegamente nas primeiras geracoes, onde uma populacao gerada de maneira
aleat
oria e bem distribuda devia conter um n
umero razoavel de indivduos que
cooperavam cegamente, a opc
ao por denunciar sempre se tornava a sem d
uvida
mais adequada que acabaram se tornando a grande maioria da populacao.
No entanto surgiram, atraves de mutacoes, jogadores que lancavam a mao da
reciprocidade: enquanto esta pratica nao era particularmente adequada para
um n
umero muito pequeno de praticantes, seu crescimento na populacao os tornava, ao contrario dos denunciantes, cada vez mais aptos, permitindo assim a
eventual dominac
ao da populacao por parte destes.
CAPITULO 7. APLICAC
OES
7.3
31
CAPITULO 7. APLICAC
OES
disc1
disc2
32
disc3
...
discn
1+
1
penalidades(x)
7.3.1
Implementac
ao
A forma de representac
ao escolhida foi a baseada nas horas-aula das disciplinas:
neste caso, o genoma representa o conjunto de todas as horas-aula de todas as
disciplinas. Por motivos de simplicidade, as horas-aula da mesma disciplina sao
alocadas em blocos adjacentes, e por sua vez os blocos sao alocados ordenadamente segundo o semestre da disciplina a que pertencem. Apesar de permitir
todos os tipos de colis
ao em sua codificacao, esta representacao apresenta a vantagem consider
avel de sempre ter como solucao horarios que respeitem a carga
hor
aria de todas as disciplinas.
A func
ao objetivo faz uso do calculo de penalidades associadas a um cromossoma. Na realidade seu funcionamento se baseia em verificar para cada gene
quais penalidades est
ao associadas `a sua combinacao com todos os demais.
Na Tabela 7.3 s
ao sugeridas restricoes (marcadas com ) que por motivos de
viabilidade n
ao foram implementadas. Elas se encontram aqui como uma forma
CAPITULO 7. APLICAC
OES
33
criterio
semestre
func
ao
Impedir colisao entre disciplinas do mesmo semestre
grau
altssimo
professor
Impedir que disciplinas ministradas pelo mesmo docente sejam alocadas no mesmo horario
altssimo
altssimo
sala
altssimo
slots tabu
Evitar alocar aulas em horarios pouco adequados (ex: das 12h 00min `as 14h 00min)
medio
bloco
medio
dia
medio
tipo
Inibir que duas disciplinas do mesmo tipo sejam alocadas em sucessao para a mesma turma
baixo
slots
otimos
baixo
hor
arios compactos
Tentar evitar que turnos nao tenham a totalidade de seus time-slots alocados
baixo
CAPITULO 7. APLICAC
OES
34
7.3.2
Resultados
CAPITULO 7. APLICAC
OES
35
caso pouco significativo para os tamanhos de populacao e indivduos testados neste trabalho). Sua principal desvantagem e a de gerar com uma
probabilidade nfima indivduos que satisfacam as restricoes por time slot
e alocac
ao
otima;
heuristic slot initializer (inicializador heurstico por slot): utiliza uma
func
ao aleat
oria com distribuicao nao uniforme, que sorteia time slots
indesej
aveis com uma probabilidade menor.
Seu custo operacional e praticamente igual ao do inicializador randomico
simples e possui sobre este a vantagem de raramente alocar horas-aula em
time slots tabu4 . Testes comparativos revelaram uma melhora de 100%
no desempenho em relacao a seu antecessor. Nao se preocupa com uma
alocac
ao racional de blocos;
heuristic discipline initializer (inicializador heurstico por disciplina):
faz uso da mesma func
ao de sorteio de time slots do inicializador de slots,
mas aloca preferencialmente as disciplinas em blocos que respeitem as
restric
oes de alocac
ao
otima.
Seu desempenho e comparavel dos operadores anteriores, porem proporciona uma melhora consideravel na performance do AG como um todo.
multi-point block crossover (MBX): O cruzamento por blocos e em m
ultiplos pontos e um operador de cruzamento multiponto que efetua o corte
dos cromossomas pais de forma a nao partir um bloco de uma mesma
disciplina.
swap Block Mutation (SWM): Semelhante ao SM, faz a troca de blocos
entre os pares de disciplinas que sorteia. Para executar sua tarefa, precisa
extrair do genoma uma representacao em blocos das disciplinas escolhidas
para o swapping e uma vez feito isso escolher quais os melhores blocos para
a troca. Este operador apresentou uma melhora de 300% em relacao aos
operadores de mutac
ao tradicionais, e ajuda a manter a biodiversidade,
sem contudo apresentar o mesmo efeito negativo que seus antecessores
sobre a convergencia.
Em um problema de timetabling com a representacao escolhida, bons esquemas tendem a possuir um grande comprimento, pois se de um lado e comum
que os valores ao redor de um gene sejam importantes para a qualidade final
do cromossoma, visto que e isto que determina de que forma as disciplinas foram alocadas em blocos, por outro e muito comum que genes tenham grande
import
ancia um para o outro apesar de fisicamente5 distantes, como no caso de
genes pertencentes a disciplinas de semestres diferentes mas de mesmo professor.
Visto que o problema e altamente combinatorio, ou seja, que o valor de um
determinado gene tende a possuir uma consideravel import
ancia para os demais,
podemos tambem afirmar que o grau de um bom esquema geralmente e bastante
elevado.
4 O termo tabu aqui utilizado
e emprestado de outra t
ecnica de otimizac
ao conhecida: a
busca tabu. Um indivduo ou valor tabu
e possvel mas inadequado, indesej
avel.
5 O termo fisicamente aqui se refere `
a disposic
ao dos genes no genoma.
CAPITULO 7. APLICAC
OES
36
CAPITULO 7. APLICAC
OES
37
Lista de Figuras
2.1
4.1
4.2
4.3
4.4
. . . .
. . . .
corte.
. . . .
14
15
15
16
5.1
5.2
5.3
5.4
.
.
.
.
.
.
.
.
19
20
20
22
6.1
6.2
25
25
7.1
7.2
7.3
7.4
29
30
32
34
38
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Tabelas
3.1
Exemplos de gen
otipos e fenotipos . . . . . . . . . . . . . . . . .
6.1
Exemplos de Esquemas
. . . . . . . . . . . . . . . . . . . . . . .
23
7.1
7.2
7.3
28
29
33
39
Glossary
A
Adaptac
ao
Alelo
Alfabeto
um alfabeto consiste em um conjunto de smbolos que sao manipulados por uma linguagem. Para a quase totalidade dos problemas
tratados pelos algoritmos geneticos e possvel definir uma linguagem formal que gere a partir de um alfabeto e uma serie de regras
pre-definidas todo o conjunto de solucoes possveis para o problema. Um alfabeto, para os AGs e, entao, o conjunto uniao de
todos os alelos possveis para os genes pertencentes ao genoma.
C
Computac
ao Evolutiva campo da Ciencia da Computacao dedicado a estudar
o uso da evolucao para a resolucao de problemas. A tecnica mais
conhecida da CE sao os Algoritmos Geneticos, mas existem na
realidade uma ampla gama de outras abordagens.
Converg
encia o grau de convergencia e caracterstica das populacoes dos AGs,
e diz respeito `
a diferenca entre a media de adaptacao da geracao
atual e suas anteriores. A ascensao deste ndice indica que o
processo de evolucao esta efetivamente promovendo a melhora da
media de adaptacao da populacao, e sua estabilizacao em torno
de um mesmo valor por muitas geracoes normalmente indica que
a populac
ao se estacionou em um determinado valor medio de
adaptac
ao, caso em que a continuacao do processo de evolucao
se torna improdutiva.
Converg
encia prematura a convergencia prematura e um problema bastante
recorrente na tecnica de algoritmos geneticos: ela se da quando a
diversidade de uma populacao cai de tal forma que o processo de
reproduc
ao gera a cada geracao filhos mais semelhantes aos pais,
40
GLOSSARY
41
D
Darwininismo teoria cientfica para a explicacao do fenomeno de evolucao
das especies baseada no conceito de selecao natural, proposto por
Darwin e Wallace em 1858. Com descobertas posteriores da biologia (notavelmente da genetica e biologia populacional) o darwinismo foi reformulado e sofreu a agregacao de novas teorias, formando o neo-darwinismo.
Diversidade (ou biodiversidade) caracterstica de uma populacao de indivduos, a diversidade diz respeito ao grau de semelhanca entre eles.
E
Esquema (ou esquem
atico) os esquemas servem para definir e representar
conjuntos de genomas. Para isto, faz uso do smbolo * para ilustrar situac
oes em que o valor de determinado gene nao importa.
Por exemplo o esquema {*,*,*,1} representa o conjunto de todos
cromossomas que possuem 1 como valor em seu gene de ndice 4.
Evoluc
ao
F
Fen
otipo
Func
ao objetivo a func
ao objetivo recebe como entrada um indivduo e retorna o grau de adaptacao que este apresenta.
GLOSSARY
42
G
Gene
Genoma
Gen
otipo
Gerac
ao
I
Indivduo
L
Lamarckismo teoria anterior ao darwinismo, que propunha que caractersticas
desenvolvidas ao longo da vida de um indivduo podiam ser repassadas para a sua prole. Existem tecnicas pertencentes `a Computac
ao Evolutiva que lancam mao de conceitos lamarckistas.
L
ocus (ou ndice) o l
ocus de um gene determina a posicao que ele ocupa no
necessario entao uma escolha de determinacao do locus
genoma. E
que n
ao permita ambig
uidades.
M
Mutac
ao
GLOSSARY
43
P
Pareamento (ou mating) o pareamento tem por objetivo determinar como os
indivduos selecionados para reproducao serao cruzados entre si.
Populac
ao
uma populac
ao consiste em um conjunto de indivduos. Ela apresenta caractersticas nao observaveis nos indivduos, tais como grau
de diversidade e de convergencia.
R
Reproduc
ao
S
Scaling
Selec
ao
Bibliografia
[AXE 97]
[BAR 96]
BARBOSA, H. J. C. Algoritmos geneticos para otimizacao em engenharia: uma introducao. In: IV SEMINaRIOS SOBRE ELEMENTOS FINITOS E MeTODOS NUMeRICOS EM ENGENHARIA, 1996, Juiz de Fora, MG. Anais. . . [S.l.: s.n.], 1996.
[BUR 95]
BURKE, E.; ELLIMAN, D.; WEARE, R. A hybrid genetic algorithm for highly constrained timetabling problems.
In: 6TH INTERNATIONAL CONFERENCE ON GENETIC
ALGORITHMS (ICGA95, PITTSBURGH, USA, 15TH-19TH
JULY 1995), 1995. Anais. . . Morgan Kaufmann: San Francisco: CA: USA, 1995. p.605610. Disponvel via WWW
em http://www.asap.cs.nott.ac.uk/ASAP/papers/pdf/icga95.pdf.
(Agosto de 2000).
[COR 93]
[COR 94]
[COS 99]
COSTA JR, I. Introducao aos algoritmos geneticos. In: VII ESCOLA DE INFORMaTICA DA SBC REGIONAL SUL, 1999.
Anais. . . [S.l.: s.n.], 1999.
44
BIBLIOGRAFIA
45
[DAV 91]
[DAW 96]
[GEY 97]
[GOL 89]
GOLDBERG, D. E. Genetic algorithms in search, optimization & machine learning. [S.l.]: Addison-Wesley, 1989.
[MIC 99]
[PEY 93]
[PERE
2000] PEREZ
SERRADA, A. Una
introducci
on
a
la
computaci
on
evolutiva. Disponvel via WWW em
http://www.geocities.com/igoryepes/spanish.zip.
(Setembro
de 2000).
[SOA 97]
Indice
adaptac
ao, 3, 9, 40
alelo, 10, 20, 40
Algoritmos Geneticos
hbridos, 21
versus hill-climbing, 26
Algoritmos mimeticos, 21
aptid
ao, 9
atualizac
ao, 5, 17, 18
avaliac
ao, 5, 11
genotipo, 9, 42
gene, 42
genoma, 8, 42
geracao, 9
hill-climbing, ver busca, por escalada de montanha
indivduo, 42
super, 24, 43
inicializacao, 10
com dope, 10
heurstica, 35
nao uniforme, 10
parcialmente enumerativa, 11
uniforme, 10, 34
busca
cega, 7
codificada, 6
estoc
astica, 7
por escalada de montanha, 26
por hiperplanos, 24
convergencia, 9, 17, 40
prematura, 9, 24, 36, 40
cromossoma, 8, 41
cruzamento, 5, 14, 41
de um ponto, 34
de um ponto, 14
e mutac
ao, 24
m
ascara de, 14
multiponto, 15, 34
operadores especiais, 35
parcial, 16
segmentado, 15
uniforme, 34
pareamento, 14, 43
populacao, 9, 43
de estado fixo, 18
diversidade, 9
ilhas, 19
incremental, 18
Programacao Genetica, 22
diversidade, 41
elite, 9
esquema, 23, 41
ordem, 23
tamanho, 23
representacao, 8
para o problema de grade horaria,
32
para o DPI, 29
poliploide, 20
reproducao, 43
cruzamento, ver cruzamento
fen
otipo, 9, 41
finalizac
ao, 5
func
ao objetivo, 41
46
INDICE
47