马尔科夫决策过程

1 基本模型

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

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

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

状态转移函数 T : S × A × S ′ → [ 0 , 1 ] T:S\times A\times S&#x27;\rightarrow[0,1] TS×A×S[0,1] T ( s , a , s ′ ) T(s,a,s&#x27;) T(s,a,s)表示在状态 s s s采取动作 a a a转移到状态 s ′ s&#x27; s的概率,有 ∑ s ′ ∈ S T ( s , a , s ′ ) = 1 \sum_{s&#x27; \in S}T(s,a,s&#x27;)=1 sST(s,a,s)=1

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

2 模型的意义

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

max ⁡ E [ ∑ t γ t R t ( s t , a t ) ] \max E[\sum_t \gamma^t R_t(s_t,a_t)] maxE[tγtRt(st,at)]

定义智能体的值函数 V π : S → R V^{\pi}:S\rightarrow R Vπ:SR为在状态 s s s,采用策略 π \pi π的期望报酬

V π ( s ) = E [ ∑ t = 0 ∞ γ t R t ( s t , a t ) ] V^{\pi}(s)=E[\sum_{t=0}^{\infty} \gamma^t R_t(s_t,a_t)] Vπ(s)=E[t=0γtRt(st,at)]

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

V π ( s ) = R ( s , π ( s ) ) + γ ∑ s ′ ∈ S T π ( s ) ( s , s ′ ) V π ( s ) ( s ′ ) V^{\pi}(s)=R(s,\pi(s))+\gamma \sum_{s&#x27;\in S}T^{\pi(s)}(s,s&#x27;)V^{\pi(s)}(s&#x27;) Vπ(s)=R(s,π(s))+γsSTπ(s)(s,s)Vπ(s)(s)

为了更好的描述策略,定义一个行为值函数的概念 Q π : S × A → R Q^{\pi}:S\times A\rightarrow R Qπ:S×AR,表示在状态 s s s采取行为 a a a,其他状态继续采用策略 π \pi π所得到的报酬,计算方法如下,

Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S T a ( s , s ′ ) V π ( s ′ ) Q^{\pi}(s,a)=R(s,a)+\gamma \sum_{s&#x27;\in S}T^{a}(s,s&#x27;)V^{\pi}(s&#x27;) Qπ(s,a)=R(s,a)+γsSTa(s,s)Vπ(s)

为了得到最大的报酬,有

π ( s ) = arg ⁡ max ⁡ a ∈ A Q π ( s , a ) \pi(s) = \arg\max_{a \in A} Q^{\pi}(s,a) π(s)=argmaxaAQπ(s,a)

π ( s ) = arg ⁡ max ⁡ a ∈ A R ( s , a ) + γ ∑ s ′ ∈ S T a ( s , s ′ ) V π ( s ′ ) \pi(s) = \arg\max_{a \in A} R(s,a)+\gamma \sum_{s&#x27;\in S}T^{a}(s,s&#x27;)V^{\pi}(s&#x27;) π(s)=argmaxaAR(s,a)+γsSTa(s,s)Vπ(s)

结合公式2可得,

V π ( s ) = max ⁡ a ∈ A R ( s , a ) + γ ∑ s ′ ∈ S T a ( s , s ′ ) V π ( s ′ ) V^{\pi}(s) =\max_{a \in A} R(s,a)+\gamma \sum_{s&#x27;\in S}T^{a}(s,s&#x27;)V^{\pi}(s&#x27;) Vπ(s)=maxaAR(s,a)+γsSTa(s,s)Vπ(s)

3 模型的求解
值迭代

算法流程如下


  1. 对所有的 s ∈ S s\in S sS 随机初始化 V ( s ) = 0 V(s) = 0 V(s)=0
  2. 根据公式6,对 V ( s ) V(s) V(s)进行更新,直至收敛

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

策略迭代

  1. 对所有的 s ∈ S s\in S sS,随机初始化策略 π ( s ) \pi(s) π(s)
  2. 根据公式6对V(s)进行更新,根据公式5,对策略进行更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值