Çok kollu bir bandit oluşturma
Çok kollu bandit problemi, bir ajanın her birinin beklenen ödülünü bilmeden birden fazla eylem (veya "kol") arasından seçim yapmak zorunda kaldığı durumu tanımlamak için reinforcement learning'de kullanılan klasik bir örnektir. Zamanla, ajan her seçeneği keşfederek hangi kolun en yüksek ödülü verdiğini öğrenir. Bu egzersizde, çok kollu bandit problemini simüle etmek için temel yapıyı kuracaksın.
numpy kütüphanesi np olarak içe aktarılmıştır.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Her bandit için gerçek altta yatan başarı oranını temsil eden rastgele olasılıklardan oluşan
true_bandit_probsadlı bir dizi oluştur. countsvevaluesadlı iki diziyi sıfırlarla başlat;counts, her banditin kaç kez seçildiğini takip eder,valuesise her banditin tahmini kazanma olasılığını temsil eder.- Her yinelemede elde edilen ödülleri ve seçilen kolları saklamak için
rewardsveselected_armsdizilerini oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def create_multi_armed_bandit(n_bandits):
# Generate the true bandits probabilities
true_bandit_probs = ____
# Create arrays that store the count and value for each bandit
counts = ____
values = ____
# Create arrays that store the rewards and selected arms each episode
rewards = ____
selected_arms = ____
return true_bandit_probs, counts, values, rewards, selected_arms