BaşlayınÜcretsiz Başlayın

Q-learning güncelleme kuralını uygulama

Q-learning, reinforcement learning (RL) içinde mevcut duruma göre en iyi eylemi bulmayı amaçlayan off-policy bir algoritmadır. SARSA'nın, gerçekten yapılan bir sonraki eylemi hesaba katmasının aksine, Q-learning hangi eylem yapıldığından bağımsız olarak gelecekteki maksimum ödülü kullanarak Q-değerlerini günceller. Bu fark, Q-learning'in keşif yapan hatta rastgele bir politika izlerken bile en iyi politikayı öğrenmesine olanak tanır. Görevin, Q-learning kuralına göre bir Q-tablosunu güncelleyen bir fonksiyon yazmaktır. Q-learning güncelleme kuralı aşağıdadır; görevin, bu kurala göre bir Q-tablosunu güncelleyen bir fonksiyon uygulamaktır.

NumPy kütüphanesi np olarak içe aktarılmıştır.

Q-learning güncelleme kuralının matematiksel formülünü gösteren görsel.

Bu egzersiz

Python ile Gymnasium'da Reinforcement Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Verilen durum-eylem çifti için mevcut Q-değerini al.
  • actions içindeki tüm olası eylemler arasında, sonraki durum için maksimum Q-değerini belirle.
  • Q-learning formülünü kullanarak mevcut durum-eylem çifti için Q-değerini güncelle.
  • Bir ajan durum 0'da eylem 0'ı alıp 5 ödülünü aldıktan sonra durum 1'e geçtiğinde, Q Q-tabloyu güncelle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

actions = ['action1', 'action2'] 
def update_q_table(state, action, reward, next_state):
  	# Get the old value of the current state-action pair
    old_value = ____
    # Determine the maximum Q-value for the next state
    next_max = ____
    # Compute the new value of the current state-action pair
    Q[state, action] = ____

alpha = 0.1
gamma = 0.95
Q = np.array([[10, 8], [20, 15]], dtype='float32')
# Update the Q-table
____
print(Q)
Kodu Düzenle ve Çalıştır