Bắt đầu ngayBắt đầu miễn phí

Giải CliffWalking với chiến lược epsilon-greedy

Môi trường CliffWalking là một testbed chuẩn để đánh giá các thuật toán RL. Đây là một grid world nơi agent phải tìm đường từ trạng thái bắt đầu đến trạng thái đích, đồng thời tránh các vách đá trên đường đi. Sử dụng chiến lược epsilon-greedy giúp agent khám phá môi trường hiệu quả trong khi học cách tránh vách đá, tối đa hóa tổng phần thưởng. Nhiệm vụ của bạn là giải môi trường này bằng chiến lược epsilon-greedy, tính phần thưởng đạt được ở mỗi episode huấn luyện và lưu chúng vào danh sách rewards_eps_greedy.

Bài tập này là một phần của khóa học

Reinforcement Learning với Gymnasium trong Python

Xem khóa học

Hướng dẫn bài tập

  • Trong mỗi episode, chọn một action bằng hàm epsilon_greedy().
  • Cộng dồn reward nhận được vào episode_reward.
  • Sau mỗi episode, thêm tổng episode_reward vào danh sách rewards_eps_greedy để phân tích sau.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

rewards_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Select action with epsilon-greedy strategy
        action = ____
        next_state, reward, terminated, truncated, info = env.step(action)
        # Accumulate reward
        ____        
        update_q_table(state, action, reward, next_state)      
        state = next_state
    # Append the toal reward to the rewards list 
    ____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))
Chỉnh sửa và Chạy Mã