처음 S에서 동쪽으로 출발할때 보상에 대한 기대값은 0입니다. 왜냐하면 아직 하트를 찾을지 못찾을지 모르기 때문입니다. 바에 도착해서 동쪽으로 갈때에도 Q-value값은 0입니다. 하지만 G에 도착해서 16점을 받는 순간 에이전트는 이제 바의 동쪽 위치에 대한 Q-value값을 16점이라고 적어놓고 기억할 것입니다. 이제 그쪽으로 가면 16점을 받을 수 있다는것을 알게 되었기 때문에 업데이트 된것입니다. 그리고 다시 S의 동쪽에 대한 Q-value값을 절반규칙에 의해 8점이라고 기억 업데이트를 합니다.
이제 목표에 도달하는 두 개의 길을 찾았습니다. 그리고 출발뱡향에 대한 두 개의 Q-value값이 업데이트 되었습니다. 그러면 에이전트는 이제부터 출발지점에서 행동을 할 때 가장빠른 길을 찾으려면 Q-value값이 가장 큰 동쪽방향으로 움직이는 행동을 취하는 것이 좋다는 결론에 도달하게 됩니다.
지금까지 Q-learning에 대해 설명한 내용은 많이 축약되고 이해하기 쉬운 것을 골라 설명을 하였습니다. 하지만 그 이해에 대한 수학식이 때로는 더 쉬울 수도 있습니다. 여러분이 좀더 자세히 공부해보고 싶다면 Q-learnging에 관한 수식을 공부하는 방법도 추천합니다.
Q(s, a) = reward +Max Q(s’, a’)
a= argmax(Q(s, a) + random_value)
Q(s, a) = gamma * reward + Max Q(s’, a’), # 0 < gamma < 1