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 merupakan bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)