使用 epsilon-greedy 策略解决 CliffWalking
CliffWalking 环境是用于强化学习算法的标准测试平台。它是一个网格世界,智能体需要从起始状态走到目标状态,并在途中避开悬崖。使用 epsilon-greedy 策略可以让智能体在探索环境的同时,学习如何避开悬崖,从而最大化累计回报。您的任务是使用 epsilon-greedy 策略求解该环境,计算每个训练回合获得的回报,并将其保存到 rewards_eps_greedy 列表中。
本练习是课程的一部分
Python 中的 Gymnasium 强化学习
练习说明
- 在每个回合内,使用
epsilon_greedy()函数选择一个action。 - 将获得的
reward累加到episode_reward中。 - 在每个回合结束后,将该回合的总
episode_reward追加到rewards_eps_greedy列表,以便后续分析。
交互式实操练习
通过完成这段示例代码来试试这个练习。
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))