IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Genera un array true_bandit_probs con probabilità casuali che rappresentano il tasso di successo reale di ciascun bandit.
  • Inizializza due array, counts e values, con zeri: counts tiene traccia del numero di volte in cui ogni bandit è stato scelto, e values rappresenta la probabilità di vittoria stimata per ciascun bandit.
  • Crea gli array rewards e selected_arms per 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
Modifica ed esegui il codice