人智導(六):“不可測”問題的求解

人智導(六):“不可測”問題的求解

動作效果的不確定性

如圖所示:
在這裏插入圖片描述

  • 智能體不能確切地直到其動作的效果,可能有多個結果狀態
    • 表示爲:[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搜索樹:
在這裏插入圖片描述
迭代計算:
在這裏插入圖片描述

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