【问题标题】:Genetic algorithm - evolve only one object遗传算法 - 只进化一个对象
【发布时间】:2018-12-09 20:01:25
【问题描述】:

我有一个 AI 课程,我们必须制作项目。我选择做一个遗传算法,因为我是这个概念的新手,所以我有几个问题。我进行了研究,我得到了这个想法,并按照 Coding Train 的简单遗传算法视频没有任何问题。但是,我在 YouTube 上看到了多个汽车进化的视频,如果只有一辆汽车被渲染到屏幕上,我不明白他们是如何拥有 20 个人口的。我想尝试创建类似乒乓球的游戏(我将使用基本的物理引擎),其中玩家 A 是计算机,它始终遵循球的 Y 坐标,因此不会输,玩家 B 应该使用遗传算法进化。玩家 B 每次输球我将如何进化?染色体会是什么?人口会是多少?如果您能给我任何建议,我将非常感谢

【问题讨论】:

  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topichow to ask... the perfect question 在此处申请。 StackOverflow 不是设计、编码、研究或教程资源。但是,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试并遇到问题,那么您将有一个很好的示例可以发布。

标签: artificial-intelligence genetic-algorithm 2d-games pong


【解决方案1】:

关于汽车,很可能一代中的每辆汽车都在按顺序进行评估和渲染。假设人口规模为 20,您看到的前 20 辆汽车将是初始人口。您看到的接下来的 20 辆汽车将是第二代人口,依此类推。

关于乒乓球,您需要确定玩家 B 的适应度函数。如果玩家 B 总是输,那么您的适应度函数可能是它在失败之前能够持续多长时间。要确定您的染色体,您首先需要决定如何控制玩家 B 的球拍。然后,染色体将是一组影响该系统的设计变量。例如,您可能会使用一个小型神经网络,其中您的染色体对连接的权重进行编码。您的种群是一组染色体,用于通过交叉和突变产生下一代染色体组。

【讨论】:

  • 感谢您的回答。我制作了一个程序,学习将篮球投进篮筐来练习遗传算法,它运行良好。到目前为止,我还没有做过任何神经网络,所以我对此进行了研究。你会说神经网络比遗传更难吗?
  • 我很高兴听到 GA 工作。 GAs 和神经网络的应用可能有很大的不同,我只提到了 Pong 程序的神经网络。它们也不是相互排斥的。有许多方法可以设计或训练神经网络。在某些情况下,您当然可以使用 GA,尽管这可能不是最好的方法。我建议继续阅读这两个主题,并注意每个主题正在解决的问题类型。
  • 再次感谢您抽出宝贵时间提供帮助
猜你喜欢
  • 2014-01-01
  • 1970-01-01
  • 2013-12-21
  • 2015-02-18
  • 2013-07-02
  • 2022-01-25
  • 2011-02-22
  • 1970-01-01
相关资源
最近更新 更多