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

मल्टी-आर्म्ड बैंडिट को हल करना

इस अभ्यास में आप 10-आर्म्ड बैंडिट समस्या को हल करने के लिए epsilon-greedy रणनीति इम्प्लीमेंट करेंगे, जहाँ समय के साथ epsilon का मान घटता है ताकि exploration से exploitation की ओर शिफ्ट हो सके।

epsilon, min_epsilon, और epsilon_decay आपके लिए पहले से परिभाषित हैं। epsilon_greedy() फंक्शन भी इम्पोर्ट किया गया है।

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

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

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

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

  • 10-आर्म्ड बैंडिट समस्या को इनिशियलाइज़ करने के लिए create_multi_armed_bandit() फंक्शन का उपयोग करें, जो true_bandit_probs, counts, values, rewards, और selected_arms लौटाएगा।
  • epsilon_greedy() फंक्शन का उपयोग करके खींचने के लिए एक arm चुनें।
  • वास्तविक बैंडिट संभावनाओं के आधार पर reward का सिमुलेशन करें।
  • epsilon के मान को घटाएँ, यह सुनिश्चित करते हुए कि वह min_epsilon से नीचे न जाए।

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

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

# Create a 10-armed bandit
true_bandit_probs, counts, values, rewards, selected_arms = ____

for i in range(n_iterations): 
  	# Select an arm
    arm = ____
    # Compute the received reward
    reward = ____
    rewards[i] = reward
    selected_arms[i] = arm
    counts[arm] += 1
    values[arm] += (reward - values[arm]) / counts[arm]
    # Update epsilon
    epsilon = ____
कोड संपादित करें और चलाएँ