algoritomos genéticos

23
Algoritmos Genéticos Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Upload: jr

Post on 26-Sep-2015

246 views

Category:

Documents


0 download

DESCRIPTION

Método de busca populacional

TRANSCRIPT

  • Algoritmos Genticos

    Marcone Jamilson Freitas Souza

    Departamento de ComputaoUniversidade Federal de Ouro Pretohttp://www.decom.ufop.br/prof/marcone

  • Algoritmos GenticosMtodo de busca populacional, i.e, parte de um conjunto de solues, aplicando sobre estes operadores que visam melhoria desse conjuntoFundamentam-se em uma analogia com processos naturais de evoluo, nos quais, dada uma populao, os indivduos com caractersticas genticas melhores tm maiores chances de sobrevivncia e de produzirem filhos cada vez mais aptos, enquanto indivduos menos aptos tendem a desaparecer As caractersticas dos indivduos, registradas em seus genes, so transmitidas para seus descendentes e tendem a propagar-se por novas geraesCaractersticas dos descendentes so parcialmente herdadas de seus pais (Crossover) e parcialmente de novos genes criados durante o processo de reproduo (Mutao)

  • Operadores genticosCROSSOVERMUTAO

  • Algoritmos GenticosO objetivo de um AG o de tentar melhorar as qualidades genticas de uma populao atravs de um processo de renovao iterativa das populaes

  • Relao entre AG e Problema de Otimizao

  • Estrutura de um AG bsicoSelecione os paisCrossoverMutaoDefina a populao sobreviventeAvalie a populaoCritrios de parada satisfeitos?Liste os melhores indivduosGere uma populao inicialAvalie a populaoGerao de uma nova populaoNoSimReproduo

  • Avaliao de cromossomosFeita pela funo de aptido (fitness)Em um problema de maximizao pode ser a prpria funo objetivoEm um problema de minimizao pode ser o inverso da funo objetivo

  • Avaliao de cromossomos: Exemplo para problema de minimizaominmaxbetaalphaxf(x)Funo escala:

  • Fase de seleoBinary tournament selection:Selecionar dois indivduos aleatoriamenteO primeiro pai o indivduo com maior aptidoSelecionar, aleatoriamente, outros dois paisO segundo pai o indivduo com maior aptido nessa nova seleo AleatrioRoleta russa

  • Fase de reproduoDois ou mais cromossomos passam por um processo de mutao e/ou recombinao para gerar novos cromossomos filhos (offsprings)Operador mutao clssicop = ( 0 1 0 1 ) p = ( 0 1 1 1 )

  • Fase de reproduoOperador crossover clssico (one point crossover):Descendentes so formados a partir da reunio de segmentos de cada paip1 = ( 0 1 1 | 1 0 0 )p2 = ( 1 0 1 | 0 1 0 ) O1 = ( 0 1 1 | 0 1 0 )O2 = ( 1 0 1 | 1 0 0 )

  • Exemplo de operador crossover para o PCVOperador OXOperador crossover de dois pontos de corteCruzamento entre os pais geram dois filhosFilhos herdam a ordem de visita dos pais

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (x x x | 2 4 1 | 8 x x)

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (x x x | 2 4 1 | 8 9 x)

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (x x x | 2 4 1 | 8 9 3)

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (7 x x | 2 4 1 | 8 9 3)

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (7 6 x | 2 4 1 | 8 9 3)

  • Operador OX para o PCVp1 = (6 3 8 | 2 4 1 | 5 7 9)p2 = (1 2 7 | 4 6 5 | 8 9 3)

    f1 = (x x x | 2 4 1 | x x x)Ordem de visita de p2 = {8,9,3,1,2,7,4,6,5}f1 = (7 6 5 | 2 4 1 | 8 9 3)

  • Sobrevivncia / morte de cromossomosComo selecionamos os cromossomos que devem sobreviver?Sobrevivem os que possuem os melhores nveis de aptido? importante permitir tambm a sobrevida de cromossomos menos aptos, do contrrio o mtodo ficaria preso em timos locaisElitismo

  • Seleo de cromossomos sobreviventes

    Grfico1

    50

    25

    20

    5

    Cromossomos

    Nveis de aptido

    Plan1

    50

    25

    20

    5

    Plan1

    0

    0

    0

    0

    Cromossomos

    Nveis de aptido

    Plan2

    Plan3

  • Roleta russa: mecanismo para selecionar os cromossomos sobreviventes

    Grfico3

    50

    25

    20

    5

    Plan1

    5025205

    25

    20

    5

    Plan1

    0

    0

    0

    0

    Cromossomos

    Nveis de aptido

    Plan2

    0

    0

    0

    0

    Plan3

    0

    0

    0

    0