Rezolvarea CliffWalking cu strategia epsilon-greedy cu descreștere
Prin îmbunătățirea strategiei epsilon-greedy, se introduce un factor de descreștere pentru a reduce treptat rata de explorare, epsilon, pe măsură ce agentul acumulează cunoștințe despre mediu. Această abordare favorizează explorarea în etapele timpurii ale învățării și exploatarea cunoștințelor dobândite pe măsură ce agentul devine tot mai familiar cu mediul. Acum vei aplica această strategie pentru a rezolva mediul CliffWalking.
Mediul a fost inițializat și poate fi accesat prin variabila env. Variabilele epsilon, min_epsilon și epsilon_decay sunt deja predefinite. Funcțiile epsilon_greedy() și update_q_table() au fost importate.
Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- Implementează bucla completă de antrenament: alege o acțiune (
action), execut-o, acumulează recompensa (reward) primită înepisode_rewardși actualizează tabelul Q. - Diminuează
epsilonfolosind rataepsilon_decay, asigurându-te că nu scade submin_epsilon.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
rewards_decay_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Implement the training loop
action = ____
new_state, reward, terminated, truncated, info = ____
episode_reward += ____
____
state = new_state
rewards_decay_eps_greedy.append(episode_reward)
# Update epsilon
epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))