【发布时间】:2018-05-11 21:04:00
【问题描述】:
我目前正在和我的一些朋友一起开发一款视频游戏,用于我们的 AI 课程。
我们都有不同的约束;我们的目标是使用神经网络来定义 AI 的行为。这部分是用 Python 编写的。
基本上,我们的游戏类似于Towerfall,但要简单得多。地图是静态的,玩家有 5 条生命,要么是 AI。您可以向左,向右,跳跃和单击以在光标位置射击子弹。所以这是一场生死之战。
最初,我们考虑使用遗传算法来训练我们的网络。我们定义了一个拓扑,不管它是什么,我们计划使用 GA 优化权重。
计划是生成种群,直接在我们的游戏中测试 NN,收集结果(适应度?)并使用之前的排名生成新的种群。
但我们真的不知道如何实现这一点,或者是否可能或是否会产生良好的结果。
我们应该在复制过程中使用加权平均吗?如何应用“突变”?我们应该使用什么结构来表示我们的神经网络?
如果您有任何线索或建议..!
非常感谢!
【问题讨论】:
-
这是一个非常模糊/基于意见的问题,我已标记为关闭。但是为了给你指明一条路径,你可以继续用谷歌搜索——遗传算法要求你有一些你可以变异的基因的表示,这也表达了你需要的数据结构。例如,您可以使用浮点列表作为“基因”并将其转换为节点的权重。您如何进行突变,频率等都是您需要确定的。重要的是 - 基因中的一个小突变应该只会对行为产生很小的变化(至少一般而言)。
-
@Jul_DW ANN 训练非常耗时。如果您想拥有高效的计算机对手,请考虑其他 A.I.选项。
标签: python neural-network artificial-intelligence genetic-algorithm