3

我一直在研究遗传算法。我的目标是实现简单的模拟,让玩家(不受外部人类玩家控制)避开障碍物并获得奖励。

我知道遗传算法属于进化算法,这非常适合这种情况,因为那时我不必提供训练数据。它会自己学习。

我一直在阅读的这些介绍谈论的是被编码为二进制字符串的种群(我认为),我看不出种群和提炼种群以产生新一代与这个问题域有什么关系。

有人可以解释一下吗

4

2 回答 2

4

简而言之,您将使用您的遗传算法来生成确定 AI 行为的规则。这些规则的具体编码和解释方式取决于您想要实现的目标。

也许您希望遗传算法为神经网络的连接生成权重,而神经网络又会处理玩家的行为。在这种情况下,您会将权重编码为二进制字符串。

另一个例子是将二进制字符串解释为决策树

当您对表示进行编码后,您的遗传算法将生成具有不同基因或二进制字符串的个体。然后,这些个体将根据其表现如何被分配一个适应度值,并且 GA 有望随着时间的推移找到一个好的 AI(根据你的适应度函数和表示)。

编辑:假设您在下面的网络中有三个连接,并且您选择用四位对每个权重进行编码。然后,您的二进制字符串可以以最简单的编码方式将这 3 个权重连接起来。

在此处输入图像描述

于 2013-09-25T20:23:13.510 回答
0

查看 Dan Ashlock 的Tartarus论文。

于 2013-09-25T20:35:07.157 回答