Aplicando Double Q-learning
Neste exercício, você vai aplicar o algoritmo Double Q-learning no mesmo ambiente customizado que você resolveu com Expected SARSA para comparar as diferenças. O Double Q-learning, ao usar duas Q-tables, ajuda a reduzir o viés de superestimação presente no algoritmo Q-learning tradicional e oferece mais estabilidade no aprendizado do que outros métodos de diferença temporal. Você usará esse método para navegar pelo ambiente em grade, buscando a maior recompensa enquanto evita as montanhas para chegar ao objetivo o mais rápido possível.

Este exercício faz parte do curso
Reinforcement Learning com Gymnasium em Python
Instruções do exercício
- Atualize as Q-tables usando a função
update_q_tables()que você codou no exercício anterior. - Combine as Q-tables somando-as.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)