本周最佳文件交换选择

我们最好的用户提交

遗传小贩

本周的选择是遗传小贩通过哈南·卡维茨.

这里我们有一个有趣的应用程序遗传算法. 对于那些不熟悉的人来说,遗传算法通过改善特定问题的候选解决方案群体的性能来模拟进化生物学。候选人通过定义成功的量化指标来评估其“适合度”…适合度值越高(或通常越低),解决方案越好。在任何给定的一组可能的解决方案中,某些解决方案的得分会高于其他解决方案。遗传算法通过应用自金宝搏官方网站然选择来寻找更好的解:最弱/最差的解被消除,而最强/最好的解被保留。在一种无性繁殖实验中,最好的候选者(被称为突变体)的微小偏差被创造出来,看看它们是否能得到改进。通过反复使用这种修剪和变异策略,种群一代又一代地进化。

哈南采用了这种技术,并用它来评估他的“帕克曼”的路径。帕克曼被放置在网格的中心。他可以向北、南、东或西走到邻近的网格。网格上的每个正方形被随机分配为绿色或黑色。帕克曼每走过一个绿色广场就得一分。如果他只能做出固定数量的移动,他应该采取什么方法来最大化得分?

Hanan的贡献使您能够定义董事会的规模和Packman可以采取的行动数量。然后在700代中进化出300条路径的种群。它可以选择评估结果,而不是应用更基本路径策略的“贪婪”解决方案。

我把帕克曼放在一个40x40的格子里,让他走200步。5代人之后,他得到了62分。695代之后,他聪明多了。在我的人群中,最好的解决方案得到了95分。当您运行该函数时,会有一个图形窗口向您显示人口每一代的情况。在下图中,蓝点代表整个人群的平均分数,而黑色代表最佳解决方案的表现(分数是负的,所以越低越好)。正如你可以观察到的,修剪和变异往往每一代都能产生更好的结果,但并不总是如此。

每一代帕克曼路径的最佳和平均性能

你还可以看到最佳表演的有趣画面。包装工的路线显示在网格上。如果你仔细观察,你会发现在这三代人中,这条路线略有改进。

好吃

总而言之,我对Genetic Packman的包装非常满意。代码有很好的文档记录,因此我很容易理解它在做什么。它对我提供的各种输入都很健壮。为了将来的改进,让用户能够指定绿瓷砖的总体大小、生成限制和频率将是非常有趣的。进入代码并进行这样的更改并不难,但是输入会使更改变得更容易!

评论
让我们知道你的想法在这里或者留下议论为了哈南。
|
  • 打印
  • 发送电子邮件

评论

如需留言,请点击在这里登录到您的MathWorks帐户或创建新帐户。