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

Aplikace Double Q-learningu

V tomto cvičení aplikuješ algoritmus Double Q-learning ve stejném vlastním prostředí, které jsi vyřešil/a pomocí Expected SARSA – a porovnáš oba přístupy. Double Q-learning využívá dvě Q-tabulky, čímž snižuje zkreslení způsobené nadhodnocováním, které je typické pro klasický Q-learning, a přináší větší stabilitu učení oproti jiným metodám temporální diference. Pomocí této metody budeš navigovat agenta v mřížkovém prostředí s cílem dosáhnout co nejvyšší odměny – vyhýbat se horám a co nejrychleji dosáhnout cíle.

new_cust_env.png

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

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Aktualizuj Q-tabulky pomocí funkce update_q_tables(), kterou jsi napsal/a v předchozím cvičení.
  • Zkombinuj Q-tabulky jejich sečtením.

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.zeros((num_states, num_actions))] * 2
for episode in range(num_episodes):
    state, info = env.reset()
    terminated = False   
    while not terminated:
        action = np.random.choice(num_actions)
        next_state, reward, terminated, truncated, info = env.step(action)
        # Update the Q-tables
        ____
        state = next_state
# Combine the learned Q-tables        
Q = ____
policy = {state: np.argmax(Q[state]) for state in range(num_states)}
render_policy(policy)
Upravit a spustit kód