ベルマン方程式

Posted: July 12, 2022

確率的な振る舞いを考慮した状態価値関数を求める

ベルマン方程式の導出

収益の式の変形

①収益(G)の定義は以下

Gt=Rt+γRt+1+γ2Rt+2+....G_t = R_t + γR_{t+1} + γ^2R_{t+2} +....

②上記①のtをt+1にしてみる

Gt+1=Rt+1+γRt+2+γ2Rt+3+....G_{t+1} = R_{t+1} + γR_{t+2} + γ^2R_{t+3} +....

③ ②を念頭に入れて①の式を変形する

Gt=Rt+γRt+1+γ2Rt+2+....G_t = R_t + γR_{t+1} + γ^2R_{t+2} +....

=Rt+γ(Rt+1+γRt+2+...)=R_t + γ(R_{t+1} + γR_{t+2} + ...)

=Rt+γGt+1=R_t + γG_{t+1}

状態価値観数の変形

④状態価値関数(νπ(s)ν_π(s))の定義は以下

νπ(s)=Eπ[GtSt=s]ν_π(s) = E_π[G_t | S_t=s]

⑤ ④の式に③を代入する

νπ(s)=Eπ[GtSt=s]ν_π(s) = E_π[G_t | S_t=s]

=Eπ[Rt+γGt+1St=s]=E_π[R_t + γG_t+1|S_t=s]

=Eπ[RtSt=s]+γEπ[Gt+1St=s]= E_π[R_t|S_t=s] + γE_π[G_{t+1}|S_t=s]

※補足:E[X+Y]=E[X]+E[Y]E[X+Y] = E[X] + E[Y]

⑥ ⑤の右辺の1つ目の項を求める

状態がsであり、確率による方策π(a|s) に従って行動し、確率 p(s’|s, a)で、報酬r(s, a, s’)を得る

期待値を求めるには報酬 * 確率をすべての候補に対して実行し和を求める

Eπ[RtSt=s]=a,sπ(as)p(ss,a)r(s,a,s)E_π[R_t|S_t=s] = \sum_{a,s'}π(a|s)p(s'|s, a)r(s, a, s')

⑦ ⑤の右辺の2つ目の項を求める

時刻tから1つ先に進めるのは、状態がsであり、確率による方策π(a|s)に従って行動し、確率p(s’|s, a)で、以下に遷移することになる

Eπ[Gt+1St+1=s]=νπ(s)E_π[G_{t+1}|S_{t+1}=s'] = ν_π(s')

期待値を求めるには、上記の計算をすべての候補に対して実行し和を求める

Eπ[Gt+1St=s]=a,sπ(as)p(ss,a)Eπ[Gt+1St+1=s]E_π[G_{t+1}|S_t=s] = \sum_{a,s'}π(a|s)p(s'|s, a)E_π[G_{t+1}|S_{t+1}=s']

=a,sπ(as)p(ss,a)νπ(s)=\sum_{a,s'}π(a|s)p(s'|s, a)ν_π(s')

⑧ ⑥と⑦を統合する(ベルマン方程式)

νπ(s)=Eπ[RtSt=s]+γEπ[Gt+1St=s]ν_π(s) = E_π[R_t|S_t=s] + γE_π[G_{t+1}|S_t=s]

=a,sπ(as)p(ss,a)r(s,a,s)+γa,sπ(as)p(ss,a)νπ(s)=\sum_{a,s'}π(a|s)p(s'|s, a)r(s, a, s') + γ\sum_{a,s'}π(a|s)p(s'|s, a)ν_π(s')

=a,sπ(as)p(ss,a){r(s,a,s)+γνπ(s)}=\sum_{a,s'}π(a|s)p(s'|s, a)\{r(s, a, s') + γν_π(s')\}

ベルマン方程式は、「状態sの価値関数」と「その次に取り得る状態s’の価値関数」の関係性を表した式になる。

行動価値関数

状態価値観数は以下であり、「状態がs」であること、「方策がπ」であることが条件

νπ(s)=Eπ[GtSt=s]ν_π(s) = E_π[G_t | S_t=s]

行動価値関数(Q関数)はさらに「行動a」も条件が追加される

qπ(s,a)=Eπ[GtSt=s,At=a]q_π(s, a) = E_π[G_t|S_t = s, A_t=a]

時刻tのときに、状態sで行動aを取り、時刻t+1以降では方策πに従った行動をとる。

そのときに得られる収益の期待値がqπ(s,a)q_π(s, a)となる

行動価値関数を使ったベルマン方程式

qπ(s,a)=Eπ[GtSt=s,At=a]q_π(s, a) = E_π[G_t|S_t = s, A_t=a]

=Eπ[Rt+γGt+1St=s,At=a]=E_π[R_t + γG_{t+1}|S_t=s, A_t=a]

=Eπ[RtSt=s,At=a]+γEπ[Gt+1St=s,At=a]=E_π[R_t|S_t=s, A_t=a] + γE_π[G_{t+1}|S_t=s, A_t=a]

=sp(ss,a)r(s,a,s)+γsp(ss,a)Eπ[Gt+1St+1=s]=\sum_{s'}p(s'|s,a)r(s, a, s') + γ\sum_{s'}p(s'|s,a)E_π[G_{t+1}|S_{t+1}=s']

=sp(ss,a){r(s,a,s)+γEπ[Gt+1St+1=s]}=\sum_{s'}p(s'|s,a)\{r(s, a, s') + γE_π[G_{t+1}|S_{t+1}=s']\}

=sp(ss,a){r(s,a,s)+γνπ(s)}=\sum_{s'}p(s'|s,a)\{r(s, a, s') + γν_π(s')\}

=sp(ss,a){r(s,a,s)+γaπ(as)qπ(s,a)}=\sum_{s'}p(s'|s,a)\{r(s, a, s') + γ\sum_{a'}π(a'|s')q_π(s',a')\}