epsilon-greedy फंक्शन परिभाषित करना
RL में, epsilon-greedy स्ट्रैटेजी एक्सप्लोरेशन और एक्स्प्लॉइटेशन के बीच संतुलन बनाती है. इस विधि में epsilon प्रायिकता के साथ एक रैंडम एक्शन चुना जाता है और 1 - epsilon प्रायिकता के साथ सबसे अच्छा ज्ञात एक्शन. epsilon_greedy() फंक्शन को इम्प्लीमेंट करना Q-learning और SARSA जैसे एल्गोरिदम के लिए अहम है, क्योंकि यह एजेंट को वातावरण का एक्सप्लोर भी करवाता है और ज्ञात रिवार्ड्स का एक्स्प्लॉइट भी, जिससे सीखने की प्रक्रिया सक्षम होती है. यही इस अभ्यास का लक्ष्य है.
numpy लाइब्रेरी np नाम से इम्पोर्ट की गई है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Gymnasium के साथ Reinforcement Learning
अभ्यास निर्देश
- फंक्शन के अंदर, एजेंट के वातावरण को एक्सप्लोर करने की उपयुक्त शर्त लिखिए.
- एक्सप्लोर करते समय एक रैंडम
actionचुनिए. - एक्स्प्लॉइट करते समय
q_tableके अनुसार सबसे अच्छाactionचुनिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)
def epsilon_greedy(state):
# Implement the condition to explore
if ____ < ____:
# Choose a random action
action = ____
else:
# Choose the best action according to q_table
action = ____
return action