การเลือกด้วยตั๋วถ่วงน้ำหนัก
จับคู่ตั๋วจำนวนเต็มกับดัชนีรายการน้ำหนักจำนวนเต็มไม่ติดลบ.
from bisect import bisect_right
def ticket_index(weights, ticket):
if any(type(w) is not int or w < 0 for w in weights):
raise ValueError("nonnegative integer weights")
bounds, total = [], 0
for weight in weights:
total += weight
bounds.append(total)
if type(ticket) is not int or not 0 <= ticket < total:
raise ValueError("ticket outside total")
return bisect_right(bounds, ticket)โปรเจกต์
ทดสอบน้ำหนักศูนย์และขอบสะสม พร้อมปฏิเสธผลรวมศูนย์หรือตั๋วนอกผลรวมโดยไม่สุ่มตัวเลข.
ตรวจสอบก่อนนำไปใช้
เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
โมเดล
ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
from bisect import bisect_right
def ticket_index(weights, ticket):
if any(type(w) is not int or w < 0 for w in weights):
raise ValueError("nonnegative integer weights")
bounds, total = [], 0
for weight in weights:
total += weight
bounds.append(total)
if type(ticket) is not int or not 0 <= ticket < total:
raise ValueError("ticket outside total")
return bisect_right(bounds, ticket)ตรวจตรรกะการเลือกให้ทำซ้ำได้
WeightSpruce รวมตรรกะแอปกับบทสนทนา AI ในพื้นที่ทำงานเขียนโค้ดบน Windows เหมาะเมื่อกฎเลือกดูสมเหตุสมผลแต่กรณีขอบต้องตรวจอย่างรอบคอบ เปิดโฟลเดอร์โปรเจกต์และขอให้โมเดลที่เชื่อมต่อไล่การตัดสินใจจากอินพุตที่ให้ถึงผลที่คืน รวมสิ่งที่ผู้เรียกทำเมื่อไม่มีตัวเลือกที่ถูกต้อง
ตัวอย่าง tickets.py ใช้ประกอบคำขอเรื่องการเลือกตั๋วแบบถ่วงน้ำหนักได้ นำรายการน้ำหนักเล็กและตำแหน่งตั๋วที่ระบุแน่นอนมา แล้วถามว่าแต่ละตำแหน่งตรงกับรายการที่ตั้งใจหรือไม่ ให้น้ำหนักศูนย์และตำแหน่งขอบเขตเป็นส่วนของข้อกำหนด นี่คือแบบฝึกงานโปรเจกต์ที่เป็นรูปธรรม ไม่ใช่บริการจัดสรรในตัว การตรวจควรเชื่อมผลฟังก์ชันช่วยกับพฤติกรรมแอปที่มันควบคุม
AI แบบไม่จำกัดเป็นตัวเลือกโมเดลเมื่อปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic มีโมเดลประเภทนี้ ตั้งค่าที่อยู่และข้อมูลรับรองที่จำเป็น โดยบริการกำหนดการเข้าถึงเครื่องมือและบริบท ตรวจการแก้ไขที่เสนอก่อนรันการตรวจแบบผลแน่นอนซึ่งเผยความผิดพลาดขอบเขต หากแอปใช้อินพุตสุ่มด้วย ให้ประเมินแหล่งนั้นแยก การแยกการจับคู่ตั๋วจากความสุ่มช่วยให้เข้าใจว่าการทดสอบยืนยันส่วนใดจริง
ตรวจการแก้การเลือกแบบถ่วงน้ำหนัก
ทดสอบการจับคู่ตั๋วโดยไม่สุ่มตัวอย่างได้หรือไม่?
ได้ ใช้น้ำหนักที่ทราบและตำแหน่งตั๋วที่แน่นอนเพื่อตรวจกรณีแรก สุดท้าย และขอบเขต เป็นการยืนยันการจับคู่โดยตรง การทดลองสุ่มเสริมได้ แต่อาจพลาดข้อผิดพลาดเหลื่อมหนึ่งตำแหน่งที่แคบและทำให้ทำซ้ำความล้มเหลวยากขึ้น
ควรเกิดอะไรเมื่อน้ำหนักทุกตัวเป็นศูนย์?
กำหนดผลนั้นในข้อกำหนดผู้เรียก ไม่มีตั๋วที่ถูกต้องในผลรวมศูนย์ จึงต้องจัดการการปฏิเสธหรือทางเลือกสำรองที่กำหนดแยกอย่างตั้งใจ ขอให้โมเดลไล่เส้นทางล้มเหลวควบคู่การเลือกทั่วไป
การจับคู่ที่ถูกต้องพิสูจน์ว่าการสุ่มเลือกยุติธรรมหรือไม่?
ไม่ การจับคู่และการสร้างตั๋วเป็นคนละส่วน ตรวจช่วงและคุณสมบัติที่ต้องการจากแหล่งอินพุต แล้วทดสอบการทำงานร่วมกัน อย่าอนุมานหลักประกันการแจกแจงเพียงเพราะฟังก์ชันช่วยคืนรายการที่คาดหวังสำหรับตั๋วคงที่
ผู้เรียกใดต้องตรวจหลังแก้ขอบเขต?
ตรวจส่วนใช้ผลที่ตีความดัชนีที่คืนหรือสร้างช่วงตั๋ว ตรวจสมมติฐานเรื่องรายการที่ตัดออกและอินพุตว่าง ฟังก์ชันช่วยกับผู้เรียกต้องตกลงว่ารวมขีดจำกัดบนหรือไม่ก่อนรับแพตช์
WeightSpruce · อัปเดตล่าสุด 2026-10-25