实现 Double Q-learning 更新规则
Double Q-learning 是对 Q-learning 算法的扩展。它通过维护并更新两张独立的 Q 表,来降低对动作价值的高估。通过将动作选择与动作评估解耦,Double Q-learning 能更准确地估计 Q 值。本练习将引导您实现 Double Q-learning 的更新规则。已为您生成包含两张 Q 表的列表 Q。
numpy 库已按 np 导入,gamma 和 alpha 的取值也已预加载。更新公式如下:


本练习是课程的一部分
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] = ____