เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การนำ First-Visit Monte Carlo มาใช้งาน

เป้าหมายของอัลกอริทึม Monte Carlo คือการประมาณค่า Q-table เพื่อหานโยบายที่เหมาะสมที่สุด ในแบบฝึกหัดนี้ จะนำวิธี First-Visit Monte Carlo มาใช้ประมาณค่าฟังก์ชัน action-value Q แล้วคำนวณนโยบายที่เหมาะสมที่สุดเพื่อแก้ปัญหา environment แบบกำหนดเองที่เคยเห็นในแบบฝึกหัดก่อนหน้า เมื่อคำนวณค่า return ให้ใช้ discount factor เท่ากับ 1

อาร์เรย์ numpy ได้แก่ Q, returns_sum และ returns_count ซึ่งเก็บค่า Q-values ผลรวมสะสมของรางวัล และจำนวนครั้งที่เยี่ยมชมสำหรับแต่ละคู่ state-action ตามลำดับ ได้รับการกำหนดค่าเริ่มต้นและโหลดไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Reinforcement Learning with Gymnasium ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดเงื่อนไข if ที่ต้องตรวจสอบในอัลกอริทึม First-Visit Monte Carlo
  • อัปเดตค่า return (returns_sum) จำนวนครั้ง (returns_count) และ visited_states

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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())
แก้ไขและรันโค้ด