SlideShare uma empresa Scribd logo
1 de 26
Algoritmos GenéticosUma abordagem didática Marcelo Goulart SouzaInteligência Artificial - IA
Objetivos Introduzir o conteúdo de algoritmos genéticos, relacionando a computação com a biologia.
Justificativa Dar uma visão geral sobre algoritmos genéticos, através de definições conceituais, histórico e um exemplo implementado
Introdução Histórico: Algoritmos genéticos (AG) foram inventados por John Holland e desenvolvidos por ele, seus alunos e colegas. Isso resultou no livro de Holland "Adaption in Natural and Artificial Systems" publicado em 1975. Em 1992 John Koza usou algoritmos genéticos para desenvolver programas para realizar certas tarefas. Ele chamou seu método de "programação genética" (PG). Foram usados programas em LISP porque programas nessa linguagem podem ser expressos na forma de árvores, que são objetos utilizados pelos algoritmos genéticos.
Introdução O que é Genética? parte da biologia que estuda a passagem das características biológicas e físicas de geração para geração.
Principais Conceitos Cromossoma: Cadeias de DNA compostas por genes que codificam determinadas proteínas, sendo que cada um tem sua posição. Reprodução: a nível genético, é a recombinação entre cromossomas dos pais, sendo que podem ser suscetíveis a erros (Mutação) Adaptação: sucesso na sobrevivência
Principais Conceitos cromossomo (genótipo) - cadeia de bits que representa uma solução possível para o problema.  gene - representação de cada parâmetro de acordo com o alfabeto utilizado (binário, inteiro ou real).  população - conjunto de pontos (indivíduos) no Espaço de Busca  geração - iteração completa do AG que gera uma nova população  genótipo x fenótipo mitose x meiose
Aplicações Síntese de circuitos analógicos Programação Genética Gerenciamento de redes Ciências biológicas Problemas de otimização complexos
Parâmetros Genéticos Tamanho da População Taxa de Cruzamento Taxa de Mutação Intervalo de Geração
Descrição de um Problema de AG Inspirados na teoria da evolução de Darwin Inicialização: Uma população de N indivíduos, sendo que cada um pode representar a solução. Calculo de Aptidão: determinada por uma função objetivo que depende da especificação do projeto.
Descrição de um Problema de AG Seleção: indivíduos mais aptos da geração atual são selecionados e utilizadas para gerar uma nova população por cruzamento. Cada indivíduo possui uma frequência alélica, ou seja, quando maior a FA, maior a chance do indivíduo ser selecionado Método de seleção é chamado de mostragem universal estocástica.
Descrição de um Problema de AG - Indivíduos de regiões de maior probabilidade terão Mais chances de serem escolhidos - Como consequência seleção de indivíduos  pode conter várias cópias Figura 2: Roleta de Probabilidades
Descrição de um Problema de AG Cruzamento (cross-over): indivíduos selecionados na etapa anterior são cruzados da seguinte forma: a lista de indivíduos selecionados é embaralhada aleatoriamente criando-se, desta forma, uma segunda lista. A permutação é feita com a parte inicial de L1 com a parte final de L2, as partes são divididas ao acaso.
Descrição de um Problema de AG Figura 3: Cross-Over
Descrição de um Problema de AG Mutação: A operação de mutação é utilizada para garantir uma maior varredura do espaço de estados e evitar que o algoritmo genético convirja muito cedo. A mutação é efetuada alterando-se o valor de um gene de um indivíduo sorteado aleatoriamente com uma determinada probabilidade, vários indivíduos da nova população podem ter um de seus genes alterado aleatoriamente.
Operações Básicas Figura 4. Fluxograma de um AG
Esboço Básico do Algoritmo Genético Procedimento AG {  t = 0; inicia_população (P, t) avaliação (P, t); repita até (t = d) {  t = t +1; seleção_dos_pais (P,t); recombinação (P, t); mutação (P, t); avaliação (P, t); sobrevivem (P, t) } } onde: t - tempo atual; d - tempo determinado para finalizar o algoritmo; P - população
Implementação Arquivo ag.c Busca para encontrar o valor máximo da função f(x) = x^2 + 5. Pop Total = 4 Cromossomos Cada linha é um cromossomo Cada cromossomo é composto por 6 genes (col), sendo um desses bits, é a aptidão (fitness) que representa o valor da função y.
Implementação Figura 5: Tabela de Cromossomos
Implementação Seleção: Escolher os dois melhores cromossomos seguindo o princípio da “sobrevivência é para os mais fortes” que é avaliada pela maior aptidão. Figura 6 : Genes escolhidos de maior aptidão
Implementação Reprodução: agora no novo conjunto, temos os dois cromos colhidos a partir do antigo conjunto, eles são pais de dois outros cromos no conjunto que será gerada pela passagem ao longo dos dois cromos em um determinado ponto e trocar as duas partes como segue: Atravesse ocorreu após o bit 3 (note o negrito e itálico os dígitos barrado nas crianças dos pais)
Implementação Figura 7: Crossover
Implementação A mutação ocorre com uma baixa probabilidade de um cromossomo no conjunto, invertendo um dos bits para terminar o ciclo. agora temos um novo conjunto, então fazemos o antigo conjunto igual para o novo ... e fazer a 1,2, e 3 novamente, dependendo do n º. de iterações. =)
Conclusão Os AG's são apropriados para problemas de otimização complexos, que envolvem muitas variáveis e um espaço de soluções de dimensão elevada.  Abrangem um grande número de aplicações.  O controle sobre os parâmetros do algoritmo é de fundamental importância para uma convergência rápida.  Para problemas específicos é aconselhável a utilização de algoritmos híbridos, que misturam as técnicas dos AG's com os métodos de otimização tradicionais.  Devido ao grande número de variáveis que um AG trata e às populações elevadas e alto número de gerações para a cobertura do espaço de soluções, os AG's possuem um custo computacional elevado.
Questões 1 – Quais os principais tópicos de AG? Dê um pseudo-código de cada um usando 2 cromossomas: C1 = 010 111 e C2 = 111 001. 3 – O deve se concluir de um AG com taxa de mutação de 10% e crossover de 80% 4 – Quais os parâmetros analisados em AG?
Referencias M. Mitchell, An Introduction to Genetic Algorithms. MIT Press, 1996. Lacerda, E.G.M, Carvalho, A.C.P.L. Introdução aos algoritmos genéticos. In: Galvão, C.O., Valença, M.J.S. (orgs.) Sistemas inteligentes: aplicações a recursos hídricos e ciências ambientais. Porto Alegre: Ed. Universidade/UFRGS : Associação Brasileira de Recursos Hídricos. p. 99-150. 1999. (Coleção ABRH de Recursos Hídricos; 7.). http://www.obitko.com/tutorials/genetic-algorithms/portuguese/ga-basic-description.php http://www.icmc.usp.br/~andre/research/genetic/index.htm

Mais conteúdo relacionado

Destaque

Pró-Reitoria de Pesquisa e Pós-Graduação UFV
Pró-Reitoria de Pesquisa e Pós-Graduação UFVPró-Reitoria de Pesquisa e Pós-Graduação UFV
Pró-Reitoria de Pesquisa e Pós-Graduação UFVFórum Pesquisa CCH
 
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...Ivaristo Americo
 
Fiscalização em campo de produção de sementes
Fiscalização em campo de produção de sementesFiscalização em campo de produção de sementes
Fiscalização em campo de produção de sementesGeraldo Henrique
 
Bancos de germoplasma
Bancos de germoplasma Bancos de germoplasma
Bancos de germoplasma Diogo Provete
 
Aula melhoramento (2)
Aula melhoramento (2)Aula melhoramento (2)
Aula melhoramento (2)Taís Leandro
 
Melhoramento Genético
Melhoramento GenéticoMelhoramento Genético
Melhoramento GenéticoThiago Moura
 
Melhoramento Genético e Transgênicos
Melhoramento Genético e TransgênicosMelhoramento Genético e Transgênicos
Melhoramento Genético e TransgênicosJaqueline Soares
 
Melhoramento genético
Melhoramento  genéticoMelhoramento  genético
Melhoramento genéticoDara Souza
 
Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradorobsonf
 
Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Susana Lemos
 
Origem, evolução e domesticação das plantas
Origem, evolução e domesticação das plantasOrigem, evolução e domesticação das plantas
Origem, evolução e domesticação das plantasUERGS
 
Manual de inspeção de sementes
Manual de inspeção de sementesManual de inspeção de sementes
Manual de inspeção de sementesPortal Canal Rural
 
Caracteres qualitativos e quantitativos
Caracteres qualitativos e quantitativosCaracteres qualitativos e quantitativos
Caracteres qualitativos e quantitativosVanessa Holanda
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertaçãoLuciana Viter
 

Destaque (20)

Pró-Reitoria de Pesquisa e Pós-Graduação UFV
Pró-Reitoria de Pesquisa e Pós-Graduação UFVPró-Reitoria de Pesquisa e Pós-Graduação UFV
Pró-Reitoria de Pesquisa e Pós-Graduação UFV
 
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...
Correlação entre caracteres genotipicas, fenotipicas e ambiente segundo dr Iv...
 
Defesa da Dissertação
Defesa da DissertaçãoDefesa da Dissertação
Defesa da Dissertação
 
Fiscalização em campo de produção de sementes
Fiscalização em campo de produção de sementesFiscalização em campo de produção de sementes
Fiscalização em campo de produção de sementes
 
Pereira brito
Pereira britoPereira brito
Pereira brito
 
Cultura de Tecidos
Cultura de Tecidos Cultura de Tecidos
Cultura de Tecidos
 
Variabilidade
VariabilidadeVariabilidade
Variabilidade
 
Bancos de germoplasma
Bancos de germoplasma Bancos de germoplasma
Bancos de germoplasma
 
Aula melhoramento (2)
Aula melhoramento (2)Aula melhoramento (2)
Aula melhoramento (2)
 
Melhoramento Genético
Melhoramento GenéticoMelhoramento Genético
Melhoramento Genético
 
Melhoramento Genético e Transgênicos
Melhoramento Genético e TransgênicosMelhoramento Genético e Transgênicos
Melhoramento Genético e Transgênicos
 
Melhoramento genético
Melhoramento  genéticoMelhoramento  genético
Melhoramento genético
 
Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestrado
 
Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)
 
Origem, evolução e domesticação das plantas
Origem, evolução e domesticação das plantasOrigem, evolução e domesticação das plantas
Origem, evolução e domesticação das plantas
 
Dissertação do Mestrado
Dissertação do MestradoDissertação do Mestrado
Dissertação do Mestrado
 
1001 Biotecnologia
1001 Biotecnologia 1001 Biotecnologia
1001 Biotecnologia
 
Manual de inspeção de sementes
Manual de inspeção de sementesManual de inspeção de sementes
Manual de inspeção de sementes
 
Caracteres qualitativos e quantitativos
Caracteres qualitativos e quantitativosCaracteres qualitativos e quantitativos
Caracteres qualitativos e quantitativos
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertação
 

Semelhante a Algoritmos Genéticos: Uma abordagem didática de IA

TCC - BCC 2000 (Rubens Altimari)
TCC - BCC 2000 (Rubens Altimari)TCC - BCC 2000 (Rubens Altimari)
TCC - BCC 2000 (Rubens Altimari)Rubens Altimari
 
Algoritmo Genético para busca de máximo de função
Algoritmo Genético para busca de máximo de funçãoAlgoritmo Genético para busca de máximo de função
Algoritmo Genético para busca de máximo de funçãoDiego Souza Silva
 
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman ProblemGenetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problemmarcelobeckmann
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoAdilmar Dantas
 
Clusterizacao de Dados Usando Algoritmos Imunoinspirados
Clusterizacao de Dados Usando Algoritmos ImunoinspiradosClusterizacao de Dados Usando Algoritmos Imunoinspirados
Clusterizacao de Dados Usando Algoritmos ImunoinspiradosAntonio Conti
 
Algoritmos Evolucionários: Estudo comparativo AG e ED
Algoritmos Evolucionários: Estudo comparativo AG e EDAlgoritmos Evolucionários: Estudo comparativo AG e ED
Algoritmos Evolucionários: Estudo comparativo AG e EDLuiz Eduardo de Oliveira
 
Aplicação Algorítimo Genético
Aplicação Algorítimo GenéticoAplicação Algorítimo Genético
Aplicação Algorítimo GenéticoRodrigo Romais
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalBianca Dantas
 
Redes Neurais Aplicacoes
Redes Neurais AplicacoesRedes Neurais Aplicacoes
Redes Neurais Aplicacoessemanact2007
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo GenéticoAllan Denis
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
Uma abordagem computacional para a determinação de polimorfismos de base única
Uma abordagem computacional para a determinação de polimorfismos de base únicaUma abordagem computacional para a determinação de polimorfismos de base única
Uma abordagem computacional para a determinação de polimorfismos de base únicaMiguel Galves
 

Semelhante a Algoritmos Genéticos: Uma abordagem didática de IA (20)

Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
TCC - BCC 2000 (Rubens Altimari)
TCC - BCC 2000 (Rubens Altimari)TCC - BCC 2000 (Rubens Altimari)
TCC - BCC 2000 (Rubens Altimari)
 
Algoritmo genético
Algoritmo genéticoAlgoritmo genético
Algoritmo genético
 
Algoritmo Genético para busca de máximo de função
Algoritmo Genético para busca de máximo de funçãoAlgoritmo Genético para busca de máximo de função
Algoritmo Genético para busca de máximo de função
 
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman ProblemGenetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
Clusterizacao de Dados Usando Algoritmos Imunoinspirados
Clusterizacao de Dados Usando Algoritmos ImunoinspiradosClusterizacao de Dados Usando Algoritmos Imunoinspirados
Clusterizacao de Dados Usando Algoritmos Imunoinspirados
 
Algoritmos Evolucionários: Estudo comparativo AG e ED
Algoritmos Evolucionários: Estudo comparativo AG e EDAlgoritmos Evolucionários: Estudo comparativo AG e ED
Algoritmos Evolucionários: Estudo comparativo AG e ED
 
Aplicação Algorítimo Genético
Aplicação Algorítimo GenéticoAplicação Algorítimo Genético
Aplicação Algorítimo Genético
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
 
Redes Neurais Aplicacoes
Redes Neurais AplicacoesRedes Neurais Aplicacoes
Redes Neurais Aplicacoes
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Estrategia evolutiva
Estrategia evolutivaEstrategia evolutiva
Estrategia evolutiva
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Big data
Big dataBig data
Big data
 
Uma abordagem computacional para a determinação de polimorfismos de base única
Uma abordagem computacional para a determinação de polimorfismos de base únicaUma abordagem computacional para a determinação de polimorfismos de base única
Uma abordagem computacional para a determinação de polimorfismos de base única
 

Mais de iaudesc

Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimariaudesc
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzyiaudesc
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celularesiaudesc
 
Vida artificial
Vida artificialVida artificial
Vida artificialiaudesc
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiaisiaudesc
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)iaudesc
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogosiaudesc
 
Busca tabu
Busca tabuBusca tabu
Busca tabuiaudesc
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianasiaudesc
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CPiaudesc
 

Mais de iaudesc (11)

Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimar
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzy
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celulares
 
Vida artificial
Vida artificialVida artificial
Vida artificial
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiais
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogos
 
Busca tabu
Busca tabuBusca tabu
Busca tabu
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianas
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CP
 

Algoritmos Genéticos: Uma abordagem didática de IA

  • 1. Algoritmos GenéticosUma abordagem didática Marcelo Goulart SouzaInteligência Artificial - IA
  • 2. Objetivos Introduzir o conteúdo de algoritmos genéticos, relacionando a computação com a biologia.
  • 3. Justificativa Dar uma visão geral sobre algoritmos genéticos, através de definições conceituais, histórico e um exemplo implementado
  • 4. Introdução Histórico: Algoritmos genéticos (AG) foram inventados por John Holland e desenvolvidos por ele, seus alunos e colegas. Isso resultou no livro de Holland "Adaption in Natural and Artificial Systems" publicado em 1975. Em 1992 John Koza usou algoritmos genéticos para desenvolver programas para realizar certas tarefas. Ele chamou seu método de "programação genética" (PG). Foram usados programas em LISP porque programas nessa linguagem podem ser expressos na forma de árvores, que são objetos utilizados pelos algoritmos genéticos.
  • 5. Introdução O que é Genética? parte da biologia que estuda a passagem das características biológicas e físicas de geração para geração.
  • 6. Principais Conceitos Cromossoma: Cadeias de DNA compostas por genes que codificam determinadas proteínas, sendo que cada um tem sua posição. Reprodução: a nível genético, é a recombinação entre cromossomas dos pais, sendo que podem ser suscetíveis a erros (Mutação) Adaptação: sucesso na sobrevivência
  • 7. Principais Conceitos cromossomo (genótipo) - cadeia de bits que representa uma solução possível para o problema. gene - representação de cada parâmetro de acordo com o alfabeto utilizado (binário, inteiro ou real). população - conjunto de pontos (indivíduos) no Espaço de Busca geração - iteração completa do AG que gera uma nova população genótipo x fenótipo mitose x meiose
  • 8. Aplicações Síntese de circuitos analógicos Programação Genética Gerenciamento de redes Ciências biológicas Problemas de otimização complexos
  • 9. Parâmetros Genéticos Tamanho da População Taxa de Cruzamento Taxa de Mutação Intervalo de Geração
  • 10. Descrição de um Problema de AG Inspirados na teoria da evolução de Darwin Inicialização: Uma população de N indivíduos, sendo que cada um pode representar a solução. Calculo de Aptidão: determinada por uma função objetivo que depende da especificação do projeto.
  • 11. Descrição de um Problema de AG Seleção: indivíduos mais aptos da geração atual são selecionados e utilizadas para gerar uma nova população por cruzamento. Cada indivíduo possui uma frequência alélica, ou seja, quando maior a FA, maior a chance do indivíduo ser selecionado Método de seleção é chamado de mostragem universal estocástica.
  • 12. Descrição de um Problema de AG - Indivíduos de regiões de maior probabilidade terão Mais chances de serem escolhidos - Como consequência seleção de indivíduos pode conter várias cópias Figura 2: Roleta de Probabilidades
  • 13. Descrição de um Problema de AG Cruzamento (cross-over): indivíduos selecionados na etapa anterior são cruzados da seguinte forma: a lista de indivíduos selecionados é embaralhada aleatoriamente criando-se, desta forma, uma segunda lista. A permutação é feita com a parte inicial de L1 com a parte final de L2, as partes são divididas ao acaso.
  • 14. Descrição de um Problema de AG Figura 3: Cross-Over
  • 15. Descrição de um Problema de AG Mutação: A operação de mutação é utilizada para garantir uma maior varredura do espaço de estados e evitar que o algoritmo genético convirja muito cedo. A mutação é efetuada alterando-se o valor de um gene de um indivíduo sorteado aleatoriamente com uma determinada probabilidade, vários indivíduos da nova população podem ter um de seus genes alterado aleatoriamente.
  • 16. Operações Básicas Figura 4. Fluxograma de um AG
  • 17. Esboço Básico do Algoritmo Genético Procedimento AG { t = 0; inicia_população (P, t) avaliação (P, t); repita até (t = d) { t = t +1; seleção_dos_pais (P,t); recombinação (P, t); mutação (P, t); avaliação (P, t); sobrevivem (P, t) } } onde: t - tempo atual; d - tempo determinado para finalizar o algoritmo; P - população
  • 18. Implementação Arquivo ag.c Busca para encontrar o valor máximo da função f(x) = x^2 + 5. Pop Total = 4 Cromossomos Cada linha é um cromossomo Cada cromossomo é composto por 6 genes (col), sendo um desses bits, é a aptidão (fitness) que representa o valor da função y.
  • 19. Implementação Figura 5: Tabela de Cromossomos
  • 20. Implementação Seleção: Escolher os dois melhores cromossomos seguindo o princípio da “sobrevivência é para os mais fortes” que é avaliada pela maior aptidão. Figura 6 : Genes escolhidos de maior aptidão
  • 21. Implementação Reprodução: agora no novo conjunto, temos os dois cromos colhidos a partir do antigo conjunto, eles são pais de dois outros cromos no conjunto que será gerada pela passagem ao longo dos dois cromos em um determinado ponto e trocar as duas partes como segue: Atravesse ocorreu após o bit 3 (note o negrito e itálico os dígitos barrado nas crianças dos pais)
  • 23. Implementação A mutação ocorre com uma baixa probabilidade de um cromossomo no conjunto, invertendo um dos bits para terminar o ciclo. agora temos um novo conjunto, então fazemos o antigo conjunto igual para o novo ... e fazer a 1,2, e 3 novamente, dependendo do n º. de iterações. =)
  • 24. Conclusão Os AG's são apropriados para problemas de otimização complexos, que envolvem muitas variáveis e um espaço de soluções de dimensão elevada. Abrangem um grande número de aplicações. O controle sobre os parâmetros do algoritmo é de fundamental importância para uma convergência rápida. Para problemas específicos é aconselhável a utilização de algoritmos híbridos, que misturam as técnicas dos AG's com os métodos de otimização tradicionais. Devido ao grande número de variáveis que um AG trata e às populações elevadas e alto número de gerações para a cobertura do espaço de soluções, os AG's possuem um custo computacional elevado.
  • 25. Questões 1 – Quais os principais tópicos de AG? Dê um pseudo-código de cada um usando 2 cromossomas: C1 = 010 111 e C2 = 111 001. 3 – O deve se concluir de um AG com taxa de mutação de 10% e crossover de 80% 4 – Quais os parâmetros analisados em AG?
  • 26. Referencias M. Mitchell, An Introduction to Genetic Algorithms. MIT Press, 1996. Lacerda, E.G.M, Carvalho, A.C.P.L. Introdução aos algoritmos genéticos. In: Galvão, C.O., Valença, M.J.S. (orgs.) Sistemas inteligentes: aplicações a recursos hídricos e ciências ambientais. Porto Alegre: Ed. Universidade/UFRGS : Associação Brasileira de Recursos Hídricos. p. 99-150. 1999. (Coleção ABRH de Recursos Hídricos; 7.). http://www.obitko.com/tutorials/genetic-algorithms/portuguese/ga-basic-description.php http://www.icmc.usp.br/~andre/research/genetic/index.htm