फिसलनभरी 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: ", ____)