ПочатиПочніть безкоштовно

Розв'язання задачі багаторукого бандита

У цій вправі ви реалізуєте стратегію epsilon-greedy для задачі з 10 важелями, де значення epsilon з часом зменшується, щоб поступово перейти від дослідження до використання.

epsilon, min_epsilon і epsilon_decay уже визначені для вас. Також імпортовано функцію epsilon_greedy().

Ця вправа є частиною курсу

Reinforcement Learning з Gymnasium у Python

Переглянути курс

Інструкції до вправи

  • Використайте функцію create_multi_armed_bandit(), щоб ініціалізувати задачу з 10 важелями. Вона поверне true_bandit_probs, counts, values, rewards і selected_arms.
  • Виберіть важіль для смикання за допомогою функції epsilon_greedy().
  • Змоделюйте reward на основі справжніх імовірностей бандита.
  • Зменшуйте значення epsilon, стежачи, щоб воно не опускалося нижче min_epsilon.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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 = ____
Редагувати та запускати код