记录第一次写出遗传算法
问题来自遗传算法求解背包问题_用遗传算法实现背包问题-优快云博客
首先算法思路:
一、初始一个种群
二、进行繁衍(顺带突变一下)
三、种群中单个个体的适应度(可理解为繁衍下去的概率,和目标值有关)
四、child和原种群结合成一个新种群,定义一个select函数除去哪些繁衍概率小的个体, 重复二,三进程
五、经过n次迭代(繁衍)进程 得到最终的较为优秀种群,从中寻找到适应度最大的个体(解),
当作问题的最终答案。
六、写一个for循环,看看此算法的预测准确率
一、初始一个种群
pop = np.random.randint(0, 2, size=(POP_SIZE, DNA_SIZE))
这里用二进制表示方案选择情况,010101就是指背包里面放物品2,3,6
二、进行繁衍(顺带突变一下)
突变对种群pop中的单个个体随机初始一个突变点,然后采用最简的^1逻辑判断(a^b,规则:若a==b,则判断结果为0&#