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

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

Để tăng cường chiến lược epsilon-greedy, một hệ số suy giảm được đưa vào để giảm dần tỷ lệ khám phá, epsilon, khi agent học nhiều hơn về môi trường. Cách tiếp cận này khuyến khích khám phá ở giai đoạn đầu và khai thác kiến thức đã học khi agent ngày càng quen thuộc với môi trường. Bây giờ, bạn sẽ áp dụng chiến lược này để giải bài toán CliffWalking.

Môi trường đã được khởi tạo và có thể truy cập qua biến env. Các biến epsilon, min_epsilon, và epsilon_decay đã được định nghĩa sẵn cho bạn. Các hàm epsilon_greedy()update_q_table() đã được nhập sẵn.

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

  • Triển khai vòng lặp huấn luyện đầy đủ bằng cách chọn action, thực thi nó, cộng dồn reward nhận được vào episode_reward, và cập nhật Q-table.
  • Giảm epsilon theo tỷ lệ epsilon_decay, đảm bảo nó không giảm xuống dưới min_epsilon.

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_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
Chỉnh sửa và Chạy Mã