马尔可夫决策过程(MDP)简介

下一个状态St+1S_{t+1}St+1​是从概率分布P中得到的,该概率分布P取决于整个历史,因此我们需要考虑从s0s_0s0​开始到t时刻的状态。马尔可夫是具有马尔可夫性质的随机过程

  • 定义
    P[St+1∣St]=P[St+1∣S1,...,St]\Bbb{P}[S_{t+1}|S_t]=\Bbb{P}[S_{t+1}|S_1,...,S_t] P[St+1​∣St​]=P[St+1​∣S1​,...,St​]

“The future is independent of the past given the present”
也就是说,未来只与现在有关,与过去无关,根据现在可以推衍未来(过去无可挽回,未来可以知晓)。如此问题就简化了,得到St+1S_{t+1}St+1​,只需要知道StS_{t}St​

  • 性质

    • 状态从历史(history)中捕获了所有相关信息S=f(H)S=f(H)S=f(H)
    • 当状态已知的时候,可以抛开历史不管
    • 也就是说,当前状态是未来的充分统计量

举例:马尔可夫性质意味着t时刻的状态(和动作)包含了足够的信息来完全确定t+1时刻的下一个状态转移概率。斐波那契序列,可以用动态规划的方式让式子st+1=st−1+sts_{t+1}=s_{t-1}+s_{t}st+1​=st−1​+st​成立。

  • MDP五元组

    • SSS是状态的集合
    • AAA是动作的集合
    • PsaP_{sa}Psa​是状态转移函数
    • γ∈[0,1]\gamma \in [0,1]γ∈[0,1]是对未来奖励的折扣因子
    • RRR是奖励,有时候仅仅与状态有关系

动态过程


如上图所示,MDP的动态过程如下:

  • 从状态s0s_0s0​开始
  • 智能体(Agent)选择一个动作a0∈Aa_0\in Aa0​∈A
  • 智能体获得奖励R(s0,a0)R(s_0,a_0)R(s0​,a0​)
  • MDP随机转移到下一个状态s1s_1s1​~ Ps0a0P_{s_0a_0}Ps0​a0​​

上述过程会不断循环执行,直至终止状态StS_tSt​出现

贝尔曼方程

贝尔曼方程

贝尔曼方程是对价值函数的一个简化,可将价值函数分解为及时奖励和衰减后的未来奖励之和
V(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+...)∣St=s]=Eπ[Rt+1+γV(s)∣St=s]V(s)=\Bbb{E}_\pi[G_{t}|S_t=s]{\kern 135pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...|S_t=s]{\kern 4pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+...)|S_t=s]{\kern 0pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma V(s)|S_t=s]{\kern 65pt} V(s)=Eπ​[Gt​∣St​=s]=Eπ​[Rt+1​+γRt+2​+γ2Rt+3​+...∣St​=s]=Eπ​[Rt+1​+γ(Rt+2​+γRt+3​+...)∣St​=s]=Eπ​[Rt+1​+γV(s)∣St​=s]
同理,动作价值函数可以表示为:
Q(s)=E[Rt+1+γV(s)∣St=s,At=a]=E[Rt+1+γEa∼πQ(St+1,a)∣St=s,At=a]Q(s)=\Bbb{E}[R_{t+1}+\gamma V(s)|S_t=s,A_t=a]{\kern 64pt}\\ =\Bbb{E}[R_{t+1}+\gamma \Bbb{E}_{a\sim\pi}Q(S_{t+1,a})|S_t=s,A_t=a]{\kern 0pt} Q(s)=E[Rt+1​+γV(s)∣St​=s,At​=a]=E[Rt+1​+γEa∼π​Q(St+1,a​)∣St​=s,At​=a]

贝尔曼期望方程

PsaP_{sa}Psa​是状态转移概率,有其它的写法Psπ(s)P_{s\pi(s)}Psπ(s)​、Pss′aP_{ss'}^aPss′a​,表示在当前的状态s,经过动作a后,转移到其它状态的概率分布。

Vπ(s)=Eπ[Rt+1+γVπ(s)∣St=s]=R(s)+γ∑s′∈SPss′aVπ(s′)V_\pi(s)=\Bbb{E}_\pi[R_{t+1}+\gamma V_\pi(s)|S_t=s]{\kern 18pt}\\ =R(s)+\gamma \sum_{s'\in S}P_{ss'}^aV_\pi(s'){\kern 0pt} Vπ​(s)=Eπ​[Rt+1​+γVπ​(s)∣St​=s]=R(s)+γs′∈S∑​Pss′a​Vπ​(s′)
同理
Qπ(s)=R(s,a)+γ∑s′∈SPss′a∑a′∈Aπ(a′∣s′)Qπ(s′,a′)Q_\pi(s)=R(s,a)+\gamma \sum_{s'\in S}P_{ss'}^a\sum_{a'\in A}\pi(a'|s')Q_\pi(s',a'){\kern 0pt} Qπ​(s)=R(s,a)+γs′∈S∑​Pss′a​a′∈A∑​π(a′∣s′)Qπ​(s′,a′)

贝尔曼最优方程

对状态

马尔可夫决策过程和贝尔曼方程相关推荐

  1. 二、马尔可夫决策过程与贝尔曼方程

    这里写目录标题 1 马尔可夫性质 2 马尔可夫过程 3 马尔可夫奖励过程(Markov reward process, MRP) 3.1 MRP的贝尔曼方程 3.2 MRP的贝尔曼方程求解方法 3.3 ...

  2. 强化学习: 贝尔曼方程与马尔可夫决策过程

    强化学习: 贝尔曼方程与马尔可夫决策过程 一.简介 贝尔曼方程和马尔可夫决策过程是强化学习非常重要的两个概念,大部分强化学习算法都是围绕这两个概念进行操作.尤其是贝尔曼方程,对以后理解蒙特卡洛搜索.时 ...

  3. 【学习笔记】传说中的马尔可夫决策过程(MDP)和贝尔曼方程(Bellman Equation)

    最近读了几篇paper,都着重涉及到了强化学习,都点到了马尔可夫决策过程(Markov Decision Process) 和贝尔曼方程或者叫贝尔曼等式(Bellman Equation),捧着似懂非 ...

  4. DeepMind 的马尔可夫决策过程(MDP)课堂笔记

    DeepMind Teaching by David Silver 视频课程链接(Youtube资源,需梯子):https://youtu.be/lfHX2hHRMVQ 文章目录 DeepMind T ...

  5. 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)

    引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名.马尔可夫过程是不具备记忆特质的(memoryless ...

  6. (二)马尔可夫决策过程

      从第一章中了解到强化学习中,智能体通过和环境进行交互获得信息.这个交互过程可以通过马尔可夫决策过程来表示,所以了解一下什么是MDP至关重要.   不过在了解马尔可夫决策过程之前,先要一些预备知识, ...

  7. 马尔可夫决策过程(MDP)

    目录 智能体与环境 马尔科夫决策过程 智能体与环境 强化学习问题不同于传统机器学习问题,它是一种在交互的过程中学习并实现目标的问题.这里把具有学习能力和决策能力的程序或系统称之为Agent(代理,智能 ...

  8. 系统学习机器学习之增强学习(五)--马尔可夫决策过程策略TD求解(SARSA)

    转自:https://www.cnblogs.com/pinard/p/9529828.html 1.时间差分法(temporal difference) 蒙特卡洛方法,需要所有的采样序列都是经历完整 ...

  9. 强化学习蘑菇书Easy RL第二、三章学习(马尔可夫决策过程、表格型方法)

    马尔可夫决策过程概述 Markov Process(MP)通常来说是未来状态的条件概率分布仅依赖于当前的状态.在离散随机过程里,我们需要把随机变量所有可能取值的集合放到一个状态空间里,在强化学习里,我 ...

最新文章

  1. ​对标GPT-3、AlphaFold,智源研究院发布超大规模智能模型系统“悟道1.0”
  2. 原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现
  3. 读书笔记之:C/C++程序员实用大全—C/C++最佳编程指南
  4. unix 存储空间不足 无法处理此命令_大数据分析命令行使用教程
  5. 【Android 逆向】修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )
  6. Kubernetes中的nodePort,targetPort,port的区别和意义
  7. 工业用微型计算机(28)-dos和bios功能调用(2)-int 21h
  8. 头像星球html,HTML5 Canvas 星球大战黑武士头像
  9. 企业实战_16_MyCat全局自增ID
  10. php如何统计数组的个数,如何用php统计数组元素的个数(附代码)
  11. Anbox之push_locked与pop_locked(十三)
  12. Android中添加手心默认输入法,并能卸载
  13. windows pip install 报错
  14. windows phone8.1开发书籍,教程,资源汇总
  15. 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
  16. java-计算球体积
  17. Python自动化之Excel去除相同数据
  18. mac命令行挂载群晖nas
  19. 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?
  20. Java:IO流的概念、作用、分类

热门文章

  1. nuc7 android tv,NUC7PJYH HDMI在特定显示屏上出现问题
  2. 手把手教你给女朋友编写一个公众号定时推送(java版本)
  3. SAP 采购订单入库——移动类型
  4. 无盘服务器文件管理,云图管家文档图纸管理软件
  5. 计算机蓝屏无法启动代码50,教您电脑蓝屏代码 0x00000050 如何快速修复
  6. [Flink 日记]Exceeded checkpoint tolerable failure threshold.
  7. 让IE支持placeholder属性
  8. java for循环 等待_在forEach循环中使用异步/等待
  9. 2013中国企业500强榜单出炉
  10. java 3D学习笔记