基于网格的 POMDP 解决方案背后的直觉是什么?

人工智能 马尔可夫决策过程 pomdp
2021-10-27 17:53:49

在花了一些时间阅读 POMDP 之后,我仍然很难理解基于网格的解决方案是如何工作的。

我了解有限视野蛮力解决方案,您可以在其中拥有当前的信念分布,枚举给定深度的每个可能的动作/观察组合集合,并找到预期的回报。

我试图阅读一些关于基于网格的近似的资料,例如,这些幻灯片描述了基于网格的方法。

但是,我不清楚到底发生了什么。我不明白如何实际计算价值函数。在你采取行动之后,你如何更新你的信念状态以与网格保持一致?基于网格的解决方案是否简单地减少了信念状态集?这如何降低问题的复杂性?

我没有看到这如何减少动作的数量,有限视野解决方案需要考虑的观察组合。

1个回答

我将尝试根据您在 Ronen I. Brafman 的论文A Heuristic Variable Grid Solution Method for POMDPs (1997) 和基于点的值迭代:POMDPs 的任何时间算法(2003 )中找到的信息来回答您的问题) 由 Joelle Pineau 等人撰写。

POMDP的基于网格的近似解试图仅在信念状态数的子集上估计值函数。为什么?因为估计所有信念状态的价值函数对于非小型 POMDP 通常在计算上是不可行的,因为 POMDP 的信念空间 MDP(即状态空间由 POMDP 的原始状态的概率分布组成的 MDP)具有nstates 有一个不可数的大状态空间。为什么?因为涉及到概率分布。

我们如何计算不对应于网格点的信念状态的值?我们可以使用例如插值,即不对应于网格点的信念状态的值被计算为对应于其他网格点(通常是相邻网格点)的信念状态的值的函数。

为什么这种方法可行?假设是插值并不像计算信念状态的值那样昂贵。但是,请注意,您可能不需要在算法的每一步都进行插值,即只有在需要某个信念状态的值时才可以执行插值。

您如何计算对应于网格点的信念状态的值?它可以使用 POMDP 的值迭代(动态规划)算法来计算。值迭代算法的概述可以在论文基于点的值迭代:POMDPs 的任何时间算法的第 2 节中找到。以下是 POMDPs 的值迭代算法应用示例

William S. Lovejoy 在Computationally Feasible Bounds for Partially Observed Markov Decision Processes (1991)中介绍的基于网格的方法与基于点的方法非常相似,后者在基于点的值迭代中引入: POMDP两种方法之间的主要区别可以在基于点的值迭代的第 3 节中找到:POMDPs 的任何时间算法

离散化您的问题或简单地在域的子集上计算所需值的想法也已应用于其他情况。例如,在计算机视觉的上下文中,您可以在域的离散点(即像素)处近似图像(因此被认为是函数)的导数(或梯度)。

POMDP的第一个基于网格的近似解决方案一个 Julia 实现还有一个基于点的方法的 Python 实现这些实现可以帮助您了解这些方法的细节。