Value iteration लागू करना
Value iteration, RL में optimal policy खोजने की एक मुख्य विधि है. यह हर state के लिए value function को बार‑बार बेहतर बनाती है जब तक वह converge न कर ले, और इसी से optimal policy मिलती है. आप एक initialized value function V और policy से शुरुआत करेंगे, जो आपके लिए पहले से लोड हैं. फिर आप इन्हें एक लूप में तब तक अपडेट करेंगे जब तक value function converge न कर जाए, और policy को क्रिया में देखेंगे.
get_max_action_and_value(state, V) फंक्शन आपके लिए पहले से लोड है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Gymnasium के साथ Reinforcement Learning
अभ्यास निर्देश
- हर state के लिए, अधिकतम Q-value वाली action (
max_action) और उससे संबंधित value (max_q_value) खोजें. max_actionऔरmax_q_valueके आधार परnew_Vडिक्शनरी औरpolicyको अपडेट करें.- convergence जाँचें: हर state के लिए
new_VऔरVके बीच का अंतरthresholdसे कम होना चाहिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
threshold = 0.001
while True:
new_V = {}
for state in range(num_states-1):
# Get action with maximum Q-value and its value
max_action, max_q_value = ____
# Update the value function and policy
new_V[state] = ____
policy[state] = ____
# Test if change in state values is negligeable
if all(abs(____ - ____) < ____ for state in ____):
break
V = new_V
render_policy(policy)