First-visit Monte Carlo’yu uygulama
Monte Carlo algoritmalarının amacı, en iyi politikayı elde etmek için Q-tablosunu tahmin etmektir. Bu egzersizde, eylem-değer fonksiyonu Q’yu tahmin etmek için First-Visit Monte Carlo yöntemini uygulayacak ve ardından bir önceki egzersizde gördüğün özel ortamı çözmek için en iyi politikayı hesaplayacaksın. Dönütü hesaplarken iskonto katsayısını 1 olarak varsay.
Q-değerlerini, kümülatif ödül toplamını ve her durum-eylem çifti için ziyaret sayısını sırasıyla saklayan numpy dizileri Q, returns_sum ve returns_count senin için başlatıldı ve önceden yüklendi.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- First-visit Monte Carlo algoritmasında test edilmesi gereken
ifkoşulunu tanımla. - Dönütleri (
returns_sum), onların sayımlarını (returns_count) vevisited_states’i güncelle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
for i in range(100):
episode = generate_episode()
visited_states = set()
for j, (state, action, reward) in enumerate(episode):
# Define the first-visit condition
if ____ not in ____:
# Update the returns, their counts and the visited states
returns_sum[state, action] += ____([____ for ____ in ____])
returns_count[state, action] += ____
visited_states.____(____)
nonzero_counts = returns_count != 0
Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())