शुरू करेंमुफ़्त में शुरू करें

फिसलनभरी Frozen Lake पर पॉलिसी का मूल्यांकन

एक फिसलनभरे Frozen Lake environment में, केवल सीखी गई Q-table से पॉलिसी निकाल लेना उसकी प्रभावशीलता मापने के लिए पर्याप्त नहीं है. किसी सीखी गई पॉलिसी की उपयुक्तता का सही आकलन करने के लिए आपको कई एपिसोड खेलकर देखना होगा और प्राप्त औसत रिवार्ड को देखना होगा. इस अभ्यास में, प्रशिक्षण के दौरान फॉलो की गई रैंडम पॉलिसी से बने बेसलाइन के मुकाबले सीखी गई पॉलिसी की प्रभावशीलता की तुलना की जाएगी. आपका कार्य है कि सीखी गई पॉलिसी को कई एपिसोड पर चलाएँ, एकत्रित औसत रिवार्ड के आधार पर उसका प्रदर्शन जाँचें, और इसे रैंडम पॉलिसी चरण के दौरान एकत्रित औसत रिवार्ड से तुलना करें.

Q-table Q, num_states, num_actions, और avg_reward_per_random_episode आपके लिए पहले से लोड हैं. NumPy लाइब्रेरी np नाम से इम्पोर्ट की गई है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Gymnasium के साथ Reinforcement Learning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • हर iteration में, सीखी गई Q-table Q के आधार पर लेने के लिए सबसे अच्छी action चुनें.
  • प्रति सीखा हुआ एपिसोड औसत रिवार्ड 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: ", ____)
कोड संपादित करें और चलाएँ