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

Double Q-learning लागू करना

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

new_cust_env.png

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

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)
कोड संपादित करें और चलाएँ