Partially Observable Markov Decision Process部分可观察的马尔可夫决策过程

部分可观察的马尔可夫决策过程(POMDP)是MDP的泛化。在POMDP模型中,系统(这里的系统可以用具体的机器人系统来代替)的动态响应和MDP类似(如状态转移矩阵),但是系统并不能直接观测到当前的状态,就是说系统不确定自己现在处于哪个状态。所以,系统需要对环境做一个感知,来确定自己处于哪个状态。
0.引例
1.定义
POMDP可以对机器人和机器人所处的环境进行建模。通常,可以用一个七元数 (S,A,P,R,Ω,O,γ) 来描述:
S 是一组有限状态集;
A 是一组有限动作集;
P 是状态转移矩阵, Pa(s|s)=P(s|s,a) 表示在时间 t 状态 s 采取动作 a 可以在时间 t+1 转换到状态 s' 的概率 ;
R:S×AR 是收益函数, R(s,a) 表示在状态 s 执行动作 a 带来的收益;
Ω 是一组观察结果集,就是机器人的传感器获得的环境数据;
O 是条件观察概率,就是机器人在观察到环境数据 o 时,有多大概率确定自己处于状态 s ;
γ[0,1] 是折扣因子。
在某一段时间 T 内, 机器人开始并不确定自己处于哪个状态。首先,机器人用传感器收集环境数据, O(o|s) 表示机器人在观测到 o 之后,有多大概率确定自己处于状态 s. 举个例子, o() 表示有阳光, s() 表示晴天,那么我们在晴天的时候有可能看到阳光,也有可能躺在屋子里看不到阳光(观测的不确定性),但当我们看到阳光时,我们应该有很大把握确信今天是晴天。然后,机器人根据自己最可能处于哪个状态,进行下一步动作 a. P(s|s,a) 表示机器人执行动作 a 后,到达状态 s 的概率, R(s,a) 表示执行该动作带来的收益。上述过程不断重复直到终点。我们的目标是为机器人选择每一步的动作 a 来最大化累计收益值: E[t=0γtrt]. 折扣因子 γ 决定了最近的收益和未来的收益哪个对机器人影响更大。 γ=0 表示机器人只关心下一次行动中选择哪个动作可以获得最大收益,因为之后的动作收益均为0; γ=1 表示机器人更关心接下来所有动作的收益和。

这里再解释一下:在POMDP模型中,机器人不能确信自己处于哪个状态,机器人对下一步动作选择的决策基础是当前所处状态的概率,就是说最有可能处于哪个状态。所以,机器人需要通过传感器收集环境信息(观测值),来更新自己对当前所处状态的可信度。这时,就会有一些称之为“信息收集”的动作出现了,它们并不是直接把机器人导向目标点,而是作为一个缓冲,让机器人先运动到临近的位置,在这个临近的位置上收集到的环境信息可能加大机器人对自己所处状态的可信度。这样,在非常确信自己所处的状态之后,机器人做出的动作决策才是更有效的。

2.置信度更新
首先说明置信空间的概念,它表示机器人对自己目前所处状态的可信度,用 b(s) 表示。在机器人轨迹规划中,机器人到达状态 s, 观测到环境信息 oΩ, 这整个过程发生的概率可以用 O(o|s,a) 来表示。那么置信度的更新可以迭代地表示为:

b(s)=ηO(o|s)sST(s|s,a)b(s),   (1)
其中 η=1/Pr(o|b,a) 是一个标准化因子(normalizing constant):
Pr(o|b,a)=sSO(o|s)sST(s|s,a)b(s).   (2)

3.Belief MDP
这个中文实在是不好翻译。
在POMDP中,如果我们把机器人对自己所处状态地可信度也看作是一个”状态“,称之为置信状态。那么POMDP模型的处理就可以回归到MDP模型中。我们用一个五元数 (B,A,τ,r,γ) 来定义 Belief MDP:
B 是建立在POMDP模型基础上的置信状态的有限集合;
A 是和POMDP模型中同样的动作的有限集合( is the same finite set of action as for the original POMDP);
τ 是置信状态转移矩阵;
r:B×AR 是基于置信状态的收益函数;
γ 是折扣因子,和原始POMDP模型中的 γ 意义相同。
在这些参数中, τ 也是从原始POMDP模型中推导出来的:

τ(b|b,a)=oΩPr(b|b,a,o)Pr(o|b,a),   (3)
其中 Pr(o|b,a) 在公式(2)中已经定义,另外:
Pr(b|b,a,o)=1,if the belief update with arguments b,a,o returns b,
Pr(b|b,a,o)=0,otherwise.   (4)

4.算法求解
π specifies an action a=π(b) for any belief b. 目标函数是最大化一个从初始状态 b0 开始的动作序列所带来的累计收益值:

Vπ(b0)=t=0γtr(bt,at)=t=0γtE[R(st,at)|b0,π]   (5)
最优解可以表示为:
π=arg maxπVπ(b0),   (6)
在选择了最优动作序列之后,执行每一步动作的最大收益值可以表示为:
V(b)=maxaA[r(b,a)+γoΩO(o|b,a)V(τ(o,b,a))]   (7)

5.总结
(1)POMDP模型就是多了一步对机器人当前所处状态的判断,因为在实际问题中,机器人对环境的观测是有局限性的,不准确的;所以根据环境观测信息来判断自己的状态也是有偏差的,这种偏差用概率来表示就是机器人有对自己目前所处状态的可信度有多大。
(2)MDP模型是为了解决机器人轨迹规划中动作带来结果的不确定性的问题,POMDP模型是为了解决机器人轨迹规划中对环境观测的不确定性的问题。这两类不确定性正是机器人系统所面临的基本问题,详情可参加我的博文”机器人学中的不确定性“。

6.reference
https://en.wikipedia.org/wiki/Partially_observable_Markov_decision_process

你可能感兴趣的:(算法)