https://youtu.be/k0VoyCZjbMY?si=jiSyLZeCr9w2zQDM
Q-learning은 보통 target policy를 greedy action으로(optimal policy), behavior policy는 $\epsilon-greedy$로 한다.
target policy는 greedy policy이므로 $p(a_{t+1}|S_{t+1})=\delta(a_{t+1}-a^{*}_{t+1})$가 되고 $a^{*}_{t+1}=\arg\max_{a_{t+1}}{Q(S_{t+1},a_{t+1})}$이다.
이를 ${Q(S_{t},a_{t})}$에 대입하면 $ Q(S_t, a_t) = \int_{S_{t+1}, a_{t+1}} \big( R_t + \gamma Q(S_{t+1}, a_{t+1}) \big) p( a_{t+1}|S_{t+1} ) p(S_{t+1} \mid S_t, a_t) \, dS_{t+1},a_{t+1}$
$= \int_{S_{t+1}, a_{t+1}} \big( R_t + \gamma Q(S_{t+1}, a_{t+1}) \big) \delta(a_{t+1} - a^*_{t+1}) p(S_{t+1} \mid S_t, a_t) \, dS_{t+1},a_{t+1} $
여기서 델타함수의 정의에 의해 $\int f(a_t) \delta(a_{t} - a^*_{t}) \, da_t = f(a^{*}_t)$이므로,
$Q(S_t, a_t) = \int_{S_{t+1}} \left[ R_t + \gamma \max_{a_{t+1}} Q(S_{t+1}, a_{t+1}) \right] p(S_{t+1} \mid S_t, a_t) \, dS_{t+1}$ 가 된다.
즉 $S_t,a_t$를 주고 환경에 $S_{t+1}$을 물어봐서 하나 샘플링 한 다음($ p(S_{t+1} \mid S_t, a_t) $에 따라)
$ R_t^N + \gamma \max_{a_{t+1}} Q\left(S_{t+1}^N, a_{t+1}\right) $을 계산하면(N은 N번째 샘플이라는 뜻)
이는 Q-learning의 TD-target이 된다.
(이를 통해 Q값을 업데이트해나간다.)
이렇게 behavior policy를 $\epsilon-greedy$하며 $\epsilon$를 줄여나가면 behavior와 target하고 비슷해져가며 optimal path를 찾게 된다.