MulaiMulai sekarang secara gratis

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.

new_cust_env.png

Environment telah diimpor sebagai env.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Inisialisasi Q-table Q dengan 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)
Edit dan Jalankan Kode