遗传algorithm资源

最近我对遗传algorithm的话题感兴趣,但是我找不到任何好的资源。 如果你知道任何好的资源,书籍或网站,我将不胜感激。 我对algorithm和人工智能拥有丰富的知识,但是我正在寻找一些在遗传编程方面有很好介绍的东西。

目前为止我最好的参考资料:

  • 遗传algorithmsearch,优化和机器学习大卫E.戈德堡:一个经典的,仍然被认为是许多人的GAs圣经。
  • Melanie Mitchell的遗传algorithm简介 :比以前的参考文献更新,并且可能包含更多有趣的例子。
  • Poli,Langdon,McPhee撰写的遗传规划实践指南:这更像是一本指导手册,正在得到很好的评价。

另外,如果你是一个绝对的初学者,我build议你从遗传algorithmHello World开始。 没有什么像一个很好的干净的例子开始。

我发现梅兰妮·米切尔(Melanie Mitchell)的着作“遗传algorithm导论”(Introduction to Genetic Algorithms)非常好。 对于演化计算主题的更广泛的覆盖,艾本和史密斯进化计算入门也是值得的。

如果你刚刚起步,我最近写了一篇可能有用的介绍性文章 。

在这篇文章中还有进一步的链接,也在我的演化计算框架的主页上 。

我知道这是一个古老的问题,但没有答案被接受,所以我想我会join自己的贡献。 在我看来,与进化计算(遗传algorithm,进化策略,遗传程序devise等)有关的所有东西中,最好的免费资源之一是Sean Luke的在线书籍Metaheuristics Essentials 。

这里是Roger Alsing最近关于用遗传algorithm构build“Mona Lisa的图片”的文章: http ://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/

编辑删除热点链接的图片请参阅: http : 2008/12/evolutionofmonalisa1.gif

我已经实现了我自己的这个algorithm的版本:

23 </s> </s> </s>

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

在AI-Junkie.com有很多关于遗传algorithm的介绍 ,以及许多其他AI和机器学习技术的教程。 遗传algorithm教程旨在“尽可能充分地解释遗传algorithm,以便能够在自己的项目中使用它们”,同时尽可能地减lessmath。

聪明的algorithm:自然启发编程食谱

Jason Brownlee博士。

本书免费提供PDF格式 。 本书涵盖了大量的自然启发algorithm,包括进化,群体和神经algorithm。

封面

我很早以前写了一个简短的介绍,可以在这里find 。

对于一个更大,更全面的资源列表,尽pipe有点过时,但请参阅comp.ai.genetic FAQ 。

如果我可以插入一本我最喜欢的书籍,Steve Skiena的“algorithmdevise手册”有很多关于遗传algorithm的章节(以及其他许多有趣的启发式algorithm,用于解决各种types的问题)。

OReilly 编写的“集体智慧编程 ”一书中有一章涉及遗传algorithm。 这可能是基本的一点点,但这是一个很好的例子。

实用的遗传algorithm

对于一个介绍性的方法(应用于囚徒困境),请参阅:

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

我用javagenerics实现了遗传algorithm。 https://github.com/juanmf/ga

它将应用3个运营商(突变,杂交,select),并演变一个人口,具体实施个人,Gen,FitnessMeter和工厂暴露为春豆。

/*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(); } } 

在这里输入图像说明 作为一个例子,这是grandt里面devise的一个具体问题解决scheme的实现。