我听说过遗传算法,但我从未见过实际的例子,也从未对它们进行过系统的介绍。
我现在正在寻找一本教科书,该教科书详细介绍了遗传算法并给出了如何使用它们的实际示例,与其他解决方法相比它们的优势是什么以及它们的劣势是什么。
有没有这方面的标准教科书?
我听说过遗传算法,但我从未见过实际的例子,也从未对它们进行过系统的介绍。
我现在正在寻找一本教科书,该教科书详细介绍了遗传算法并给出了如何使用它们的实际示例,与其他解决方法相比它们的优势是什么以及它们的劣势是什么。
有没有这方面的标准教科书?
大多数“标准教科书”(例如,Goldberg、Mitchell 等)现在都已经过时了。如果您只是想对自己了解基本算法的工作原理有一定的信心,那很好,但是它们倾向于强调不一定与更现代的理解和谈论诸如理论问题之类的事物的方式相匹配的材料。
在过去的几年里,我使用 Eiben 和 Smith ( https://www.amazon.com/Introduction-Evolutionary-Computing-Natural/dp/3642072852 ) 书向我的学生教授进化算法。它比其他一些更简洁,但是如果您对此表示满意,我认为它可以更好地涵盖与当今进化计算相关的内容。
我可以推荐Goldberg 的《搜索、优化和机器学习中的遗传算法》。特别是,第 1 章给出了一个很好的“用例子介绍遗传算法”。不幸的是,代码示例是用 Pascal 编写的,但即使不熟悉该语言也可以阅读。Thomas Back 的书更高级但也更完整(更“进化编程”)。
此外,Koza 的遗传编程是一个不错的选择,它有很多示例,但教程较少。
我推荐这些书:
您还可以在此处查看我的回答,以对遗传算法是什么进行初步且非常简短的一般性介绍。
希望能帮助到你!
我在课堂上学习,从来没有真正理解过。我找到了最好的方法:实现你自己的。最后,这是一个非常“实用”的算法,它更像是一个执行例程,而不是一个完整的极权主义方法。
至于例子,你可以看到它在经典(而且非常直观!)旅行商问题上的作用,比如这里
我认为您只需要了解启动器的组件即可:染色体(=解决方案),突变功能(改变一种解决方案),交叉(混合两种解决方案,意味着选择父母并实际混合它们),fintess功能(解决方案的质量),以及生成功能(候选解决方案生成)和(可选)精英政策(我们保护最佳解决方案免于消失的程度)。
理解之后,你将看到 GA 的模块化方面,如果需要,你将能够挖掘更高级的内容(进化策略、编码等)。
问题是在 GA 中你几乎定义了一切,它们只是经典的执行例程。这就是为什么我认为书籍不会在这种情况下增加你的理解。