시작하기무료로 시작하기

미끄러운 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: ", ____)
코드 편집 및 실행