미끄러운 Frozen Lake에서 정책 평가하기
미끄러운 Frozen Lake 환경에서는 학습된 Q-테이블에서 정책을 도출하는 것만으로는 성능을 충분히 판단할 수 없습니다. 학습된 정책의 적합성을 정확히 평가하려면 여러 에피소드를 실행해 평균 보상을 관찰해야 해요. 이 연습 문제에서는 학습된 정책의 효과를, 학습 중 무작위 정책을 따를 때의 기준선과 비교합니다. 여러분의 과제는 학습된 정책을 여러 에피소드에서 실행하고 수집된 평균 보상을 기준으로 성능을 분석한 뒤, 무작위 정책 단계에서의 평균 보상과 비교하는 것입니다.
Q-테이블 Q, num_states, num_actions, 그리고 avg_reward_per_random_episode가 미리 로드되어 있어요.
NumPy 라이브러리는 np로 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Gymnasium 기반 Reinforcement Learning
연습 안내
- 각 반복에서, 학습된 Q-테이블
Q를 바탕으로 최선의 행동을 선택하세요. - 학습된 에피소드당 평균 보상
avg_reward_per_learned_episode를 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
for episode in range(10000):
state, info = env.reset()
terminated = False
episode_reward = 0
while not terminated:
# Select the best action based on learned Q-table
action = ____
new_state, reward, terminated, truncated, info = env.step(action)
state = new_state
episode_reward += reward
reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)