You are on page 1of 58

Tpicos Especiais em Otimizao

Algoritmos Genticos
Ivo Chaves da Silva Junior
ivo.junior@ufjf.edu.br

Juiz de Fora, 24 de Abril de 2017


Ivo Chaves da Silva Junior

Introduo

John H. Holland
(Pesquisador da Universidade de Michigan)

Dcada de 60 - Props um processo de otimizao,


denominado:

Algoritmo Gentico

2
Ivo Chaves da Silva Junior

Motivao

1859

TEORIA DA EVOLUO DAS ESPCIES


Na evoluo das espcies, s os indivduos mais aptos ao meio
ambiente sobrevivem e a estes so dadas a oportunidade de se
reproduzir e deixar suas caractersticas em seus descendentes
3
Ivo Chaves da Silva Junior

Algoritmos Evolucionrios

DEFINIO:

Algoritmos que modelam computacionalmente os processos naturais da


evoluo de modo a construir uma ferramenta para resoluo de
problemas nas mais diversas reas do conhecimento.

SIMULAO DA EVOLUO DAS ESPCIES


4 etapas:

Nascimento dos indivduos

Seleo dos indivduos

Reproduo entre indivduos

Nova gerao de indivduos


4
Ivo Chaves da Silva Junior
Conceitos Bsicos
Algoritmos Genticos

Algoritmos evolucionrios so INSPIRADOS na natureza e no


uma cpia fiel da mesma

Coisas bizarras da computao evolutiva :

Pais morrerem imediatamente aps o nascimento dos filhos

Mutaes genticas frequentes

Indivduos eternos

No h distino de machos e fmeas

Entre outras........
5
Ivo Chaves da Silva Junior
Conceitos Bsicos
Algoritmos Genticos

TERMINOLOGIA

! Indivduo Uma soluo


! Populao Conjunto de Solues
! Gerao Passo do Processo de Soluo
! Cromossomos Sequncias de Caracteres
! Gene Cada um dos Caracteres
! Gentipo Codificao da Soluo
! Fentipo Decodificao da Soluo

6
Ivo Chaves da Silva Junior
Conceitos Bsicos
Algoritmos Genticos

CARACTERSTICAS DOS AGs


! So tcnicas probabilsticas, e no tcnicas determinsticas.

! Iniciando um AG com a mesma populao inicial e o mesmo conjunto


de parmetros podemos encontrar solues diferentes a cada vez que
executamos o programa.

! GAs so em geral programas extremamente simples que necessitam


somente de:
! Informaes relativas adequabilidade do ponto como soluo do

problema em questo
! No necessitam de derivadas ou qualquer outra informao

adicional.
! Extremamente aplicveis a problemas do mundo real que em geral

incluem descontinuidades severas. 7


Ivo Chaves da Silva Junior
Conceitos Bsicos
Algoritmos Genticos

CARACTERSTICAS DOS AGs


! Trabalham com uma grande populao de solues, sendo uma
heurstica de busca.

! Diferenciam-se dos esquemas enumerativos pelo fato de no


procurar em todos os pontos possveis, mas sim em um
subconjunto destes pontos

! Diferenciam-se de esquemas aleatrios por:

- Serem uma busca que utiliza informao pertinente ao problema

-No trabalham com caminhadas aleatrias (random walks) pelo


espao de solues.

8
Ivo Chaves da Silva Junior
Conceitos Bsicos
Algoritmos Genticos

POR QUE USAR ALGORITMOS GENTICOS??

! Otimizao Global

! No afetada por descontinuidades

! Capaz de lidar com funes discretas e contnuas

! Boa tcnica para atacar problemas com espaos de busca


intratveis, que no podem ser resolvidos por tcnicas tradicionais.

9
Ivo Chaves da Silva Junior

Algoritmos Genticos

REPRESENTAO DE UM INDIVDUO - MODELAGEM

! A representao cromossomial fundamental para o algoritmo gentico.

! Ela consiste em uma maneira de traduzir a informao do problema em


uma maneira vivel de ser tratada pelo computador.

! Quanto mais adequada ao problema, maior a qualidade dos


resultados obtidos.

10
Ivo Chaves da Silva Junior

Algoritmos Genticos

REPRESENTAO DE UM INDIVDUO - MODELAGEM

11
Ivo Chaves da Silva Junior
Algoritmos Genticos

EXEMPLO: PROBLEMA DAS 8 RAINHAS

Dispor 8 rainhas (R1,R2,R3...R8) em um tabuleiro de dimenso


8x8 de forma que nenhuma seja atacada pelas outras.

COMO MODELAR
UM INDIVDUO PARA
ESSE PROBLEMA?
Ivo Chaves da Silva Junior
Algoritmos Genticos

UMA OPO POSSVEL:


1 0 1 1 1 1 1 1 0 0 . 1

1 2 3 4 5 6 7 8 9 10 64

OUTRA OPO POSSVEL:


13 56 8 34 1 60 21 45

R1 R2 R3 R4 R5 R6 R7 R8
Ivo Chaves da Silva Junior

Algoritmos Genticos

Como os AGs tm o mesmo comportamento que a evoluo das espcies:

COMPETIO ENTRE OS INDIVDUOS NATURAL

A competio entre os indivduos que determina os mais aptos!!! 14


Ivo Chaves da Silva Junior

Algoritmos Genticos

COMPETIO!!!???

QUAL O CRITRIO A SER AVALIADO??


15
Ivo Chaves da Silva Junior

Algoritmos Genticos

AVALIAO DO INDIVDUO FUNO OBJETIVO

! A funo aptido a maneira utilizada pelos AGs para determinar a


qualidade de um indivduo como soluo do problema em questo.

! uma nota dada ao indivduo na resoluo do problema.

! O valor da funo de aptido usada para a escolha dos indivduos pelo


mdulo de seleo de pais, sendo a forma de diferenciar entre as boas e
as ms solues para um problema.

! Dada a generalidade dos AGs, a funo de avaliao, em muitos casos, a


nica ligao verdadeira do algoritmo com o problema real.

16
Ivo Chaves da Silva Junior

Algoritmos Genticos

OBSERVAES IMPORTANTES SOBRE FUNO APTIDO

! NENHUM INDIVDUO DEVE TER AVALIAO NULA;

! A FUNO APTIDO DEVE EMBUTIR TODAS AS RESTRIES E


CARACTERSTICAS DO PROBLEMA EM ANLISE;

! A FUNO APTIDO DEVE SER CAPAZ DE DIFERENCIAR TODAS AS


SOLUES ENTRE SI.

17
Ivo Chaves da Silva Junior

Algoritmos Genticos

AVALIAO DO INDIVDUO FUNO APTIDO

! Problema de Maximizao:

fapt = FOB + Cmin

! Problema de Minimizao:

1
fapt =
FOB + Cmin
18
Ivo Chaves da Silva Junior

Algoritmos Genticos

SELEO DOS MELHORES INDIVDUOS


! O mtodo de seleo de pais deve simular o mecanismo de seleo
natural:
! Pais mais capazes geram mais filhos;

! Pais menos aptos tambm podem gerar descendentes.

! Temos que privilegiar os indivduos com funo de avaliao alta,


sem desprezar completamente aqueles indivduos com funo de
avaliao extremamente baixa;

! At indivduos com pssima avaliao podem ter caractersticas genticas


que sejam favorveis criao de um indivduo timo;

19
Ivo Chaves da Silva Junior

Algoritmos Genticos

SELEO DOS MELHORES INDIVDUOS

! Mtodo simples e muito adotado: MTODO DA ROLETA.

! Exemplo Roleta

Indivduo Funo Aptido Pedao Roleta

1 100 35,70%

2 130 46,40%

3 50 17,90%

Total 280 100%


20
Ivo Chaves da Silva Junior

Algoritmos Genticos

CRUZAMENTO E MUTAO

! O operador de cruzamento mais simples chamado de operador de


CRUZAMENTO DE UM PONTO.

Pontos de Corte: 1 2 3 4

Depois de sorteado o ponto de corte, ns separamos os pais em


duas partes: uma esquerda do ponto de corte e outra direita.
21
Ivo Chaves da Silva Junior

Algoritmos Genticos
Pai 1 Pai 1

Selecionamos um
Pai 2 ponto de corte Pai 2

CRUZAMENTO E MUTAO cruzamento

Filho 1 Filho 1

mutao
Filho 2 Filho 2

Gen alterado
pela mutao 22
Ivo Chaves da Silva Junior

Algoritmos Genticos

CRUZAMENTO E MUTAO

! Por simplicidade, populao no pode crescer. Populao de tamanho constante;

! Pais so, obrigatoriamente, substitudos conforme os filhos vo nascendo;

! A cada cruzamento estaremos criando dois filhos;

! Estes vo sendo armazenados at que o nmero de filhos gerado seja igual ao


tamanho da populao original;

! A probabilidade de ocorrncia de mutao deve ser baixa. Se for alta, o AG ser


muito parecido com uma tcnica chamada RANDOM WALK.

23
Ivo Chaves da Silva Junior

Algoritmos Genticos

ANLISE DOS PARMETROS GENTICOS

TAMANHO DA POPULAO

GRANDE Aumento do tempo computacional

Pequena Convergncia prematura / rpida

24
Ivo Chaves da Silva Junior

Algoritmos Genticos

ANLISE DOS PARMETROS GENTICOS

PROBABILIDADE DE SELEO/
REPRODUO

ALTA Perda de qualidade gentica

BAIXA Pouca diversidade gentica

25
Ivo Chaves da Silva Junior

Algoritmos Genticos

ANLISE DOS PARMETROS GENTICOS

PROBABILIDADE DE MUTAO

ALTA Processo muito aleatrio

BAIXA Estagnao do processo (restrito a timos locais)

26
Ivo Chaves da Silva Junior

Algoritmos Genticos

ANLISE DOS PARMETROS GENTICOS

FIM DO PROCESSO GENTICO

NMERO MXIMO DE GERAES

TEMPO DE EXECUO

ANLISE DO VALOR MDIO DA POPULAO

ESTAGNAO DE UMA SOLUO POR UM DETERMINDO PERODO


27
Ivo Chaves da Silva Junior

Algoritmos Genticos

Intervalos Tpicos dos Parmetros Genticos


Tp Pc Pm

30 90% 1%

100 60% 0,1%

Tamanho Probabilidade de Probabilidade de


Populao Cruzamento Mutao

CONVERGNCIA PELO NMERO MXIMO DE GERAES

28
Ivo Chaves da Silva Junior
Algoritmos Genticos
Algoritmo Gentico - Fluxograma

Inicializao da Populao
e
Parmetros Genticos

Mutao Nova Populao

Decodificao da Populao
Cruzamento

FOB
Fluxo de Potncia timo Codificao da Populao Seleo
Valor da Funo Objetivo

No

Soluo Final
N Mximo Sim
Clculo da Funo de Aptido de Melhor Indivduo
Geraes? entre todas as
Geraes
Ivo Chaves da Silva Junior

Algoritmos Genticos

30
Ivo Chaves da Silva Junior

Algoritmos Genticos

31
Ivo Chaves da Silva Junior

Algoritmos Genticos

Exemplo Ilustrativo Mecanismo Gentico

Maximizao da funo
32
Ivo Chaves da Silva Junior

Algoritmos Genticos

Mximo Global Gerao 1

Indivduo

33
Ivo Chaves da Silva Junior

Algoritmos Genticos

Gerao 10

Indivduo de baixa aptido

34
Ivo Chaves da Silva Junior

Algoritmos Genticos

Gerao 50

98% dos indivduos no ponto de mximo global.


Gerao de excelente qualidade

35
Ivo Chaves da Silva Junior

Algoritmos Genticos

Grfico de Convergncia Mdia da Populao

Melhor soluo
FOB

Mdia da Populao

N de Geraes 36
Ivo Chaves da Silva Junior
Algoritmos Genticos
Aplicaes: ALGORITMO GENTICO PROCESSOS

APRENDENDO A PULAR A BOLA


Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

REPRODUO/CROSSOVER

38
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

Genitor -1 Genitor -2

(sorteio)

Descendente -1

Descendente - 2
39
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

O Cruzamento realizado gene a gene.

40
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

41
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

POPULAO

42
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

12000 12000

10000 10000
Maximum/Average Fitness

Maximum/Average Fitness
8000 8000

6000 Sem Elitismo 6000


Com Elitismo
4000 4000

2000 2000

0 0
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Generation Generation

! O melhor indivduo da gerao anterior deve estar presente na prxima gerao;


43
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

SELEO

44
Ivo Chaves da Silva Junior
Algoritmos Genticos
Outros Operadores Genticos

Selecionamos uma srie de K indivduos da populao;

Fazemos com que eles entrem em competio direta pelo direito de ser
pai, usando como arma a sua avaliao;

45
Ivo Chaves da Silva Junior
Algoritmos Genticos
Observaes

MUTAO

! Importante para a diversidade gentica;

! Heurstica exploratria;

! Estratgias de taxas de mutao que variem ao longo do processo;

! Estratgias de mutao dirigidas (situao de estagnao);

46
Ivo Chaves da Silva Junior
Algoritmos Genticos
Observaes

REPRODUO/CROSSOVER

! Importante para evitar a busca aleatria da soluo (randow walk);

! Codificao binria " crossover uniforme o indicado (maior combinao);

! Estratgia: Sorteio da forma como um determinado genitor ir se reproduzir;

47
Ivo Chaves da Silva Junior
Algoritmos Genticos
Observaes

PARMETROS GENTICOS

! Estimar os valores dos parmetros genticos (desafio);

! Estratgia Determinstica (parmetros genticos fixos)

! Estratgia Adapativa (parmetros genticos ajustveis)

48
Ivo Chaves da Silva Junior
Algoritmos Genticos
Ivo Chaves da Silva Junior
Algoritmos Genticos
Ivo Chaves da Silva Junior
Algoritmos Genticos

A toolbox de AG s Minimizao
Restries = e <=
Ivo Chaves da Silva Junior
Algoritmos Genticos
Exemplo 2
PNL
Solues

Algoritmo Problema
Gentico em Anlise

Avaliao
(funo fitness) Soluo:
x=6
y=9
Ivo Chaves da Silva Junior
Algoritmos Genticos
Ivo Chaves da Silva Junior
Algoritmos Genticos

Soluo:
x=6
y=9
Ivo Chaves da Silva Junior
Algoritmos Genticos
Aplicao

55
Ivo Chaves da Silva Junior
Algoritmos Genticos
Aplicao

56
Ivo Chaves da Silva Junior
Algoritmos Genticos
Bibliografia

57
Ivo Chaves da Silva Junior

You might also like