Menyelesaikan CliffWalking dengan strategi epsilon-greedy tereduksi
Untuk menyempurnakan strategi epsilon-greedy, sebuah faktor reduksi (decay) diperkenalkan untuk secara bertahap menurunkan laju eksplorasi, epsilon, seiring agen mempelajari lebih banyak tentang lingkungan. Pendekatan ini mendorong eksplorasi pada tahap awal pembelajaran dan pemanfaatan pengetahuan yang telah dipelajari ketika agen semakin akrab dengan lingkungan. Sekarang, Anda akan menerapkan strategi ini untuk menyelesaikan lingkungan CliffWalking.
Lingkungan telah diinisialisasi dan dapat diakses melalui variabel env. Variabel epsilon, min_epsilon, dan epsilon_decay telah didefinisikan untuk Anda. Fungsi epsilon_greedy() dan update_q_table() telah diimpor.
Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Petunjuk latihan
- Implementasikan loop pelatihan penuh dengan memilih
action, mengeksekusinya, menambahkanrewardyang diterima keepisode_reward, dan memperbarui Q-table. - Kurangi
epsilonmenggunakan lajuepsilon_decay, pastikan nilainya tidak turun di bawahmin_epsilon.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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))