Faculdade Salesiana Maria Auxiliadora
Macaé - RJ
Introdução aos Algoritmos Genéticos
Prof. Ricardo Linden
Teoria da Evolução



Até o século XIX os cientistas mais proeminentes acreditavam em duas
teorias principais:
 Criacionismo (“Deus criou o universo da forma que ele é hoje”)
 Geração espontânea (“a vida surge de essências presentes no ar”).
Em torno de 1850 Charles Darwin fez uma longa viagem no navio HMS
Beagle.
Ele visitou vários lugares e sua grande habilidade para observação permitiu
que ele percebesse o seguinte:
 animais da mesma espécie eram ligeiramente diferentes que seus
parentes em outros ecossistemas diferentes
 cada grupo era mais adaptado às necessidades e oportunidades oferecidas
pelo seu ecossistema específico.
Conclusão : Teoria da Evolução das Espécies
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
2
Teoria da evolução

Indivíduos com uma melhor adequação do seu fenótipo ao meio
ambiente (fitness melhor) reproduzem mais.

Ao reproduzirem mais, têm mais chances de passar seus genes
para a próxima geração.

Entretanto, graças aos operadores genéticos (recombinação e
mutação) os cromossomos dos filhos não são exatamente iguais
aos dos pais.

Assim, eles podem evoluir e se adaptar cada vez mais aos meio
ambiente que os cerca.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
3
Algoritmos Evolucionários


Algoritmos evolucionários usam modelos computacionais
dos processos naturais de evolução como uma ferramenta
para resolver problemas.
Há uma grande variedade de modelos computacionais.
Em comum:
 Conceito de simulação da evolução das espécies
 Uso de operadores de seleção, mutação e reprodução
 Todos os processos dependem do "desempenho" dos
indivíduos desta espécie dentro do "ambiente".
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
4
Algoritmos Evolucionários





Mantêm uma população de estruturas, denominadas
indivíduos ou cromossomos
Comportam-se de forma semelhante à evolução das
espécies.
A estas estruturas são aplicados os chamados operadores
genéticos, como recombinação e mutação, entre outros.
Cada indivíduo recebe uma avaliação que é uma
quantificação da sua qualidade como solução do problema
em questão.
Baseado nesta avaliação serão aplicados os operadores
genéticos de forma a simular a sobrevivência do mais
apto.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
5
Por que usar a evolução?

Natureza é muito eficiente para encontrar soluções.

Existe uma solução (espécie) diferente para cada
problema (ambiente) específico.

As soluções (espécies) inclusive se adaptam a ambientes
que mudam com o tempo.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
6
Exemplos de solução

Soluções obtidas sem conhecer a melhor solução e sem
direcionar o processo...
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
7
Sem direcionar o processo?

A evolução (teologia à parte) não é um processo
direcionado para a obtenção do melhor indivíduo.

Simplesmente, dada a competição por recursos escassos,
aqueles que são melhores, geram mais descendentes.

Assim, seus genes proliferam e aquilo que lhes faz ser
melhores normalmente é passado para sua prole.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
8
Como usar estes conceitos?

Temos que levar para o computador os seguintes
conceitos:
 Temos vários indivíduos (população);
 Todos são avaliados;
 Os melhores reproduzes mais vezes;
 Existe algo como os genes que codificam as
características;
 Os filhos compartilham características de ambos os
pais;
 Os indivíduos morrem com o passar do tempo.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
9
Algoritmos Evolucionários

Pseudo-Código
T:=0
Inicializa_População P(0)
Enquanto não terminar faça
Avalie_População P(t)
P':=Selecione_Pais P(t)
P'=Recombinação_e_mutação P'
Avalie_População P'
P(t+1)=Selecione_sobreviventes P(t),P'
t:=t+1
Fim enquanto
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
10
Algoritmos Evolucionários



São extremamente dependentes de fatores estocásticos
(probabilísticos), tanto na fase de inicialização da
população quanto na fase de evolução (durante a seleção
dos pais, principalmente).
Seus resultados raramente sejam perfeitamente
reprodutíveis.
Algoritmos evolucionários são heurísticas que não
asseguram a obtenção do melhor resultado possível em
todas as suas execuções.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
11
Conclusão Razoável



Se você tem um algoritmo com tempo de execução longo
o suficiente para solução de um problema, então não há
nenhuma necessidade de se usar um algoritmo
evolucionário.
Sempre dê prioridade aos algoritmos
exatos.
Os algoritmos evolucionários entram em cena para
resolver aqueles problemas cujos algoritmos são
extraordinariamente lentos (problemas NP-completos) ou
incapazes de obter solução (como por exemplo,
problemas de maximização de funções multi-modais).
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
12
Algoritmos Genéticos




Algoritmos genéticos (GA) são um ramo dos algoritmos
evolucionários
Como tal podem ser definidos como uma técnica de busca
baseada numa metáfora do processo biológico de
evolução natural.
Os algoritmos genéticos são técnicas heurísticas de
otimização global
São algoritmos de busca baseados nos mecanismos de
seleção natural e genética.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
13
Algoritmos Genéticos




Populações de indivíduos são criados e submetidos aos
operadores genéticos:
 Seleção
 Recombinação (crossover)
 Mutação.
Estes operadores utilizam uma caracterização da
qualidade de cada indivíduo como solução do problema
em questão chamada de avaliação
Geram um processo de evolução natural destes indivíduos
Eventualmente gerará um indivíduo que caracterizará uma
boa solução (talvez até a melhor possível) para o nosso
problema.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
14
Esquema de um GA

Graficamente:
Cortes a serem
efetuados :
Filho 1 :
Filho 2 :
Seleção
Operadores genéticos
Módulo de população
Avaliação
Não
Satisfizemos
critério
de parada ?
Mortos
Sobreviventes
Sim
Fim
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
15
Esquema de um GA


Esta é somente uma visão de alto nível de nosso algoritmo.
O que ela esconde é a complexidade do processo de
obtenção dos seguintes elementos
 uma representação cromossomial que seja adequada ao
problema
 uma função de avaliação que:
 penalize soluções implausíveis para nosso problema
 avalie satisfatoriamente o grau de adequação de
cada indivíduo como solução do problema em
questão.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
16
Esquema de um GA

Um GA é altamente genérico.

Vários de seus componentes são invariáveis de um
problema para outro.

Isto favorece sua implementação em uma linguagem
orientada a objeto, permitindo o reaproveitamento do
código para solução de vários problemas diferentes.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
17
Representação Cromossomial

A representação cromossomial é fundamental para o nosso
algoritmo genético.

Ela consiste em uma maneira de traduzir a informação do
nosso problema em uma maneira viável de ser tratada pelo
computador.

Quanto mais ela for adequada ao problema, maior a
qualidade dos resultados obtidos.

Resista à tentação de adequar o problema à sua
representação!
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
18
Representação Cromossomial



Cada pedaço indivisível desta representação é chamado de
um gene.
É importante notar que a representação cromossomial é
completamente arbitrária.
É interessante apenas que algumas regras gerais sejam
seguidas :
a) A representação deve ser a mais simples possível
b) Se houver soluções proibidas ao problema, então elas
não devem ter uma representação
c) Se o problema impuser condições de algum tipo, estas
devem estar implícitas dentro da nossa representação.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
19
Representação Cromossomial

Representação mais comum: binária.
 Mais simples e mais usada pelos praticantes da área
dos algoritmos genéticos;
 Um cromossomo nada mais é do que uma sequência
de bits;
 Cada gene é somente um bit;
 O conceito representado por cada bit e/ou conjunto
de bits é inerente ao problema.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
20
Representação Cromossomial

Essa representação foi a adotada inicialmente por
Holland, em seu livro seminal.

Hoje em dia, por estes motivos históricos e pelo fato de
ser muito simples, ela é amplamente adotada por
pesquisadores da área de GA.

Os operadores genéticos, como discutiremos a seguir, são
compreensíveis e simples de implementar.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
21
Representação Cromossomial



Representamos números (inteiros ou reais), strings, etc.
usando a representação binária.
Para representar números reais como números binários,
temos primeiro que saber duas coisas:
 A faixa de operação de cada uma das variáveis;
 A precisão desejada.
Sabendo isto, convertemos bits para números usando a
seguinte fórmula:
sup i  infi
real  infi 
* ri
k
2 1

Existe uma representação numérica direta!
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
22
Função de Avaliação

A função de avaliação é a maneira utilizada pelos GAs
para determinar a qualidade de um indivíduo como solução
do problema em questão.

É uma nota dada ao indivíduo na resolução do problema.

Será usada para a escolha dos indivíduos pelo módulo de
seleção de pais, sendo a forma de diferenciar entre as boas
e as más soluções para um problema.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
23
Função de Avaliação

Dada a generalidade dos GAs, a função de avaliação, em
muitos casos, é a única ligação verdadeira do programa
com o problema real.

Mesmo GA pode ser usado para descobrir o máximo de
toda e qualquer função de n variáveis sem nenhuma
alteração das estruturas de dados e procedimentos
adotados, alterando-se, apenas, a função de avaliação.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
24
Função de Avaliação

Também chamada de função de custo

Calcula então um valor numérico que reflete quão bons os
parâmetros representados no cromossomo resolvem o
problema.

Usa todos os valores armazenados no cromossomo (os
parâmetros) e retorna um valor numérico, cujo significado
é uma métrica da qualidade da solução obtida usando-se
aqueles parâmetros.

A função de avaliação deve ser tal que se o cromossomo c1
representa uma solução melhor do que o cromossomo c2,
então a avaliação de c1 deve ser maior do que a avaliação
de c2.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
25
Função de Avaliação

A função de avaliação deve portanto ser escolhida com
grande cuidado.

Deve embutir todo o conhecimento que se possui sobre o
problema a ser resolvido, tanto suas restrições quanto seus
objetivos de qualidade.

Quanto mais conhecimento embutirmos em um GA, menos
serão válidas as críticas sobre eles serem algoritmos
genéricos

Deve diferenciar entre duas soluções sub-ótimas, deixando
claro qual delas está mais próxima da solução procurada.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
26
Seleção de Pais

Método de seleção de pais simula o mecanismo de seleção
natural:
 Pais mais capazes geram mais filhos;
 Pais menos aptos também podem gerar descendentes.

Temos que privilegiar os indivíduos com função de
avaliação alta, sem desprezar completamente aqueles
indivíduos com função de avaliação extremamente baixa;

Indivíduos com péssima avaliação podem ter
características favoráveis à criação de indivíduo ótimo;

Estas características podem não estar presentes em nenhum
outro cromossomo.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
27
Seleção de Pais

Método simples e muito adotado: método da roleta
viciada.
 Criamos uma roleta (virtual) na qual cada
cromossomo recebe um pedaço proporcional à sua
avaliação (a soma dos pedaços não pode superar
100%).
 Rodamos a roleta
 Selecionado será o indivíduo sobre o qual ela parar.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
28
Seleção de Pais

Exemplo:
Indivíduo
Avaliação
Pedaço da
roleta (%)
Pedaço da
roleta (º)
0001
1
1.61
5.8
0011
9
14.51
52.2
0100
16
25.81
92.9
0110
36
58.07
209.1
Total
62
100.00
360.0
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
29
Seleção de Pais

Exemplo (cont.) – Graficamente, temos:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
30
Seleção de Pais



Não podemos girar uma roleta dentro do computador
Trabalhamos com conceitos abstratos, e não roletas físicas.
Algoritmo:
a) Some todas as avaliações para uma variável
soma
b) Selecione um número s entre 0 e soma (Não
incluídos)
c) i=1
d) aux=avaliação do indivíduo 1
e) enquanto aux<s
f)
i = i + 1
g)
aux=aux+avaliação do indivíduo i
h) fim enquanto
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
31
Operadores de Crossover e Mutação

Iremos trabalhar agora com a versão mais simples dos
operadores genéticos

Nesta versão, eles atuam em conjunto, como se fossem
um só.

Existem versões mais avançadas.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
32
Reprodução Sexuada


Formação de um novo indivíduo através da combinação de
duas células gametas
Na formação destas gametas, ocorre o processo de
recombinação genética (crossing-over).
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
33
Operador de Crossover




Vamos começar com o operador de crossover mais simples,
chamado de operador de crossover de um ponto.
Depois de selecionados dois pais pelo módulo de seleção de
pais, um ponto de corte é selecionado.
Um ponto de corte constitui uma posição entre dois genes de
um cromossomo.
Cada indivíduo de n genes contem n-1 pontos de corte.
gen
Pontos de Corte:
1
2
3
4
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
34
Operador de Crossover

Depois de sorteado o ponto de corte, nós separamos os pais em
duas partes: uma à esquerda do ponto de corte e outra à direita.

É importante notar que não necessariamente estas duas partes
têm o mesmo tamanho.

O primeiro filho é composto através da concatenação da parte
esquerda do primeiro pai com a parte direita do segundo pai.

O segundo filho é composto através da concatenação das
partes que sobraram (a metade esquerda do segundo pai com a
metade à direita do primeiro pai).
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
35
Operador de crossover

Graficamente:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
36
Mutação

O processo de replicação do DNA é extremamente complexo

Pequenos erros podem ocorrer ao longo do tempo, gerando
mutações dentro do código genético.
Estas mutações podem ser boas, ruins ou neutras

Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
37
Operador de Mutação

Depois de compostos os filhos, entra em ação o operador
de mutação.

Este opera da seguinte forma:
 Ele tem associada uma probabilidade extremamente
baixa (da ordem de 0,5%);
 Nós sorteamos um número entre 0 e 1.
 Se ele for menor que a probabilidade pré-determinada
então o operador atua sobre o gene em questão,
alterando-lhe o valor aleatoriamente.
 Repete-se então o processo para todos os genes
componentes dos dois filhos.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
38
Juntando os operadores
(a)
(b)
Pai 1
Pai 1
Selecionamos um
ponto de corte
Pai 2
Pai 2
Depois do
operador de
crossover
Filho 1
Filho 1
Depois do
operador de mutação
Filho 2
Gen alterado
pela mutação
(d)
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
Filho 2
(c)
39
Módulo de População

O módulo de população é responsável pelo controle da
nossa população.

Por simplicidade, população não pode crescer
 permite que armazenemos a população em um vetor de
tamanho constante.

Pais têm que ser substituídos conforme os filhos vão
nascendo
 Pode parecer estranho, visto que estamos acostumados
a ver a população humana sempre crescendo.
 Quando nasce um bebê, não é obrigatório que alguém
de alguma geração anterior caia fulminado!
 Entretanto, simula bem ambientes de recursos limitados
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
40
Módulo de População

O módulo de população que utilizaremos por enquanto é
extremamente simples.

Sabemos que a cada atuação do nosso operador genético
estamos criando dois filhos.

São armazenados em um espaço auxiliar até que o número
de filhos criado seja igual ao tamanho da população.

Neste ponto o módulo de população entra em ação.

Todos os pais são então descartados e os filhos copiados
para cima de suas posições de memória, indo tornar-se os
pais da nova geração.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
41
Execução Manual (1)

Vamos tentar resolver, usando um GA, o problema de
maximizar a função do exemplo 4.1, dada por , com x e y
pertencentes ao intervalo [0,15].
f ( x, y )  x * y * sen ( y

4
)
Como é possível que esta função retorne um valor igual a
zero,
usaremos
uma
função
de
avaliação
g ( x, y)  1  f ( x, y)
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
42
Execução Manual (2)

População inicial, sorteada aleatoriamente:
Cromossomo
x
y
g(x,y)
01000011
4
3
9,5
00101001
2
9
13,7
10011011
9
11
71,0
00001111
0
15
1,0
10011001
5
5
18,7
11100011
14
3
30,7
Somatório das avaliações:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
144,6
43
Execução Manual (3)

Roleta completa
Intervalos para função de seleção
30,7
9,5
13,7
18,7
1,0
71,0
Cromossomo
01000011
00101001
10011011
00001111
10011001
11100011
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
g(x,y)
9,5
13,7
71,0
1,0
18,7
30,7
Intervalo
[0; 9,5[
[9,5; 23,2[
[23,2; 94,2[
[94,2; 95,2[
[95,2; 113,9[
[113,9; 144,6[
44
Execução Manual (4)

Sorteio de Pais
Número Sorteado
Cromossomo Escolhido
12,8
00101001
65,3
10011011
108,3
10011001
85,3
10011011
1,8
01000011
119,5
11100011
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
45
Execução Manual (5)

Operadores:
001 01001
00111011
100 11011
10001001
100110 01
10011011
100110 11
10011001
0
0100 0011
01000011
1110 0011
11100011
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
Efeito da
mutação
46
Execução Manual (6)

Nova geração:
Cromossomo
x
y
g(x,y)
00111011
3
3
7,4
10001001
8
9
51,9
10011011
9
11
71,0
10011000
9
8
1,0
01000011
4
3
9,5
11100011
14
3
30,7
Somatório das avaliações:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
171,5
47
Execução Manual (7)

Nova roleta:
Intervalos para função de seleção
7,4
30,7
9,5
51,9
1,0
71,0
Cromossomo
00111011
10001001
10011011
10011000
01000011
11100011
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
g(x,y)
7,4
51,9
71,0
1,0
9,5
30,7
Intervalo
[0; 7,4[
[7,4; 59,3[
[59,3; 130,3[
[130,3; 131,3[
[131,3; 140,8[
[140,8; 171,5[
48
Execução Manual (8)

Sorteio de Pais
Número Sorteado
Cromossomo Escolhido
10,4
10001001
132,5
01000011
61,2
10011011
148,6
11100011
129,7
10011011
75,2
10011011
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
49
Execução Manual (9)

Operadores:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
50
Execução Manual (10)

Nova geração:
Cromossomo
x
y
g(x,y)
00001001
0
9
1,0
11000011
3
3
7,4
10010011
9
3
20,1
11101011
14
11
109,9
10011011
9
11
71,0
10011011
9
11
71,0
Somatório das avaliações:
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
280,4
51
Execução Manual (11)

Neste momento você poderia achar que o algoritmo só
funcionou porque o sorteio foi direcionado

Esta é uma dúvida extremamente razoável neste ponto

Só será apagada se executar os códigos do livro e ver que
tudo que fizemos aqui realmente acontece.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
52
Algoritmos Genéticos

GAs não são métodos de "hill climbing", logo eles não
ficarão estagnados simplesmente pelo fato de terem
encontrado um máximo local.

Eles se parecem com a evolução natural, que só por que
encontrou um indivíduo que é instantaneamente o melhor
de um certo grupo não pára de “procurar” outros
indivíduos ainda melhores.

Na evolução natural isto também decorre de
circunstâncias que mudam de um momento para outro.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
53
Atenção

A evolução natural não é um processo dirigido à obtenção
da solução ótima.

O processo simplesmente consiste em fazer competir uma
série de indivíduos e pelo processo de sobrevivência do
mais apto, os melhores indivíduos tendem a sobreviver.

Um GA tem o mesmo comportamento que a evolução
natural: a competição entre os indivíduos é que determina
as soluções obtidas.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
54
Características dos GAs

Assim como na natureza, a informação deve ser
codificada nos cromossomos (ou genomas);

A reprodução, que no caso dos GAs, é equivalente à
reprodução sexuada, se encarregará de fazer com que a
população evolua;

A mutação cria diversidade, mudando aleatoriamente gens
dentro de indivíduos;

A reprodução e a mutação são aplicadas em indivíduos
selecionados dentro da nossa população.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
55
Processo de Seleção

A seleção deve ser feita de tal forma que os indivíduos
mais aptos sejam selecionados mais freqüentemente do
que aqueles menos aptos;

Objetivo: boas características daqueles passem
predominar dentro da nossa população de soluções;

Indivíduos menos aptos nunca devem ser descartados da
população reprodutora.
 Isto causaria uma rápida convergência genética de
todas as soluções para um mesmo conjunto de
características e evitaria uma busca mais ampla pelo
espaço de soluções
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
a
56
Características dos GAs

GAs são técnicas probabilísticas, e não técnicas
determinísticas.

Iniciando um GA com a mesma população inicial e o
mesmo conjunto de parâmetros podemos encontrar
soluções diferentes a cada vez que executamos o
programa.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
57
Características dos GAs

GAs são em geral programas extremamente simples que
necessitam somente de informações locais ao nosso ponto
 Informações relativas à adequabilidade do ponto
como solução do problema em questão
 Não necessitam de derivadas ou qualquer outra
informação adicional.
 Extremamente aplicáveis a problemas do mundo real
que em geral incluem descontinuidades duras e
funções extremamente complexas.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
58
Características dos GAs

GAs trabalham com uma grande população de pontos,
sendo uma heurística de busca no espaço de soluções;

Um GA diferencia-se dos esquemas enumerativos pelo
fato de não procurar em todos os pontos possíveis, mas
sim em um (quiçá pequeno) subconjunto destes pontos;

GAs diferenciam-se de esquemas aleatórios por serem
uma busca que utiliza informação pertinente ao problema
e não trabalham com caminhadas aleatórias (random
walks) pelo espaço de soluções.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
59
Por que GAs?

GA é uma técnica de busca com as seguintes
características positivas, que fazem com que eles devam
ser considerados:
 Global;
 Não totalmente aleatórios;
 Não afetada por descontinuidades na função ou em
suas derivadas;
 Capaz de lidar com funções discretas e contínuas;
 Capaz de lidar com múltiplos objetivos;
 Boas técnicas para atacar problemas de busca com
espaços de busca intratavelmente grandes, que não
podem ser resolvidos por técnicas tradicionais.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
60
“Algoritmos genéticos são bons para abordar espaços
de buscas grandes (potencialmente imensos) e
navegá-los, procurando por combinações ótimas de
coisas, soluções que talvez não fossem encontradas
em uma busca mesmo que esta durasse o tempo de
toda uma vida"
- Salvatore Mangano (Computer Design, Maio 1995)
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
61
Conclusão

Existe muito mais a falar sobre GAs...
 Parâmetros numéricos
 Otimização multi-objetivo

Existem milhares de pesquisadores devotados a esta área
de pesquisa.

Importante ferramenta para ADICIONAR à sua caixa de
ferramentas.
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
62
Contato
E-mail: [email protected]
CEPEL: 2598-6145
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
63
Muito obrigado!
Introdução aos Algoritmos Genéticos - Prof. Ricardo Linden
64
Download

Aula introdutória sobre GA - Algoritmos Genéticos, por Ricardo Linden