开始使用免费开始使用

应用 Expected SARSA

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

new_cust_env.png

该环境已作为 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)
编辑并运行代码