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

Her-ziyaret Monte Carlo'yu uygulama

Every-Visit Monte Carlo yöntemi, First-Visit varyantından farklı olarak, bir durum-eylem çifti her göründüğünde değerleri günceller; yalnızca ilk karşılaşmada değil. Bu yaklaşım, bölümlerden gelen tüm bilgileri kullanarak politikanın kapsamlı bir değerlendirmesini sağlarken, bölüm içinde ne zaman ortaya çıktıklarına bakılmaksızın tüm örnekleri dahil ettiği için değer tahminlerinde daha fazla varyans da oluşturabilir. Görevin, num_episodes bölüm boyunca eylem-değer fonksiyonu Q'yu tahmin eden every_visit_mc() fonksiyonunun uygulamasını tamamlamak.

Durum-eylem çiftleri anahtar olacak şekilde başlatılmış ve önceden yüklenmiş returns_sum ve returns_count sözlükleri ile generate_episode() fonksiyonu sana sağlandı.

Bu egzersiz, kursun bir parçasıdır

Python ile Gymnasium'da Reinforcement Learning

Kursa Göz Atın

Egzersiz talimatları

  • generate_episode() fonksiyonunu kullanarak bir bölüm üret.
  • Bir bölüm içindeki her durum-eylem çifti için getirileri ve sayılarını güncelle.
  • Tahmini Q-değerlerini hesapla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

Q = np.zeros((num_states, num_actions))
for i in range(100):
  # Generate an episode
  episode = ____
  # Update the returns and their counts
  for j, (state, action, reward) in ____:
    returns_sum[(state,  action)] += sum(____)
    returns_count[(state,  action)] += ____

# Update the Q-values for visited state-action pairs 
nonzero_counts = ____
Q[nonzero_counts] = ____
    
render_policy(get_policy())
Kodu Düzenle ve Çalıştır