|
共遗传进化了2次
起始点位置(4,4), 出口点位置(1, 0)
搜索到的结果编码:10100000100010
第1步,编码为10,向左移动,移动后到达(4,3)
第2步,编码为10,向左移动,移动后到达(4,2)
第3步,编码为00,向上移动,移动后到达(3,2)
第4步,编码为00,向上移动,移动后到达(2,2)
第5步,编码为10,向左移动,移动后到达(2,1)
第6步,编码为00,向上移动,移动后到达(1,1)
第7步,编码为10,向左移动,移动后到达(1,0)
总共遗传进化了8次
起始点位置(4,4), 出口点位置(1, 0)
搜索到的结果编码:10001000101000
第1步,编码为10,向左移动,移动后到达(4,3)
第2步,编码为00,向上移动,移动后到达(3,3)
第3步,编码为10,向左移动,移动后到达(3,2)
第4步,编码为00,向上移动,移动后到达(2,2)
第5步,编码为10,向左移动,移动后到达(2,1)
第6步,编码为10,向左移动,移动后到达(2,0)
第7步,编码为00,向上移动,移动后到达(1,0)
总共遗传进化了100次
在有限的遗传进化次数内,没有找到最优路径
?
算法小结
?
遗传算法在走迷宫中的应用总体而言还是非常有意思的如果你去认真的体会的话,至少让我更加深入的理解了GA算法,如果博友向要亲自实现这算法,我给几点建议,第一是迷宫难度的和初始个体数量的设置,为什么要注意这2点呢,一个是这关系到遗传迭代的次数,在一段时间内有的时候遗传算法是找不出来的,如果找不出来,PC机的CPU会持续高速的计算,所以不要让遗传进行无限制的进行,最好做点次数限制,也可能是我的本本配置太烂了。。在算法的调试中修复了一个之前没发现的bug,就是选择阶段的时候对于随机数的判断少考虑了一种情形,当随机数取到1.0的时候,其实是不能判断到的,因为概念和只会无限接近1,就不知道被划分到哪个区域中了。
|