ComenzarEmpieza gratis

Implementar la regla de actualización de Double Q-learning

Double Q-learning es una extensión del algoritmo Q-learning que ayuda a reducir la sobreestimación de los valores de acción manteniendo y actualizando dos Q-tables por separado. Al desacoplar la selección de acciones de la evaluación de acciones, Double Q-learning proporciona una estimación más precisa de los valores Q. En este ejercicio vas a implementar la regla de actualización de Double Q-learning. Ya tienes una lista Q que contiene dos Q-tables.

La librería numpy se ha importado como np, y los valores de gamma y alpha ya están cargados. Las fórmulas de actualización están abajo:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Decide aleatoriamente qué Q-table dentro de Q vas a actualizar para la estimación del valor de acción calculando su índice i.
  • Realiza los pasos necesarios para actualizar Q[i].

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Editar y ejecutar código