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.

Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
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 aksi0pada state0, menerima reward sebesar5, berpindah ke state1, dan melakukan aksi1.
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)