Loading [MathJax]/jax/output/HTML-CSS/jax.js

1. Bellman equation for MRP

V(s)=E[Gt|st=s]

             =E[rt+γrt+1+γ2rt+2+...|st=s]

             =E[rt+γGt+1|st=s]

             =E[rt|st=s]+γE[E[Gt+1|st+1]|st=s]

             =R(s)+γE[V(st+1)|st=s]

 

V(s)=R(s)+γE[V(st+1)|st=s]

 

V=R+γTV

(1γT)V=R

V=(1γT)1R

 

위 식을 통해 state-value funtion을 구할 수 있다. 그러나 o(n3)의 시간 복잡도가 소요된다. 이를 해결하기 위해 Dynamic programming을 사용한다.

 

 

2. DP for solving Bellman equation for MRP

  • V0(s)=0 으로 초기화
  • Vk(s)=R(s)+γs2cSTss2Vk1(s2)
  • 수렴할 때까지 반복

o(n2)의 시간 복잡도가 소요된다.

*참고 - 수렴하는 이유

더보기

Vk=R+γTVk1

          =R+γT(R+γTVk2)

          =R(1+γT+...+(γT)k1)+(γT)kV0

{0<γ<1,0<T<1}

Vk = R(1+γT+...+(γT)k1) + (γT)kV0

Vk1 = R(1+γT+...+(γT)k2) + (γT)k1V0

VkVk1 = (γT)k1R + (γT)k1(γT1)V0

 

코시수열 Vk Vk1이 0임을 보이면 V는 수렴하게 된다.

0<γ<1,0<T<1이면 수렴함이 자명하다.

만약 γ=1이라면 0<T<1이면 수렴하고, T=1이면 코시수열의 차이가 좁혀지지 않아 수렴하지 않는다.


 

 

3. Value function for MDP (with policy π)

 - State-value function

First action이 정해져 있다. 그 뒤로는 policy의 action을 따라간다.

Qπ(s,a)=R(s,a)+γEπ[Vπ(st+1)|st=s,at=a]

                     =R(s,a)+γEπ[Qπ(st+1,π(a|st+1))|st=s,at=a]

 

 - Action-value function

처음부터 policy의 action을 따라간다.

Vπ(s)=R(s,π(a,s))+γEπ[Vπ(st+1)|st=s]

 

 - For discrete MDP

Qπ(s,a)=R(s,a)+γsp(s|s,a)Vπ(s)

Vπ(s)=Rπ(s)+γsp(s|s,a)Vπ(s)

Vπ(s)=aπ(a|s)Qπ(s,a)

 

 

4. Policy Evaluation for MDP

Bellman equation으로 다음을 사용한다.

Qπ(s,a)=R(s,a)+γsp(s|s,a)Qπ(s,a)

Qπ(s,a)=R(s,a)+γsp(s|s,a)Vπ(s)

Vπ(s)=Rπ(s)+γsp(s|s,a)Vπ(s)

 

MRP와 마찬가지로 DP를 이용해 state-value function을 구한다.

  • Vπ0=0 for all V
  • Vπk(s)=Rπ(s)+γsp(s|s,π(a|s))Vπk1(s)

 

 

5. Finding Optimal Policy

모든 value function을 maximize하는 policy를 구한다.

V(s)=maxπVπ(s)

Q(s,a)=maxπQπ(s,a)

 

π(s)=argmaxπVπ(s)

 

Optimal policy는 unique하지 않다. 값이 같지만, policy가 다를 수 있다.

Deterministic, stochastic policy 모두 optimal이 될 수 있다.

만약 유한한 action과 state를 가진다면, 계산량은 |A||S|이다.

 

 

6. Relation of Two Optimality Value Functions

V(s)=maxπVπ(s)=maxaQπ(s,a)

Q(s,a)=R(s,a)+γEπ[V(st+1)|st=s,at=a]

V(s)=maxaR(s,a)+γEπ[V(st+1)|st=s,at=a]

where a=argmaxaR(s,a)

 

 

 

7. 기억할 것들

*Bellman Expectation Equation

State-Value function
Vπ(s)=Eπ[Gt|St=s]

Vπ(s)=Eπ[R(s)+γVπ(st+1)|St=s]
Vπ(s)=aπ(s,a)Qπ(s,a)
Qπ(s,a)=R(s,a)+γsP(s|s,a)Vπ(s)

Vπ(s)=aπ(s,a)(R(s,a)+γsP(s|s,a)Vπ(s))
Action-Value function
Qπ(s,a)=R(s,a)+γsP(s|s,a)Vπ(s)

 

 

*Bellman Optimality Equation

V(s)=maxπVπ(s)Q(s,a)=maxπQπ(s,a)

State-Value function
V(s)=maxπVπ(s)=maxaQπ(s,a)

V(s)=maxa(R(s,a)+γsP(s|s,a)Vπ(s))

V(s)=maxaR(s,a)+γsP(s|s,a)V(s)
Action-Value function
Q(s,a)=maxπQπ(s,a)=maxπ(R(s,a)+γsP(s|s,a)Vπ(s))

Q(s,a)=R(s,a)+γsP(s|s,a)Vπ(s))