Double Q-learning toepassen
In deze oefening ga je het Double Q-learning-algoritme toepassen in dezelfde aangepaste omgeving die je eerder met Expected SARSA hebt opgelost, zodat je het verschil kunt onderzoeken. Double Q-learning gebruikt twee Q-tabellen om de overschatting-bias van het traditionele Q-learning te verminderen en biedt meer stabiliteit tijdens het leren dan andere temporal-difference-methoden. Je gebruikt deze aanpak om door de roosteromgeving te navigeren, met als doel de hoogste beloning te behalen terwijl je bergen ontwijkt om zo snel mogelijk het doel te bereiken.

Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Werk de Q-tabellen bij met de functie
update_q_tables()die je in de vorige oefening hebt geschreven. - Combineer de Q-tabellen door ze op te tellen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)