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