采样 MDP 转换表时如何填写缺失的转换?

人工智能 强化学习 马尔可夫决策过程 蒙特卡罗方法 过渡模型
2021-10-25 00:53:23

我有一个模拟相对复杂场景的模拟器。我从模拟器状态中提取了大约 12 个离散特征,这些特征构成了我的 MDP 状态空间的基础。

假设我通过运行大量模拟并提取特征转换作为状态转换来估计 MDP 的转换表。

虽然我可以随机化模拟器的启动条件以增加状态的覆盖率,但我不能保证所有状态都会在样本中表示,即可能但很少见的状态。

在这种情况下,是否有严格的方法来“填补空白”转换表?

例如:

  1. 对于样本中未表示的每个状态,只需以相等的概率转换到所有其他状态,作为填补空白的“中立”方式?

  2. 如上所述,但只转换到表示的状态(以相等的概率)?

  3. 以 1.0 的概率转换到相同的状态?

  4. 在 MDP 求解过程中完全忽略未表示的状态,只指定默认操作?

1个回答

我假设您使用 12 个离散特征作为状态变量,并且对于这些变量中的每一个,您将至少有两个值。因此,最小的状态数将是212=4096, 这使(212)2=16777216可能的过渡。为了达到这一点,您将需要大量的模拟,同时考虑到这个数字是最小值,因为每个状态变量可能有更多的值,并且每个状态转换可能有多个动作。

如何填补空白取决于您的问题,在我这样做的问题中,我使用均匀随机过渡到其相邻状态来填补空白。但是,由于我必须填写如此大的数量,因此使用这个估计的转换概率与预定义的转换表之间没有显着差异。

在您的情况下,使用Q-Learning可能会更好,这是一种不需要转换概率并直接使用获得的奖励和状态的无模型方法。