Değer yinelemesini (value iteration) uygulama
Value iteration, en iyi politikayı bulmak için RL'de kullanılan temel bir yöntemdir. Her durum için değer fonksiyonunu yinelemeli olarak iyileştirir ve yakınsadığında, en iyi politikayı bulmuş olursun. Senin için önceden yüklenmiş başlatılmış bir değer fonksiyonu V ve bir policy ile başlayacaksın. Ardından, değer fonksiyonu yakınsayana kadar bunları bir döngüde güncelleyecek ve politikayı çalışırken göreceksin.
get_max_action_and_value(state, V) fonksiyonu senin için önceden yüklendi.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Her durum için, en yüksek Q-değerine sahip eylemi (
max_action) ve buna karşılık gelen değeri (max_q_value) bul. new_Vsözlüğünü vepolicy'yimax_actionvemax_q_value'a göre güncelle.- Yakınsamayı kontrol etmek için, her durum için
new_vileVarasındaki farkınthresholddeğerinden küçük olup olmadığını denetle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)