Menerapkan Expected SARSA
Sekarang Anda akan menerapkan algoritma Expected SARSA dalam sebuah environment kustom seperti di bawah ini, dengan tujuan membuat agen menavigasi grid untuk mencapai target secepat mungkin. Aturan yang sama seperti sebelumnya tetap berlaku: agen menerima reward +10 saat mencapai berlian, -2 saat melewati gunung, dan -1 untuk setiap state lainnya.

Environment telah diimpor sebagai env.
Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Petunjuk latihan
- Inisialisasi Q-table
Qdengan nol untuk setiap pasangan state-action. - Perbarui Q-table menggunakan fungsi
update_q_table(). - Ekstrak policy sebagai dictionary dari Q-table yang telah dipelajari.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)