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

การคำนวณ Q-value

โจทย์ในแบบฝึกหัดนี้คือการคำนวณ action-value หรือที่รู้จักกันในชื่อ Q-value สำหรับแต่ละคู่ state-action ในสภาพแวดล้อม MyGridWorld แบบกำหนดเอง โดยใช้นโยบายด้านล่างนี้ ใน RL นั้น Q-value มีความสำคัญมาก เพราะแสดงถึงประโยชน์ที่คาดว่าจะได้รับจากการเลือกกระทำ action หนึ่งในสถานะที่กำหนด แล้วดำเนินการตามนโยบายต่อไป

exercise_policy.png

ได้นำเข้าสภาพแวดล้อมในชื่อ env พร้อมกับฟังก์ชัน compute_state_value() และตัวแปรที่จำเป็น (terminal_state, num_states, num_actions, policy, gamma) ไว้ให้แล้ว

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

Reinforcement Learning with Gymnasium ใน Python

ดูคอร์ส

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

  • เติมโค้ดในฟังก์ชัน compute_q_value() เพื่อคำนวณ action-value สำหรับ state และ action ที่กำหนด
  • สร้าง dictionary ชื่อ Q โดยให้แต่ละ key แทนคู่ state-action และ value ที่สอดคล้องกันคือ Q-value ของคู่นั้น

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

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

# Complete the function to compute the action-value for a state-action pair
def compute_q_value(state, action):
    if state == terminal_state:
        return None   
    probability, next_state, reward, done = ____
    return ____

# Compute Q-values for each state-action pair
Q = {(____, ____): _____ for ____ in range(____) for ____ in range(____)}

print(Q)
แก้ไขและรันโค้ด