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

การเปรียบเทียบนโยบาย

โจทย์นี้กำหนด state value function สองตัว (value_function_1 และ value_function_2) ที่สอดคล้องกับนโยบายสองแบบในสภาพแวดล้อม MyGridWorld งานของคุณคือเปรียบเทียบ state value function ทั้งสองนี้แบบรัฐต่อรัฐ เพื่อพิจารณาว่านโยบายใดมีประสิทธิภาพมากกว่า

ตัวแปร num_states พร้อมให้ใช้งานแล้ว

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

Reinforcement Learning with Gymnasium ใน Python

ดูคอร์ส

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

  • สร้างลิสต์ one_is_better ที่มีค่าบูลีน โดยแต่ละสมาชิกตรวจสอบว่าค่าของ state ใน value_function_1 มากกว่าหรือเท่ากับค่าของ state ใน value_function_2 หรือไม่
  • สร้างลิสต์ two_is_better ที่มีค่าบูลีน โดยแต่ละสมาชิกตรวจสอบว่าค่าของ state ใน value_function_2 มากกว่าหรือเท่ากับค่าของ state ใน value_function_1 หรือไม่

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

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

value_function_1 = {0: 1, 1: 2, 2: 3, 3: 7, 4: 6, 5: 4, 6: 8, 7: 10, 8: 0}
value_function_2 = {0: 7, 1: 8, 2: 9, 3: 7, 4: 9, 5: 10, 6: 8, 7: 10, 8: 0}

# Check for each value in policy 1 if it is better than policy 2
one_is_better = [____ >= ____ for state in range(num_states)]

# Check for each value in policy 2 if it is better than policy 1
two_is_better = [____ >= ____ for state in range(num_states)]

if all(one_is_better):
  print("Policy 1 is better.")
elif all(two_is_better):
  print("Policy 2 is better.")
else:
  print("Neither policy is uniformly better across all states.")
แก้ไขและรันโค้ด