ComenzarEmpieza gratis

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

Ver curso

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, rewards y selected_arms.
  • Selecciona un brazo que tirar usando la función epsilon_greedy().
  • Simula la reward en función de las probabilidades verdaderas del bandido.
  • Haz decaer el valor de epsilon asegurándote de que no baje por debajo de min_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 = ____
Editar y ejecutar código