시작하기무료로 시작하기

가치 반복(Value Iteration) 구현하기

가치 반복은 최적 정책을 찾기 위한 RL의 핵심 기법입니다. 각 상태의 가치 함수를 수렴할 때까지 반복적으로 개선하여, 그 결과로 최적 정책을 찾게 됩니다. 미리 초기화된 가치 함수 Vpolicy가 제공되어 있어요. 루프를 돌면서 이들을 업데이트하여 가치 함수가 수렴하는지 확인하고, 정책이 어떻게 동작하는지도 살펴보세요.

get_max_action_and_value(state, V) 함수가 미리 로드되어 있습니다.

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

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • 각 상태에 대해 Q-값이 최대가 되는 행동(max_action)과 그에 대응하는 값(max_q_value)을 찾으세요.
  • max_actionmax_q_value에 따라 new_V 딕셔너리와 policy를 업데이트하세요.
  • 모든 상태에 대해 new_VV의 차이가 threshold보다 작은지 확인하여 수렴 여부를 검사하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
코드 편집 및 실행