Creare un multi-armed bandit
Un problema di multi-armed bandit è un classico esempio usato nel reinforcement learning per descrivere uno scenario in cui un agente deve scegliere tra più azioni (o "bracci") senza conoscere la ricompensa attesa di ciascuna. Con il tempo, l'agente impara quale braccio offre la ricompensa più alta esplorando le varie opzioni. In questo esercizio imposterai la struttura di base per simulare un problema di multi-armed bandit.
La libreria numpy è stata importata come np.
Questo esercizio fa parte del corso
Reinforcement Learning con Gymnasium in Python
Istruzioni dell'esercizio
- Genera un array
true_bandit_probscon probabilità casuali che rappresentano il tasso di successo reale di ciascun bandit. - Inizializza due array,
countsevalues, con zeri:countstiene traccia del numero di volte in cui ogni bandit è stato scelto, evaluesrappresenta la probabilità di vittoria stimata per ciascun bandit. - Crea gli array
rewardseselected_armsper memorizzare, a ogni iterazione, le ricompense ottenute e i bracci selezionati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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