Curso Online de ALGORITMOS GENÉTICOS
MAIS UM CURSO OFERECIDO PELA PROMOVENDO CONHECIMENTO LANÇANDO UMA COLEÇÃO DE NOVOS CURSOS APROVEITEM E ENTRE NA NOSSA PAGINA DE CURSOS PA...
Continue lendoAutor(a): Promovendo Conhecimento
Carga horária: 5 horas
Por: R$ 23,00
(Pagamento único)
Mais de 10 alunos matriculados no curso.
- Aqui você não precisa esperar o prazo de compensação do pagamento para começar a aprender. Inicie agora mesmo e pague depois.
- O curso é todo feito pela Internet. Assim você pode acessar de qualquer lugar, 24 horas por dia, 7 dias por semana.
- Se não gostar do curso você tem 7 dias para solicitar (através da pagina de contato) o cancelamento ou a devolução do valor investido.*
- Adquira certificado ou apostila impressos e receba em casa. Os certificados são impressos em papel de gramatura diferente e com marca d'água.**
** Material opcional, vendido separadamente.
Modelo de certificados (imagem ilustrativa):
-
1
-
algoritmos genéticos
2
algoritmos evolucionários
-
Algoritmos Evolucionários
algoritmos genéticos
3
algoritmos evolucionários
na última aula nós discutimos como a evolução natural conseguiu obter soluções mais avançadas para o problema da sobrevivência
os algoritmos evolucionários, dos quais os gas são um ramo, procuram usar o mesmo método da natureza na busca de soluções a problemas de difícil solução.
os algoritmos evolucionários funcionam mantendo uma população de estruturas que evoluem de forma semelhante à evolução das espécies.
a estas estruturas são aplicados os chamados operadores genéticos, como recombinação e mutação, entre outros.
cada indivíduo recebe uma avaliação que é uma quantificação da sua qualidade como solução do problema em questão
baseados nesta avaliação serão aplicados os operadores genéticos de forma a simular a sobrevivência do mais apto. -
Algoritmos Evolucionários
algoritmos genéticos
4
algoritmos evolucionários
t:=0 // inicializamos o contador de tempo
inicializa_população p(0) // inicializamos a população randômicamente
enquanto não terminar faça //condição de término:por tempo, por avaliação, etc.
avalie_população p(t) //avalie a população neste instante
p':=selecione_pais p(t) //selecionamos sub-população que gerará nova geração
p'=recombinação_e_mutação p' //aplicamos os operadores genéticos
avalie_população p' //avalie esta nova população
p(t+1)=selecione_sobreviventes p(t),p' //selecione nova geração
t:=t+1 //incrementamos o contador de tempo
fim enquantoo esquema básico de um algoritmo evolucionário pode ser visto no pseudo-código abaixo:
-
Algoritmos Evolucionários
algoritmos genéticos
5
ae buscam dentro da atual população aquelas soluções que possuem as melhores características e tentar combiná-las de forma a gerar soluções ainda melhores
o processo é repetido até que tenha se passado tempo suficiente ou que tenhamos obtido uma solução satisfatória para nosso problema.
ae são extremamente dependente de fatores estocásticos (probabilísticos), tanto na fase de inicialização da população quanto na fase de evolução (durante a seleção dos pais, principalmente).
isto faz com que os seus resultados raramente sejam perfeitamente reprodutíveis.
ademais, claramente os algoritmos evolucionários são heurísticas que não garantem a obtenção do melhor resultado possível em todas as suas execuções.algoritmos evolucionários
-
Algoritmos Evolucionários
algoritmos genéticos
6
algoritmos evolucionários
conclusão: se você tem um algoritmo com tempo de execução razoável para solução de um problema, então não há nenhuma necessidade de se usar um algoritmo evolucionário.
sempre dê prioridade aos algoritmos exatos.
os algoritmos evolucionários entram em cena para resolver aqueles problemas cujos algoritmos são extraordinariamente lentos (problemas np-completos) ou incapazes de obter solução (como por exemplo, problemas de maximização de funções multi-modais, como veremos mais à frente).
-
Algoritmos Genéticos
algoritmos genéticos
7
algoritmos genéticos
sub-área dos algoritmos evolucionários.
logo, são uma metáfora para a evolução natural.
os algoritmos genéticos são técnicas heurísticas de otimização global.
com isto, raramente eles ficam presos em máximos locais como as técnicas de hill-climbing.
lembrando máximos locais: -
Algoritmos Genéticos
algoritmos genéticos
8
algoritmos genéticos
nos algoritmos genéticos populações de indivíduos são criados e submetidos aos operadores genéticos
seleção
crossover
mutação.estes operadores utilizam uma caracterização da qualidade de cada indivíduo como solução do problema em questão chamada de avaliação deste indivíduo (fitness)
será gerado então um processo de evolução natural destes indivíduos
-
Algoritmos Genéticos
algoritmos genéticos
9
algoritmos genéticos
ao contrário do que as pessoas costumam pensar, é importante ser ressaltado que a evolução natural não é um processo dirigido à obtenção da solução ótima.
na verdade, o processo simplesmente consiste em fazer competir uma série de indivíduos e pelo processo de sobrevivência do mais apto, os melhores indivíduos tendem a sobreviver.
um ga é similar à evolução natural : a competição entre os indivíduos é que determina as soluções obtidas.
eventualmente, devido à sobrevivência do mais apto, os melhores indivíduos prevalecerão.
-
Algoritmos Genéticos
algoritmos genéticos
10
algoritmos genéticos
importante sempre ter em mente que, apesar do seu nome, algoritmos genéticos não são algoritmos, mas sim heurísticas.
logo, nem sempre a melhor solução será encontrada.
entretanto, normalmente boas soluções para o problema em questão são encontradas a cada execução.
-
Algoritmos Genéticos
algoritmos genéticos
11
algoritmos genéticos
passos para a solução de um problema:
encontrar uma maneira de condificar o problema
definir os operadores genéticos
definir uma função de avaliação para medir a capacidade de sobrevivência de cada indivíduo.vamos devagar, passo a passo!
Pagamento único
Cursos Relacionados
Encontre-nos no Facebook
Capítulos
- Algoritmos Evolucionários
- Algoritmos Genéticos
- Em termos de população...
- O GA mais simples
- Se tudo correr bem...
- Codificação da população
- Codificação da População
- Codificação da população
- Inicialização da população
- Função de avaliação
- Seleção de pais
- Exemplo de funcionamento
- Operadores Genéticos - Crossover
- Ponto de Corte
- Funcionamento do crossover de um ponto
- Operadores genéticos - Crossover
- Operadores Genéticos - Mutação
- Mutação - Código Java
- Mutação - Exemplo binário
- Porque mutação e crossover?
- Módulo de População
- Módulo de População - Funcionamento
- Moral da História
- Visualizador de GA na Internet