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

SARSA güncelleme kuralını uygulama

SARSA, RL'de sonraki durumda seçilen eyleme ve yapılan eyleme dayalı olarak eylem-değer fonksiyonunu güncelleyen bir on-policy algoritmadır. Bu yöntem, yalnızca mevcut durum-eylem çiftinin değil, aynı zamanda onu izleyen çiftin de değerini öğrenmeye yardımcı olur ve gelecekteki eylemleri dikkate alan politikalar öğrenmenin bir yolunu sağlar. Aşağıda SARSA güncelleme kuralı verilmiştir; görevin, bu kurala göre bir Q-tablosunu güncelleyen bir fonksiyon yazmaktır.

NumPy kütüphanesi np takma adıyla içe aktarılmıştır.

SARSA 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.
  • Sonraki durum-eylem çifti için Q-değerini bul.
  • Mevcut durum-eylem çifti için Q-değerini SARSA formülünü kullanarak güncelle.
  • Bir ajan durum 0'da eylem 0'ı yapıyor, 5 ödülü alıyor, durum 1'e geçiyor ve eylem 1'i uyguluyor olduğuna göre Q-tablosu Q'yu güncelle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def update_q_table(state, action, reward, next_state, next_action):
  	# Get the old value of the current state-action pair
    old_value = ____
    # Get the value of the next state-action pair
    next_value = ____
    # Compute the new value of the current state-action pair
    Q[(state, action)] = ____

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