参考
- 周博磊老师课程
- Richard S.Sutton 《Reinforcement Learning》第三章
有限马尔可夫决策过程 Markov Decision Process MDP
1 “智能体-环境”交互接口
进行学习及实施决策的机器被称为智能体(agent)
。智能体之外所有与其相互作用的事物都被称为环境(environment)
。这些事物之间持续进行交互,智能体选择动作,环境对这些动作做出相应的响应,并向智能体呈现出新的状态。环境会产生一个收益(reward)
,通常是特定的数值,这就是智能体在动作选择过程中想要最大化的目标,如图1.1所示。
在每个离散时刻 t = 0 , 1 , 2 , 3 , . . . t=0,1,2,3,... t=0,1,2,3,...,智能体和环境都发生了交互。在每个时刻 t t t,智能体观察到所在的环境状态的某种特征表达, S t ∈ S S_t\in S St∈S,并且在此基础上选择一个动作, A t ∈ A ( s ) A_t\in A(s) At∈A(s)。下一时刻,作为其动作的结果,智能体接收到一个数值化的收益, R t + 1 ∈ R ⊂ R R_{t+1}\in R\subset\mathbb R Rt+1∈R⊂R,并进入一个新的状态 S t + 1 S_{t+1} St+1。从而,MDP和智能体共同给出了一个序列或轨迹,类似这样
S 0 , A 0 , R 1 , S 1 , A 1 , R 2 , S 2 , A 2 , R 3 , . . . (1.1) S_0,A_0,R_1,S_1,A_1,R_2,S_2,A_2,R_3,... \tag{1.1} S0,A0,R1,S1,A1,R2,S2,A2,R3,...(1.1)
1.1 交互过程一些函数
1.1.1 状态与收益的概率函数
在有限MDP中,状态、动作和收益的集合( S S S、 A A A和 R R R)都只有有限个元素。在这种情况下,随机变量 R t R_t Rt和 S t S_t St具有定义明确的离散概率分布,并且只依赖于前继状态和动作。也就是说,给定前继状态和前一个动作的值时,这些随机变量的特定值,状态 s ′ ∈ S s'\in S s′∈S和收益 r ∈ R r\in R r∈R,在 t t t时刻出现的概率是
p ( s ′ , r ∣ s , a ) = ˙ P r { S t = s ′ , R t = r ∣ S t − 1 = s , A t − 1 = a } (1.2) p(s',r|s,a) \dot= Pr\{S_t=s',R_t=r|S_{t-1}=s,A_{t-1}=a\}\tag{1.2} p(s′,r∣s,a)=˙Pr{
St=s′,Rt=r∣St−1=s,At−1=a}(1.2)
对于任意 s ′ , s ∈ S , r ∈ R , a ∈ A ( s ) s',s\in S,r\in R,a\in A(s) s′,s∈S,r∈R,a∈A(s)。函数 p p p定义了MDP的动态特性
,中间“|”是表示条件概率的符号。 s s s表示前继状态, s ′ s' s′表示当前状态, a a a表示动作, r r r表示收益。动态函数 p : S × R × S × A → [ 0 , 1 ] p:S\times R\times S\times A\to[0,1] p:S×R×S×A→[0,1]是有四个参数的普通确定性函数。
1.1.2 状态转移概率函数
状态转移概率函数是一个三参数函数 p : S × S × A → [ 0 , 1 ] p:S\times S\times A\to[0,1] p:S×S×A→[0,1]
p ( s ′ ∣ s , a ) = ˙ P r { S t = s ′ ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R p ( s ′ , r ∣ s , a ) (1.3) p(s'|s,a) \dot= Pr\{S_t=s'|S_{t-1}=s,A_{t-1}=a\}=\sum_{r\in R}p(s',r|s,a)\tag{1.3} p(s′∣s,a)=˙Pr{
St=s′∣St−1=s,At−1=a}=r∈R∑p(s′,r∣s,a)(1.3)
可以用状态转移矩阵 P P P来描述状态转移概率 p ( s t = s ′ ∣ s t − 1 = s ) p(s_t=s'|s_{t-1}=s) p(st=s′∣st−1=s)
P = [ p ( s 1 ∣ s 1 ) p ( s 2 ∣ s 1 ) ⋯ p ( s n ∣ s 1 ) p ( s 1 ∣ s 2 ) p ( s 2 ∣ s 2 ) ⋯ p ( s n ∣ s 2 ) ⋮ ⋮ ⋱ ⋮ p ( s 1 ∣ s n ) p ( s 2 ∣ s n ) ⋯ p ( s n ∣ s n ) ] (1.4) P= \begin{bmatrix} p(s_1|s_1) & p(s_2|s_1) &\cdots & p(s_n|s_1) \\ p(s_1|s_2) & p(s_2|s_2) &\cdots & p(s_n|s_2) \\ \vdots & \vdots & \ddots & \vdots \\ p(s_1|s_n) & p(s_2|s_n) &\cdots & p(s_n|s_n) \\ \end{bmatrix}\tag{1.4} P=⎣⎢⎢⎢⎡p(s1∣s1)p(s1∣s2)⋮p(s1∣sn)p(s2∣s1)p(s2∣s2)⋮p(s2∣sn)⋯⋯⋱⋯p(sn∣s1)p(sn∣s2<