Vous êtes sur la page 1sur 29

ALGORITMO GENTICO:

Funcao AlgoritmoG
T = 0;
Inicia Populao P(t);
Avalia P(t);
Enquanto No Parada Faa
T = T+1;
P Selecionapares P(t);
Recombina P;
Muta P;
Avalia P;
P(t+1) Sobreviventes P(t),p(t);
Fimenquanto
Fim

ESTRUTURA E COMPONENTES BSICOS


Elementos em comum:
Uma populao de cromossomos;
Seleo de acordo com a aptido;
Cruzamento (crossover) para gerar novas 4
populaes;
Mutao aleatria para produzir novos
indivduos.

ESTRUTURA E COMPONENTES BSICOS

POPULAO

Populao Inicial Aleatria;

FALTANDO

Tamanho da populao

MTODOS E CRITRIOS

Critrio de Codificao;
Critrio de Parada;
Critrio de Avaliao e aptido
Operadores
Critrio de Seleo
Critrio de Substituio
Parmetros de Funcionamento

OPERADORES GENTICOS
Seleo: realiza o processo de adaptabilidade e
sobrevivncia.
Cruzamento(crossover): representa o acasalamento entre
os indivduos.
Mutao: introduz modificaes aleatrias.
Existem outros operadores entre eles o mais utilizado o
Elitismo. Iremos debater somente os operadores de
Cruzamento e Mutao

SELEO
A ideia principal do operador de seleo em um algoritmo
gentico oferecer aos melhores indivduos da populao
corrente preferncia para o processo de reproduo,
permitindo que estes indivduos possam passar as suas
caractersticas s prximas geraes. Isto funciona como na
natureza, onde os indivduos altamente adaptados ao seu
ambiente possuem naturalmente mais oportunidades para
reproduzir do que aqueles indivduos considerados mais fracos.

SUBSTITUIO

FALTANDO

VERIFICAR A DIFERENA ENTRE


A SUBSTITUIO E SELEO.
SUBSTITUIO ONDE A
POPULAO ANTIGA MORRE.

CRUZAMENTO

Pode-se dizer que a principal caracterstica de distino 5 do AG em


relao s outras tcnicas o uso do cruzamento.
O operador Cruzamento utilizado aps o de seleo. Esta fase
marcada pela troca de segmentos entre casais de cromossomos
selecionados para dar origem a novos indivduos que formaro a
populao da prxima gerao. A ideia central do cruzamento a
propagao das caractersticas dos indivduos mais aptos da populao
por meio de troca de informaes entre os mesmos o que dar origem a
novos indivduos.

CRUZAMENTO

Existem dois tipos mais comuns de reproduo sexual


em AGs, que dependem do tipo de representao das
variveis.
1) Cruzamento Binrio
2) Cruzamento Real

MUTAO
A mutao geralmente vista como um operador de background,
responsvel pela introduo e manuteno da diversidade gentica na
populao. Ela trabalha alterando arbitrariamente um ou mais
componentes de uma estrutura escolhida entre a descendncia, logo
aps o cruzamento, fornecendo dessa forma meios para a introduo de
novos elementos na populao. Assim, a mutao assegura que a
probabilidade de se chegar a qualquer ponto do espao de busca
nunca ser zero. O operador de mutao aplicado aos indivduos com
uma probabilidade dada pela taxa de mutao. Como foi visto no item
Parmetros Genticos, geralmente se utiliza uma taxa de mutao
pequena, justamente por ser um operador gentico secundrio. O
operador de mutao tambm depende do tipo de representao
utilizada.

MUTAO
1) Mutao Binria
Na representao binria podemos realizar a mutao simplesmente
escolhendo aleatoriamente um bit para sofrer mutao, ou seja, ser
mudado. A mudana de um bit no indivduo pode faz-lo representar
outro ponto completamente diferente do espao.
2) Mutao Real
Na representao real, podemos realizar a mutao mudando o
indivduo para outro ponto do espao de acordo com uma
probabilidade gaussiana de mdia no prprio indivduo e com um certo
desvio padro dado.

ELITISMO

FALTANDO
DEFINIES E COMO USAR

PROBABILIDADES
PROBABILIDADE DE CRUZAMENTO: COM QUAL FREQUNCIA O RUZAMENTO
REALIZADO. SE NO HOUVER CRUZAMENTO, A DESCENDNCIA UMA
CPIA EXATA DOS PAIS. SE OCORRE O CRUZAMENTO A DESCENDNCIA
CONSTITUDA DE PARTES DOS CROMOSSOMAS DE AMBOS OS PAIS. SE A
PROBABILIDADE DE CRUZAMENTO 100%, ENTO TODA A DESCENDNCIA
PRODUZIDA POR CRUZAMENTO. SE A PROBABILIDADE 0%, TODA A
NOVA GERAO FORMADA POR CPIA EXATA DOS CROMOSSOMAS
DA POPULAO ANTIGA (MAS ISSO NO SIGNIFICA QUE A NOVA
GERAO A MESMA!).
OS CRUZAMENTOS SO REALIZADOS NA ESPERANA DE QUE OS NOVOS
CROMOSSOMAS CONTENHAM PARTES BOAS DOS CROMOSSOMAS
ANTIGOS E QUE PORTANTO OS NOVOS CROMOSSOMAS SERO MELHORES.
ENTRETANTO, BOM DEIXAR UMA PARTE DA ANTIGA POPULAO
SOBREVIVER PARA A PRXIMA GERAO.

PROBABILIDADES
PROBABILIDADE DE MUTAO: COM QUAL FREQUNCIA AS PARTES DOS
CROMOSSOMAS SOFRERO MUTAO. SE NO HOUVER MUTAO, A
DESCENDNCIA GERADA IMEDIATAMENTE APS O CRUZAMENTO (OU
COPIADA DIRETAMENTE) SEM NENHUMA ALTERAO. SE OCORREU A
MUTAO, UMA OU MAIS PARTES DO CROMOSSOMA ALTERADA. SE A
PROBABILIDADE DE MUTAO 100%, TODOS OS CROMOSSOMAS SO
ALTERADOS, SE 0%, NENHUM ALTERADO.
A MUTAO EM GERAL EVITA QUE O AG CAIA NUM EXTREMO (MNIMO OU
MXIMO) LOCAL. A MUTAO NO DEVE OCORRER COM MUITA
FREQUNCIA PORQUE SENO O AG TORNAR-SE- DE FATO UMA BUSCA
ALEATRIA.

APTDO/FITNESS

FALTANDO

REPRESENTAO E DECODIFICAO
A Representao escolhe a
forma de como ser
trabalhado os cromossomos
a serem otimizados. Ser
feita uma codificao de
forma a simplificar, adequar
e unificar todos de tal forma
que seja compatvel com os
operadores trabalhados
(crossover e mutao).

TIPO DE PROBLEMA

REPRESENTAO
ADEQUADA

NUMRICO

BINRIO, REAL

ORDEM

LISTA

GRUPO

VETOR

INTEIRO

INTEIRO

MISTO

MISTA

REPRESENTAO E DECODIFICAO

Vantagens e desvantagens da representao binria:


Representa nmeros na menor base (2)
Simples de criar e manipular
Produz bons resultados
Fcil decodificao numrica (inteiro, real )
Nem sempre adequada
No h uniformidade nos operadores. Mutao nos primeiros bits do
gene afeta mais a aptido que mutao nos ltimos bits do gene.

REPRESENTAO E DECODIFICAO

Decodificao para REAL

2 1

1
Preciso dada por:
onde k o n de casas decimais

10

CONDIO DE PARADA

FALTANDO
A CONDIO DE PARADA CREIO QUE
SEJA A MESMA FUNO. ENTO S
PESQUISA E CONCLUI AI. A FUNO
QUE VAMOS APRESENTAR COLOQUEI
NO PROXIMO SLIDE

REPRESENTAO E DECODIFICAO
PRO(X,Y) = 0,5 -

2 + 2

0.5

(1,0 + 0,001 ( + ))

INTERVALO DE [-100, 100]

REPRESENTAO E DECODIFICAO
Cromossomo: 00001010000110000000011000101010001110111011
Parte-se o cromossomo em dois (x, y):
x 0000101000011000000001
y 1000101010001110111011
Converte ambas partes para base 10:
x 165377
y 2270139
Decodificando(200/222-1):
x 7,885791751335085

y 108,24868875710696

Somados a mnima (-100)


x -92,11420824866492

y 8,248688757106959

Uso da funo PRO(x,y):


PRO(x,y)=0,5050708

RECOMENDAES
Taxa de cruzamento
A taxa de cruzamento deve em geral ser alta, cerca de 80%-95%.
Entretanto, alguns resultados mostram que para alguns tipos de
problemas, uma taxa de cruzamento de cerca de 60% o melhor.
Taxa de mutao
por outro lado, a taxa de mutao deve ser muito baixa. As melhores
taxas parecem estar na faixa de 0.5%-1%.
Tamanho da populao
pode ser um pouco surpreendente que populaes de tamanho muito
grande, normalmente no aumentam o desempenho do AG (no sentido
de aumentar a velocidade com que so encontradas as solues). Um
bom tamanho para a populao cerca de 20-30, entretanto s vezes
tamanhos de 50-100 so relatados como os melhores. Alguns autores
tambm mostram que o melhor tamanho da populao depende
do tamanho da srie codificada (cromossomas).

RECOMENDAES
Seleo: A seleo atravs da roleta pode ser usada, mas mas s vezes
a seleo por classificao pode ser melhor. Verifique o captulo sobre
seleo para saber as vantagens e desvantagens. Existem tambm
alguns mtodos mais sofisticados que mudam os parmetros de seleo
durante a execuo do AG. Basicamente, eles tem comportamento
similar a tempero falsificado. Elitismo deve ser usado se voc no tem
outro mtodo para preservar a melhor soluo. Voc tambm pode
experimentar a seleo do estado estacionrio.
Codificao: A codificao depende do problema e tambm do
tamanho das instncias do problema. Veja o captulo sobre
codificao para algumas sugestes ou veja outros recursos.
Tipos de cruzamento e mutao: os operadores dependem da
codificao e do problema. Verifique o captulo sobre operadores para
algumas sugestes. Voc pode tambm verificar outros sites.

RECOMENDAES
Algoritmos genticos tm sido utilizados para resolver problemas
complexos (tais como os problemas np-difceis), para aprendizado de
mquinas e tambm para o desenvolvimento de programas simples. Eles
tm sido tambm usados em algumas aplicaes artsticas como pintura
e msica.
Uma vantagem dos AG o seu paralelismo. AG percorre o espao das
solues usando mais indivduos (e com gentipos em vez de fentipos)
de forma que eles so menos susceptveis de "enroscar" em um extremo
local do que os outros mtodos.
Eles tambm so muito simples de implementar. Uma vez que voc
implantou a parte bsica do AG, voc simplesmente precisa escrever um
novo cromossoma (apenas um objeto) para resolver outro problema.
Com uma codificao, voc simplesmente muda a funo de
adequao e est tudo pronto! Entretanto, para alguns problemas, a
escolha e implementao da funo de adequao pode ser difcil.

RECOMENDAES
A desvantagem dos AG o tempo de processamento. Os AG podem ser
mais lentos do que os outros mtodos. Porm, desde que possamos
terminar o clculo sem restries severas de tempo, o tempo mais longo
aceitvel (principalmente com os computadores cada vez mais rpidos).
Para ter uma idia sobre os tipos de problemas resolvidos com AG,
apresentada a seguir uma lista de algumas aplicaes:
sistemas dinmicos no lineares - predio, anlise de dados
projeto de redes neurais, ambos: determinao da arquitetura e dos
pesos
trajetria de robs
desenvolvimento de programas em LISP (programao gentica)
planejamento estratgico
determinao da forma de molculas de proteinas
determinao de rotas e sequenciamento de tarefas
determinao de funes para criao de imagens

DIVERSIDADE
Um ponto fundamental para o bom funcionamento de um AG a
existncia de diversidade entre os indivduos. Ou seja, deve existir um certo
grau de diversidade entre as aptides dos indivduos que compe o
conjunto de possveis solues pois, do contrrio, com um conjunto de
indivduos muito semelhantes, o operador de cruzamento perde em muito a
capacidade de troca de informaes teis entre os indivduos da
populao o que faz a busca em certos casos progredir muito lentamente
ou praticamente estacionar.
A necessidade de ter a diversidade controlada dentro de uma
determinada populao tem, como um dos seus maiores obstculos, a
necessidade de populaes finitas e no muito grandes. Caso contrrio,
uma tcnica de AG poderia tornar-se no aplicvel na prtica, visto que,
controlar uma populao absurdamente grande, a qual tenha clculos
muito complexos para determinar a aptido, poderia ocasionar um esforo
computacional muito grande.

DIVERSIDADE
Tcnica Nicho
Nesta tcnica, estabelecida uma regio de cobertura para cada
indivduo, chamada de nicho do indivduo. No momento que estamos
gerando a populao inicial, se dois ou mais indivduos aparecerem muito
prximos, um deles eliminado e outro gerado aleatoriamente. O
processo repetido at que todos os indivduos estejam sozinhos dentro de
seu nicho. Este processo garante que no haver, na populao inicial,
indivduos prximos uns dos outros, porm, no garante que todo o espao
soluo esteja sendo coberto inicialmente.