迁过程中,开始时。温度非常高, 使得原子具有很高的能量。随着温度不断降
低,金属逐渐冷却,金属中的原子的能量就越来越小,最后达到所有可能的最低
点。利用模拟退火的时候,让算法从较大 的跳跃开始,使到它有足够的“能量”
逃离可能“路过”的局部最优解而不至于限制在其中,当它停在全局最优解附近
的时候,逐渐的减小跳跃量,以便使其“落脚 ”到全局最优解上。(在模拟退
火中,袋鼠喝醉了,而且随机地大跳跃了很长时间。运气好的话,它从一个山峰
跳过山谷,到了另外一个更高的山峰上。但最后,它 渐渐清醒了并朝着它所在
的峰顶跳去。)
3. 遗传算法:
模拟物竞天择的生物进化过程,通过维护一个潜在解的群体执行了多方向的搜
索,并支持这些方向上的信息构成和交换。以面为单位的搜索,比以点为单位的
搜索,更能发现全局最优解。(在遗传算法中,有很多袋鼠,它们降落到喜玛拉
雅山脉的任意地方。这些袋鼠并不知道它们的任务是寻找珠穆朗玛峰。但每过几
年,就在一些海拔高度较低的地方射杀一些袋鼠,并希望存活下来的袋鼠是多产
的,在它们所处的地方生儿育女
。
) (后来,一个叫天行健的网游给我想了一
个更恰切的故事:从前,有一大群袋鼠,它们被莫名其妙的零散地遗弃于喜马拉
雅山脉。于是只好在那里艰苦的生活。海拔 低的地方弥漫着一种无色无味的毒
气,海拔越高毒气越稀薄。可是可怜的袋鼠们对此全然不觉,还是习惯于活蹦乱
跳。于是,不断有袋鼠死于海拔较低的地方,而越 是在海拔高的袋鼠越是能活
得更久,也越有机会生儿育女。就这样经过许多年,这些袋鼠们竟然都不自觉地
聚拢到了一个个的山峰上,可是在所有的袋鼠中,只有聚 拢到珠穆朗玛峰的袋
鼠被带回了美丽的澳洲。 )
下面主要介绍介绍遗传算法实现的过程。
遗传算法的实现过程
遗传算法的实现过程实际上就像自然界的进化过程那样。首先寻找一种对问
题潜在解进行“数字化”编码的方案。(建立表现型和基因型的映射关系。)然
后用随机 数初始化一个种群(那么第一批袋鼠就被随意地分散在山脉上。),
种群里面的个体就是这些数字化的编码。接下来,通过适当的解码过程之后,(得
到袋鼠的位置 坐标。)用适应性函数对每一个基因个体作一次适应度评估。(袋
鼠爬得越高,越是受我们的喜爱,所以适应度相应越高。)用选择函数按照某种
规定择优选 择。(我们要每隔一段时间,在山上射杀一些所在海拔较低的袋鼠,
以保证袋鼠总体数目持平。)让个体基因交叉变异。(让袋鼠随机地跳一跳)然
后产生子 代。(希望存活下来的袋鼠是多产的,并在那里生儿育女。)遗传算
法并不保证你能获得问题的最优解,但是使用遗传算法的最大优点在于你不必去
了解和操心如何 去“找”最优解。(你不必去指导袋鼠向那边跳,跳多远。)
而只要简单的“否定”一些表现不好的个体就行了。(把那些总是爱走下坡路的
袋鼠射杀。)以后你会 慢慢理解这句话,这是遗传算法的精粹!
题外话:
评论0
最新资源