- 最優策略和公式推導
- 右側最最佳化問題
- 公式求解以及最優性
- Contraction mapping theorem(壓縮對映定理)
- 解決貝爾曼最優公式
- 分析最優策略(analyzing optimal policies)
- Summary
最優策略和公式推導
首先定義一個策略比另一個策略好:
如何有上面式子成立,那麼就說\(\pi_1優於\pi_2\)
基於上面的定義,於是就可以定義最優
對於所有的狀態s,和所有的策略\(\pi\)都有下面的式子成立
那麼\(\pi_*\)就是最優的(optimal)
貝爾曼最優公式:
對於貝爾曼最優公式實際上是一個最最佳化問題
我們已知的有\(p(r \mid s, a), p(s^{'} \mid s, a)\)
\(v(s),v(s^{'})\)是未知的並且需要求解的
對於貝爾曼公式\(\pi\)是已知到,對於貝爾曼最優公式\(\pi\)是未知的需要求解的。
貝爾曼最優公式的矩陣形式
- 貝爾曼最優公式(BOE)非常elegant,它的形式非常簡介,可以刻畫最優的策略和最優的state value
右側最最佳化問題
如何求解貝爾曼最優公式?
考慮下面的問題:
\(two \: varible \: x, a \in \mathbb{R}.\)
上面的式子中也是含有兩個未知量
先看右邊的部分當\(a=0\)時達到最大值\(2x-1\)
然後將\(a=0\)帶入等式右邊得到\(x=2x-1\)於是就求解出了\(x=1\)
於是\(a=0,x=1\)就是這個公式的解.
下面解決貝爾曼最優方程
考慮我們有3個\(q\)也就是\(q_1、q_2、q_3 \in \mathbb{R}\)找\(c_1^*、c_2^*、c_3^*\)使得\(c_1q_1+c_2q_2+c_3q_3\)最大
也就是
為了不失一般性這裡假設一個最大值,假設\(q_3 \ge q_1,q_2\),於是最優解就是\(c_1^*=0、c_2^*=0、c_3^*=1\)
透過上面的例子就可以知道如果\(q\)值確定,如何求解上面的\(\pi\)
公式求解以及最優性
貝爾曼最優公式的矩陣形式
我們把貝爾曼最優公式寫成一個函式形式
於是最優公式就化成了
這裡的\(f(v)\)實際上是一個向量,因為每個狀態對應一個\(state \: value\),而每一個\(state \: value \:\)都對應一個\(f(v)\)
於是問題就轉化成了求解\(v=f(v)\)這個方程,求解這個方程就需要下面的知識了。
Contraction mapping theorem(壓縮對映定理)
關於這個定義的詳細介紹在這 | 中文數學 Wiki | Fandom
在說壓縮對映定理之前需要引入一些概念
Fixed point(不動點)
:
然後\(x\)就被稱為一個不動點。
Contraction mapping or Contractive function
:\(f \: is \: a \: contraction \: mapping \: if\):
Theorem(Contraction Mapping Thorem):
對於任何形如\(x=f(x)\)的等式,如果\(f\)是一個contraction mapping,那麼有:
存在性:存在一個不動點\(x^*\)滿足\(f(x^*) = x^*\)。
唯一性:不動點\((fixed point)\)是唯一的。
求解不動點的演算法:這是一個迭代式的演算法,不斷令\(x_{k+1}=f(x_k)\),當\(k \rightarrow \infty \:\)時\(x_k \rightarrow x^* \:\),同時收斂的速度會非常快(以指數的速度收斂)
解決貝爾曼最優公式
有了上面的壓縮對映定理就可以解決貝爾曼最優公式了
為了應用壓縮對映定理,首先需要證明下式中\(\gamma \in (0,1)\)
這個是可以得到證明的。
知道了\(f\)是一個\(contraction \: mapping\),那麼貝爾曼最優公式就可以利用上面的\(contraction \: mapping \: thorem\)解決了。
分析最優策略(analyzing optimal policies)
求解貝爾曼最優公式就是已知紅色量求出上面公式中黑色的量
公式中的三個量決定了optimal policy
- Reward design:\(r\)
- System model:\(p(s^{'} \mid s, a) \:, \: p(r \mid s, a)\)
- Discount rate:\(\gamma\)
- \(v(s), v(s^{'}),\pi(a \mid s)\)都是未知量待計算
-
當\(\: \gamma \:\)比較大的時候,會比較遠視,當\(\: \gamma \:\)比較小的時候則會比較短時,獲得的\(\: return \:\)主要由短期的\(\: reward \:\)決定。當\(\: \gamma \:\)變為\(\: 0 \:\)時策略又會發生變化,策略會變得非常短視,更具體地說策略只會關注\(immediate \: reward\),這樣導致的結果可能是採用的策略根本到達不了\(target\)
-
改變\(reward\)也會導致策略改變。
下面觀察如果對\(\: reward \:\)進行線性變換會發生什麼?\(r \rightarrow ar + b\)
- 實際上進行線性變換是不會改變最優策略的。
- 這個問題實際上並不關注\(reward\)的絕對性,更加關注\(reward\)的相對性。
關於無意義的繞路:因為有\(\: discount \: rate \:\)的存在,會導致後面得到的\(\: reward \:\)打折扣