Định nghĩa hàm epsilon-greedy
Trong RL, chiến lược epsilon-greedy là cách cân bằng giữa khám phá và khai thác. Phương pháp này chọn một hành động ngẫu nhiên với xác suất epsilon và chọn hành động tốt nhất đã biết với xác suất 1-epsilon. Việc hiện thực hàm epsilon_greedy() là rất quan trọng cho các thuật toán như Q-learning và SARSA, giúp quá trình học của agent bằng cách vừa đảm bảo khám phá môi trường vừa khai thác các phần thưởng đã biết, và đó sẽ là mục tiêu của bài tập này.
Thư viện numpy đã được import với tên np.
Bài tập này là một phần của khóa học
Reinforcement Learning với Gymnasium trong Python
Hướng dẫn bài tập
- Bên trong hàm, viết điều kiện phù hợp để agent đi khám phá môi trường.
- Chọn một
actionngẫu nhiên khi khám phá. - Chọn
actiontốt nhất theoq_tablekhi khai thác.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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