zoukankan      html  css  js  c++  java
  • 马尔科夫决策过程和Bellman方程

    要求:

    1.能够检测到理想的状态

    2.可以多次尝试

    3.系统的下个状态只与当前状态信息有关,而与更早之前的状态无关,在决策过程中还和当前采取的动作有关。

    马尔科夫决策过程由五个元素组成:

    S:表示状态集(states)

    A:表示一组动作(actions)

    P:表示状态转移概率Psa表示在当前s∈S,经过a∈A作用后,会转移到的其他状态的概率分布情况。在状态s下执行动作a,转移到s'的概率可以表示为p(s'|s,a)

    R:奖励函数,表示agent采取某个动作后的即时奖励

    y:折扣系数,意味着当下的reward比未来反馈的reward更重要 ΣγtR(st) 0≤γ<1

    上图即为决策过程,可以大致描述为,智能体初始状态为S0,选择一个动作a0,按概率转移矩阵Psa转移到了下一个状态S1,由此反复。

    在马尔科夫决策模型中,有一个状态价值函数:v(s) = E(Ut|St = s),表示t时刻状态s能获得的未来回报的期望,用来衡量某个状态或者状态-动作对的优劣价值,累计奖励的期望。从而就有最优价值函数 v*(s) = max v(s) (表示所有策略下最优累计奖励期望)

    Bellman方程:当前状态的价值和下一步的价值及当前的奖励(Reward)有关  

    Bellman方程用如下公式表示(其中π是给定状态s下,动作a的概率分布,γ为折扣系数):

    vπ(s) = Σa∈A π(a|s)(Rs+ γΣs'∈S Pss'a vπ(s'))

    Pss'a = P(St+1=s'|St=s,At=a)

    vπ(s) = Eπ [Rsa + γ vπ(St+1)|St =s]

    可以理解成,在某状态s下,当前奖励为Rsa,对于a‘∈A和s,会有相应的后续一个或多个状态s',这时需要求每个后续s'对应的价值和其发生概率的乘积,从而计算出bellman中的vπ

  • 相关阅读:
    Notepad++ 6.2.3 发布,开源文本编辑器
    Scrum项目如何获得管理层的支持和合作
    Concurrency Kit 0.2.13 发布,并发工具包
    Orubase:为Windows Phone、Android和iOS平台开发混合本地手机应用程序
    CyaSSL 2.4.6 发布,SSL 加密库
    谷歌移动应用强调设计元素:向极简风格转型
    Bitcoin 0.7.2 发布, 匿名数字货币
    Netty 3.5.11 发布
    LDAP Account Manager 4.0 发布
    Apache Commons Math 3.1 发布
  • 原文地址:https://www.cnblogs.com/zdm-code/p/13873820.html
Copyright © 2011-2022 走看看