应用 Expected SARSA
现在,您将把 Expected SARSA 算法应用到如下所示的自定义环境中。目标是让智能体在网格中导航,并尽快到达目标。规则与之前相同:到达钻石奖励 +10,经过山地惩罚 -2,其他任意状态惩罚 -1。

该环境已作为 env 导入。
本练习是课程的一部分
Python 中的 Gymnasium 强化学习
练习说明
- 为每个状态-动作对用零初始化 Q 表
Q。 - 使用
update_q_table()函数更新 Q 表。 - 从训练得到的 Q 表中提取策略,并以字典形式返回。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)