定义 epsilon-greedy 函数
在强化学习中,epsilon-greedy 策略用于平衡探索与利用。该方法以概率 epsilon 选择随机动作,以概率 1-epsilon 选择当前已知的最优动作。实现 epsilon_greedy() 函数对 Q-learning 和 SARSA 等算法至关重要,它通过同时保证对环境的探索与对已知回报的利用,来促进智能体的学习过程。这正是本练习的目标。
已将 numpy 库导入为 np。
本练习是课程的一部分
Python 中的 Gymnasium 强化学习
练习说明
- 在函数内部,为智能体探索环境写出合适的条件判断。
- 当执行探索时,选择一个随机的
action。 - 当执行利用时,根据
q_table选择最优的action。
交互式实操练习
通过完成这段示例代码来试试这个练习。
epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)
def epsilon_greedy(state):
# Implement the condition to explore
if ____ < ____:
# Choose a random action
action = ____
else:
# Choose the best action according to q_table
action = ____
return action