ComeçarComece de graça

Resolvendo um bandido de múltiplos braços

Neste exercício, você vai implementar uma estratégia epsilon-greedy para resolver um problema de 10 braços, em que o valor de epsilon decai ao longo do tempo para fazer a transição de exploração para exploração.

epsilon, min_epsilon e epsilon_decay já foram pré-definidos para você. A função epsilon_greedy() também foi importada.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Use a função create_multi_armed_bandit() para inicializar um problema de bandido de 10 braços, que retornará true_bandit_probs, counts, values, rewards e selected_arms.
  • Selecione um braço para puxar usando a função epsilon_greedy().
  • Simule a reward com base nas probabilidades verdadeiras do bandido.
  • Faça o decaimento do valor de epsilon, garantindo que ele não fique abaixo de min_epsilon.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código