马尔可夫决策过程和贝尔曼方程

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

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

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

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

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

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

  • MDP五元组
    • S S S是状态的集合
    • A A A是动作的集合
    • P s a P_{sa} Psa是状态转移函数
    • γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]是对未来奖励的折扣因子
    • R R R是奖励,有时候仅仅与状态有关系

动态过程


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

  • 从状态 s 0 s_0 s0开始
  • 智能体(Agent)选择一个动作 a 0 ∈ A a_0\in A a0A
  • 智能体获得奖励 R ( s 0 , a 0 ) R(s_0,a_0) R(s0,a0)
  • MDP随机转移到下一个状态 s 1 s_1 s1~ P s 0 a 0 P_{s_0a_0} Ps0a0

上述过程会不断循环执行,直至终止状态 S t S_t St出现

贝尔曼方程

贝尔曼方程

贝尔曼方程是对价值函数的一个简化,可将价值函数分解为及时奖励和衰减后的未来奖励之和
V ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . ∣ S t = s ] = E π [ R t + 1 + γ ( R t + 2 + γ R t + 3 + . . . ) ∣ S t = s ] = E π [ R t + 1 + γ V ( s ) ∣ S t = 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π[GtSt=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 [ R t + 1 + γ V ( s ) ∣ S t = s , A t = a ] = E [ R t + 1 + γ E a ∼ π Q ( S t + 1 , a ) ∣ S t = s , A t = 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]

贝尔曼期望方程

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

V π ( s ) = E π [ R t + 1 + γ V π ( s ) ∣ S t = s ] = R ( s ) + γ ∑ s ′ ∈ S P s s ′ a V π ( 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)+γsSPssaVπ(s)
同理
Q π ( s ) = R ( s , a ) + γ ∑ s ′ ∈ S P s s ′ 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)+γsSPssaaAπ(as)Qπ(s,a)

贝尔曼最优方程

对状态𝑠来说的最优价值函数是所有策略可获得的最大可能折扣奖励的和
V ∗ ( s ) = m a x π V π ( s ) V ∗ ( s ) = R ( s ) + m a x a ∈ A γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) V_*(s)=\underset {\pi}{max}V_{\pi}(s){\kern 0pt}\\ V_*(s)=R(s)+\underset {a\in A}{max}\gamma \sum_{s'\in S}P_{ss'}^aV_*(s'){\kern 0pt} V(s)=πmaxVπ(s)V(s)=R(s)+aAmaxγsSPssaV(s)
同理
Q ∗ ( s , a ) = m a x π Q π ( s , a ) Q ∗ ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P s s ′ a m a x a ′ ∈ A Q ∗ ( s ′ , a ′ ) Q_*(s,a)=\underset {\pi}{max}Q_{\pi}(s,a)\\ Q_*(s,a)=R(s,a)+\gamma \sum_{s'\in S}P_{ss'}^a\underset {a'\in A}{max}Q_*(s',a'){\kern 0pt} Q(s,a)=πmaxQπ(s,a)Q(s,a)=R(s,a)+γsSPssaaAmaxQ(s,a)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木白CPP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值