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
Instruções do exercício
- Gere um array
true_bandit_probscom probabilidades aleatórias que representam a taxa de sucesso real de cada bandit. - Inicialize dois arrays,
countsevalues, com zeros;countsregistra quantas vezes cada bandit foi escolhido, evaluesrepresenta a probabilidade de vitória estimada de cada bandit. - Crie os arrays
rewardseselected_armspara 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