开始使用免费开始使用

实现 Double Q-learning 更新规则

Double Q-learning 是对 Q-learning 算法的扩展。它通过维护并更新两张独立的 Q 表,来降低对动作价值的高估。通过将动作选择与动作评估解耦,Double Q-learning 能更准确地估计 Q 值。本练习将引导您实现 Double Q-learning 的更新规则。已为您生成包含两张 Q 表的列表 Q

numpy 库已按 np 导入,gammaalpha 的取值也已预加载。更新公式如下:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

本练习是课程的一部分

Python 中的 Gymnasium 强化学习

查看课程

练习说明

  • 随机决定在列表 Q 中用于动作价值估计的要更新的 Q 表,并计算其索引 i
  • 完成更新 Q[i] 所需的各个步骤。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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] = ____
编辑并运行代码