MulaiMulai sekarang secara gratis

Menyelesaikan Frozen Lake 8x8 dengan Q-learning

Dalam latihan ini, Anda akan menerapkan algoritma Q-learning untuk mempelajari kebijakan optimal dalam menavigasi lingkungan Frozen Lake 8x8, kali ini dengan kondisi "slippery" diaktifkan. Tantangan ini memperkenalkan transisi stokastik, membuat pergerakan agen menjadi tidak terduga sehingga lebih menyerupai skenario dunia nyata.

Sebuah Q-table Q telah diinisialisasi dan dimuat untuk Anda, bersama dengan fungsi update_q_table() dari latihan sebelumnya dan daftar kosong rewards_per_episode yang akan berisi total reward yang dikumpulkan pada setiap episode.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Untuk setiap episode, jalankan aksi yang dipilih dan amati reward serta state berikutnya.
  • Perbarui Q-table.
  • Tambahkan total_reward ke daftar rewards_per_episode.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

for episode in range(10000):
    state, info = env.reset()
    total_reward = 0
    terminated = False
    while not terminated:
        action = env.action_space.sample()
        # Execute the action
        next_state, reward, terminated, truncated, info = ____
        # Update the Q-table
        ____
        state = next_state
        total_reward += reward
    # Append the total reward to the rewards list    
    rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))
Edit dan Jalankan Kode