Expected SARSA 업데이트 규칙
이번 연습에서는 시간차(Temporal Difference) 기반의 Model-Free RL 알고리즘인 Expected SARSA 업데이트 규칙을 구현해 보겠습니다. Expected SARSA는 가능한 모든 행동에 대해 평균을 내어 현재 정책의 기대값을 추정하므로, SARSA에 비해 더 안정적인 업데이트 목표를 제공합니다. Expected SARSA에서 사용하는 수식은 아래에서 확인할 수 있습니다.

numpy 라이브러리는 np로 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Gymnasium 기반 Reinforcement Learning
연습 안내
next_state에 대한 기대 Q-값을 계산하세요.- Expected SARSA 공식을 사용해 현재
state와action의 Q-값을 업데이트하세요. - 에이전트가 상태
2에서 행동1을 취해 상태3으로 이동하고 보상5를 받았다고 가정하고 Q-테이블Q를 업데이트하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def update_q_table(state, action, next_state, reward):
# Calculate the expected Q-value for the next state
expected_q = ____
# Update the Q-value for the current state and action
Q[state, action] = ____
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99
# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)