MulaiMulai sekarang secara gratis

Aturan pembaruan Expected SARSA

Dalam latihan ini, Anda akan mengimplementasikan aturan pembaruan Expected SARSA, sebuah algoritma temporal difference untuk RL model-free. Expected SARSA mengestimasi nilai ekspektasi dari kebijakan saat ini dengan merata-ratakan semua aksi yang mungkin, sehingga menghasilkan target pembaruan yang lebih stabil dibandingkan SARSA. Rumus yang digunakan dalam Expected SARSA ditunjukkan di bawah ini.

Image showing the mathematical formula of the expected SARSA update rule.

Pustaka numpy telah diimpor sebagai np.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Hitung nilai Q ekspektasi untuk next_state.
  • Perbarui nilai Q untuk state dan action saat ini menggunakan rumus Expected SARSA.
  • Perbarui Q-table Q dengan asumsi agen mengambil aksi 1 pada state 2 lalu berpindah ke state 3, dan menerima reward sebesar 5.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

def update_q_table(state, action, next_state, reward):
  	# Calculate the expected Q-value for the next state
    expected_q = ____
    # Update the Q-value for the current state and action
    Q[state, action] = ____
    
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99

# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)
Edit dan Jalankan Kode