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, kursun bir parçasıdır
Python ile Gymnasium'da Reinforcement Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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