시작하기무료로 시작하기

Expected SARSA 업데이트 규칙

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

Image showing the mathematical formula of the expected SARSA update rule.

numpy 라이브러리는 np로 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • next_state에 대한 기대 Q-값을 계산하세요.
  • Expected SARSA 공식을 사용해 현재 stateaction의 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)
코드 편집 및 실행