SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Programação Genética
Programação Genética
● Jonh Koza
● Início dos anos 90
Programação Genética
● Kaza usou programação genética para
desenvolver soluções para problemas na
forma de programar em LISP, ou expressões
S (expressões simbólicas).
Programação Genética
PROGRAMAS EM LISP
PROGRAMAÇÃO
GENÉTICA
PROBLEMA
MELHOR
SOLUÇÃO
ES ES ES ES ES ES
BUSCA
Programação Genética
● Expressões S podem ser exibidas na forma
de árvores, sendo que os nós representam
os operadores e valores da expressão.
Dado a expressão: 2X + log Y
Em LISP: +(*(2X)(log(Y)))
+
* log
2 X Y
Programação Genética
Para 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
Programação Genética
● Selecionar uma função de aptidão:
ES
USAR COMO
PROGRAMA
A UM CONJUNTO
DE DADOS
DE AMOSTRA
OBSERVAR QUÃO PERTO DAS
SOLUÇÕES CORRETAS OS
RESULTADOS ESTARÃO
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 o
resultado de uma expressão:
– Cada execução do sistema produzirá uma
nova geração
– Cruzamento e Mutação são aplicação à
geração presente
Programação Genética
● Cruzamento envolve obter duas entidades da
população e combinar características de
cada uma para produzir uma nova prole.
● Leve em consideração cromossomos a
seguir:
110100110001001
010101000111101
Programação Genética
● Selecionaremos um ponto entre o sexto e o
sétimo genes para o cruzamento:
110100 | 110001001
010101 | 000111101
● Agora, as partes do cromossomo são
recombinadas, como se segue:
110100000111101
010101110001001
Programação Genética
● Este processo é baseado no modo como as
cadeias de DNA se combinam umas com as
outras na reprodução humana para combinar
características de cada pai em um filho.
Programação Genética
● Mutação – pequenas alterações a uma
expressão S
– + por -
– 2 por 2,1
● Relembrando o método subida de colina...
Programação Genética
● No método subida de colina encontramos o
problema da questão do desempenho.
● O operador de mutação foi introduzido para
fazer com que os algoritmos genéticos
evitem esse problema.
Programação Genética
● Mutação é um operador unário – envolve
simplesmente a reversão do valor de um bit
em um cromossomo:
010101110001001
010101110101001
Programação Evolucionária
Programação Evolucionária
● Foi inventada por
Lawrence J. Fogel em 1966
● Usada para desenvolver soluções para o
problema de identificar qual será o próximo
símbolo em uma sequência fínita de
símbolos: a1, a2, a3, a4, a5, …, an.
Programação Evolucionária
● O método funciona pela evolução de
Automatos de Estados Finitos (AEFs).
● Na 1ª geração, um conjunto de AEFs
aleatórios é gerado.
● A próxima geração é desenvolvida pela
produção de uma prole a partir de cada AEF
da geração anterior.
Programação Evolucionária
● Reprodução envolve a aplicação de uma de
cinco operadores de mutação:
1) Mudar um símbolo de saída
2)Mudar uma transição de estado
3)Adicionar um estado
4)Eliminar um estado
5)Mudar o estado inicial
Programação Evolucionária
● Assim, se tivessemos a sequência 1, 2, 3, 4,
5, 6, 7, 8, 9, o AEF executaria primeiro
apenas com o número 1 e sua saída seria
comparada a 2. Depois, executaria com a
sequência 1, 2 e sua saída seria comparada
a 3. Finalmente, executaria com 1, 2, 3, 4, 5,
6, 7, 8 e sua saída seria comparada a 9.
Sistemas L
● No final dos anos 1960, um biólogo, Aristid
Lindenmayer, desenvolveu um conjunto de
regras para descrever os padrões de
crescimento de plantas.
Sistemas L
● Suas “plantas” consistiam em células, cada
uma das quais poderiam assumir um de dois
valores – a ou b.
Regra 1: a → ab
Regra 2: b → a
Sistemas L
a
ab
aba
abaab
abaababa
padrão de crescimento próximo das plantas
que Lindenmayer estava estudando.
Sistemas L
● Constatou-se que estes sistemas podiam ser
usados para produzir imagens de plantas
artificiais supreendentemente semelhantes
às reais.
● Estas imagens são comumente usadas em
jogos de computador e filmes.

Weitere ähnliche Inhalte

Andere mochten auch

Exercícios de genética – sistema abo e 2ª lei de mendel
Exercícios de genética – sistema abo e 2ª lei de mendelExercícios de genética – sistema abo e 2ª lei de mendel
Exercícios de genética – sistema abo e 2ª lei de mendelHindria Guimarães
 
Resolução exercícios genética
Resolução exercícios genéticaResolução exercícios genética
Resolução exercícios genéticaProfessora Raquel
 
GenéTica (ExercíCios)
GenéTica (ExercíCios)GenéTica (ExercíCios)
GenéTica (ExercíCios)Nuno Correia
 
Bio 12 genética - exercícios
Bio 12   genética - exercíciosBio 12   genética - exercícios
Bio 12 genética - exercíciosNuno Correia
 
3S_ exercicios genetica com resposta
3S_ exercicios genetica  com resposta3S_ exercicios genetica  com resposta
3S_ exercicios genetica com respostaIonara Urrutia Moura
 
15 problemas genética resueltos y explicados
15 problemas genética resueltos y explicados15 problemas genética resueltos y explicados
15 problemas genética resueltos y explicadosmperille
 
The State of Sales & Marketing at the 50 Fastest-Growing B2B Companies
The State of Sales & Marketing at the 50 Fastest-Growing B2B CompaniesThe State of Sales & Marketing at the 50 Fastest-Growing B2B Companies
The State of Sales & Marketing at the 50 Fastest-Growing B2B CompaniesMattermark
 

Andere mochten auch (9)

Exercícios de genética – sistema abo e 2ª lei de mendel
Exercícios de genética – sistema abo e 2ª lei de mendelExercícios de genética – sistema abo e 2ª lei de mendel
Exercícios de genética – sistema abo e 2ª lei de mendel
 
Exercicios resolvidos genetica_mendeliana_albinismo
Exercicios resolvidos genetica_mendeliana_albinismoExercicios resolvidos genetica_mendeliana_albinismo
Exercicios resolvidos genetica_mendeliana_albinismo
 
Resolução exercícios genética
Resolução exercícios genéticaResolução exercícios genética
Resolução exercícios genética
 
GenéTica (ExercíCios)
GenéTica (ExercíCios)GenéTica (ExercíCios)
GenéTica (ExercíCios)
 
Engenharia genética
Engenharia genéticaEngenharia genética
Engenharia genética
 
Bio 12 genética - exercícios
Bio 12   genética - exercíciosBio 12   genética - exercícios
Bio 12 genética - exercícios
 
3S_ exercicios genetica com resposta
3S_ exercicios genetica  com resposta3S_ exercicios genetica  com resposta
3S_ exercicios genetica com resposta
 
15 problemas genética resueltos y explicados
15 problemas genética resueltos y explicados15 problemas genética resueltos y explicados
15 problemas genética resueltos y explicados
 
The State of Sales & Marketing at the 50 Fastest-Growing B2B Companies
The State of Sales & Marketing at the 50 Fastest-Growing B2B CompaniesThe State of Sales & Marketing at the 50 Fastest-Growing B2B Companies
The State of Sales & Marketing at the 50 Fastest-Growing B2B Companies
 

Mehr von Benedilosn

Gerenciamento de Redes de Computadores
Gerenciamento de Redes de ComputadoresGerenciamento de Redes de Computadores
Gerenciamento de Redes de ComputadoresBenedilosn
 
Slide para seleção de professor de informática
Slide para seleção de professor de informáticaSlide para seleção de professor de informática
Slide para seleção de professor de informáticaBenedilosn
 
Vocação chamado e segmento a jesus cristo
Vocação chamado e segmento a jesus cristoVocação chamado e segmento a jesus cristo
Vocação chamado e segmento a jesus cristoBenedilosn
 
O criador o céu e a terra o homem a queda
O criador o céu e a terra o homem a quedaO criador o céu e a terra o homem a queda
O criador o céu e a terra o homem a quedaBenedilosn
 
Creio em deus pai todo poderoso, criador do céu e da terra
Creio em deus pai todo poderoso, criador do céu e da terraCreio em deus pai todo poderoso, criador do céu e da terra
Creio em deus pai todo poderoso, criador do céu e da terraBenedilosn
 
Meu relacionamento em família
Meu relacionamento em famíliaMeu relacionamento em família
Meu relacionamento em famíliaBenedilosn
 
Programas de educação ambiental no ensino infantil pedagogia
Programas de educação ambiental no ensino infantil   pedagogiaProgramas de educação ambiental no ensino infantil   pedagogia
Programas de educação ambiental no ensino infantil pedagogiaBenedilosn
 
Inovações tecnológicas e educação
Inovações tecnológicas e educaçãoInovações tecnológicas e educação
Inovações tecnológicas e educaçãoBenedilosn
 
A importância do ambiente alfabetizador
A importância do ambiente alfabetizadorA importância do ambiente alfabetizador
A importância do ambiente alfabetizadorBenedilosn
 
Redes de computadores - wifi
Redes de computadores - wifiRedes de computadores - wifi
Redes de computadores - wifiBenedilosn
 
Interface de linha de comando - CLI
Interface de linha de comando - CLIInterface de linha de comando - CLI
Interface de linha de comando - CLIBenedilosn
 
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...Benedilosn
 
Criancas e jovens na internet
Criancas e jovens na internetCriancas e jovens na internet
Criancas e jovens na internetBenedilosn
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados webBenedilosn
 
Engenharia web seminário
Engenharia web   seminárioEngenharia web   seminário
Engenharia web seminárioBenedilosn
 

Mehr von Benedilosn (15)

Gerenciamento de Redes de Computadores
Gerenciamento de Redes de ComputadoresGerenciamento de Redes de Computadores
Gerenciamento de Redes de Computadores
 
Slide para seleção de professor de informática
Slide para seleção de professor de informáticaSlide para seleção de professor de informática
Slide para seleção de professor de informática
 
Vocação chamado e segmento a jesus cristo
Vocação chamado e segmento a jesus cristoVocação chamado e segmento a jesus cristo
Vocação chamado e segmento a jesus cristo
 
O criador o céu e a terra o homem a queda
O criador o céu e a terra o homem a quedaO criador o céu e a terra o homem a queda
O criador o céu e a terra o homem a queda
 
Creio em deus pai todo poderoso, criador do céu e da terra
Creio em deus pai todo poderoso, criador do céu e da terraCreio em deus pai todo poderoso, criador do céu e da terra
Creio em deus pai todo poderoso, criador do céu e da terra
 
Meu relacionamento em família
Meu relacionamento em famíliaMeu relacionamento em família
Meu relacionamento em família
 
Programas de educação ambiental no ensino infantil pedagogia
Programas de educação ambiental no ensino infantil   pedagogiaProgramas de educação ambiental no ensino infantil   pedagogia
Programas de educação ambiental no ensino infantil pedagogia
 
Inovações tecnológicas e educação
Inovações tecnológicas e educaçãoInovações tecnológicas e educação
Inovações tecnológicas e educação
 
A importância do ambiente alfabetizador
A importância do ambiente alfabetizadorA importância do ambiente alfabetizador
A importância do ambiente alfabetizador
 
Redes de computadores - wifi
Redes de computadores - wifiRedes de computadores - wifi
Redes de computadores - wifi
 
Interface de linha de comando - CLI
Interface de linha de comando - CLIInterface de linha de comando - CLI
Interface de linha de comando - CLI
 
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...
Implementações de suporte a curvas no html5 e aplicações de curvas em Computa...
 
Criancas e jovens na internet
Criancas e jovens na internetCriancas e jovens na internet
Criancas e jovens na internet
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados web
 
Engenharia web seminário
Engenharia web   seminárioEngenharia web   seminário
Engenharia web seminário
 

Programação genética - IA

  • 2. Programação Genética ● Jonh Koza ● Início dos anos 90
  • 3. Programação Genética ● Kaza usou programação genética para desenvolver soluções para problemas na forma de programar em LISP, ou expressões S (expressões simbólicas).
  • 4. Programação Genética PROGRAMAS EM LISP PROGRAMAÇÃO GENÉTICA PROBLEMA MELHOR SOLUÇÃO ES ES ES ES ES ES BUSCA
  • 5. Programação Genética ● Expressões S podem ser exibidas na forma de árvores, sendo que os nós representam os operadores e valores da expressão.
  • 6. Dado a expressão: 2X + log Y Em LISP: +(*(2X)(log(Y))) + * log 2 X Y
  • 7. Programação Genética Para 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. Programação Genética ● Selecionar uma função de aptidão: ES USAR COMO PROGRAMA A UM CONJUNTO DE DADOS DE AMOSTRA OBSERVAR QUÃO PERTO DAS SOLUÇÕES CORRETAS OS RESULTADOS ESTARÃO
  • 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 o resultado de uma expressão: – Cada execução do sistema produzirá uma nova geração – Cruzamento e Mutação são aplicação à geração presente
  • 10. Programação Genética ● Cruzamento envolve obter duas entidades da população e combinar características de cada uma para produzir uma nova prole. ● Leve em consideração cromossomos a seguir: 110100110001001 010101000111101
  • 11. Programação Genética ● Selecionaremos um ponto entre o sexto e o sétimo genes para o cruzamento: 110100 | 110001001 010101 | 000111101 ● Agora, as partes do cromossomo são recombinadas, como se segue: 110100000111101 010101110001001
  • 12. Programação Genética ● Este processo é baseado no modo como as cadeias de DNA se combinam umas com as outras na reprodução humana para combinar características de cada pai em um filho.
  • 13. Programação Genética ● Mutação – pequenas alterações a uma expressão S – + por - – 2 por 2,1 ● Relembrando o método subida de colina...
  • 14. Programação Genética ● No método subida de colina encontramos o problema da questão do desempenho. ● O operador de mutação foi introduzido para fazer com que os algoritmos genéticos evitem esse problema.
  • 15. Programação Genética ● Mutação é um operador unário – envolve simplesmente a reversão do valor de um bit em um cromossomo: 010101110001001 010101110101001
  • 17. Programação Evolucionária ● Foi inventada por Lawrence J. Fogel em 1966 ● Usada para desenvolver soluções para o problema de identificar qual será o próximo símbolo em uma sequência fínita de símbolos: a1, a2, a3, a4, a5, …, an.
  • 18. Programação Evolucionária ● O método funciona pela evolução de Automatos de Estados Finitos (AEFs). ● Na 1ª geração, um conjunto de AEFs aleatórios é gerado. ● A próxima geração é desenvolvida pela produção de uma prole a partir de cada AEF da geração anterior.
  • 19. Programação Evolucionária ● Reprodução envolve a aplicação de uma de cinco operadores de mutação: 1) Mudar um símbolo de saída 2)Mudar uma transição de estado 3)Adicionar um estado 4)Eliminar um estado 5)Mudar o estado inicial
  • 20. Programação Evolucionária ● Assim, se tivessemos a sequência 1, 2, 3, 4, 5, 6, 7, 8, 9, o AEF executaria primeiro apenas com o número 1 e sua saída seria comparada a 2. Depois, executaria com a sequência 1, 2 e sua saída seria comparada a 3. Finalmente, executaria com 1, 2, 3, 4, 5, 6, 7, 8 e sua saída seria comparada a 9.
  • 21. Sistemas L ● No final dos anos 1960, um biólogo, Aristid Lindenmayer, desenvolveu um conjunto de regras para descrever os padrões de crescimento de plantas.
  • 22. Sistemas L ● Suas “plantas” consistiam em células, cada uma das quais poderiam assumir um de dois valores – a ou b. Regra 1: a → ab Regra 2: b → a
  • 23. Sistemas L a ab aba abaab abaababa padrão de crescimento próximo das plantas que Lindenmayer estava estudando.
  • 24. Sistemas L ● Constatou-se que estes sistemas podiam ser usados para produzir imagens de plantas artificiais supreendentemente semelhantes às reais. ● Estas imagens são comumente usadas em jogos de computador e filmes.