MDP最优控制问题转化为可求解的线性规划

发布于:2025-04-14 ⋅ 阅读:(26) ⋅ 点赞:(0)

本文是对 CS287-FA19 Advanced Robotics at UC Berkeley 课程
Lecture 3 Solving Continuous MDPs with Discretization 的个人解读
欢迎交流~

本文内容是关于上面这一页板书的理解
本文内容是关于上面这一页板书的理解

问题背景

一个(离散) MDP,包含:

  • 状态集合: S S S
  • 动作集合: A A A
  • 转移概率: T ( s , a , s ′ ) = P ( s t + 1 = s ′ ∣ s t = s , a t = a ) T(s,a,s') = P(st+1 = s' | st = s, at = a) T(s,a,s)=P(st+1=sst=s,at=a)
  • 即时奖励: R ( s , a , s ′ ) 或 R ( s , a ) R(s,a,s') 或 R(s,a) R(s,a,s)R(s,a)
  • 折扣因子: γ ∈ [ 0 , 1 ] \gamma ∈ [0, 1] γ[0,1]
  • 初始状态分布: μ 0 ( s ) = P ( s 0 = s ) μ₀(s) = P(s₀ = s) μ0(s)=P(s0=s)

目标是最大化期望的累积折扣奖励:
max ⁡ π E [ ∑ t = 0 ∞ γ t R ( s t , a t , s t + 1 ) ]  其中  a t ∼ π ( ⋅ ∣ s t ) . \max_{\pi} \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R(s_t, a_t, s_{t+1})\right] \text{ 其中 } a_t \sim \pi(\cdot|s_t). πmaxE[t=0γtR(st,at,st+1)] 其中 atπ(st).

如何将求解最优策略的问题写成一个带有线性约束的优化问题❓

1. 占用测度 λ ( s , a ) \lambda(s,a) λ(s,a)的定义

在无限视域、带有折扣的设定下,定义占用测度(也称为折扣访问频率)为

λ ( s , a ) = ∑ t = 0 ∞ γ t P ( s t = s ,   a t = a ) , \lambda(s,a)\quad=\quad\sum_{t=0}^\infty\gamma^tP\big(s_t=s,\:a_t=a\big), λ(s,a)=t=0γtP(st=s,at=a),

即在策略 π \pi π下,带有折扣 γ t \gamma^t γt考虑了从 t = 0 t=0 t=0到无穷远将来时刻,“访问”到 ( s , a ) (s,a) (s,a)的"总权重"(概率累加并乘以折扣)。可以把它理解为:

  • γ t \gamma^t γt 折扣因子相当于"越往后越不重要”。
  • P ( s t = s , a t = a ) P( s_t= s, a_t= a) P(st=s,at=a) 是第 t t t 步处在状态 s s s 并采取动作 a a a 的概率。

在最优解中,这个 λ ∗ ( s , a ) \lambda^*(s,a) λ(s,a)会告诉我们在无限时间内 (带折扣权重)"总共"访问 ( s , a ) (s,a) (s,a)的度量。

2 将期望的累积奖励写成对 λ ( s , a ) \lambda(s,a) λ(s,a)的求和

原先的目标:
∑ t = 0 ∞ γ t E [ R ( s t , a t , s t + 1 ) ] \sum_{t=0}^{\infty}\gamma^{t}\mathbb{E}[R(s_t,a_t,s_{t+1})] t=0γtE[R(st,at,st+1)].
现在把期望拆分到每个 ( s , a ) (s,a) (s,a) 上,
因为“某状态-动作”出现的概率正是 P ( s t = s , a t = a ) P(s_t=s,a_t=a) P(st=s,at=a)

  1. 把时刻 t 的概率分量汇总到 λ ( s , a ) \lambda(s,a) λ(s,a):
    ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) = λ ( s , a ) . \sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a)=\lambda(s,a). t=0γtP(st=s,at=a)=λ(s,a).
  2. 期望奖励的关键:当“状态为 s、动作为 a”发生后,下一步到达 s t + 1 s_{t+1} st+1 的分布是由转移概率 T ( s , a , s ′ ) T(s,a,s') T(s,a,s) 给定,因此
    E [ R ( s t , a t , s t + 1 ) ∣ s t = s , a t = a ] = ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) . \mathbb{E}[R(s_t,a_t,s_{t+1})|s_t=s,a_t=a]=\sum_{s'}T(s,a,s')R(s,a,s'). E[R(st,at,st+1)st=s,at=a]=sT(s,a,s)R(s,a,s).
  3. 因此:若考虑所有 ( s , a ) (s,a) (s,a)的访问,期望总奖励可写成
    ∑ s , a ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) × E [ R ( s , a , s t + 1 ) ∣ s , a ] . \sum_{s,a}\sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a)\times\mathbb{E}[R(s,a,s_{t+1})|s,a]. s,at=0γtP(st=s,at=a)×E[R(s,a,st+1)s,a].
    将上面期望替换成 ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s'}T(s,a,s')R(s,a,s') sT(s,a,s)R(s,a,s), 就得到
    ∑ s , a ( ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) ) ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) . \sum_{s,a}( \sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a) )\sum_{s'}T(s,a,s')R(s,a,s'). s,a(t=0γtP(st=s,at=a))sT(s,a,s)R(s,a,s).
    注意中间那一大括号正好是我们定义的 λ ( s , a ) \lambda(s,a) λ(s,a)。于是变成
    ∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) . \sum_{s,a,s'}\lambda(s,a)T(s,a,s')R(s,a,s'). s,a,sλ(s,a)T(s,a,s)R(s,a,s).
    这就是所谓的三重求和形式(对 s , a , s ′ s,a,s' s,a,s的求和)。
  4. 故,最大化的目标可以改写为
    max ⁡ λ ( ⋅ , ⋅ ) ∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) . \max_{\lambda(\cdot,\cdot)}\sum_{s,a,s'}\lambda(s,a)T(s,a,s')R(s,a,s'). maxλ(,)s,a,sλ(s,a)T(s,a,s)R(s,a,s).

这样转化的含义是:如果你知道了“在策略 π \pi π下折扣访问 ( s , a ) (s,a) (s,a)的量是多少,就能直接算出这个策略对累积奖励的贡献,从而把“找最优策略”转换为“找一组 λ ∗ ( s , a ) \lambda*(s,a) λ(s,a)使这个和最大”。

线性规划等价

首先回顾线性规划的定义和要求,
线性规划(LP)通常的标准要素包括:

  1. 决策变量:我们要在它上面做最优决策;
  2. 目标函数:对决策变量的线性组合进行最大化或最小化;
  3. 约束:对决策变量的线性约束(包括不等式/等式);
  4. 非负性

对照我们的占用测度表达:

决策变量与目标函数

• 决策变量: λ ( s , a ) \lambda(s, a) λ(s,a)
• 目标函数:
∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s, a, s'} \lambda(s, a) T(s, a, s') R(s, a, s') s,a,sλ(s,a)T(s,a,s)R(s,a,s)
这对 λ \lambda λ 来说是一个线性项,因为对每个 ( s , a ) , λ ( s , a ) (s, a), \lambda(s, a) (s,a),λ(s,a) 只是被一个常数( ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s'} T(s, a, s') R(s, a, s') sT(s,a,s)R(s,a,s))乘了一下再加和起来。

约束项

流量平衡约束
在无限时域、折扣设定下,流量平衡约束常写作:

∀ s ′ : ∑ a ′ λ ( s ′ , a ′ ) = μ 0 ( s ′ ) + γ ∑ s , a λ ( s , a ) T ( s , a , s ′ ) . \forall s': \sum_{a'} \lambda(s',a') = \mu_0(s') + \gamma \sum_{s,a} \lambda(s,a) T(s,a,s'). s:aλ(s,a)=μ0(s)+γs,aλ(s,a)T(s,a,s).

含义是:
(左侧)下一个时刻带折扣访问到状态 s ′ s' s的总量",等于
(右侧)初始就处于 s ′ s' s的量 + 从上一时刻各状态动作转移到 s’ 的量(再乘以折扣 λ \lambda λ)"。

在某种意义上,它像一个“流量守恒”:

  • 左边:在状态 s’ 上的占用总和(对所有动作 a’ 求和,得到“访问状态 s’ 的折扣频率”)。
  • 右边:初始分布 μ 0 ( s ′ ) μ₀(s') μ0(s) + 从前一轮“状态 - 动作 ( s , a ) (s,a) (s,a)”里以概率 T ( s , a , s ′ ) T(s,a,s') T(s,a,s) 跳到 s ′ s' s的折扣流量。

• 线性规划约束:
∑ a ′ λ ( s ′ , a ′ ) − γ ∑ s , a λ ( s , a ) T ( s , a , s ′ ) = μ 0 ( s ′ ) , \sum_{a'} \lambda(s', a') - \gamma \sum_{s, a} \lambda(s, a) T(s, a, s') = \mu_0(s'), aλ(s,a)γs,aλ(s,a)T(s,a,s)=μ0(s),
是一个标准的线性等式约束( λ \lambda λ 仅以一次幂出现,与 λ ( s , a ) \lambda(s, a) λ(s,a) 成线性关系)。

• 非负性约束: λ ( s , a ) ≥ 0 \lambda(s, a) \geq 0 λ(s,a)0

小结

所有这些都满足“线性规划”的结构:

  1. 目标是 c ⊤ x \mathbf{c}^\top \mathbf{x} cx 形式;
  2. 约束是 A x = b A\mathbf{x} = \mathbf{b} Ax=b A x ≤ b A\mathbf{x} \leq \mathbf{b} Axb 之类的线性关系;
  3. 非负性 ( x ≥ 0 \mathbf{x} \geq 0 x0) 。

因此,把 MDP(在折扣条件下)最优策略问题转化为“占用测度形式的 LP”,是完全符合线性规划的要求的。

从最优解 λ ∗ \lambda^* λ得到最优策略

如果想取一个确定性策略(板书中直接记成 Π ∗ ( s ) = arg ⁡ max ⁡ a λ ( s , a ) \Pi^*(s)=\arg\max_a\lambda(s,a) Π(s)=argmaxaλ(s,a)),那就等价于选使 λ ∗ ( s , a ) \lambda^*(s,a) λ(s,a)最大的动作 a a a


网站公告

今日签到

点亮在社区的每一天
去签到