对于任何不熟悉的人,NetLogo是一种基于代理的建模语言。在这种情况下,代理人在动态环境中模拟生物,在那里他们寻找能量。能量不可预测地移动但随着时间的推移而扩散,以便觅食者可以通过上坡来找到源头#34; (我稍微简化,代理人也会社交和重现,但如果我们能找到一个很好的吃饭和移动算法,那么它应该概括)
目标是让代理人使用两个动作来最大化他们的能量:移动N / S / E / W,然后吃饭。代理商可以访问一些信息:周围位置的能量水平和他们自己的能量,所有连续变量。代理人不能完全了解他们的过去或世界,这限制了大多数传统RL算法的使用。它们可以具有隐含的知识(例如,具有随时间调整的权重的神经网络是可以的)。
我的直觉是神经网络可以解决这个问题而且我成功实现了一个...但我只是运行了几千次来优化权重。这(1)并不能保证收敛,(2)可能远非最优/效率。
关于如何在这个世界上学习的任何想法?无论是更好的强化学习方法还是用于学习神经网络权重的算法都会很棒。我最近经历了很多文献试图找到一个解决方案,我发现每个算法最终都会有一两个问题妨碍它们的使用。在此先感谢您的帮助!
答案 0 :(得分:0)
由于您的环境是连续的,Q-learning或SARSA等标准算法不能直接应用 - 它们需要离散的环境状态。但是,您的行为是离散的,可能会有用。
一种可能性是使用一些贝叶斯方法来估计世界状态并将其应用于Reinforcement Learning with function approximation。事实上,这就是我在本科毕业论文中所做的,其中国家是通过Bayesian Programming估算的。