Mulai sekarangMulai 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 merupakan bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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