41

如何用遗传算法来捡垃圾? | MixLab人工智能

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzA3MDgyMjMwMA%3D%3D&%3Bmid=2649939041&%3Bidx=1&%3Bsn=c9521d25d27d4f7316c95ebc46a64609
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
遗传算法以独特的方式 融合了生物学和计算机科学

,虽然不一定是最快的算法,但一定是跨学科的算法之一。

用遗传算法 优化 垃圾收集的 策略

机器人Robby生活在一个充满垃圾的二维网格世界中,周围环绕着4面墙。

这个项目的目的是为Robby制定最佳的控制策略,使他能够有效地捡拾垃圾而不撞墙。

6J3ui2A.jpg!mobile

规则

Robby只能看到自己的四个方向NESW以及他所在的正方形,每个正方形有3个选项;空的,有垃圾、墙壁。

因此,Robby可能有3x3x3x3x3种=243种不同的场景。Robby可以执行7种不同的动作;向N移动、向E移动、向S移动、向W移动,随机移动,捡垃圾或保持静止。

那么,Robby的控制策略可以编码为0到6之间的243位数的“ DNA”字符串,对应于Robby在243种可能的情况下应执行的动作。

eIjqiiY.png!mobile

方法

从总体上讲使用任何GA进行优化的步骤如下

1 生成随机解决方案,为项目进行初始“填充” 

2 根据个体解决问题的能力来评估个体的“适应性” 

3 最合适的个体的解决方案“繁殖”并“遗传”传给下一代

重复步骤2和3,直到剩下最优的解决方案为止。

N3y6Bf.png!mobile

对于Robby的任务,我们将第一代Robby做随机初始化。然后,模拟这些机器人在网格世界中运行,并观察它们的性能。

结果

下图是经过400次迭代后产生的结果

MjUJrab.png!mobile

延展

以下视频展示了另一个例子。

OpenAI教给机器人使用强化学习(一种更复杂的优化方法)玩捉迷藏的游戏。机器人首先学习了“人性化”的策略,最终又自我学习了新的策略。

实践

接下来的实践部分交给大家啦~

开源地址:

https://github.com/andrewjkuo/robby-robot-genetic-algorithm

遗传算法软件包推荐使用DEAP遗传算法工具箱:

https://deap.readthedocs.io/en/master/

ARfIBvb.png!mobile

MixLab第3期 闪聊活动

VR技术不仅是一个进入虚拟世界的通道,其实也是一种催化剂,将虚拟世界实质化成为一个和现实世界最终等价,甚至超越的世界。 胡鹏 Patrick

【主题】:VR空间记忆剧场 | 虚拟空间建筑师

【嘉宾】:建筑师胡鹏  对话 脑科医生 

【时间】:本周日9·20日 19:00-20:00

【形式】:腾讯会议

【会议ID】添加微信FAGU_L

请提前加小编微信锁定名额

ri2iUz2.jpg!mobile

Chauncy Guo

欢迎一起探索未知世界

RbeyE3V.gif!mobile转发求支持!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK