Zacznij terazZacznij za darmo

Tworzenie problemu wielorękiego bandyty

Problem wielorękiego bandyty to klasyczny przykład stosowany w uczeniu przez wzmacnianie. Opisuje sytuację, w której agent musi wybierać spośród wielu działań (zwanych „ramionami"), nie znając oczekiwanej nagrody za każde z nich. Z czasem agent uczy się, które ramię przynosi najwyższą nagrodę, eksplorując kolejne opcje. W tym ćwiczeniu przygotujesz podstawową strukturę do symulacji problemu wielorękiego bandyty.

Biblioteka numpy została zaimportowana jako np.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj tablicę true_bandit_probs z losowymi prawdopodobieństwami reprezentującymi rzeczywisty współczynnik sukcesu dla każdego bandyty.
  • Zainicjalizuj dwie tablice, counts i values, zerami; counts śledzi, ile razy każdy bandyta został wybrany, a values przechowuje szacowane prawdopodobieństwo wygranej dla każdego bandyty.
  • Utwórz tablice rewards i selected_arms, służące do przechowywania otrzymanych nagród oraz wybranych ramion w każdej iteracji.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
Edytuj i uruchom kod