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

Q-learning अपडेट नियम लागू करना

Q-learning, reinforcement learning (RL) में एक off-policy एल्गोरिदम है जो वर्तमान state के आधार पर सबसे अच्छा action खोजने की कोशिश करता है. SARSA से अलग, जो वास्तव में लिए गए अगले action को मानता है, Q-learning अपने Q-values को अधिकतम भविष्य के reward से अपडेट करता है, चाहे अगला action जो भी लिया गया हो. यही अंतर Q-learning को exploratory या यहाँ तक कि random policy का पालन करते हुए भी optimal policy सीखने देता है. इस कार्य में, आपको एक ऐसा फंक्शन लागू करना है जो Q-learning नियम के आधार पर Q-table को अपडेट करे. नीचे Q-learning का अपडेट नियम दिया है, और आपका कार्य इसी नियम के अनुसार Q-table अपडेट करने वाला फंक्शन लिखना है.

NumPy लाइब्रेरी आपको np नाम से इम्पोर्ट की गई है.

Image showing the mathematical formula of the Q-learning update rule.

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

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

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

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

  • दिए गए state-action जोड़ी के लिए वर्तमान Q-value प्राप्त करें.
  • actions में सभी संभावित actions पर अगले state के लिए अधिकतम Q-value तय करें.
  • Q-learning फॉर्मूला का उपयोग करके वर्तमान state-action जोड़ी की Q-value अपडेट करें.
  • Q-table Q को अपडेट करें, यह मानते हुए कि एक एजेंट state 0 में action 0 लेता है, reward 5 प्राप्त करता है, और state 1 में चला जाता है.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

actions = ['action1', 'action2'] 
def update_q_table(state, action, reward, next_state):
  	# Get the old value of the current state-action pair
    old_value = ____
    # Determine the maximum Q-value for the next state
    next_max = ____
    # Compute the new value of the current state-action pair
    Q[state, action] = ____

alpha = 0.1
gamma = 0.95
Q = np.array([[10, 8], [20, 15]], dtype='float32')
# Update the Q-table
____
print(Q)
कोड संपादित करें और चलाएँ