Creando un multi-armed bandit
Un problema de multi-armed bandit es un ejemplo clásico en reinforcement learning que describe un escenario en el que un agente debe elegir entre varias acciones (o "brazos") sin conocer la recompensa esperada de cada una. Con el tiempo, el agente aprende qué brazo ofrece la mayor recompensa explorando cada opción. En este ejercicio vas a preparar la estructura básica para simular un problema de multi-armed bandit.
La librería numpy se ha importado como np.
Este ejercicio forma parte del curso
Reinforcement Learning con Gymnasium en Python
Instrucciones del ejercicio
- Genera un array
true_bandit_probscon probabilidades aleatorias que representen la tasa de éxito real de cada bandit. - Inicializa dos arrays,
countsyvalues, con ceros;countsregistra cuántas veces se ha elegido cada bandit yvaluesrepresenta la probabilidad de acierto estimada de cada bandit. - Crea los arrays
rewardsyselected_armspara almacenar las recompensas obtenidas y los brazos seleccionados en cada iteración.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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