Programação genética - IA

832 views

Published on

O presente trabalho aborda um dos assuntos mais importantes da área de inteligência artificial (IA), que é conhecido como programação genética.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
832
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programação genética - IA

  1. 1. Programação Genética
  2. 2. Programação Genética● Jonh Koza● Início dos anos 90
  3. 3. Programação Genética● Kaza usou programação genética paradesenvolver soluções para problemas naforma de programar em LISP, ou expressõesS (expressões simbólicas).
  4. 4. Programação GenéticaPROGRAMAS EM LISPPROGRAMAÇÃOGENÉTICAPROBLEMAMELHORSOLUÇÃOES ES ES ES ES ESBUSCA
  5. 5. Programação Genética● Expressões S podem ser exibidas na formade árvores, sendo que os nós representamos operadores e valores da expressão.
  6. 6. Dado a expressão: 2X + log YEm LISP: +(*(2X)(log(Y)))+* log2 X Y
  7. 7. Programação GenéticaPara aplicar programação genética,primeiramente deve-se seguir cinco passos:● Selecionar um conjunto de terminais– X, Y● Selecionar um conjunto de funções primitivas– *, +, log
  8. 8. Programação Genética● Selecionar uma função de aptidão:ESUSAR COMOPROGRAMAA UM CONJUNTODE DADOSDE AMOSTRAOBSERVAR QUÃO PERTO DASSOLUÇÕES CORRETAS OSRESULTADOS ESTARÃO
  9. 9. Programação Genética● Selecionar parâmetro para o sistema:– Tamanho da população– Número de gerações● Selecionar um método para determinar oresultado de uma expressão:– Cada execução do sistema produzirá umanova geração– Cruzamento e Mutação são aplicação àgeração presente
  10. 10. Programação Genética● Cruzamento envolve obter duas entidades dapopulação e combinar características decada uma para produzir uma nova prole.● Leve em consideração cromossomos aseguir:110100110001001010101000111101
  11. 11. Programação Genética● Selecionaremos um ponto entre o sexto e osétimo genes para o cruzamento:110100 | 110001001010101 | 000111101● Agora, as partes do cromossomo sãorecombinadas, como se segue:110100000111101010101110001001
  12. 12. Programação Genética● Este processo é baseado no modo como ascadeias de DNA se combinam umas com asoutras na reprodução humana para combinarcaracterísticas de cada pai em um filho.
  13. 13. Programação Genética● Mutação – pequenas alterações a umaexpressão S– + por -– 2 por 2,1● Relembrando o método subida de colina...
  14. 14. Programação Genética● No método subida de colina encontramos oproblema da questão do desempenho.● O operador de mutação foi introduzido parafazer com que os algoritmos genéticosevitem esse problema.
  15. 15. Programação Genética● Mutação é um operador unário – envolvesimplesmente a reversão do valor de um bitem um cromossomo:010101110001001010101110101001
  16. 16. Programação Evolucionária
  17. 17. Programação Evolucionária● Foi inventada porLawrence J. Fogel em 1966● Usada para desenvolver soluções para oproblema de identificar qual será o próximosímbolo em uma sequência fínita desímbolos: a1, a2, a3, a4, a5, …, an.
  18. 18. Programação Evolucionária● O método funciona pela evolução deAutomatos de Estados Finitos (AEFs).● Na 1ª geração, um conjunto de AEFsaleatórios é gerado.● A próxima geração é desenvolvida pelaprodução de uma prole a partir de cada AEFda geração anterior.
  19. 19. Programação Evolucionária● Reprodução envolve a aplicação de uma decinco operadores de mutação:1) Mudar um símbolo de saída2)Mudar uma transição de estado3)Adicionar um estado4)Eliminar um estado5)Mudar o estado inicial
  20. 20. Programação Evolucionária● Assim, se tivessemos a sequência 1, 2, 3, 4,5, 6, 7, 8, 9, o AEF executaria primeiroapenas com o número 1 e sua saída seriacomparada a 2. Depois, executaria com asequência 1, 2 e sua saída seria comparadaa 3. Finalmente, executaria com 1, 2, 3, 4, 5,6, 7, 8 e sua saída seria comparada a 9.
  21. 21. Sistemas L● No final dos anos 1960, um biólogo, AristidLindenmayer, desenvolveu um conjunto deregras para descrever os padrões decrescimento de plantas.
  22. 22. Sistemas L● Suas “plantas” consistiam em células, cadauma das quais poderiam assumir um de doisvalores – a ou b.Regra 1: a → abRegra 2: b → a
  23. 23. Sistemas Laababaabaababaababapadrão de crescimento próximo das plantasque Lindenmayer estava estudando.
  24. 24. Sistemas L● Constatou-se que estes sistemas podiam serusados para produzir imagens de plantasartificiais supreendentemente semelhantesàs reais.● Estas imagens são comumente usadas emjogos de computador e filmes.

×