遗传算法A.I.重复的行为

时间:2017-04-04 23:14:50

标签: neural-network artificial-intelligence simulation bots genetic-algorithm

我正在编写一个C#Windows窗体应用程序,它使用两种类型的对象模拟一个简单的环境(网格):植物和食草动物。食草动物具有神经网络,其将周围几个细胞的内容作为决定移入的方向的输入。想法是使用适应度函数和遗传算法训练食草动物吃植物。

我的问题是如果草食动物周围没有任何东西,它将决定向某个方向移动,然后,如果它周围仍然没有任何东西,它将再次朝同一方向移动。我最终得到的是一些只是在海峡线上移动的食草动物,从来没有真正遇到任何植物。

时钟信号添加为输入(每个位作为神经网络的单独输入)会改变此行为,还是不推荐这样做?我还想过添加一个只是随机数据(来自高斯分布)的输入来增加一些不可预测性,但我不知道这是否有助于或损害问题。我不确定的另一个想法是,是否可能为过去的几个动作(作为一种记忆)提供输入可以解决这个问题。

2 个答案:

答案 0 :(得分:3)

我认为你需要一个Recurrent Network。您可以跟踪网络做出的最后N个决策,然后将它们用作网络的额外输入,这样就可以了解它的进展情况和持续时间。它可能在某种程度上以这种方式发展,它开始做某种寻路。

答案 1 :(得分:1)

@Can_Alper所说的绝对是好的。另请查看LSTM's