SlideShare une entreprise Scribd logo
1  sur  15
Introdução a Computação Natural: Algoritmo Genético
aplicado a maximização de funções
Por Diego de Souza Silva
RA 090911
Introdução
Os algoritmos genéticos, assim como outros bioinspirados, são
heurísticas utilizadas na busca de resolução em problemas
complexos que ou não tem solução exata ou demanda mais tempo
do que se é desejável para ser descoberta.
Este trabalho consiste em utilizar um algoritmo genético
clássico na maximização de uma função e analisar a
qualidade das soluções encontradas por meio de gráficos
gerados.
Roteiro
● Referencial Teórico,
● Materiais e Métodos,
● Resultados e Discussão,
● Bibliografia.
Referenciais Teóricos: Computação natural
Consiste em uma abordagem relativamente nova na resolução
de problemas computacionais caracterizada por se basear em
eventos da natureza.
Podemos definir a computação natural como uma linha
de pesquisa que permite o desenvolvimento de novas
ferramentas de computação na resolução de problemas
e se baseia em mecenismos naturais para o
desenvolvimento de novos algoritmos.
Algoritmo Genético
Algoritmos genéticos é uma classe dentre os algoritmos evolutivos
(beseados na evolução biológica) que usam técnicas inspiradas pelos
conceitos da teoria Darwinista da evolução como hereditariedade,
mutação, seleção natural e recombinação (ou crossing over).
São implementados como uma simulação de computador em que uma
geração de indivíduos que representam soluções são escolhidos os mais
aptos a se gerarem descendentes-soluções.
A evolução geralmente se inicia a partir de um conjunto de soluções
criado aleatoriamente e é realizada por meio de gerações. A cada nova
geração, a adaptação de cada solução na população é avaliada, alguns
indivíduos são selecionados para a próxima geração, e recombinados ou
mutados para formar uma nova população. A população gerada então é
utilizada como entrada para a próxima iteração do algoritmo.
O experimento
O experimento proposto neste trabalho
consiste em desenvolver um algoritmo
genético clássico, utilizá-lo na maximização
da função f1:
f1 = x * sin(4*pi*x) – y*sin(4*pi*y+pi)+1
com parâmetros diversos e gerando para
cada versão dos parâmetros um gráfico com
o fitness médio e melhor de cada geração.
Configuração dos experimentos
Experime
nto
Indivíduos
por
população
Probabilid
ade de
Crossover
Probabilid
ade de
Mutação
Gerações
1 20 90% 20% 100
2 5 90% 20% 100
3 50 90% 20% 100
4 20 90% 0% 100
5 20 90% 100% 100
6 20 90% 20% 5
7 20 90% 20% 500
Experimento 1
0 20 40 60 80 100 120
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 2
0 20 40 60 80 100 120
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 3
0 20 40 60 80 100 120
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 4
0 20 40 60 80 100 120
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 5
0 20 40 60 80 100 120
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 6
0 1 2 3 4 5 6
0
0.5
1
1.5
2
2.5
3
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Experimento 7
0 100 200 300 400 500 600
0.0000
0.5000
1.0000
1.5000
2.0000
2.5000
3.0000
Fitness Por Geração
Fitness Médio e Melhor Fitness para cada Geração
Fitness Médio
Melhor Fitness
Geração
Fitness
Conclusão
Embora possa ignorar a melhor solução, o
algoritmo oferece boas respostas para o
problema de maximização desde que se use
populações suficientemente numerosas e se
equilibre a probabilidade de reprodução por
crossover e por mutação.

Contenu connexe

Tendances

Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosRafael Pinto
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...UFPA
 
Análise de sinais e sistemas
Análise de sinais e sistemasAnálise de sinais e sistemas
Análise de sinais e sistemasReggae Strong
 
Curso eletricista residêncial.pdf
Curso eletricista residêncial.pdfCurso eletricista residêncial.pdf
Curso eletricista residêncial.pdfAllanCarlos32
 
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANNCAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANNRegis Andrade
 
Estatística aplicada
Estatística aplicadaEstatística aplicada
Estatística aplicadaTiago Tomas
 
Aula sobre Espaço de Estados
Aula sobre Espaço de EstadosAula sobre Espaço de Estados
Aula sobre Espaço de EstadosJoão Fontes
 
Timers and Interrupts no FreeRTOS
Timers and Interrupts no FreeRTOSTimers and Interrupts no FreeRTOS
Timers and Interrupts no FreeRTOSMayara Mônica
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAndré Constantino da Silva
 
Statistics - ArgMax Equation
Statistics - ArgMax EquationStatistics - ArgMax Equation
Statistics - ArgMax EquationAndrew Ferlitsch
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquinaparasite
 

Tendances (18)

Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos Genéticos
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
 
Autocorrelação espacial
Autocorrelação espacialAutocorrelação espacial
Autocorrelação espacial
 
Transdutores
TransdutoresTransdutores
Transdutores
 
Aritmética Digital
Aritmética DigitalAritmética Digital
Aritmética Digital
 
Análise de sinais e sistemas
Análise de sinais e sistemasAnálise de sinais e sistemas
Análise de sinais e sistemas
 
Aterramento elétrico
Aterramento elétricoAterramento elétrico
Aterramento elétrico
 
Curso eletricista residêncial.pdf
Curso eletricista residêncial.pdfCurso eletricista residêncial.pdf
Curso eletricista residêncial.pdf
 
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANNCAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
 
Estatística aplicada
Estatística aplicadaEstatística aplicada
Estatística aplicada
 
Regressão Linear I
Regressão Linear IRegressão Linear I
Regressão Linear I
 
Aula sobre Espaço de Estados
Aula sobre Espaço de EstadosAula sobre Espaço de Estados
Aula sobre Espaço de Estados
 
Assembly
AssemblyAssembly
Assembly
 
Timers and Interrupts no FreeRTOS
Timers and Interrupts no FreeRTOSTimers and Interrupts no FreeRTOS
Timers and Interrupts no FreeRTOS
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
 
Statistics - ArgMax Equation
Statistics - ArgMax EquationStatistics - ArgMax Equation
Statistics - ArgMax Equation
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 

Similaire à Algoritmo genético para maximização de funções

Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesXequeMateShannon
 
59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)arapido
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaWalter Hugo Lopez Pinaya
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticosiaudesc
 
Testes metamórficos em problemas complexos
Testes metamórficos em problemas complexosTestes metamórficos em problemas complexos
Testes metamórficos em problemas complexosDiogo Munaro Vieira
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genéticaiaudesc
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Obtenção de Combinação Ótima de Classificadores
Obtenção de Combinação Ótima de ClassificadoresObtenção de Combinação Ótima de Classificadores
Obtenção de Combinação Ótima de ClassificadoresLCoN Mackenzie
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Machine learning - O que é isso?
Machine learning - O que é isso?Machine learning - O que é isso?
Machine learning - O que é isso?Vinicius Mesel
 
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Luciano Araki
 

Similaire à Algoritmo genético para maximização de funções (20)

Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicações
 
59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociência
 
Atps
AtpsAtps
Atps
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
 
Biofisica14
Biofisica14Biofisica14
Biofisica14
 
Testes metamórficos em problemas complexos
Testes metamórficos em problemas complexosTestes metamórficos em problemas complexos
Testes metamórficos em problemas complexos
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Po aula 01
Po aula 01Po aula 01
Po aula 01
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genética
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Obtenção de Combinação Ótima de Classificadores
Obtenção de Combinação Ótima de ClassificadoresObtenção de Combinação Ótima de Classificadores
Obtenção de Combinação Ótima de Classificadores
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Math
MathMath
Math
 
Machine learning - O que é isso?
Machine learning - O que é isso?Machine learning - O que é isso?
Machine learning - O que é isso?
 
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
 

Algoritmo genético para maximização de funções

  • 1. Introdução a Computação Natural: Algoritmo Genético aplicado a maximização de funções Por Diego de Souza Silva RA 090911
  • 2. Introdução Os algoritmos genéticos, assim como outros bioinspirados, são heurísticas utilizadas na busca de resolução em problemas complexos que ou não tem solução exata ou demanda mais tempo do que se é desejável para ser descoberta. Este trabalho consiste em utilizar um algoritmo genético clássico na maximização de uma função e analisar a qualidade das soluções encontradas por meio de gráficos gerados.
  • 3. Roteiro ● Referencial Teórico, ● Materiais e Métodos, ● Resultados e Discussão, ● Bibliografia.
  • 4. Referenciais Teóricos: Computação natural Consiste em uma abordagem relativamente nova na resolução de problemas computacionais caracterizada por se basear em eventos da natureza. Podemos definir a computação natural como uma linha de pesquisa que permite o desenvolvimento de novas ferramentas de computação na resolução de problemas e se baseia em mecenismos naturais para o desenvolvimento de novos algoritmos.
  • 5. Algoritmo Genético Algoritmos genéticos é uma classe dentre os algoritmos evolutivos (beseados na evolução biológica) que usam técnicas inspiradas pelos conceitos da teoria Darwinista da evolução como hereditariedade, mutação, seleção natural e recombinação (ou crossing over). São implementados como uma simulação de computador em que uma geração de indivíduos que representam soluções são escolhidos os mais aptos a se gerarem descendentes-soluções. A evolução geralmente se inicia a partir de um conjunto de soluções criado aleatoriamente e é realizada por meio de gerações. A cada nova geração, a adaptação de cada solução na população é avaliada, alguns indivíduos são selecionados para a próxima geração, e recombinados ou mutados para formar uma nova população. A população gerada então é utilizada como entrada para a próxima iteração do algoritmo.
  • 6. O experimento O experimento proposto neste trabalho consiste em desenvolver um algoritmo genético clássico, utilizá-lo na maximização da função f1: f1 = x * sin(4*pi*x) – y*sin(4*pi*y+pi)+1 com parâmetros diversos e gerando para cada versão dos parâmetros um gráfico com o fitness médio e melhor de cada geração.
  • 7. Configuração dos experimentos Experime nto Indivíduos por população Probabilid ade de Crossover Probabilid ade de Mutação Gerações 1 20 90% 20% 100 2 5 90% 20% 100 3 50 90% 20% 100 4 20 90% 0% 100 5 20 90% 100% 100 6 20 90% 20% 5 7 20 90% 20% 500
  • 8. Experimento 1 0 20 40 60 80 100 120 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 9. Experimento 2 0 20 40 60 80 100 120 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 10. Experimento 3 0 20 40 60 80 100 120 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 11. Experimento 4 0 20 40 60 80 100 120 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 12. Experimento 5 0 20 40 60 80 100 120 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 13. Experimento 6 0 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 14. Experimento 7 0 100 200 300 400 500 600 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 Fitness Por Geração Fitness Médio e Melhor Fitness para cada Geração Fitness Médio Melhor Fitness Geração Fitness
  • 15. Conclusão Embora possa ignorar a melhor solução, o algoritmo oferece boas respostas para o problema de maximização desde que se use populações suficientemente numerosas e se equilibre a probabilidade de reprodução por crossover e por mutação.