Визначення функції epsilon-greedy
В RL стратегія epsilon-greedy поєднує дослідження та використання. Цей метод обирає випадкову дію з імовірністю epsilon та найкращу відому дію з імовірністю 1-epsilon. Реалізація функції epsilon_greedy() є критичною для алгоритмів на кшталт Q-learning і SARSA, адже вона допомагає агентові навчатися, забезпечуючи і дослідження середовища, і використання відомих винагород. Це і буде метою цієї вправи.
Бібліотеку numpy імпортовано як np.
Ця вправа є частиною курсу
Reinforcement Learning з Gymnasium у Python
Інструкції до вправи
- Усередині функції запишіть відповідну умову, за якої агент досліджує середовище.
- Під час дослідження виберіть випадкову
action. - Під час використання оберіть найкращу
actionвідповідно доq_table.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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