人智導(六):“不可測”問題的求解
動作效果的不確定性
如圖所示:
- 智能體不能確切地直到其動作的效果,可能有多個結果狀態
- 表示爲:[s1,…,sn]=result(s0,a)
- 動作效果不確定,需要與環境交互
- 在執行動作之前,智能體需要計算所用結果狀態的概率P(si∣a)
- 動作的期望效用(Expected Utility):EU(a)=ΣiP(si∣a)V(si)
- 狀態價值函數V(s):狀態到實數值的映射
- 智能體應當選擇當前狀態下具有最大期望效用(MEU)的動作
最優策略
- 動作後續狀態確定(deterministic)的搜索問題
- 發現最優(optimal)plan,從初始狀態到目標狀態的一個動作序列
- 動作後續狀態不確定(nondeterministic)
- 發現一個最優(optimal)policy π∗:s→a
- policy策略爲一個狀態確定應採取的動作(what to do)
- 最優的policy是滿足MEU的
不確定條件下的搜索問題
如圖:
- “不可測”問題
- 目標導向(goal-seeking)
- 與環境交互,只有動作執行後才能確定後續狀態
- 趨向目標的累計回報(reward),而非動作直接的回報值
- 求解方法
- 發現最優policy策略π∗:s→a
- 即在任何一個狀態s,確定趨向目標的最佳動作a
- 定義Q-state狀態表示(計算)EU
與環境交互模型
如圖:
定義三個本體元素:
狀態(state)、動作(action)、回報(reward)
智能體所面對的問題:
與環境交互中確定動作的後續狀態,達到目標
馬爾可夫決策過程
馬爾可夫決策過程(Markov Decision Process):
- 一個狀態(state)集合:S
- 一個動作(actions)集合:A
- 一個後繼函數T(s,a,s′),且從狀態s到s′的概率爲P(s′∣s,a)
- 一個回報(reward)函數:R(s,a,s′)
- 初始狀態s0
- 一個或多個目標(結束)狀態
馬爾可夫過程
基本性質
無記憶性(memoryless)
動作和後繼狀態僅取決於當前所在狀態,與之前的狀態無關
P(St+1=s′∣St=st,At=at,St−1=st−1,At−1,…,S0=s0)=P(St+1=s′∣St=st,At=at)
正如標準搜索模型,後續函數僅依賴於當前狀態
Markov搜索樹
如圖:
MDP:求解動作效果不確定問題
- 對任意狀態s下的動作選擇:policy π∗(s):s→a
- 任意狀態s選這樣的動作,使得價值函數V(s)計算累計回報(sum of rewards)期望最大化
如何選擇最優動作
- 對任意一個狀態s,都通過價值函數對應一個值
- V(s)=累計回報最大期望值{目標狀態V值爲0}
- 最優策略:π∗=argπ max Vπ(s),(∀s)
示例:
如上圖
V0=maxa∈1,…,N(ra+γVa)
- 非確定動作的最大期望值(如下圖)V0=maxa∈AΣs∈SPa,s0→s(rs+γVs)
- 同時體現了當前動作對後續進程的影響Vπ(st)=rt+γrt+1+γ2rt+2+⋯=Σi=0∞γirt+i
引入Q(s,a)狀態表示
- 狀態s及其狀態值:V(s)=始於s按最優策略行動的累計回報
- Q(s,a)的值:Q(s,a)=EU(a),在s狀態下執行a
- 最優策略policy:π∗(s) π∗=argπmax V∣pi(s),(∀s)
最優策略的計算
- 有如下等式(0≤γ≤1): V(s)=maxa Q(s,a) Q(s,a)=Σs′P(s,a,s′)[r(s,a,s′)+γV(s′)] (Bellman equation) V(s)=maxaΣs′P(s,s,s′)[r(s,a,s′)+γV(s′)]
- 迭代計算:Vk+1(s)←maxaΣs′P(s,a,s′)[r(s,a,s′)+γVk(s′)]
狀態值迭代計算方法:
狀態空間:
S={s1,…,sn}
Bellman方程組(每個狀態對應一個方程):
⎣⎢⎡Vs1⋮Vsn⎦⎥⎤=⎣⎢⎡P11⋮Pn1⋯⋱⋯P1n⋮Pnn⎦⎥⎤⎣⎢⎡Vs1⋮Vsn⎦⎥⎤
其中:
Pij={pi→j0if j∈successor(i)otherwise
向量表示:
Vk+1=PVk
初始條件:
V0=⎣⎢⎡0⋮0⎦⎥⎤
舉例
問題:
MDP搜索樹:
迭代計算: