MulaiMulai sekarang secara gratis

Menerapkan aturan pembaruan SARSA

SARSA adalah algoritme on-policy dalam RL yang memperbarui fungsi nilai-aksi berdasarkan aksi yang diambil dan aksi yang dipilih pada state berikutnya. Metode ini membantu mempelajari nilai tidak hanya untuk pasangan state-aksi saat ini, tetapi juga yang berikutnya, sehingga memungkinkan pembelajaran kebijakan yang mempertimbangkan aksi di masa depan. Aturan pembaruan SARSA ada di bawah ini, dan tugas Anda adalah mengimplementasikan sebuah fungsi yang memperbarui Q-table berdasarkan aturan tersebut.

Pustaka NumPy telah diimpor untuk Anda sebagai np.

Image showing the mathematical formula of the SARSA update rule.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Ambil nilai-Q saat ini untuk pasangan state-aksi yang diberikan.
  • Temukan nilai-Q untuk pasangan state-aksi berikutnya.
  • Perbarui nilai-Q untuk pasangan state-aksi saat ini menggunakan rumus SARSA.
  • Perbarui Q-table Q, dengan asumsi agen mengambil aksi 0 pada state 0, menerima reward sebesar 5, berpindah ke state 1, dan melakukan aksi 1.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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)
Edit dan Jalankan Kode