Definirea funcției epsilon-greedy
În RL, strategia epsilon-greedy reprezintă un echilibru între explorare și exploatare. Această metodă alege o acțiune aleatorie cu probabilitatea epsilon și acțiunea cea mai bună cunoscută cu probabilitatea 1-epsilon. Implementarea funcției epsilon_greedy() este esențială pentru algoritmi precum Q-learning și SARSA, facilitând procesul de învățare al agentului prin asigurarea atât a explorării mediului, cât și a exploatării recompenselor cunoscute – acesta va fi obiectivul acestui exercițiu.
Biblioteca numpy a fost importată ca np.
Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- În interiorul funcției, scrie condiția potrivită pentru ca agentul să exploreze mediul.
- Alege o
actionaleatorie în cazul explorării. - Alege cea mai bună
actionconformq_tableîn cazul exploatării.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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