Розв'язання задачі багаторукого бандита
У цій вправі ви реалізуєте стратегію 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 = ____