Začněte nyníZačněte zdarma

Implementace pravidla aktualizace Double Q-learningu

Double Q-learning je rozšíření algoritmu Q-learning, které pomáhá snižovat nadhodnocení hodnot akcí tím, že udržuje a aktualizuje dvě samostatné Q-tabulky. Oddělením výběru akce od jejího vyhodnocení poskytuje Double Q-learning přesnější odhad Q-hodnot. Toto cvičení tě provede implementací pravidla aktualizace Double Q-learningu. Seznam Q obsahující dvě Q-tabulky už byl vygenerován.

Knihovna numpy je naimportována jako np a hodnoty gamma a alpha jsou předem načteny. Vzorce pro aktualizaci jsou níže:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

Toto cvičení je součástí kurzu

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Náhodně urči, kterou Q-tabulku v Q aktualizovat pro odhad hodnoty akce, a vypočítej její index i.
  • Proveď potřebné kroky k aktualizaci Q[i].

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Upravit a spustit kód