Mulai sekarangMulai 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 merupakan bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Instruksi 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 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)
Edit dan Jalankan Kode