开始使用免费开始使用

用递减的 epsilon-greedy 策略求解 CliffWalking

为改进 epsilon-greedy 策略,我们加入衰减因子,使探索率 epsilon 随着智能体对环境了解的加深逐步降低。这样在学习早期鼓励探索,而当智能体更熟悉环境后则更多利用已学到的知识。现在,您将把这一策略应用到 CliffWalking 环境中。

环境已初始化,可通过变量 env 访问。变量 epsilonmin_epsilonepsilon_decay 已为您预先定义。函数 epsilon_greedy()update_q_table() 已导入。

本练习是课程的一部分

Python 中的 Gymnasium 强化学习

查看课程

练习说明

  • 实现完整训练循环:选择一个 action,执行该动作,将获得的 reward 累加到 episode_reward,并更新 Q 表。
  • epsilon_decay 衰减 epsilon,同时确保其不低于 min_epsilon

交互式实操练习

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

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
编辑并运行代码