MDPs

The Bellman Equation

$V^*(s)$: agent가 상태 $s$에서 시작, optimal하게 행동한다면 행동 가능한 타임 스탬프 동안 얻을 수 있는 utility 기댓값

$Q^*(s,a)$: agent가 상태 $s$에서 시작, 행동 $a$를 시작한 뒤 optimal하게 행동한다면 이후 얻을 수 있는 utility 기댓값

이때 $V^*(s)$를 앞서 정의한 MDP 개념으로 표현할 수 있다.

$$ V^(s)=\max_{a}\sum_{s'}T(s,a,s')[R(s,a,s')+\gamma V^(s')] $$

<aside> 💡

여기서 $T(s,a,s')$는 Transition Dynamic을 말하며 상태 $s$에서 행동 $a$를 했을 때 다음 상태 $s'$가 확률적으로 결정되는 MDP 환경을 가정한다.

다만 이러한 transition dynamics(transition model)를 직접 사용하여 기대값을 계산하는 것은 model-based 방법들에 한정된다.

Model-free RL에서는 실제 $T(s,a,s')$를 알지 못하기 때문에 이를 Policy Evaluation / Policy Update 과정에서 사용하지 않는다. 대신 환경에서 관측된 $(s,a,r,s')$ 형태의 sample만을 이용한다.

</aside>

Q-state 또한 MDP를 통해 표현해보자

$$ Q^(s,a)=\sum_{s'}T(s,a,s')[R(s,a,s')+\gamma V^(s')] $$

이때 $\sum_{s'}T(s,a,s')[R(s,a,s')+\gamma V^*(s')]$는 상태 $s$에서 행동 $a$를 한 뒤에 optimal하게 행동했을 때 얻을 수 있는 utility value($G$)의 기대값이다.

이중 가장 최댓값을 택하는 길을 고르면

$$ V^(s)=\max_a Q^(s,a) $$

벨만 방정식은 지금 상태 $s$에서 이후 모든 상태 $s'$로 이어지는 값 중 최댓값을 고르는 식을

  1. 어떤 행동 $a$가 있는지 확인한다.
  2. 행동 별로 얻을 수 있는 값($Q(s,a)$)들을 본다.