Vytvoření multi-armed banditu
Problém multi-armed banditu je klasický příklad z oblasti reinforcement learningu, který popisuje situaci, kdy agent musí volit mezi několika akcemi (tzv. „pákami") bez znalosti očekávané odměny za každou z nich. Postupem času se agent učí, která páka přináší nejvyšší odměnu, a to prozkoumáváním jednotlivých možností. V tomto cvičení vytvoříš základní strukturu pro simulaci problému multi-armed banditu.
Knihovna numpy je již naimportovaná jako np.
Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Vygeneruj pole
true_bandit_probss náhodnými pravděpodobnostmi reprezentujícími skutečnou míru úspěšnosti každého banditu. - Inicializuj dvě pole,
countsavalues, nulami;countssleduje, kolikrát byl každý bandit vybrán, avaluespředstavuje odhadovanou pravděpodobnost výhry pro každého banditu. - Vytvoř pole
rewardsaselected_armspro ukládání získaných odměn a vybraných páček v každé iteraci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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