Epsilon greedy stratejisiyle CliffWalking çözümü
CliffWalking ortamı, RL algoritmaları için standart bir test alanıdır. Bu, bir ajanının başlangıç durumundan hedef duruma uçurumlara düşmeden yol bulması gereken bir ızgara dünyasıdır. Epsilon-greedy stratejisini kullanmak, ajanın ortamı etkili biçimde keşfetmesini ve uçurumlardan kaçınmayı öğrenmesini sağlar; böylece kümülatif ödülü en üst düzeye çıkarır. Görevin, bu ortamı epsilon-greedy stratejisiyle çözmek, her eğitim bölümünde (episode) elde edilen ödülleri hesaplamak ve bunları rewards_eps_greedy listesine kaydetmektir.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Bir bölüm içinde,
epsilon_greedy()fonksiyonunu kullanarak biractionseç. - Alınan
rewarddeğeriniepisode_rewarddeğişkenine ekle. - Her bölümün sonunda, toplam
episode_rewarddeğerini daha sonra analiz etmek üzererewards_eps_greedylistesine ekle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))