Začněte nyníZačněte zdarma

Řešení problému multi-armed bandit

V tomto cvičení implementuješ epsilon-greedy strategii pro řešení problému 10-ramenného bandity, přičemž hodnota epsilon se v průběhu času snižuje – agent se tak postupně přesouvá od průzkumu k využívání naučených znalostí.

Proměnné epsilon, min_epsilon a epsilon_decay jsou již předem definovány. Funkce epsilon_greedy() je také naimportována.

Toto cvičení je součástí kurzu

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Pomocí funkce create_multi_armed_bandit() inicializuj problém 10-ramenného bandity – funkce vrátí true_bandit_probs, counts, values, rewards a selected_arms.
  • Vyber rameno k tažení pomocí funkce epsilon_greedy().
  • Simuluj hodnotu reward na základě skutečných pravděpodobností bandity.
  • Sniž hodnotu epsilon tak, aby neklesla pod hodnotu min_epsilon.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create a 10-armed bandit
true_bandit_probs, counts, values, rewards, selected_arms = ____

for i in range(n_iterations): 
  	# Select an arm
    arm = ____
    # Compute the received reward
    reward = ____
    rewards[i] = reward
    selected_arms[i] = arm
    counts[arm] += 1
    values[arm] += (reward - values[arm]) / counts[arm]
    # Update epsilon
    epsilon = ____
Upravit a spustit kód