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:


Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Náhodně urči, kterou Q-tabulku v
Qaktualizovat pro odhad hodnoty akce, a vypočítej její indexi. - 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] = ____