BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz 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_V sözlüğünü ve policy'yi max_action ve max_q_value'a göre güncelle.
  • Yakınsamayı kontrol etmek için, her durum için new_v ile V arasındaki farkın threshold değ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)
Kodu Düzenle ve Çalıştır