Epsilon-greedy fonksiyonunu tanımlama
RL'de epsilon-greedy stratejisi, keşif ve sömürü (exploration ve exploitation) arasında bir dengedir. Bu yöntem, epsilon olasılığıyla rastgele bir eylem ve 1-epsilon olasılığıyla bilinen en iyi eylemi seçer. epsilon_greedy() fonksiyonunu uygulamak, Q-learning ve SARSA gibi algoritmalar için kritiktir; ajanın hem ortamı keşfetmesini hem de bilinen ödüllerden yararlanmasını sağlayarak öğrenme sürecini kolaylaştırır. Bu egzersizin amacı da bunu gerçekleştirmektir.
numpy kütüphanesi np olarak içe aktarılmıştır.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Fonksiyonun içinde, ajanın ortamı keşfetmesi için uygun koşulu yaz.
- Keşif yaparken rastgele bir
actionseç. - Sömürü yaparken
q_table'a göre en iyiaction'ı seç.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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