MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Implementasikan loop pelatihan penuh dengan memilih action, mengeksekusinya, menambahkan reward yang diterima ke episode_reward, dan memperbarui Q-table.
  • Kurangi epsilon menggunakan laju epsilon_decay, pastikan nilainya tidak turun di bawah min_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))
Edit dan Jalankan Kode