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
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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())