Pergunta

Ultimamente eu estou interessado no tópico de algoritmos genéticos, mas eu não poderia encontrar qualquer bom recurso. Se você conhece algum bom recurso, livro ou um site eu apreciaria. Tenho sólido conhecimento de algoritmos e Inteligência Artificial, mas eu estou procurando algo com boa introdução em Programação Genética.

Foi útil?

Solução

Melhores referências para mim até agora:

Além disso, se você é um novato absoluto eu sugiro que você comece com o Olá Mundial de Genética Algoritmos . Não há nada como um bom exemplo limpo para começar.

Outras dicas

Eu encontrei o livro de Melanie Mitchell, Uma Introdução aos Algoritmos Genéticos , para ser muito bom. Para uma cobertura mais ampla de tópicos de computação evolucionária, Introdução a Computação Evolutiva por Eiben and Smith também vale a pena.

Se você está apenas começando, eu escrevi recentemente um introdutória Artigo que podem ser de uso.

Existem outras ligações, tanto no referido artigo e também no home page para o meu quadro computação evolutiva .

Eu sei que isto é uma questão de idade, mas nenhuma resposta foi ainda aceite, então eu pensei que eu ia acrescentar a minha própria contribuição. Um dos melhores recursos livres na minha opinião para todas as coisas relacionadas com a computação evolutiva (algoritmos genéticos, estratégias de evolução, programação genética, etc.) é o livro de Sean Luke on-line Essentials de metaheurísticas .

Este é um livro livre agradável sobre o assunto

http://www.lulu.com /items/volume_63/2167000/2167025/2/print/book.pdf

Há uma ótima introdução aos algoritmos genéticos em AI-Junkie.com , bem como tutoriais sobre muitas outras técnicas de IA e de aprendizado de máquina. Os algoritmos genéticos tutorial é destinado a 'explicar algoritmos genéticos suficientemente para que você seja capaz de usá-los em seus próprios projetos', mantendo a matemática para baixo tanto quanto possível.

Aqui é recente artigo de Roger Alsing sobre a construção de "imagem da Mona Lisa" com um algoritmo genético: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/

Editado para remover hot link para a imagem Veja: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif

Eu tenho implementado minha própria versão deste algoritmo:

http://23.media.tumblr.com/NngfN9gsDhlsyws3NvFcuHfgo1_400.png
(fonte: tumblr.com )

http://plindenbaum.blogspot.com/ 2008/12 / random-notes-2008-12.html

inteligente Algoritmos: Programação Natureza-Inspired Receitas

por Jason Brownlee PhD.

Este livro está disponível livre em PDF . Livro cobre grande quantidade de algoritmos inspirados na natureza, incluindo evolutiva, enxame e algoritmos neurais.

capa do livro

Uma pequena introdução que escrevi há muito tempo está disponível aqui , mas uma melhor curta introdução é aqui .

Para uma maior e abrangente, embora um pouco fora de moda, lista de recursos visite o comp.ai.genetic FAQ .

Se eu possa ligar um dos meus livros favoritos, O projeto de algoritmos manual por Steve Skiena tem uma grande seção sobre algoritmos genéticos (mais um monte de outras heurísticas interessantes para resolver vários tipos de problemas).

O livro Programação Inteligência Coletiva por OReilly teve capítulo que abrange algoritmos genéticos. Pode ser um pouco para básico, mas foi um exemplo muito ilustrando.

'Uma Introdução aos Algoritmos Genéticos' http: //www.burns-stat .com / pages / Tutor / genetic.html

Para uma abordagem introdutória (com um aplicativo para o Dilema do Prisioneiro), veja em:

http://www2.econ.iastate.edu/tesfatsi/holland .gaintro.htm

Eu implementou um algoritmo genético com os genéricos Java. https://github.com/juanmf/ga

Ele vai aplicar os 3 operadores (Mutação, cruzamento, seleção), e evoluir uma população, dadas as implementações concretas de individual, Gen, FitnessMeter e fábricas expostos como grãos de primavera.

/*This is all you have to add to the Spring App context 
 * before running the application
 */
@Configuration
public class Config {

    @Bean(name="individualFactory")
    public IndividualFactory getIndividualFactory() {
        return new Team.TeamFactory();
    }

    @Bean(name="populationFactory")
    public PopulationFactory getPopulationFactory() {
        return new Team.TeamPopulationFactory();
    }

    @Bean(name="fitnessMeter")
    public FitnessMeter getFitnessMeter() {
        System.out.println("getFitnessMeter");
        return new TeamAptitudeMeter();
    }
}

enter descrição da imagem aqui Esta é a concepção, no interior Grandt existe uma implementação de uma solução do problema específico, como um exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top