Você está na página 1de 32

ESTUDO DE OPERADORES PARA GERAR A POPULAO INICIAL DE UM ALGORITMO GENTICO

Thiago Hilgert de Souza

Introduo

Computao Evolucionria
Ramo de pesquisa da Inteligncia Artificial que utiliza processos evolutivos como paradigma para soluo de problemas
Atua principalmente em problemas de otimizao Vantagens na sua utilizao:
- Capacidade de resolver problemas atravs da simples descrio matemtica - aberta mo de se encontrar uma nica soluo tima

Por que simular processos evolutivos?


- Capacidade de lidar com problemas de difcil formulao - Capacidade de gerar solues eficientes em um tempo relativamente baixo - Capacidade de implantar aprendizado de maquina, sem a necessidade de programar a maquina para tal

Introduo

Algoritmos Genticos (AGs)


Criado por John Holland em meados dos anos 60
Porm, sua afirmao se deu com a publicao do livro Adaptation in Natural and Artificial Systems em 1975. Princpio: processo de evoluo por seleo natural uma tcnica de busca e otimizao

Introduo

Um Ag Clssico
Algoritmo Gentico clssico Inicialize a populao gerao i = 1 Avalie os indivduos da populao Repita (inicia o processo evolutivo) Selecione indivduos para reproduo Aplique operadores de cruzamento e mutao Avalie os novos indivduos Selecione indivduos para sobreviver (gerao i = i + 1) At o nmero mximo de geraes ou encontrar a soluo desejada Fim

Fluxograma de um AG
Incio

Inicializao da Populao

Clculo da aptido Sim

Soluo encontrada? No Seleo

Fim

Reproduo

Mutao

Introduo

Algoritmos Genticos
Representao
- Binria
1 0 1 1 0 1 0 1 1 0

- Inteiro
6 18 1 22 8 4 29 51 44 37

- Real
4,1 1,6 12,9 25,7 3,0 1,1 9,3 2,8 17,7 30,1

Populao Inicial e Diversidade

Populao Inicial
o ponto de partida de um algoritmo gentico
Um dos aspectos a ser considerado: Tamanho Diversidade
- Deve ser grande o suficiente para o algoritmo combinar caractersticas e produzir novas solues - Impacto da baixa diversidade: Convergncia Prematura - Portanto, de uma maneira geral, o ideal fornecer uma distribuio uniforme pelo espao de busca

Tcnicas para Gerao


- Gerao Aleatria
- Gerao Baseada em Conhecimento Especfico sobre o problema - Gerao Complementar - Gerao Hibrida

A Proposta

Populao Inicial
Proposta
- Implementar uma estrutura que melhore a diversidade da populao inicial de Ags

Justificativa
- Grande aplicabilidade em problemas de busca e otimizao de alta complexidade

- Devido complexidade dos problemas, em alguns casos, encontrar uma soluo adequada pode levar uma quantidade significativa de tempo
- Esta demora pode estar associada baixa diversidade populacional

Motivao
- Baixa quantidade de tcnicas aplicadas a problemas genricos

A Proposta

Gerao Da Populao Inicial Atravs Da rvore Diversificadora Populacional (ADP)


Baseada no conceito de rvores Binrias Aplicado a cromossomos de representao binria Ex.:

ACZ
0

ACU
1

POPULAO

A Proposta

ADP
Continuao ex.:
ACZ 0 ACU 1 POPULAO 0

ACZ 0 1

ACU 1

POPULAO 0 1

ACZ 0 1 0

ACU 1

POPULAO 0 1 0

A Proposta

ADP
Continuao ex.:
ACZ
0

ACU
1

POPULAO
1 2 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1

3
0 1 0 1 0 1 0 1

4
5 6 7 8

Testes

Objetivo dos testes: Avaliar a diversidade de valores gerados para um cromossomo de 22 bits
0100101100001101001010 -41, 3660

Testes

Clculo De Diversidade

Diversidade Codificada (Genotpica)


Diversidade Decodificada (Fenotpica)
- Em funo da capacidade de explorao do espao de busca - Explorao do domnio das variveis - Ex.:
POPULAO CODIFICADA
1 0 0 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1

POPULAO DECODIFICADA
4 1 2 7 2 1 5 3

Testes

CLCULO DE DIVERSIDADE
- Contiuano Ex.:
POPULAO CODIFICADA
1 0 0 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1

POPULAO DECODIFICADA
4 1 2 7 2 1 5 3

Calcular distribuio ideal de indivduos por intervalo: DI = TPop / Z Calcular: K = QI DI Em seguida, efetua-se a soma dos valores obtidos nos intervalos e dividise pelo nmero de intervalos: z

DD = |K| / z
1

Testes

Clculo De Diversidade Contiuano Ex.:


Intervalos 0 1 2 3 4 5 6 7 Soma dos |K| Diversidade Decodificada (DD) QI 0 2 2 1 1 1 0 1 K -1 1 1 0 0 0 -1 0 4 0,571428571

Testes

Cenrios Os testes foram aplicados para populaes de 50, 100, 150, 200, 250, 300, 350, 400, 450 e 500 indivduos, com dez execues para cada tamanho da populao Para calcular a diversidade decodificada do problema testado, foram criados 40 intervalos, com variao de 5 unidades entre cada um [-100|-95, -95|-90, ..., 90|95, 95|100] A implementao das estruturas e os testes foram realizados em uma IDE NetBeans 6.5, com compilador Java JDK 1.7.0, e em um processador Pentium IV de 3.0 Ghz e Memria 1 Gb.

Testes

Resultados
ALEATRIA TPop 50 100 150 200 250 300 350 400 DD 0,8950 1,2875 1,6575 1,8150 2,0425 2,3425 2,5125 2,7275 DG 0,4994 0,4991 0,4991 0,5000 0,5000 0,5000 0,5000 0,5000 COMPLEMENTAR TPop 50 100 150 200 250 300 350 400 450 500 MDIA ADP DD 0,5750 0,6900 0,6613 0,6225 0,6863 0,9150 0,9063 0,8000 0,8575 0,9200 0,7634 DG 0,4537 0,5016 0,4993 0,4999 0,5000 0,5000 0,5000 0,5000 0,5000 0,5000 0,4959

TPop 50 100 150 200 250 300 350 400 450

DD 0,8600 1,2100 1,5938 1,8525 2,1388 2,1825 2,3938 2,6125 2,8188

DG 0,5000 0,5000 0,5000 0,5000 0,5000 0,5000 0,5000 0,5000 0,5000

450
500 MDIA

2,8050
2,5900 2,0675

0,5000
0,5000 0,4996

500
MDIA

2,8300
2,0493

0,5000
0,5000

Testes

Resultados Gerao Aleatria

valores obtidos na quinta execuo com populao de 200 indivduos

Testes

Resultados Gerao Complementar

valores obtidos na quinta execuo com populao de 200 indivduos

Testes

Resultados Gerao ADP

valores obtidos na quinta execuo com populao de 200 indivduos

Testes

Anlise Dos Resultados Os resultados obtidos atravs dos testes apontaram que a tcnica ADP, ofereceu uma diversidade decodificada 63 % melhor em relao as demais tcnicas de gerao da populao inicial testadas, pois o valor mdio da sua distribuio decodificada foi de 0,763375, e o das demais tcnicas foram de 2,0675 e 2,04925.

Experimentos

Maximizao da Funo F6

Difcil de ser otimizada


- Diversos mximos locais prximos uns dos outros

- Valor de X e Y obtido pelo modelo exibido no slide 11 - O cromossomo assume 44 bits ao invs de 22 - 22 primeiros para X - 22 ltimos para Y

Experimentos

Maximizao da Funo F6

Mximo global est no ponto (0,0) = F6(0,0) = 1

Experimentos

Parmetros

PARMETRO

VALOR

TAMANHO DA POPULAO

200

NMERO DE GERAES

100
1%

TAXA DE MUTAO

TAXA DE CROSSOVER

60%

MTODO DE SELEO ELITISMO?

ROLETA SIM

Experimentos

Resultados
GERAO 1 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 ALEATRIA 0,549980 0,596655 0,626547 0,654251 0,694064 0,723188 0,738365 0,756568 0,776623 0,788082 0,806913 0,826182 0,846902 0,859000 0,873854 0,885742 0,896528 0,903984 0,922618 0,942923 0,974908 TCNICA DE GERAO DA POPULAO INICIAL COMPLEMENTAR 0,539259 0,571452 0,590191 0,609071 0,632673 0,654071 0,677096 0,696152 0,711260 0,729088 0,749909 0,767048 0,785080 0,795593 0,804008 0,817087 0,827338 0,848263 0,893939 0,929116 0,963020 ADP 0,629577 0,709158 0,772937 0,822312 0,858370 0,879280 0,896516 0,903678 0,910314 0,921699 0,931661 0,940881 0,946226 0,957348 0,965966 0,971269 0,975923 0,982459 0,987687 0,989933 0,993377

Experimentos

Resultados

Experimentos

Anlise dos Resultados


ADP apresentou para o melhor indivduo um valor de aptido em mdia 10,96 % maior em relao as demais tcnicas testadas em cada gerao. A evoluo nos valores da aptido do melhor indivduo em uma escala de tempo Quantas geraes, em mdia, o AG precisou para acrescentar 0,1 em seu valor de aptido? ADP precisou de 10,66 geraes A gerao aleatria precisou de 21 geraes E a gerao complementar 23 geraes

Concluso & Trabalhos Futuros

Encontrar uma soluo adequada para um AG pode levar uma quantidade significativa de tempo Este trabalho props implementar uma estrutura que melhorasse a diversidade, promovendo um ganho significativo na explorao no espao de busca e do tempo de convergncia do AG Os resultados dos testes comprovam a melhora na diversidade da populao inicial e o aumento na velocidade de convergncia do AG Trabalhos Futuros
- A tcnica pode ser testada, em um trabalho futuro, abordando a resoluo de problemas mais prticos como Minerao de Dados, Roteamento de Veculos e Otimizao de Alternativas de Desenvolvimento de Campos Petrolferos - Desenvolver um estudo mais aprofundado quanto a diversidade da populao inicial, propondo algumas variaes na ADP, buscando alternativas para melhorar a capacidade de explorao do espao de busca dos Algoritmos Genticos.

Referncias Bibliogrficas

ATMAR, Wirt. Notes on the Simulation of Evolution. IEEE Transactions on Neural Networks, 1994. AZEVEDO, Fernando Mendes. Algoritmos Genticos em Redes Neurais Artificiais. V Escola de Redes Neurais, ITA, 1999. BCK, et al., Handbook of Evolutionary Computation. IOP Publishing, Oxford University Press, 1997. CASTRO, Ricardo Evangelista. Otimizao de Estruturas com Multi-Objetivos Via Algoritmos Genticos. Tese para obteno do grau de Doutor em Cincias Em Engenharia Civil. Universidade Federal do Rio de Janeiro, 2001. COX, Earl. Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration. Elsevier/Morgan Kaufmann, 2005. DJANNATY, Farhad. DOOSTDAR, Saber. Hybrid Genetic Algorithm for the Multidimensional Knapsack Problem. Department of Mathematics, University of Kurdistan, Sanandaj, Iran, 2008. FISHER, R.A. The Genetic Theory of Natural Selection. 1960. FREITAS, Cherze C. et. al. Uma ferramenta Baseada em Algoritmos Genticos para Gerao de Tabela de Horrio Escolar. 7 ESCOLA REGIONAL DE COMPUTAO DOS ESTADOS DA BAHIA, LAGOAS E SERGIPE, 2007.

Referncias Bibliogrficas

FOGEL, D.B. An Introduction to Simulated Evolutionary Computation, IEEE Transactions on Neural Networks, vol. 5, no. 1, pp. 3-14, 1994.

FOGEL, D.B. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, 2nd edition, The IEEE Press, 1999.
FALCONE, Marco Aurlio Guia. Estudo Comparativo entre Algoritmos Genticos e Evoluo Diferencial para Otimizao de um Modelo de Cadeia de Suprimento Simplificada. Dissertao apresentada para obteno do ttulo de Mestre em Engenharia de Produo e Sistemas. Programa de Ps-Graduao em Engenharia de Produo e Sistemas, Pontifcia Universidade Catlica do Paran. Curitiba, 2004. GAO, Yong. Population size and sampling complexity in genetic algorithms. IN PROCEEDINGS OF THE BIRD OF A FEATHER WORKSHOPS (GECCO2003), 2003. GOMEZ, Pedro A. Diaz; HOUGEN, Dean F. Pseudo Random Generation of the Initial Population in Genetic Algorithms: an Experiment. 2ND ANNUAL COMPUTER SCIENCE RESEARCH CONFERENCE AT THE STEPHENSON RESEARCH AND TECHNOLOGY CENTER, University of Oklahoma, 2006. GOMEZ, Pedro A. Diaz; HOUGEN, Dean F. Empirical Study: Initial Population Diversity and Genetic Algorithm Performance. ARTIFICIAL INTELLIGENCE AND PATTERN RECOGNITION, 2007. GONALVES FILHO, Eduardo Vila. et. al. Algoritmo Gentico Para a Formao de Clulas de Fabricao. XXIV ENCONTRO NACIONAL DE ENGENHARIA DE PRODUO, 2004.

Referncias Bibliogrficas

GUDWIN; VON ZUBEN, Fernando. Estudo de diversidade populacional: efeito da taxa de mutao. Relatrio tcnico sobre Diversidade Populacional, Universidade Estadual de Campinas, 2002.

HILL, Raymond R.. A Monte Carlo Study of Genetic Algorithm Initial Population Generation Methods. PROCEEDINGS OF THE 1999 WINTER SIMULATION CONFERENCE. Air Force Institute of Technology, 1999.
HOLLAND, John Henry. Adaptation in Natural and Artificial Systems. The University of Michigan Press, 1975. LACERDA, Estfane. G. M. Algoritmos Genticos: Aspectos Prticos. Relatrio tcnico sobre Algoritmos Genticos. Universidade Federal do Rio Grande do Norte, 2008 MAYLER, Sergio Fernando; SANTOS, Rodrigo Nereu. Algoritmo Gentico Para o balanceamento de Linhas de Produo. XXIII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUO, 2003. MICHALEWICZ, Zbigniew. Genetic algorithms + Data Structures = Evolution Programs, 3rd edition, Springer-Verlag, 1996. MITCHELL, Melanie. An Introduction to Genetic Algorithms, MIT Press, 1996. PALAZZO, Luiz. A. M. Algoritmos para Computao Evolutiva. Relatrio Tcnico - Pelotas: Grupo de Pesquisa em Inteligncia Artificial - Universidade Catlica de Pelotas

Referncias Bibliogrficas

PRADO, Oclair. G. Computao Evolutiva Empregada na Reconstruo de rvores Filogenticas. Dissertao apresentada Faculdade de Engenharia Eltrica para obteno do ttulo de Mestre em Engenharia Eltrica. Universidade Estadual de Campinas, Faculdade de Engenharia Eltrica e de Computao, Departamento de Engenharia de Computao e Automao Industrial. CAMPINAS, 2001. POZO, et al. Computao Evolutiva. Relatrio tcnico elaborado pelo Grupo de Pesquisas em Computao Evolutiva da Universidade Federal do Paran. Curitiba, 2009. RIBEIRO, Glaydston Mattos; LORENA, Luiz Antonio Nogueira. Roteamento de Veculos Dinmico Usando Algoritmos Genticos. XIX CONGRESSO DE ENSINO E PESQUISA EM TRANSPORTES, 2005. SANTOS, Joilma Souza. Minerao de Dados Utilizando Algoritmos Genticos. Monografia apresentada ao curso de graduao em Cincia da Computao da Universidade Federal da Bahia, 2008. SILVA, Telles Timteo; BARBOSA, Helio J. C. Inicializao da Populao em Algoritmos Genticos com Codificao Real. V SEMINRIO SOBRE ELEMENTOS FINITOS E MTODOS NUMRICOS EM ENGENHARIA, Universidade Federal de Juiz de Fora, 1998. SIMES, Anabela Borges. Transposio: Estudo de um Novo Operador Gentico Inspirado Biologicamente. Dissertao submetida para satisfao parcial dos requisitos de programa de Mestrado em Engenharia Informtica, Departamento de Engenharia Informtica, Faculdade de Cincias e Tecnologia da Universidade de Coimbra. Coimbra, 1999.

Referncias Bibliogrficas

VILLANUEVA, Juan Moises Mauricio. Otimizao de Alternativas de Desenvolvimento de Campos Petrolferos por Algoritmos Genticos. Revista Inteligncia Computacional Aplicada. PUC-RIO. 2008.

VON ZUBEN, Fernando J. Computao Evolutiva: Uma Abordagem Pragmtica. Manual sobre Computao Evolutiva. Universidade Estadual de Campinas, 2000.

Você também pode gostar