ComeçarComece de graça

Criando um multi-armed bandit

Um problema de multi-armed bandit é um exemplo clássico usado em reinforcement learning para descrever um cenário em que um agente precisa escolher entre várias ações (ou "braços") sem conhecer a recompensa esperada de cada uma. Com o tempo, o agente aprende qual braço gera a maior recompensa explorando cada opção. Este exercício envolve configurar a estrutura básica para simular um problema de multi-armed bandit.

A biblioteca numpy já foi importada como np.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Gere um array true_bandit_probs com probabilidades aleatórias que representam a taxa de sucesso real de cada bandit.
  • Inicialize dois arrays, counts e values, com zeros; counts registra quantas vezes cada bandit foi escolhido, e values representa a probabilidade de vitória estimada de cada bandit.
  • Crie os arrays rewards e selected_arms para armazenar, em cada iteração, as recompensas obtidas e os braços selecionados.

Exercício interativo prático

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

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