人智导(六):“不可测”问题的求解

人智导(六):“不可测”问题的求解

动作效果的不确定性

如图所示:
在这里插入图片描述

  • 智能体不能确切地直到其动作的效果,可能有多个结果状态
    • 表示为:[s1,,sn]=result(s0,a)[s_1,\dots ,s_n]=result(s_0,a)
    • 动作效果不确定,需要与环境交互
  • 在执行动作之前,智能体需要计算所用结果状态的概率P(sia)P(s_i|a)
  • 动作的期望效用(Expected Utility):EU(a)=ΣiP(sia)V(si)EU(a)=\Sigma_iP(s_i|a)V(s_i)
    • 状态价值函数V(s)V(s):状态到实数值的映射
    • 智能体应当选择当前状态下具有最大期望效用(MEU)的动作

最优策略

  • 动作后续状态确定(deterministic)的搜索问题
    • 发现最优(optimal)plan,从初始状态到目标状态的一个动作序列
  • 动作后续状态不确定(nondeterministic)
    • 发现一个最优(optimal)policy π:sa\pi ^* :s\to a
    • policy策略为一个状态确定应采取的动作(what to do)
    • 最优的policy是满足MEU的

不确定条件下的搜索问题

如图:
在这里插入图片描述

  • “不可测”问题
    • 目标导向(goal-seeking)
    • 与环境交互,只有动作执行后才能确定后续状态
    • 趋向目标的累计回报(reward),而非动作直接的回报值
  • 求解方法
    • 发现最优policy策略π:sa\pi ^*: s\to a
    • 即在任何一个状态ss,确定趋向目标的最佳动作aa
    • 定义Q-state状态表示(计算)EU

与环境交互模型

如图:
在这里插入图片描述
定义三个本体元素:
状态(state)、动作(action)、回报(reward)
智能体所面对的问题:
与环境交互中确定动作的后续状态,达到目标

马尔可夫决策过程

马尔可夫决策过程(Markov Decision Process):

  • 一个状态(state)集合:SS
  • 一个动作(actions)集合:AA
  • 一个后继函数T(s,a,s)T(s,a,s'),且从状态ssss'的概率为P(ss,a)P(s'|s,a)
  • 一个回报(reward)函数:R(s,a,s)R(s,a,s')
  • 初始状态s0s_0
  • 一个或多个目标(结束)状态

马尔可夫过程

基本性质

无记忆性(memoryless)
动作和后继状态仅取决于当前所在状态,与之前的状态无关
P(St+1=sSt=st,At=at,St1=st1,At1,,S0=s0)=P(St+1=sSt=st,At=at)P(S_{t+1}=s'|S_t=s_t, A_t=a_t,S_{t-1}=s_{t-1},A_{t-1},\dots ,S_0=s_0)=P(S_{t+1}=s'|S_t=s_t,A_t=a_t)
正如标准搜索模型,后续函数仅依赖于当前状态

Markov搜索树

如图:
在这里插入图片描述
MDP:求解动作效果不确定问题

  • 对任意状态ss下的动作选择:policy π(s):sapolicy~\pi^*(s):s\to a
  • 任意状态ss选这样的动作,使得价值函数V(s)V(s)计算累计回报(sum of rewards)期望最大化

如何选择最优动作

  • 对任意一个状态ss,都通过价值函数对应一个值
  • V(s)=V(s)=累计回报最大期望值{目标状态VV值为0}
  • 最优策略:π=argπ max Vπ(s),(s)\pi ^* =arg_{\pi}~max~V^{\pi}(s),(\forall s)

示例:
在这里插入图片描述
如上图
V0=maxa1,,N(ra+γVa)V_0=max_{a\in 1, \dots ,N}(r_a+\gamma V_a)

  • 非确定动作的最大期望值(如下图)V0=maxaAΣsSPa,s0s(rs+γVs)V_0=max_{a\in A}\Sigma _{s\in S}P_{a, s_0\to s}(r_s+\gamma V_s)
  • 同时体现了当前动作对后续进程的影响Vπ(st)=rt+γrt+1+γ2rt+2+=Σi=0γirt+iV^{\pi}(s_t)=r_t +\gamma r_{t+1} +\gamma^2r_{t+2}+\dots =\Sigma^{\infty}_{i=0}\gamma ^i r_{t+i}

引入Q(s,a)Q(s,a)状态表示

  • 状态ss及其状态值:V(s)=V(s)=始于ss按最优策略行动的累计回报
  • Q(s,a)Q(s,a)的值:Q(s,a)=EU(a)Q(s,a)=EU(a),在ss状态下执行aa
  • 最优策略policy:π(s)\pi ^* (s) π=argπmax Vpi(s),(s)\pi ^*=arg_{\pi}max~V^{|pi}(s),(\forall s)

最优策略的计算

  • 有如下等式(0γ1)(0\le \gamma\le 1): V(s)=maxa Q(s,a)V(s)=max_a ~Q(s,a) Q(s,a)=ΣsP(s,a,s)[r(s,a,s)+γV(s)]Q(s,a)=\Sigma_{s'}P(s,a,s')[r(s,a,s')+\gamma V(s')] (Bellman equation) V(s)=maxaΣsP(s,s,s)[r(s,a,s)+γV(s)](Bellman~equation)~V(s)=max_a\Sigma_{s'}P(s,s,s')[r(s,a,s')+\gamma V(s')]
  • 迭代计算:Vk+1(s)maxaΣsP(s,a,s)[r(s,a,s)+γVk(s)]V_{k+1}(s) \leftarrow max_a\Sigma_{s'}P(s,a,s')[r(s,a,s')+\gamma V_k(s')]
    状态值迭代计算方法:
    在这里插入图片描述
    状态空间:
    S={s1,,sn} S=\{s_1, \dots ,s_n\}
    Bellman方程组(每个状态对应一个方程):
    [Vs1Vsn]=[P11P1nPn1Pnn][Vs1Vsn] \left[ \begin{matrix} V_{s1}\\ \vdots \\ V_{sn} \end{matrix} \right] = \left[ \begin{matrix} P_{11} &\cdots &P_{1n}\\ \vdots &\ddots &\vdots \\ P_{n1} &\cdots &P_{nn} \end{matrix} \right] \left[ \begin{matrix} V_{s1}\\ \vdots \\ V_{sn} \end{matrix} \right]
    其中:
    Pij={pijif jsuccessor(i)0otherwiseP_{ij}=\begin{cases}p_{i\to j} &if~j\in successor(i) \\ 0 & otherwise \end{cases}
    向量表示:
    Vk+1=PVkV_{k+1} = PV_k
    初始条件:
    V0=[00]V_0=\left[\begin{matrix}0\\ \vdots \\0 \end{matrix}\right]

举例

问题:
在这里插入图片描述
MDP搜索树:
在这里插入图片描述
迭代计算:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章