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.

Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
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)