MulaiMulai sekarang secara gratis

Mengimplementasikan value iteration

Value iteration adalah metode kunci dalam RL untuk menemukan kebijakan (policy) optimal. Metode ini secara bertahap menyempurnakan fungsi nilai untuk setiap state hingga konvergen, sehingga menghasilkan penemuan kebijakan optimal. Anda akan memulai dengan fungsi nilai V dan policy yang sudah diinisialisasi dan telah dimuat untuk Anda. Selanjutnya, Anda akan memperbaruinya dalam sebuah loop hingga fungsi nilai tersebut konvergen dan melihat kebijakannya bekerja.

Fungsi get_max_action_and_value(state, V) telah dimuat untuk Anda.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Untuk setiap state, temukan aksi dengan nilai Q maksimum (max_action) dan nilai yang bersesuaian (max_q_value).
  • Perbarui kamus new_V dan policy berdasarkan max_action dan max_q_value.
  • Periksa konvergensi dengan memastikan selisih antara new_v dan V untuk setiap state lebih kecil daripada threshold.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Edit dan Jalankan Kode