当前位置: 首页 > news >正文

马尔可夫决策过程

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=jX0,a0,X1,a1,...,Xn=i,an=1}=P{Xnn+1=jXn=i,an=a}
状态转移家族很取决于XnX_nXnana_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), aA,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)=1i,ai
所以对于某个策略β⃗\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=jXn=i}=aPij(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=lim⁡n→∞Pβ⃗{Xn=i,an=a}\pi_{ia} = \lim _{n\rightarrow \infin} P_{\vec{\beta}}\{X_n = i, a_n = a\} πia=nlimPβ{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} πia0, i,aiaπia=1aπja=iaπiaPij(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} Pia0, i,aiaPia=1Pja=iaPiaPij(a)βj(a)
第三个式子的推导过程如下
Pja=lim⁡n→∞Pβ⃗{Xn+1=j,an+1=a}=lim⁡n→∞∑i,a′Pβ⃗{Xn+1=j,an+1=a∣Xn=i,an=a′}Pβ⃗{Xn=i,an=a′}=lim⁡n→∞∑i,a′Pβ⃗{Xn+1=j,an+1=a∣Xn=i,an=a′}Pia′=lim⁡n→∞∑i,a′Pβ⃗{an+1=a∣Xn+1=j,Xn=i,an=a′}Pβ⃗{Xn+1=j∣Xn=i,an=a′}Pia′=lim⁡n→∞∑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=nlimPβ{Xn+1=j,an+1=a}=nlimi,aPβ{Xn+1=j,an+1=aXn=i,an=a}Pβ{Xn=i,an=a}=nlimi,aPβ{Xn+1=j,an+1=aXn=i,an=a}Pia=nlimi,aPβ{an+1=aXn+1=j,Xn=i,an=a}Pβ{Xn+1=jXn=i,an=a}Pia=nlimi,aPβ{an+1=aXn+1=j}Pβ{Xn+1=jXn=i,an=a}Pia=i,aβj(a)Pij(a)Pia=iaPiaPij(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} πia0, i,aiaπia=1aπja=iaπiaPij(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} Pia0, i,aiaPia=1Pja=iaPiaPij(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) aPja=aiaPiaPij(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=aP{状态为i(状态为i)选择行动a}Pia=aPiaPia
不难看出, 只要让策略β⃗\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β⃗=lim⁡n→∞[∑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β=nlimni=1nR(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β=iaπ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.    iaπiaR(i,a)πia0iaπia=1aπja=iaπiaPij(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
即可.

http://www.lryc.cn/news/33222.html

相关文章:

  • win11下载配置CIC Flowmeter环境并提取流量特征
  • JDK如何判断自己是什么公司的
  • 大数据技术之HBase(二)HBase原理简介
  • 垒骰子(爆搜/DP)
  • Telink之标准SDK的介绍_1
  • JNI内两种方式从C/C++中传递一维、二维、三维数组数据至Java层详细梳理
  • 快递计费系统--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
  • JS - 自定义一周的开始和结束,计算日期所在月的周数、所在月第几周、所在周的日期范围
  • Linux :理解编译的四个阶段
  • 197.Spark(四):Spark 案例实操,MVC方式代码编程
  • Vue 项目如何迁移小程序
  • unit1-问候以及介绍
  • 杂记——19.git上传时出现the remote end hung up unexpectedly错误
  • python123平台题目
  • ROS学习笔记(六):TF坐标变换
  • 【python】为你绘制玫瑰一束,爱意永存
  • 智能家居创意产品一Homkit智能通断器
  • 【数据库】MySQL表的增删改查(基础命令详解)
  • 2023年全国最新保安员精选真题及答案15
  • KPN对任意形状文本检测
  • 同城外卖跑腿系统源码分析
  • SCL_PFENET跑通填坑
  • Redis 做延迟消息队列
  • 刚果金FERI证书模板
  • 什么是蜕变测试?
  • 74. ‘pip‘不是内部或外部命令,也不是可运行的程序-解决办法
  • MIL图像处理那些事:应用程序模块(Mapp)- 初始化和控制MIL应用程序的执行环境
  • Pytorch基础语法学习2——argparse模块
  • CHAPTER 2 目录及文件
  • 2021牛客OI赛前集训营-提高组(第四场) T1最终测试