MulaiMulai sekarang secara gratis

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.

Image showing the mathematical formula of the Q-learning update rule.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

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 aksi 0 pada state 0, menerima imbalan 5, dan berpindah ke state 1.

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