强化学习中的状态表示与规划优化
在强化学习和规划领域,如何高效地表示状态以及进行规划是重要的研究课题。本文将介绍积木世界问题中的状态表示方法以及两种算法的性能对比,还会探讨关系域中基于相关性的规划方法。
积木世界问题
在积木世界问题中,有 b
个积木分布在 s
个栈上。每一轮开始时,积木是随机分布的。智能体可以通过抓手操作栈,抓手可以抓取或释放某个栈上的积木。目标状态是将特定数量 y ≤ b
的积木放到最左边的栈上,栈的高度没有限制。
为了表示这个问题的状态,开发了三种不同的表示方法:
- 二进制表示(Binary) :每个栈用 b
个变量编码当前积木的分布,再用一个额外的变量表示抓手是否持有积木。但这种表示法中,很多变量值的任意组合在实际中不会出现,例如一个积木既不在另一个积木上面也不在桌子上的状态是不可能的。空单元格越多,这种不可能状态就越多。
- 栈表示(Stacks) :每个栈有一个变量表示其包含的积木数量,还有一个额外变量表示抓手是否持有积木。不可能的状态是所有积木总数不等于 b
的状态。判断一个状态是否可能,可以简单地将表示的积木数量相加并与 b
进行比较。
- 积木表示(Blocks) :有 b
个变量,其值由对应积木当前所在的抓手或栈给出。唯一不可能的状态是多个积木同时在抓手中的状态,这提供了一个直接的规则来判断状态