การคำนวณ state-value สำหรับ policy
ใช้สภาพแวดล้อมแบบ deterministic เดิมอย่าง MyGridWorld เพื่อประเมินประสิทธิภาพของ policy ที่กำหนดไว้ในแบบฝึกหัดก่อนหน้า โดยจะทำการคำนวณฟังก์ชัน state value สำหรับแต่ละ state ภายใต้ policy นี้
สภาพแวดล้อมถูกนำเข้ามาในชื่อ env พร้อมกับตัวแปรที่จำเป็น ได้แก่ terminal_state, num_states, policy และ gamma
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Reinforcement Learning with Gymnasium ใน Python
คำแนะนำการฝึกหัด
- เติมโค้ดในฟังก์ชัน
compute_state_value()เพื่อคำนวณค่าของแต่ละ state ภายใต้ policy ที่กำหนด - สร้าง dictionary ชื่อ
state_valuesโดยให้แต่ละ key คือstateและแต่ละ value คือค่า state value ที่คำนวณได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Complete the function
def compute_state_value(state):
if state == terminal_state:
return ____
action = ____
_, next_state, reward, _ = env.unwrapped.P[state][action][0]
return ____
# Compute all state values
state_values = {____: ____ for ____ in range(____)}
print(state_values)