algoritmos genéticos são uma técnica de programação que os cientistas da computação aprendeu com a natureza. Projetos da natureza de belas soluções de plantas e animais para problemas difíceis , por meio estritamente mecânicos sem sentidos inteligentes. Algoritmos genéticos pode encontrar a resposta ideal para problemas de projeto difíceis, quando você não tem idéia de como proceder. As únicas restrições são necessárias que você deve ter um problema de otimização e que as soluções pode ser descrito com uma seqüência de números . Instruções
1
Projete uma seqüência de números que descreve uma solução para o seu problema. Projete uma função que pode avaliar essas strings ; dado uma string , esta função pode lhe dizer o quão boa a string é como uma resposta para o seu problema . Por exemplo, o texto poderá ser uma lista de medidas do interior de uma bomba turbo motor de foguete. A função seria uma computação de impulso a partir de uma câmara com estas medições . A corda também poderiam ser os percentuais de água, areia, cimento e brita que constituem uma mistura de submarino de concreto.
2
Escrever um programa de computador que evolui em direção as cordas de otimização. Comece com uma população de cordas , onde todos os números nas cordas foram escolhidos de forma aleatória. A " geração " consiste em avaliar todas as cordas na " população " e descartando as cordas com os valores mais baixos . As cordas com as mais altas avaliações continuarão para a próxima geração . A mistura aleatória das cordas altas de formação prévia também irá torná-lo para a próxima geração. Algumas dessas cordas terá mutações aleatórias para um dos números na seqüência . Este processo é repetido por várias gerações . O número de cordas em cada geração é a mesma.
3
Encontre o algoritmo genético mínimo , executando a sua solução com um dos números de desaparecidos. Se há um número "n" em uma string, isto significa correr "n" populações diferentes um com cada um dos números que faltam. Se as cordas mais curtas ainda tem a mesma avaliação alta , execute as populações cada vez mais curtos , até encontrar a corda mais curta que irá trabalhar para o problema específico. Para o problema concreto , este lhe diria se pudesse deixar de fora um dos ingredientes .