如何用遗传算法来捡垃圾? | MixLab人工智能
遗传算法以独特的方式融合了生物学和计算机科学,虽然不一定是最快的算法,但一定是跨学科的算法之一。
用遗传算法优化垃圾收集的策略
机器人Robby生活在一个充满垃圾的二维网格世界中,周围环绕着4面墙。
这个项目的目的是为Robby制定最佳的控制策略,使他能够有效地捡拾垃圾而不撞墙。
规则
Robby只能看到自己的四个方向NESW以及他所在的正方形,每个正方形有3个选项;空的,有垃圾、墙壁。
因此,Robby可能有3x3x3x3x3种=243种不同的场景。Robby可以执行7种不同的动作;向N移动、向E移动、向S移动、向W移动,随机移动,捡垃圾或保持静止。
那么,Robby的控制策略可以编码为0到6之间的243位数的“ DNA”字符串,对应于Robby在243种可能的情况下应执行的动作。
方法
从总体上讲使用任何GA进行优化的步骤如下:
1 生成随机解决方案,为项目进行初始“填充”
2 根据个体解决问题的能力来评估个体的“适应性”
3 最合适的个体的解决方案“繁殖”并“遗传”传给下一代
重复步骤2和3,直到剩下最优的解决方案为止。
对于Robby的任务,我们将第一代Robby做随机初始化。然后,模拟这些机器人在网格世界中运行,并观察它们的性能。
结果
下图是经过400次迭代后产生的结果
延展
以下视频展示了另一个例子。
OpenAI教给机器人使用强化学习(一种更复杂的优化方法)玩捉迷藏的游戏。机器人首先学习了“人性化”的策略,最终又自我学习了新的策略。
实践
接下来的实践部分交给大家啦~
开源地址:
https://github.com/andrewjkuo/robby-robot-genetic-algorithm
遗传算法软件包推荐使用DEAP遗传算法工具箱:
https://deap.readthedocs.io/en/master/
MixLab第3期 闪聊活动
VR技术不仅是一个进入虚拟世界的通道,其实也是一种催化剂,将虚拟世界实质化成为一个和现实世界最终等价,甚至超越的世界。 胡鹏 Patrick
【主题】:VR空间记忆剧场 | 虚拟空间建筑师
【嘉宾】:建筑师胡鹏 对话 脑科医生
【时间】:本周日9·20日 19:00-20:00
【形式】:腾讯会议
【会议ID】添加微信FAGU_L
请提前加小编微信锁定名额
Chauncy Guo
欢迎一起探索未知世界
转发求支持!