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
Petunjuk latihan
- Untuk setiap episode, jalankan aksi yang dipilih dan amati reward serta state berikutnya.
- Perbarui Q-table.
- Tambahkan
total_rewardke daftarrewards_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))