Menerapkan aturan pembaruan Q-learning
Q-learning adalah algoritme off-policy dalam reinforcement learning (RL) yang bertujuan menemukan aksi terbaik yang diambil berdasarkan state saat ini. Berbeda dengan SARSA, yang mempertimbangkan aksi berikutnya yang benar-benar diambil, Q-learning memperbarui nilai Q-nya menggunakan imbalan masa depan maksimum tanpa memperhatikan aksi yang diambil. Perbedaan ini memungkinkan Q-learning mempelajari kebijakan optimal sekaligus mengikuti kebijakan eksploratif atau bahkan acak. Berikut tugas untuk mengimplementasikan fungsi yang memperbarui Q-table berdasarkan aturan Q-learning. Aturan pembaruan Q-learning ada di bawah, dan tugas Anda adalah mengimplementasikan fungsi yang memperbarui Q-table berdasarkan aturan tersebut.
Pustaka NumPy telah diimpor sebagai np.

Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Petunjuk latihan
- Ambil nilai Q saat ini untuk pasangan state-aksi yang diberikan.
- Tentukan nilai Q maksimum untuk state berikutnya di seluruh aksi yang mungkin dalam
actions. - Perbarui nilai Q untuk pasangan state-aksi saat ini menggunakan rumus Q-learning.
- Perbarui Q-table
Q, dengan ketentuan agen mengambil aksi0pada state0, menerima imbalan5, dan berpindah ke state1.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
actions = ['action1', 'action2']
def update_q_table(state, action, reward, next_state):
# Get the old value of the current state-action pair
old_value = ____
# Determine the maximum Q-value for the next state
next_max = ____
# Compute the new value of the current state-action pair
Q[state, action] = ____
alpha = 0.1
gamma = 0.95
Q = np.array([[10, 8], [20, 15]], dtype='float32')
# Update the Q-table
____
print(Q)