2011-03-25 265 views
1

我正在研究一个项目,该项目拥有一个模拟机器人,通过移动到预定义的“感测位置”来探索未知,但具有图案的环境(如办公大楼)。换句话说,在每个点上,机器人必须从可用的可见位置选择一个新的位置移动到。我们的最终目标是让机器人学习如何利用环境中的模式来优化全球勘探时间。强化学习 - 根据得分优化权重

机器人通过根据多个关于位置的已知特征的线性组合给出效用分数来选择要移动到下一个位置(例如到该点的距离,从该点到所有其他点的平均距离,已经探索的点周围的区域等)。我的目标是优化这个效用函数的权重,以提供探索整个环境的最快时间。

因为得分取决于整个探索路径,所以我不想在探索过程中改变权重。为了测试权重的组合,我希望模拟的机器人能够在整个环境中运行这些权重,并获得最终得分。因此,我可以创建| w | +1 x n数据数组,其中| w |是权重的数量,如下所示:

w1 w2 w3  w4  score 
0.23, 4.30, -0.33, -2.001, 17030 
-1.3, 2.03, -10.1, -0.021, 21983 
3.65, -1.1, 5.021, 0.2301, 19508 
etc... 

我的问题是,什么样的强化学习算法最适合这个?我在文献和研究中发现的大部分内容都与分类有关,显然多变量回归不会奏效。我也尝试过实施一个q-learning算法,但是这并不是真正的工作,因为根据所采用的路径和环境结构,存在可变数量的状态和动作。我真正想要的是某种形式的数据结构,它决定了权重及其组合的值,从而使预期得分最大化。任何帮助/想法?谢谢。

回答

1

你正式的设置(没有中间的奖励,没有在线学习,只是一个最后的比分)的方式是典型的暗箱优化(或进化强化学习)。

其中适当的算法是遗传算法,进化策略或随机搜索。国家的本领域的一些算法是:

,每个有不同的风味,取决于你有多少参数,你的分数有多吵,以及你期望有多少局部最优。

对于Python中这些实现的集合,请看PyBrain库。

+0

这很完美。感谢您的链接! – pmwalk 2011-04-21 20:43:35