Double Q-learning लागू करना
इस अभ्यास में, आप उसी कस्टम एनवायरनमेंट में Double Q-learning एल्गोरिदम लागू करेंगे, जिसे आपने Expected SARSA से हल किया था, ताकि अंतर समझा जा सके। Double Q-learning दो Q-टेबल्स का उपयोग करके पारंपरिक Q-learning एल्गोरिदम में मौजूद overestimation bias को घटाने में मदद करता है और अन्य temporal difference विधियों की तुलना में सीखने में अधिक स्थिरता देता है। आप इस विधि का उपयोग ग्रिड एनवायरनमेंट में नेविगेट करने के लिए करेंगे, जहाँ लक्ष्य है अधिकतम रिवॉर्ड पाना, पहाड़ों से बचना, और लक्ष्य तक यथाशीघ्र पहुँचना।

यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Gymnasium के साथ Reinforcement Learning
अभ्यास निर्देश
- पिछली एक्सरसाइज़ में आपने जो
update_q_tables()फंक्शन लिखा था, उसका उपयोग करके Q-टेबल्स अपडेट करें। - Q-टेबल्स को एक साथ जोड़कर (sum करके) कॉम्बाइन करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
Q = [np.zeros((num_states, num_actions))] * 2
for episode in range(num_episodes):
state, info = env.reset()
terminated = False
while not terminated:
action = np.random.choice(num_actions)
next_state, reward, terminated, truncated, info = env.step(action)
# Update the Q-tables
____
state = next_state
# Combine the learned Q-tables
Q = ____
policy = {state: np.argmax(Q[state]) for state in range(num_states)}
render_policy(policy)