Resolver un bandido de varios brazos
En este ejercicio vas a implementar una estrategia epsilon-greedy para resolver un problema de bandido con 10 brazos, donde el valor de epsilon decae con el tiempo para pasar de la exploración a la explotación.
epsilon, min_epsilon y epsilon_decay ya están predefinidos. También se ha importado la función epsilon_greedy().
Este ejercicio forma parte del curso
Reinforcement Learning con Gymnasium en Python
Instrucciones del ejercicio
- Usa la función
create_multi_armed_bandit()para inicializar un problema de bandido de 10 brazos, que devolverátrue_bandit_probs,counts,values,rewardsyselected_arms. - Selecciona un brazo que tirar usando la función
epsilon_greedy(). - Simula la
rewarden función de las probabilidades verdaderas del bandido. - Haz decaer el valor de
epsilonasegurándote de que no baje por debajo demin_epsilon.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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 = ____