SARSA 업데이트 규칙 구현하기
SARSA는 on-policy 알고리즘으로, 현재 취한 행동과 다음 상태에서 선택된 행동에 기반해 action-value 함수를 업데이트해요. 이 방법은 현재 상태-행동 쌍뿐만 아니라 그다음 쌍의 가치까지 학습하도록 도와주어, 미래의 행동을 고려하는 정책을 학습하게 합니다. 아래의 SARSA 업데이트 규칙을 참고하여, 이 규칙에 따라 Q-table을 업데이트하는 함수를 구현해 보세요.
NumPy 라이브러리는 np로 임포트되어 있어요.

이 연습은 강의의 일부입니다
Python으로 배우는 Gymnasium 기반 Reinforcement Learning
연습 안내
- 주어진 상태-행동 쌍에 대한 현재 Q-값을 가져오세요.
- 다음 상태-행동 쌍의 Q-값을 찾으세요.
- SARSA 공식을 사용해 현재 상태-행동 쌍의 Q-값을 업데이트하세요.
- 에이전트가 상태
0에서 행동0을 수행하고 보상5를 받은 뒤 상태1로 이동하여 행동1을 수행했다고 할 때, Q-tableQ를 업데이트하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)