가치 반복(Value Iteration) 구현하기
가치 반복은 최적 정책을 찾기 위한 RL의 핵심 기법입니다. 각 상태의 가치 함수를 수렴할 때까지 반복적으로 개선하여, 그 결과로 최적 정책을 찾게 됩니다. 미리 초기화된 가치 함수 V와 policy가 제공되어 있어요. 루프를 돌면서 이들을 업데이트하여 가치 함수가 수렴하는지 확인하고, 정책이 어떻게 동작하는지도 살펴보세요.
get_max_action_and_value(state, V) 함수가 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Gymnasium 기반 Reinforcement Learning
연습 안내
- 각 상태에 대해 Q-값이 최대가 되는 행동(
max_action)과 그에 대응하는 값(max_q_value)을 찾으세요. max_action과max_q_value에 따라new_V딕셔너리와policy를 업데이트하세요.- 모든 상태에 대해
new_V와V의 차이가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)