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.

Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz 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 eylem0'ı yapıyor,5ödülü alıyor, durum1'e geçiyor ve eylem1'i uyguluyor olduğuna göre Q-tablosuQ'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)