马尔可夫决策过程
1. 马尔可夫决策过程
马尔可夫决策过程不过是引入"决策"的马氏过程.
Pij(a)=P{Xn+1=j∣X0,a0,X1,a1,...,Xn=i,an=1}=P{Xnn+1=j∣Xn=i,an=a}\begin{split} P_{ij}(a) &= P\{X_{n+1} = j|X_0, a_0, X_1, a_1, ..., X_n = i, a_n = 1\} \\ &=P\{X_n{n+1} = j|X_n = i, a_n = a\} \end{split} Pij(a)=P{Xn+1=j∣X0,a0,X1,a1,...,Xn=i,an=1}=P{Xnn+1=j∣Xn=i,an=a}
状态转移家族很取决于XnX_nXn和ana_nan.
引入"随机化"的策略(policy)----------β⃗\vec{\beta}β, 就是所谓的"因时制宜".
β⃗={βi(a),a∈A,i=1,2,...M}\vec{\beta} = \{\beta_i(a),\ a\in A, i = 1,2,...M \} β={βi(a), a∈A,i=1,2,...M}
AAA表示行动集, "智能体"从行动集中选取其中一个元素/行动.
对于某个特定的βi(a)\beta_i(a)βi(a), 其意义为: 在状态iii下, 选取行动aaa的概率.
易知
{0≤βi(a)≤1∀i,a∑aβi(a)=1∀i\begin{cases} 0 \leq\beta_i(a) \leq 1 \ \ \ \ \ &\forall i,a \\ \sum \limits_a \beta_i(a) = 1 &\forall i \end{cases} ⎩⎨⎧0≤βi(a)≤1 a∑βi(a)=1∀i,a∀i
所以对于某个策略β⃗\vec{\beta}β下的MDP, 相应的状态转移概率可以表示如下:
Pij(β⃗)=Pβ⃗{Xn+1=j∣Xn=i}=∑aPij(a)βi(a)\begin{split} P_{ij}(\vec{\beta}) &= P_{\vec{\beta}}\{X_{n+1} = j|X_n = i\} \\ &=\sum \limits_a P_{ij}(a)\beta_i(a) \end{split} Pij(β)=Pβ{Xn+1=j∣Xn=i}=a∑Pij(a)βi(a)
从这一状态转移概率的表达式, 可以很清楚地看到MDP和MP的不同:
马氏链的状态转移概率是一个单纯的数, 而MDP的状态转移概率不仅有一个"策略"的前提, 而且是一个加权和, 一个不同行动下, i到j的状态转移概率的加权和, 权重就是( 给定策略β⃗\vec{\beta}β下 )选取行动aaa的概率βi(a)\beta_i(a)βi(a).
假设对于任意的策略β⃗\vec{\beta}β, 所导致的马氏链{Xn,n=0,1,...}\{X_n, n=0,1,...\}{Xn,n=0,1,...}都是各态历经的(ergodic).
下面我们来证明MDP中最重要的一个命题.
对于任意策略β⃗\vec{\beta}β, 记πia\pi_{ia}πia为, “给定策略β⃗\vec{\beta}β下, 稳态情形时(n→∞)(n\rightarrow \infin)(n→∞)MDP既处于状态iii又采取了行动aaa的概率”, 即
πia=limn→∞Pβ⃗{Xn=i,an=a}\pi_{ia} = \lim _{n\rightarrow \infin} P_{\vec{\beta}}\{X_n = i, a_n = a\} πia=n→∞limPβ{Xn=i,an=a}
易知π⃗=(πia)\vec{\pi} = (\pi_{ia})π=(πia)是一个类似表示概率分布的东西(分布向量或者分布矩阵), 而且对于π⃗\vec{\pi}π, 必须满足:
{πia≥0,∀i,a∑i∑aπia=1∑aπja=∑i∑a′πia′Pij(a′)∀j\begin{cases} \pi_{ia} \geq 0, \ \forall i, a \\ \sum \limits_i \sum \limits_a \pi_{ia} = 1 \\ \sum \limits_a \pi_{ja} = \sum \limits_i \sum \limits_{a'} \pi_{ia'}P_{ij}(a') \ \forall j \end{cases} ⎩⎨⎧πia≥0, ∀i,ai∑a∑πia=1a∑πja=i∑a′∑πia′Pij(a′) ∀j
三个条件对应的方程, 其物理含义都是显然的, 其中, 第三个条件方程的左边代表稳态时MDP处于状态jjj的概率, 而等式右边则是状态jjj对应的"切面包定理".
因此, 我们我们可以说, 在MDP中, 对于任意一个策略β⃗\vec{\beta}β, 都会存在某个满足上述三个条件的概率分布向量π⃗\vec{\pi}π.
但是, 反过来也是成立的:
对于任意一个(二维)概率分布向量π⃗,如果该向量满足上述三个条件,则必然存在一个策略为β⃗的马尔科夫决策过程,使得稳态时,其既处于状态i又采取了行动a的概率恰好等于πia\begin{split} &对于任意一个(二维)概率分布向量\vec{\pi}, 如果该向量满足上述三个条件, 则必然存在\\ &一个策略为\vec{\beta}的马尔科夫决策过程, 使得稳态时, 其既处于状态i又采取了行动a的\\ &概率恰好等于\pi_{ia} \end{split} 对于任意一个(二维)概率分布向量π,如果该向量满足上述三个条件,则必然存在一个策略为β的马尔科夫决策过程,使得稳态时,其既处于状态i又采取了行动a的概率恰好等于πia
证明这一反命题的思路, 是要构造那个策略β⃗\vec{\beta}β, 这个策略肯定不是凭空产生的, 而是要根据上述三个条件, 和从马氏链的性本身入手.
我们先形式地写出一个MDP, 和一个策略β⃗\vec{\beta}β.
我们将该MDP使用策略β⃗\vec{\beta}β的稳态情形时, 既处于状态iii又采取了行动aaa的概率记为PiaP_{ia}Pia.
如果策略β⃗\vec{\beta}β真的存在, Pia=πiaP_{ia} = \pi_{ia}Pia=πia就会成立.
我们先看看PiaP_{ia}Pia满足什么样的性质.
易知
{Pia≥0,∀i,a∑i∑aPia=1Pja=∑i∑a′Pia′Pij(a′)βj(a)\begin{cases} P_{ia} \geq 0 , \ \forall i, a \\ \sum \limits_i \sum \limits_a P_{ia} = 1 \\ P_{ja} = \sum \limits_i \sum \limits_{a'} P_{ia'}P_{ij}(a')\beta_j(a) \end{cases} ⎩⎨⎧Pia≥0, ∀i,ai∑a∑Pia=1Pja=i∑a′∑Pia′Pij(a′)βj(a)
第三个式子的推导过程如下
Pja=limn→∞Pβ⃗{Xn+1=j,an+1=a}=limn→∞∑i,a′Pβ⃗{Xn+1=j,an+1=a∣Xn=i,an=a′}Pβ⃗{Xn=i,an=a′}=limn→∞∑i,a′Pβ⃗{Xn+1=j,an+1=a∣Xn=i,an=a′}Pia′=limn→∞∑i,a′Pβ⃗{an+1=a∣Xn+1=j,Xn=i,an=a′}Pβ⃗{Xn+1=j∣Xn=i,an=a′}Pia′=limn→∞∑i,a′Pβ⃗{an+1=a∣Xn+1=j}Pβ⃗{Xn+1=j∣Xn=i,an=a′}Pia′=∑i,a′βj(a)Pij(a′)Pia′=∑i∑a′Pia′Pij(a′)βj(a)\begin{split} P_{ja} &= \lim _{n\rightarrow \infin} P_{\vec{\beta}}\{X_{n+1} = j, a_{n+1} = a\} \\ &=\lim _{n\rightarrow \infin} \sum \limits_{i,a'}P_{\vec{\beta}}\{X_{n+1} = j, a_{n+1} = a|X_n = i, a_n = a'\}P_{\vec{\beta}}\{X_{n} = i, a_{n} = a'\} \\ &=\lim _{n\rightarrow \infin} \sum \limits_{i,a'}P_{\vec{\beta}}\{X_{n+1} = j, a_{n+1} = a|X_n = i, a_n = a'\}P_{ia'} \\ &=\lim _{n\rightarrow \infin} \sum \limits_{i,a'}P_{\vec{\beta}}\{ a_{n+1} = a|X_{n+1} = j,X_n = i, a_n = a'\}P_{\vec{\beta}}\{X_{n+1} = j|X_n = i, a_n = a'\}P_{ia'} \\ &=\lim _{n\rightarrow \infin} \sum \limits_{i,a'}P_{\vec{\beta}}\{ a_{n+1} = a|X_{n+1} = j\}P_{\vec{\beta}}\{X_{n+1} = j|X_n = i, a_n = a'\}P_{ia'} \\ &= \sum \limits_{i,a'}\beta_j(a) P_{ij}(a') P_{ia'} \\ &=\sum \limits_i \sum \limits_{a'} P_{ia'}P_{ij}(a')\beta_j(a) \end{split} Pja=n→∞limPβ{Xn+1=j,an+1=a}=n→∞limi,a′∑Pβ{Xn+1=j,an+1=a∣Xn=i,an=a′}Pβ{Xn=i,an=a′}=n→∞limi,a′∑Pβ{Xn+1=j,an+1=a∣Xn=i,an=a′}Pia′=n→∞limi,a′∑Pβ{an+1=a∣Xn+1=j,Xn=i,an=a′}Pβ{Xn+1=j∣Xn=i,an=a′}Pia′=n→∞limi,a′∑Pβ{an+1=a∣Xn+1=j}Pβ{Xn+1=j∣Xn=i,an=a′}Pia′=i,a′∑βj(a)Pij(a′)Pia′=i∑a′∑Pia′Pij(a′)βj(a)
对比上下的三条件方程组:
{πia≥0,∀i,a∑i∑aπia=1∑aπja=∑i∑a′πia′Pij(a′)∀j\begin{cases} \pi_{ia} \geq 0, \ \forall i, a \\ \sum \limits_i \sum \limits_a \pi_{ia} = 1 \\ \sum \limits_a \pi_{ja} = \sum \limits_i \sum \limits_{a'} \pi_{ia'}P_{ij}(a') \ \forall j \end{cases} ⎩⎨⎧πia≥0, ∀i,ai∑a∑πia=1a∑πja=i∑a′∑πia′Pij(a′) ∀j
和
{Pia≥0,∀i,a∑i∑aPia=1Pja=∑i∑a′Pia′Pij(a′)βj(a)\begin{cases} P_{ia} \geq 0 , \ \forall i, a \\ \sum \limits_i \sum \limits_a P_{ia} = 1 \\ P_{ja} = \sum \limits_i \sum \limits_{a'} P_{ia'}P_{ij}(a')\beta_j(a) \end{cases} ⎩⎨⎧Pia≥0, ∀i,ai∑a∑Pia=1Pja=i∑a′∑Pia′Pij(a′)βj(a)
易知, 求出策略β⃗\vec{\beta}β要在最后一个方程做文章.
将下面的方程组中的最后一个方程改为:
∑aPja=∑a∑i∑a′Pia′Pij(a′)βj(a)\sum \limits_aP_{ja} = \sum \limits_a \sum \limits_i \sum \limits_{a'} P_{ia'}P_{ij}(a')\beta_j(a) a∑Pja=a∑i∑a′∑Pia′Pij(a′)βj(a)
如果Pia=πiaP_{ia} = \pi_{ia}Pia=πia成立, 则应该有
∑aβj(a)=1\sum \limits_a \beta_j(a) = 1 a∑βj(a)=1
由βi(a)=P{β⃗选择a∣状态为i}\beta_i(a) = P\{\vec{\beta} 选择 a|状态为i\}βi(a)=P{β选择a∣状态为i}的物理意义, 且根据条件概率
P{β⃗选择a∣状态为i}=P{β⃗选择a且 状态为i}P{状态为i}=PiaP{状态为i}=Pia∑aP{状态为i∣(状态为i时)选择行动a}=Pia∑aPia\begin{split} P\{\vec{\beta} 选择 a|状态为i\} &= \frac{P\{\vec{\beta} 选择 a \ 且 \ 状态为i\}}{P\{状态为i\}} \\ &=\frac{P_{ia}}{P\{状态为i\}} \\ &=\frac{P_{ia}}{\sum \limits_{a} P\{状态为i|(状态为i时)选择行动a\}} \\ &=\frac{P_{ia}}{\sum \limits_{a}P_{ia}} \end{split} P{β选择a∣状态为i}=P{状态为i}P{β选择a 且 状态为i}=P{状态为i}Pia=a∑P{状态为i∣(状态为i时)选择行动a}Pia=a∑PiaPia
不难看出, 只要让策略β⃗\vec{\beta}β满足
βi(a)=πia∑aπia\beta_i(a) = \frac{\pi_{ia}}{\sum \limits_{a}\pi_{ia}} βi(a)=a∑πiaπia
即可. 这就证明了策略的存在性. 则就证明了命题.
这个命题的重要性, 在于去确定某种条件下最优的策略. 假定我们有一个MDP, 而且我们知道, 在处于状态iii时, 采取行动aaa能获得回报R(i,a)R(i, a)R(i,a), 则R(Xn,an)R(X_n, a_n)R(Xn,an)就是我们在nnn时刻所得到的收益.
则统计意义下, 给定策略β⃗\vec{\beta}β, MDP所进行的每一步的平均收益就是
Eβ⃗=limn→∞[∑i=1nR(Xi,ai)n]E_{\vec{\beta}} = \lim_{n\rightarrow \infin} \left[\frac{\sum \limits_{i=1}^{n}R(X_i ,a_i)}{n}\right] Eβ=n→∞limni=1∑nR(Xi,ai)
假设πia\pi_{ia}πia表示"给定策略β⃗\vec{\beta}β下, 稳态情形时(n→∞)(n\rightarrow \infin)(n→∞)MDP既处于状态iii又采取了行动aaa的概率", 则概率意义下, 稳态时MDP的平均收益为:
Eβ⃗=∑i∑aπiaR(i,a)E_{\vec{\beta}} = \sum \limits_i \sum \limits_{a} \pi_{ia}R(i, a) Eβ=i∑a∑πiaR(i,a)
我们上面的命题, 说明了策略和分布的等价性. 因此, 为了最大化每一步的平均收益而去选择一个最优策略β⃗∗\vec{\beta}^*β∗, 实际上等价于去寻找一个所谓的最优分布π⃗∗=(πia)∗\vec{\pi}^* = (\pi_{ia})^*π∗=(πia)∗.
该过程可以用一个优化问题表述:
maxπ⃗∑i∑aπiaR(i,a)s.t.πia≥0∑i∑aπia=1∑aπja=∑i∑a′πia′Pij(a′)∀j\begin{split} \max \limits_{\vec{\pi}} &\sum \limits_i \sum \limits_{a} \pi_{ia}R(i, a) \\ s. t.\ \ \ \ &\pi_{ia} \geq 0 \\ & \sum \limits_i \sum \limits_a \pi_{ia} = 1 \\ & \sum \limits_a \pi_{ja} = \sum \limits_i \sum \limits_{a'} \pi_{ia'}P_{ij}(a') \ \forall j \end{split} πmaxs.t. i∑a∑πiaR(i,a)πia≥0i∑a∑πia=1a∑πja=i∑a′∑πia′Pij(a′) ∀j
这是一个线性规划问题!
如果找到π⃗∗=(πia)∗\vec{\pi}^* = (\pi_{ia})^*π∗=(πia)∗, 则让
βi(a)∗=πia∗∑aπia∗\beta_i(a)^* = \frac{\pi_{ia}^*}{\sum \limits_{a}\pi_{ia}^*} βi(a)∗=a∑πia∗πia∗
即可.