ÎncepețiÎncepe gratuit

Aplicarea Double Q-learning

În acest exercițiu vei aplica algoritmul Double Q-learning în același mediu personalizat pe care l-ai rezolvat cu Expected SARSA, pentru a compara cele două abordări. Double Q-learning folosește două tabele Q, ceea ce ajută la reducerea tendinței de supraestimare specifice algoritmului Q-learning clasic și oferă mai multă stabilitate în procesul de învățare față de alte metode de tip diferențe temporale. Vei folosi această metodă pentru a naviga prin mediul de tip grilă, urmărind obținerea celei mai mari recompense posibile, evitând munții și ajungând la destinație cât mai repede.

new_cust_env.png

Acest exercițiu face parte din cursul

Reinforcement Learning cu Gymnasium în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Actualizează tabelele Q folosind funcția update_q_tables() pe care ai programat-o în exercițiul anterior.
  • Combină tabelele Q prin adunarea lor.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul