MulaiMulai sekarang secara gratis

Mengimplementasikan Monte Carlo kunjungan-pertama

Tujuan algoritme Monte Carlo adalah mengestimasi tabel Q untuk menurunkan kebijakan optimal. Pada latihan ini, Anda akan mengimplementasikan metode Monte Carlo Kunjungan-Pertama untuk mengestimasi fungsi nilai-aksi Q, lalu menghitung kebijakan optimal untuk menyelesaikan environment kustom yang telah Anda lihat pada latihan sebelumnya. Saat menghitung return, asumsikan faktor diskonto sebesar 1.

Array numpy Q, returns_sum, dan returns_count, yang menyimpan nilai Q, jumlah kumulatif hadiah, dan jumlah kunjungan untuk setiap pasangan keadaan-aksi, masing-masing, telah diinisialisasi dan dimuat terlebih dahulu untuk Anda.

Latihan ini adalah bagian dari kursus

Reinforcement Learning dengan Gymnasium di Python

Lihat Kursus

Petunjuk latihan

  • Definisikan kondisi if yang harus diuji dalam algoritme Monte Carlo kunjungan-pertama.
  • Perbarui return (returns_sum), hitungannya (returns_count), dan visited_states.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

for i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
Edit dan Jalankan Kode