基于遗传算法的决策树自然选择模拟器无进化问题排查
Pygame自然选择模拟器遗传算法优化问题
模拟器核心设定
- 包含10个角色:每个角色接收传感器输入,传入随机初始化的决策树,输出左移、右移或跳跃指令
- 适应度(fitness)计算方式:
进食量 - 最长未进食时长,其中时长通过time.time()函数统计 - 食物生成规则:每次有角色进食后,在随机位置生成新食物
遗传算法迭代逻辑
每代结束后执行以下操作:
- 将前代适应度最高的角色无变异保留至下一代
- 从前代随机选取9个角色,每个角色有15%概率发生变异——随机修改决策树中某个节点的数值
问题现象
运行超1000代后,适应度未出现提升,甚至略有下降。参考二叉决策树遗传算法相关文章后仍未解决问题,附1000代最高fitness值变化图:
内容的提问来源于stack exchange,提问作者EskimoJones
相关产品推荐
相关产品推荐

