今天来讲遗传算法,遗传算法有很多应用,比如寻路问题,八数码问题,囚犯困境问题,动作控制,TSP问题,生产
调度问题,在一个多边形中寻找一个包含在该多边形内的一个圆,函数求最值问题等等。之前讲的模拟退火算法是用
来求解最优化问题的,链接为:http://blog.csdn.net/acdreamers/article/details/10019849 模拟退
火算法用一句话概括就是:贪心过程中引入了随机因素,以一定概率接受一个比当前要差的解,并且这个概率随着时
间的推移而逐渐降低。而今天讲述的遗传算法是模拟生物在自然界物竞天择的生物进化过程,通过维护一个潜在解的
群体执行了多方向的搜索,并支持这些方向上的信息构成和交换。以面为单位的搜索,比以点为单位的搜索,更能发
现全局最优解。
Contents
1. 遗传算法的简介
2. 基因编码方式
3. 适应评分及选择函数
4. 基因重组与基因突变
5. GALib的介绍
6. 其它GA工具介绍
1. 遗传算法的简介
说到遗传算法,不得不说网上一个比较贴切的比喻。从前有一群袋鼠,被零散地遗弃于喜马拉雅山脉,于是
开始在那里艰苦地生活,而海拔低的地方弥漫着一种毒气,所以海拔越低的个体越先死亡,同时袋鼠也会生
儿育女,经过若干年后,生存能力强的袋鼠最终会越来越往上爬,可能会聚集到很多个山峰上。而又过了若
干年,可能那些低一点的山峰上的袋鼠都死亡,而最终位于珠穆朗玛峰上的袋鼠生存了下来,从而也就是求
得了最值。
上面就是遗传算法的核心思想,那么有几个问题要解决。