对于不熟悉的人来说,NetLogo 是一种基于代理的建模语言。在这种情况下,代理正在模拟动态环境中的有机体,他们在其中寻找能量。能量无法预测地移动,但会随着时间的推移而扩散,因此觅食者可以通过“上坡”找到源头。(我稍微简化了一点,agents 也社交和繁殖,但如果我们能找到一个好的吃饭和移动算法,那么它应该可以推广)
目标是让智能体使用两个动作来最大化他们的能量:移动 N/S/E/W,然后吃。代理可以访问一些信息:周围位置的能量水平和他们自己的能量,所有这些都是连续变量。智能体不能完全明确地了解他们的过去或世界,这限制了大多数传统 RL 算法的使用。他们可以拥有隐含的知识(例如,具有随时间调整的权重的神经网络是可以的)。
我的直觉是神经网络可以解决这个问题,我成功地实现了一个……但我只是简单地运行了几千次模拟来优化权重。这(1)不能保证收敛,并且(2)可能远非最佳/有效。
关于如何在这个世界上学习的任何想法?更好的强化学习方法或学习神经网络权重的算法都会很棒。最近,我查阅了很多文献试图找到解决方案,而我发现的每个算法最终都有一两个问题,无法使用它们。提前感谢您的帮助!