您的位置:首页 > 其它

马尔科夫决策过程

2018-01-25 22:52 344 查看

1 基本模型

马尔科夫决策过程的基本模型是一个四元组<S,A,T,R><S,A,T,R>

状态空间SS:指智能体所有可能相处的状态的集合

行为空间AA:指智能体在所有状态上可能采取的行为集合

状态转移函数T:S×A×S′→[0,1]T:S×A×S′→[0,1],T(s,a,s′)T(s,a,s′)表示在状态ss采取动作aa转移到状态s′s′的概率,有∑s′ST(s,a,s′)=1∑s′ST(s,a,s′)=1

收益函数R:S×A→RR:S×A→R,在这儿一般用R(s,a)R(s,a)表示在状态ss采取动作aa得到的立即收益。

2 模型的意义

马尔科夫决策过程模型的意义在于对智能体所处的每一个状态ss给出一个最优的行为,在这里将之称为策略,用π(s)π(s)表示。这个行为要以智能体获得的长期报酬的期望最大化为目标,即maxE[∑tRt(st,at)]maxE[∑tRt(st,at)]。RtRt表示智能体在第tt步得到的报酬。为了保证模型收敛可解,这里通常会引入一个折扣因子γ,0<γ<1γ,0<γ<1,这时长期报酬就可写为maxE[∑tγtRt(st,at)]maxE[∑tγtRt(st,at)]。

定义智能体的值函数Vπ:S→RVπ:S→R为在状态ss,采用策略ππ的期望报酬

Vπ(s)=E[∑∞t=0γtRt(st,at)](1)(1)Vπ(s)=E[∑t=0∞γtRt(st,at)]

对公式1利用全概率公式递归展开可得

Vπ(s)=R(s,π(s))+γ∑s′∈STπ(s)(s,s′)Vπ(s)(s′)(2)(2)Vπ(s)=R(s,π(s))+γ∑s′∈STπ(s)(s,s′)Vπ(s)(s′)

为了更好的描述策略,定义一个行为值函数的概念Qπ:S×A→RQπ:S×A→R,表示在状态ss采取行为aa,其他状态继续采用策略ππ所得到的报酬,计算方法如下,

Qπ(s,a)=R(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)(3)(3)Qπ(s,a)=R(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)

为了得到最大的报酬,有

π(s)=argmaxa∈AQπ(s,a)(4)(4)π(s)=arg⁡maxa∈AQπ(s,a)



π(s)=argmaxa∈AR(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)(5)(5)π(s)=arg⁡maxa∈AR(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)

结合公式2可得,

Vπ(s)=maxa∈AR(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)(6)(6)Vπ(s)=maxa∈AR(s,a)+γ∑s′∈STa(s,s′)Vπ(s′)

3 模型的求解

值迭代

算法流程如下

对所有的s∈Ss∈S 随机初始化V(s)=0V(s)=0

根据公式6,对V(s)V(s)进行更新,直至收敛

与线性方程组的迭代解法类似,值迭代流程的第二步可以采用同步和异步的不同方式进行更新。

策略迭代

对所有的s∈Ss∈S,随机初始化策略π(s)π(s)

根据公式6对V(s)进行更新,根据公式5,对策略进行更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: