RL-Zhao-(4)-モデルに基づく: ① 値の反復 (値は状態値ではなく、1 ステップで計算されます)、② 戦略の反復 (値は状態値であり、ベルマンの無限ステップで計算されます)式)、③切り捨て戦略の繰り返し【妥協案①②】

ここに画像の説明を挿入します

1. 値反復アルゴリズム

ここに画像の説明を挿入します
以下のように、ベルマン最適性方程式を解くにはどうすればよいでしょうか?

v = f ( v ) = max ⁡ π ( r π + γ P π v ) v=f(v)=\max_{\pi}\left(r_\pi\right.+\gamma P_\pi v);=f(v)=円周率最大 (rπ +γPπ v)
前の内容によると、短縮マッピング thcorerin を使用して反復アルゴリズムを使用して解決できることがわかりました。

v k + 1 = f ( v k ) = max ⁡ π ( r π + γ P π v k ) 、 k = 1 , 2 , 3 , . 。 。 v_{k+1}=f(v_k)=\max_{\pi}(r_\pi+\gamma P_\pi v_k),k=1,2,3,...k+1 =f(vk )=円周率最大 (rπ +γPπ k )k=123...

  • 其中初始值 v 0 v_{0} 0 は任意の値です。
  • このアルゴリズムは、最終的に最適な状態値と最適なポリシーを発見できます。
  • このアルゴリズムは値の反復と呼ばれます。

1. 値反復アルゴリズムの詳細なプロセス

v k + 1 = f ( v k ) = max ⁡ π ( r π + γ P π v k ), k = 1 , 2 , 3... v_{k+1}\:=\:f(v_k\:)= \max_{\pi}\left(r_\pi\:+\:\gamma P_\pi v_k\:\right),k=1,2,3k+1 =f(vk )=円周率最大 (rπ +γPπ k )k=123...

これは 2 つの部分に分けることができます。

  • ステップ 1: policy update、電流範囲を設定します
    π k + 1 = a r g max ⁡ π ( r π + γ P π v k ) \ . pi_{k+1}=arg\max_{\pi}\left(r_{\pi}\right.+\gamma P_{\pi}\left.v_{k}\right) 円周率k+1 =arg円周率最大 (rπ +γPπ k )
    其中 v k v_k k 当然のことです

  • ステップ 2: value update
    v k + 1 = r π k + 1 + γ P π k + 1 v k v_{k+1}=r_{\pi_{k+1} }+\ガンマ P_{\pi_{k+1}}v_k k+1 =r円周率k+1 +γP円周率k+1 k
    问题: v k v_k k それは状態の値ですか? もちろんそうではありません。

    • 上の式からわかるように、式の左辺は v k + 1 v_{k+1} です。k+1 、方程式の右辺は v k v_k k 、決定できないため v k v_k k ベルマン方程式を満たします。
    • 方程式の左辺も v k v_k の場合k の場合、 v k v_k と言えます。k は状態値です。
    • kv_kでk 上の式では、値またはベクトルを表すだけであり、任意の値を使用できますが、状態値を表すものではありません。

次に、アルゴリズムを実装する目的で要素ごとの形式を検討します。

  • 行列ベクトル形式は理論解析に適しています
  • 要素ごとの形式はアルゴリズムの実装に適しています

ステップ1: ポリシーの更新

要素ごとの形式から:
π k + 1 = a r g max ⁡ π ( r π + γ P π v k ) \pi_{k+1}=arg\max_{\pi }\left(r_{\pi}+\gamma P_{\pi}v_{k}\right) 円周率k+1 =arg円周率最大 (rπ +γPπ k )
即ち:
π k + 1 ( s ) = arg ⁡ max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v k ( s ′ ) ) ⏟ q k ( s , a ) , s ∈ S \pi_{k+1}(s)= \arg\max_{\pi}\sum_{a}\pi(a|s)\underbrace{\left(\sum_{r}p(r|s,a)r+\gamma\sum_{s'} p(s'|s,a)v_k(s')\right)}_{q_k(s,a)},\quad s\in\mathcal{S} 円周率k+1 (s)=arg円周率最大 ある π(as )qk (s,a) (r p(rs a)r+cs p(s's,a)vk (s'))sS
滑らかで滑らかな方程式の変換
π k + 1 ( a ∣ s ) = { 1 a = a k ∗ ( . s ) 0 a ≠ a k ∗ ( s ) \pi_{k+1}\left(a|s\right)=\begin{cases}1&a=a_k^*\left(s\right)\\0& a\ neq a_k^*\left(s\right)\end{cases} 円周率k+1 (as)={ 10 ある=あるk (s)ある=あるk (s)

其中 a k ∗ = a r g max ⁡ a q k ( a , s ) a_k^*=arg\max_aq_k(a,s) あるk =arg最大a qk (a,s) π k + 1 \pi_{k+1} 円周率k+1 は、最大の q 値が単純に選択されるため、greedy policy と呼ばれます。

ステップ2: 値の更新

要素ごとの形式:

v k + 1 = r π k + 1 + γ P π k + 1 v k v_{k+1}=r_{\pi_{k+1}}+\gamma P_{\pi_{k+1}}v_kk+1 =r円周率k+1 +γP円周率k+1 k
即ち:
v k + 1 ( s ) = ∑ a π k + 1 ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ' p ( s ′ ∣ s , a ) v k ( s ′ ) ) ⏟ q k ( s , a ) , s ∈ S v_{k+1}(s)=\sum_a\pi_{k+1}(a|s) \underbrace{\left(\sum_rp(r|s,a)r+\gamma\sum_{s'}p(s'|s,a)v_k(s')\right)}_{ q_k(s,a)},\quad s\in\mathcal{S} k+1 (s)=ある 円周率k+1 (as)qk (s,a) (r p(rs a)r+cs p(s's,a)vk (s'))sS
その他 π k + 1 \pi_{k+1} 円周率k+1 は貪欲です。上記の方程式は次のように簡略化できます:
v k + 1 ( s ) = max ⁡ a q k ( a , s ) v_{k+1}\left(s \ right)=\max_aq_k\left(a,s\right) k+1 (s)=ある最大 qk (a,s)

  • 对应 q k q_k qk 最大的 a a a π = 1 π=1 円周率=1,其他的 a a a π = 0 π=0 円周率=0
  • v k + 1 v_{k+1}k+1 就是 q k q_k qk の最大値。

プロセスの概要:

v k ( s ) → q k ( s , a ) → 貪欲なポリシー π k + 1 ( a ∣ s ) → 新しい値 v k + 1 = max ⁡ a q k ( s , a ) \color{red}{v_k(s)\to q_k(s,a)\to\text{ 貪欲なポリシー }\pi_{k+1}(a|s)\to\text{ 新しい値 }v_{k+1}=\max_aq_k(s,a)}k (s)qk (s,a) 貪欲なポリシー πk+1 (as) 新しい 値 vk+1 =あるmax qk (s,a)

ここに画像の説明を挿入します

2. 例

例: 報酬設定は次のとおりです: r b o u n d a r y = r f or b i d d e n = − 1 , r t a r g e t = 1 r_{boundary}=r_{forbidden}=-1, r_{target}= 1rbound a=rfまたはbidde n =1rtarge t =1。折率 (割引率) γ = 0.9 \gamma=0.9 c=0.9,目标是 s 4 s_4 s4

ここに画像の説明を挿入します

q-table:アクション値 q ( s , a ) q(s, a) q(s,a) 的表达式如下:
ここに画像の説明を挿入します

k = 0 k=0 k=0时:

初開始化、令 v 0 ( s 1 ) = v 0 ( s 2 ) = v 0 ( s 3 ) = v 0 ( s 4 ) = 0 v_0\left( s_1\right)=v_0\left(s_2\right)=v_0\left(s_3\right)=v_0\left(s_4\right)=0 0 (s1 )=0 (s2 )=0 (s3 )=0 (s4 )=0,q-table如下:

ここに画像の説明を挿入します

ステップ1: ポリシーの更新:

π 1 ( a 5 ∣ s 1 ) = 1 、 π 1 ( a 3 ∣ s 2 ) = 1 、 π 1 ( a 2 ∣ s 3 ) = 1 、 π 1 ( a 5 ∣ s 4 ) = 1 \pi_1\ left(a_5\left|s_1\right.\right)=1,\pi_1\left(a_3\left|s_2\right.\right)=1,\pi_1\left(a_2\left|s_3\right.\right )=1,\pi_1\left(a_5\left|s_4\right.\right)=1円周率1 (a5 s1 )=1円周率1 (a3 s2 )=1円周率1 (a2 s3 )=1円周率1 (a5 s4 )=1
ポリシーの更新は次のとおりです。
ここに画像の説明を挿入します

Step2:値の更新

ここに画像の説明を挿入します
v 1 ( s 1 ) = 0 、 v 1 ( s 2 ) = 1 、 v 1 ( s 3 ) = 1 、 v 1 ( s 4 ) = 1 v_1\left(s_1\right)=0,v_1\left( s_2\right)=1,v_1\left(s_3\right)=1,v_1\left(s_4\right)=11 (s1 )=01 (s2 )=11 (s3 )=11 (s4 )=1

k = 1 k=1 k=1时:

因為我们有: v 1 ( s 1 ) = 0 、 v 1 ( s 2 ) = 1 、 v 1 ( s 3 ) = 1 、 v 1 ( s 4 ) = 1 v_1\left(s_1\right)=0,v_1\left(s_2\right)=1,v_1\left(s_3\right)=1,v_1\left(s_4\right)=1 1 (s1 )=01 (s2 )=11 (s3 )=11 (s4 )=1、新しい q テーブルを取得します:
ここに画像の説明を挿入します

ステップ1: ポリシーの更新

π 2 ( a 3 ∣ s 1 ) = 1 、π 2 ( a 3 ∣ s 2 ) = 1 、π 2 ( a 2 ∣ s 3 ) = 1 、π 2 ( a 5 ∣ s 4 ) = 1 \pi_2\ left(a_3|s_1\right.)=1,\pi_2\left(a_3|s_2\right)=1,\pi_2\left(a_2|s_3\right)=1,\pi_2\left(a_5|s_4\right) )=1円周率2 (a3 s1 )=1円周率2 (a3 s2 )=1円周率2 (a2 s3 )=1円周率2 (a5 s4 )=1
戦略の更新は次の図に示すようになります。
ここに画像の説明を挿入します
注: 現在の戦略はすでに最適化されています。

ステップ2: 値の更新

ここに画像の説明を挿入します

v 2 ( s 1 ) = γ 1 、v 2 ( s 2 ) = 1 + γ 1 、v 2 ( s 3 ) = 1 + γ 1 、v 2 ( s 4 ) = 1 + γ 1 v_2(s_1)= \gamma1,v_2(s_2)=1+\gamma1,v_2(s_3)=1+\gamma1,v_2(s_4)=1+\gamma12 (s1 )=γ12 (s2 )=1+γ12 (s3 )=1+γ12 (s4 )=1+γ1

k = 2 , 3 , … k=2,3,… k=23,当 ∣ ∣ v k − v k + 1 ∣ ∣ ||v_k-v_{k+1}|| ∣∣vk k+1 ∣∣ 事前定義されたしきい値を下回った場合に停止します。

2. ポリシー反復アルゴリズム

ここに画像の説明を挿入します

1. 戦略反復アルゴリズムのプロセスの概要

ランダムな初期戦略が与えられた場合 π 0 \pi_0 円周率0

  • ステップ 1: ポリシー評価 (PE)、このステップでは π k \pi_k を計算します。円周率k 状態値
    v π k = r π k + γ P π k v π k v_{\pi_k}\:=\:r_{\pi_k}\:+ \ :\ガンマ P_{\pi_k}\:v_{\pi_k} 円周率k =r円周率k +γP円周率k 円周率k
    注: v k v_k k は状態値関数です

  • ステップ 2: 策略改善 (ポリシー改善、Pl)
    π k + 1 = a r g max ⁡ π ( r π + γ P π v π k+1 ) \pi_{k+1 }\:=arg\max_{\pi}(r_\pi\:+\:\gamma P_\pi\:v_{\pi_k}\:) 円周率k+1 =arg円周率最大 (rπ +γPπ 円周率k )
    最大化はコンポーネントごとに行われます。

仕様:
π 0 → P E v π 0 → P I π 1 → P E v π 1 → P I π 2 → P E v 2 → P I ... \pi_0\xrightarrow{ PE}v_{\pi_0}\xrightarrow{PI}\pi_1\xrightarrow{PE}v_{\pi_1}\xrightarrow{PI}\pi_2\xrightarrow{PE}v_{\pi_2}\xrightarrow{PI}\ldots 円周率0 の上 円周率0 円周率1 の上 円周率1 円周率2 の上 円周率2

2. 関連する問題

  • Q1: ポリシー評価ステップで状態値を取得する方法 v π k v_{\pi_k} 円周率k ベルマン方程式を解くことによって?
  • Q2: ポリシー改善ステップにおいて、新しいポリシーが π k + 1 \pi_{k+1} であるのはなぜですか。円周率k+1 π k よりも優れていますか? \pi_k? 円周率k ?
  • Q3: なぜこのような反復アルゴリズムが最終的に最適なポリシーに到達できるのでしょうか?
  • Q4: このポリシー反復アルゴリズムと以前の値反復アルゴリズムの間にはどのような関係がありますか?

質問 1: ポリシー評価ステップで、ベルマン公式を解いて状態値を取得する方法。 v π k v_{\pi_k} 円周率k

v π k = r π k + γ P π k v π k v_{\pi_k}=r_{\pi_k}+\gamma P_{\pi_k}\mathrm{~}v_{\pi_k}円周率k =r円周率k +γP円周率k  円周率k

  • 閉じた形式の解 (特定の関数解、仕様):
    v π k = ( I − γ P π k ) − 1 r π k v_{\pi_k} . = (I-\gamma P_{\pi_k})^{-1}r_{\pi_k} 円周率k =(γP円周率k )1r円周率k
  • 反復解:
    v π k (j + 1) = r π k + γ P π k v π k (j)、j = 0、1、...、 . . . . . . . . v_{\pi_k}^{(j+1)}=r_{\pi_k}+\gamma P_{\pi_k}^{(j)},j=0,1,2,. 円周率k (j+1) =r円周率k +γP円周率k 円周率k (j)j=012...
    • 给定 π π π の条件下で、反復法を使用して状態値を解きます。
    • ポリシーの反復は、ポリシー評価ステップに別の反復アルゴリズムが組み込まれた反復アルゴリズムです。

質問 2: ポリシー改善ステップで、新しいポリシーが π k + 1 \pi_{k+1} になっているのはなぜですか。円周率k+1 π k \pi_k 円周率k 良い?

ここに画像の説明を挿入します

質問 3: ポリシー反復アルゴリズムが最終的に最適なポリシーを見つけることができるのはなぜですか?

反復するたびに戦略が徐々に最適化されるため、
v π 0 ≤ v π 1 ≤ v π 2 ≤ . . . ≤ v π k ≤ . . . ≤ v ∗ v_{\pi_0}\leq v_{\pi_1}\leq v_{\pi_2}\leq...\leq v_{\pi_k}\leq...\leq v^* 円周率0 円周率1 円周率2 ...円周率k ...
其结果就是 v π k v_{\pi_k} 円周率k は増加し続け、最終的には収束します。タワーが v ∗ v^* に収束することが証明できます。

ここに画像の説明を挿入します

質問 4: ポリシーの反復と値の反復の間にはどのような関係がありますか?

値反復アルゴリズムとポリシー反復アルゴリズムは、切り捨てられたポリシー反復アルゴリズムの両極端です。

3. 戦略反復アルゴリズムの詳細プロセス

Step1:政策評価【ベルマンの公式を解く】

π π π 特定の状況下では、 繰り返し ベルマンの公式を解き、 v π k ∗ v_{π_k}^* 円周率k

  • 行列ベクトル形式:
    v π k ( j + 1 ) = r π k + γ P π k v π k ( j ) 、 j = 0 、 1 、 2 、 . . . . . . . . v_{\pi_k}^{(j+1)}=r_{\pi_k}+\gamma P_{\pi_k}^{(j)},j=0,1,2,. 円周率k (j+1) =r円周率k +γP円周率k 円周率k (j)j=012...
  • 要素ごとの形式
    υ π k ( j + 1 ) ( s ) = ∑ a π k ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v π k ( j ) ( s ′ ) ) , s ∈ S , \begin{aligned}\upsilon_{\pi_k}^ {(j+1)}(s)&=\sum_a\pi_k(a|s)\left(\sum_rp(r|s,a)r+\gamma\sum_{s'}p(s' ;|s,a)v_{\pi_k}^{(j)}(s')\right),\quad s\in\mathcal{S},\end{aligned} あなた円周率k (j+1) (s)=ある 円周率k (as)(r p(rs a)r+cs p(s's,a)v円周率k (j)(s'))sS

次の時点で停止します j → ∞ j\to\infty j または j j j が十分に大きい、または ∣ v π k ( j + 1 ) − v π k ( j ) ∥ |v_{\pi_k }^{(j+1)}-v_{\pi_k}^{(j)}\| v円周率k (j+1) 円周率k (j) は十分に小さいです。

Step2: ポリシーの改善

前のステップに基づく v π k v_{π_k} 円周率k

  • 行列ベクトル形式:
    π k + 1 = a r g max ⁡ π ( r π + γ P π v π k ) \begin { aligned}\pi_{k+1}=arg\max_{\pi}(r_{\pi}+\gamma P_{\pi}\color{red}{v_{\pi_{k}}}\color{ black }{)}\end{整列} 円周率k+1 =arg円周率最大 (rπ +γPπ 円周率k )
  • 要素ごとの形式:
    π k + 1 ( s ) = arg ⁡ max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v π k ( s ′ ) ) ⏟ q π k ( s , a ) , s ∈ S \begin{aligned} \pi_ {k+1}(s)=\arg\max_{\pi}\sum_{a}\pi(a|s)\underbrace{\left(\sum_{r}p(r|s,a)r+\ gamma\sum_{s'}p(s'|s,a)v_{\pi_{k}}(s')\right)}_{q_{\pi_{k}}(s ,a)},\quad s\in\mathcal{S} \end{aligned} 円周率k+1 (s)=arg円周率最大 ある π(as )q円周率k (s,a) (r p(rs a)r+cs p(s's,a)v円周率k (s'))sS
    这里, q π k ( s , a ) q_{\pi_k}\left(s,a\right) q円周率k (s,a)是基于策略 π k \pi_k 円周率k のアクション値。令
    a k ∗ ( s ) = a r g max ⁡ a q π k ( a , s ) a_k^*\left(s\right)=arg\max_aq_ {\pi_k}\left(a,s\right) あるk (s)=argある最大 q円周率k (a,s)
    那么、貪欲なポリシー あり< /span>
    π k + 1 ( a ∣ s ) = { 1 a = a k ∗ ( s ) 0 a ≠ a k ∗ ( s ) \pi_{k+1}\left(a|s\right )=\begin{cases}1&a=a_k^*\left(s\right)\\0&a\neq a_k^*\left(s\right)&\end{cases} 円周率k+1 (as)={ 10 ある=あるk (s)ある=あるk (s)

ここに画像の説明を挿入します

4. 例01

ここに画像の説明を挿入します

  • 奖励设定 (reward setting) 是 r b o u n d a r y = − 1 r_{boundary}=-1 rbound a=1さらに r ターゲット = 1 r_{target}=1 rtarge t =1、折扣率 (割引率) γ = 0.9 \gamma=0.9 c=0.9
  • アクション: a l 、 a 0 、 a r a_l、a_0、a_r あるl ある0 あるr それぞれ左、そのまま、右を意味します
  • Arm: ポリシーの反復を使用して最適なポリシーを見つける

k = 0 k=0 k=0时:

ステップ 1: ポリシーの評価

如图 (a), π 0 \pi_0 円周率0 が初期戦略です。ベルマン方程式は次のとおりです。

v π 0 ( s 1 ) = − 1 + γ v π 0 ( s 1 ) v π 0 ( s 2 ) = 0 + γ v π 0 ( s 1 ) v_{\pi_0}(s_1)=-1+\ガンマ v_{\pi_0}(s_1)\\[2ex] v_{\pi_0}(s_2)=0+\ガンマ v_{\pi_0}(s_1)円周率0 (s1 )=1+γv円周率0 (s1 )円周率0 (s2 )=0+γv円周率0 (s1 )

  • 直接求解等式:
    v π 0 ( s 1 ) = − 10 , v π 0 ( s 2 ) = − 9 \left.v_{\pi_0}\left (s_1\right.\right)=-10,v_{\pi_0}\left(s_2\right.)=-9 円周率0 (s1 )=10円周率0 (s2 )=9
  • 方程式を繰り返し解きます。初期推定を v π 0 ( 0 ) ( s 1 ) = v π 0 ( 0 ) ( s 2 ) = 0 : v_{\pi_0}^{(0)}\ として選択します。 left(s_1\right)=v_{\pi_0}^{(0)}\left(s_2\right)=0: 円周率0 (0)(s1 )=円周率0 (0)(s2 )=0:
    { v π 0 ( 1 ) ( s 1 ) = − 1 + γ v π 0 ( 0 ) ( s 1 ) = − 1 , v π 0 ( ) ( s 2 ) = 0 + γ v π 0 ( 0 ) ( s 1 ) = 0 , { v π 0 ( 2 ) ( s 1 ) = − 1 + γ v π 0 ( 1 ) ( s 1 ) = − 1.9 , v π 0 ( 2 ) ( s 2 ) = 0 + γ v π 0 ( 1 ) ( s 1 ) = − 0.9 , { υ π 0 ( 3 ) ( s 1 ) = − 1 + γ υ π 0 ( 2 ) ( s 1 ) = − 2.71 、 υ π 0 ( 3 ) ( s 2 ) = 0 + γ υ 0 ( 2 ) ( s 1 ) = − 1.71 、 . . . . . . . . . . . . . . . . . . . . \begin{整列} & \left.\left\{\begin{array}{l}v_{\pi_0}^{(1)}(s_1)=-1+\gamma v_{\pi_0}^{(0)}(s_1)= -1,\\ v_{\pi_0}^{(1)}(s_2)=0+\gamma v_{\pi_0}^{(0)}(s_1)=0,\end{array}\right.\右。 & \\&\left.\left\{\begin{array}{l}v_{\pi_0}^{(2)}(s_1)=-1+\gamma v_{\pi_0}^{(1)} (s_1)=-1.9, \\ v_{\pi_0}^{(2)}(s_2)=0+\gamma v_{\pi_0}^{(1)}(s_1)=-0.9,\end{配列}\right.\right.&&& \\ & \left.\left\{\begin{array}{l}\upsilon_{\pi_0}^{(3)}(s_1)=-1+\gamma\upsilon_{\pi_0}^{(2)}(s_1 )=-2.71,\\ \upsilon_{\pi_0}^{(3)}(s_2)=0+\gamma\upsilon_{\pi_0}^{(2)}(s_1)=-1.71,\end{配列}\right.\right.\\&{...}\\&{...}\end{整列}{ 円周率0 (1)(s1 )=1+γv円周率0 (0)(s1 )=1円周率0 (1)(s2 )=0+γv円周率0 (0)(s1 )=0 { 円周率0 (2)(s1 )=1+γv円周率0 (1)(s1 )=1.9円周率0 (2)(s2 )=0+γv円周率0 (1)(s1 )=0.9 { あなた円周率0 (3)(s1 )=1+cy円周率0 (2)(s1 )=2.71,あなた円周率0 (3)(s2 )=0+cy円周率0 (2)(s1 )=1.71 ......
ステップ 2: ポリシーの改善

q π k ( s , a ) q_{\pi_k}\left(s,a\right)q円周率k (s,a) の表示例:
ここに画像の説明を挿入します
v π 0 ( s 1 ) = − 10 、 v π 0 ( s 2 ) = − 9 v_{\pi_0}\left(s_1\right)=-10,v_{\pi_0}\left(s_2\right)=-9 円周率0 (s1 )=10円周率0 (s2 )=9 γ = 0.9 \gamma=0.9 c=0.9 带入之后,得到:

ここに画像の説明を挿入します
通过选择 q π 0 q_{\pi_0} q円周率0 的最大值,the improved policy 是:

π 1 ( a r ∣ s 1 ) = 1 , π 1 ( a 0 ∣ s 2 ) = 1 \pi_1\left(a_r\left|s_1\right.\right)=1,\pi_1\left(a_0\left| s_2\right.\right)=1円周率1 (ar s1 )=1円周率1 (a0 s2 )=1

新策略 π 1 π_1 円周率1 以下の図に示すように:
ここに画像の説明を挿入します
1 回の反復の後、戦略は最適化されます。特定の実装では、特定の評価基準が満たされるまで反復プロセスを継続する必要があります。

5. 例02

複雑な例: r b o u n d a r y = − 1 , r f or b i d d e n = − 10 r_{boundary}=-1,r_{forbidden}=-10 とします。rbound a=1rfまたはbidde n =10さらに r ターゲット = 1 r_{target}=1 rtarge t =1、折扣率 (割引率) γ = 0.9 \gamma=0.9 c=0.9 では、これらの中間ポリシーとステータスの値を確認できます。
ここに画像の説明を挿入します
目標に近い状態戦略が最初に良くなり、目標から遠い状態戦略が後から良くなることがわかります。

  • 特定の状態 s i s_i si 、最大のアクション値を持つアクションを選択するとき、それはこの状態の次の状態に大きく依存します s j s_j sj 、たとえ s i s_i であっても、すべてのオプションの次のステップのステータスが悪い場合si アクション値が最も大きいものを選択します s j s_j sj それも意味がありません。
  • しかし、 s i s_i の状態になると、si s j s_j の周囲の状態sj でターゲットに到達できる場合、 s i s_i si 到着を選択 s j s_j sj 行動すればプラスの報酬を得ることができます。
  • 即当 s i s_i si 周囲に到達可能なターゲット状態がない場合、 s i s_i si 次のステップをどのように選択しても、目標には到達できません。 s i s_i si 周囲にターゲットに到達できる状態がある場合、 s i s_i si アップデートを通じて目標を達成することもできます。

3. 切り詰められたポリシー反復アルゴリズム

第一、比较 値の反復ポリシーの反復

  • ポリシーの反復: 初期ポリシーから π 0 \pi_{0} 円周率0 始める:

    • ポリシー評価 (PE):
      v π k = r π k + γ P π k v π k \begin{aligned}v_{\pi_k}&=r_{ ; \pi_k}+\gamma P_{\pi_k}\:v_{\pi_k}\end{aligned} 円周率k =r円周率k +γP円周率k 円周率k
    • ポリシーの改善 (Pl):
      π k + 1 = a r g max ⁡ π ( r π + γ P π v π k ) \pi_{k+1}=arg\ . max_{\pi}\left(r_{\pi}\right.+\gamma P_{\pi}\left.v_{\pi_k}\right.) 円周率k+1 =arg円周率最大 (rπ +γPπ 円周率k )
  • 値の反復: 値から v 0 v_{0} 0 始める:

    • ポリシー更新 (PU):
      π k + 1 = a r g max ⁡ π ( r π + γ P π v k ) \left.\pi_{k+1}=arg \max_{\pi}\left(r_{\pi}\right.+\gamma P_{\pi}\left.v_{k}\right.\right) 円周率k+1 =arg円周率最大 (rπ +γPπ k )
    • 値の更新 (VU):
      v k + 1 = r π k + 1 + γ P π k + 1 v k v_{k+1}\:=r_{\pi_ {k+1}}\:+\gamma P_{\pi_{k+1}}\:v_k k+1 =r円周率k+1 +γP円周率k+1 k

具体的には、ポリシー反復のデフォルト値:
ポリシー反復: π 0 → P E v π 0 → P I π 1 → P E v π 1 → P I π 2 → P E v π 2 → P I ... 値の反復: v 0 → P U π 1 ' → V U v 1 → P U π 2 ' → V U v 2 → P U ... \begin{array} {rcl} &&\text{ポリシーの反復: }\quad\quad\pi_0\xrightarrow{PE}&v_{\pi_0}\xrightarrow{PE}\pi_1\xrightarrow{PE}v_{\pi_1}\xrightarrow{PI}\pi_2\xrightarrow{PE }v_{ \pi_2}\xrightarrow{PI}\dots\\ &&\text{値の反復:}&v_0\xrightarrow{PU}\pi_1'\xrightarrow{VU}v_1\xrightarrow{PU} \pi_2 39;\xrightarrow{VU}v_2\xrightarrow{PU}\dots\end{配列}ポリシーの反復:円周率0 の上 値の反復:円周率0 円周率1 の上 円周率1 円周率2 の上 円周率2 0 円周率1' VU 1 円周率2' VU 2

ここに画像の説明を挿入します
これら 2 つのアルゴリズムのステップを詳細に比較してください。

  • 同じ初期条件から始まります
  • 最初の 3 つの手順は同じです
  • ステップ 4 では次のように異なります。
    • ポリシーの反復における解 v π 1 = r π 1 + γ P π 1 v π 1 v_{\pi_1}=r_{\pi_1}+\gamma P_{ . \pi_1}v_{\pi_1} 円周率1 =r円周率1 +γP円周率1 円周率1 反復アルゴリズムが必要です (反復回数は無制限)
    • 値の反復では、 v 1 = r π 1 + γ P π 1 v 0 v_1=r_{\pi_1}+\gamma P_{\pi_1}v_0 1 =r円周率1 +γP円周率1 0 は 1 ステップの反復です。

値の定義 v π 1 = r π 1 + γ P π 1 v π 1 v_{\pi_1}=r_{\pi_1}+\gamma P_{\pi_1 }\mathrm{~}v_{\pi_1}円周率1 =r円周率1 +γP円周率1  円周率1 ベルマン反復アルゴリズムのステップ:
ここに画像の説明を挿入します

  • 値反復アルゴリズムは、1 つのステップを反復的に計算します。
  • ポリシー反復アルゴリズムは無限のステップを反復的に計算します。
  • 切り捨てられたポリシー反復アルゴリズムは、有限数の反復を計算します( j j と呼ばれます)。j)。残りは j j j ∞ ∞ の反復は切り捨てられます。

ここに画像の説明を挿入します

分析する

質問 1: この切り捨ては収束を弱めますか?

ここに画像の説明を挿入します
次の図に示すように、値の反復、ポリシーの反復、および切り捨てられたポリシーの反復の関係を示しています。
ここに画像の説明を挿入します
例: 初期戦略は、すべての状態で所定の位置にとどまることです
ここに画像の説明を挿入します
定義 ∣ ∣ v k − v ∗ ∣ ∣ ||v_k-v^*|| ∣∣vk ∣∣ 是在时刻 k k k の状態値エラー。停止基準は ∣ ∣ v k − v ∗ ∣ ∣ ∣ < 0.01 ||v_k-v^*|||<0.01 ∣∣vk ∣∣∣<;0.01 仿真结果如下:

ここに画像の説明を挿入します
”切り捨てられたポリシーの繰り返し - x x x“,其中 x = 1 , 3 , 4 , 100 x=1,3,4,100 バツ=134100 は、ポリシー評価ステップのベルマン アルゴリズムの反復に対応します x x x 次。

  • 「Truncated-policy iteration-1」: 各反復のポリシー評価ステップでベルマン反復アルゴリズムを実行するときに、1 回の反復のみで計算されることを示します v π j 1 v_{\pi_j}^{1} 円周率j 1 この政策評価の最終結果として、
  • "Truncated-policy iteration-3": ベルマン反復アルゴリズムが、各反復のポリシー評価ステップで 3 回反復することによってのみ計算されることを示します。 v π j 3 v_{ \pi_j}^{3} 円周率j 3 この政策評価の最終結果として、
  • "Truncated-policy iteration-6": ベルマン反復アルゴリズムが各反復のポリシー評価ステップで 6 回の反復のみで計算されることを示します v π j 6 v_{\ pi_j}^{6} 円周率j 6 この政策評価の最終結果として、
  • "Truncated-policy iteration-100": ベルマン反復アルゴリズムが、各反復のポリシー評価ステップで 100 回反復することによってのみ計算されることを示します。 v π j 100 v_{ \pi_j}^{100} 円周率j 100この政策評価の最終結果として、

上の図によると、結論は次のようになります。

  • x x x が大きいほど、より速く収束できます。
  • 但是当 x x x は増加し続け、この加速率は徐々に遅くなります。
  • 実際のアプリケーションでは、ポリシー評価ステップのベルマン アルゴリズムは非常に少数の反復のみを実行します (1 つのステップを反復して計算するだけではなく、あまりにも多くのステップを計算しないでください。1 つのステップよりもいくつか多くのステップを計算する場合) 、より大きなメリットが得られます。);

おすすめ

転載: blog.csdn.net/u013250861/article/details/134867859