กลับหน้าข่าว
การบริการวิชาการและNon-Degree

TALANGSON: Course Scheduling System Knowledge Base and Architecture Blueprint

Kunnaree.w 07/09/2026 09:39 46 ครั้ง
เบื้องหลังอัลกอริทึม TALANGSON: เมื่อการจัดตารางสอนไม่ใช่แค่เรื่องของห้องและเวลา

การจัดตารางสอนในระดับมหาวิทยาลัยคือกิจกรรมที่เปรียบเสมือนการแก้โจทย์คณิตศาสตร์ระดับสูงที่มีตัวแปรนับพันและเงื่อนไขที่ขัดแย้งกันเองตลอดเวลา สำหรับผู้ดูแลตารางสอน (Admin) งานนี้ไม่ใช่เพียงแค่การนำรายวิชามาหย่อนลงในช่องว่าง แต่คือการเผชิญหน้ากับ "ข้อจำกัด" (Constraints) ที่กดดันทั้งด้านทรัพยากรและความพึงพอใจของบุคลากร

ในฐานะนักออกแบบระบบ คำถามที่น่าสนใจคือ "เราจะเปลี่ยนกระบวนการที่วุ่นวายนี้ให้กลายเป็น Logic ที่คอมพิวเตอร์เข้าใจได้อย่างไร?" วันนี้เราจะไปเจาะลึกระบบ TALANGSON เพื่อถอดรหัสว่าสถาปัตยกรรมเบื้องหลังการจัดตารางสอนที่มีประสิทธิภาพนั้นถูกสร้างขึ้นมาอย่างไร

1. หัวใจ 4 ชั้นของตารางสอน (The 4-Layer Mental Model)

จุดเริ่มต้นที่ทำให้ระบบ TALANGSON แตกต่างคือการมองปัญหาด้วย "Mental Model" ที่แบ่งชั้นของข้อมูลออกเป็น 4 เลเยอร์ แทนที่จะมองตารางสอนเป็นเพียงรายการเรียงลำดับธรรมดา

1. บุคลากร (Personnel): ข้อมูลอาจารย์ผู้สอนหลัก-ร่วม และช่วงเวลาที่ไม่สะดวก (Instructor Unavailability)
2. รายวิชา (Courses): รายละเอียดวิชา, จำนวนนักศึกษา และช่วงเวลาที่ต้องการ (Preferred Slots)
3. ทรัพยากรห้อง (Room Resources): ประเภทห้อง, ความจุ และอาคาร
4. ความสัมพันธ์กลุ่มวิชา (Course Groups): กฎการห้ามสอนพร้อมกันเพื่อป้องกันตารางเรียนซ้อนของนักศึกษา

ในเชิงสถาปัตยกรรม ฐานข้อมูลของ TALANGSON มีการออกแบบที่ชาญฉลาดโดยแยกตาราง schedule_assignments (ผลลัพธ์) ออกจาก courses (ข้อมูลหลัก) อย่างเด็ดขาด การแยก Result Data ออกจาก Master Data เช่นนี้ช่วยให้ระบบมีความยืดหยุ่นสูง สามารถ "Reflow" หรือคำนวณตารางใหม่ได้นับครั้งไม่ถ้วนโดยไม่กระทบต่อข้อมูลพื้นฐานของวิชา

"ระบบนี้ไม่ได้มอง ตารางสอน เป็นเพียงรายการห้องกับเวลา แต่สร้างจาก 4 ชั้นของข้อจำกัด: บุคลากร -> รายวิชา -> ทรัพยากรห้อง -> ความสัมพันธ์กลุ่มวิชา"

นอกจากนี้ ระบบยังให้ความสำคัญกับการทำ Bilingual Normalization โดยปรับจูนข้อมูลหลัก เช่น Degree หรือ Room Type ให้รองรับทั้งภาษาไทยและอังกฤษ เพื่อรักษาความถูกต้องของข้อมูล (Data Integrity) ตั้งแต่ขั้นตอนการนำเข้า (Import) จนถึงการประมวลผล

2. ลำดับการคิดของ AI: Heuristics และอัลกอริทึม LDS

เมื่อต้องค้นหาคำตอบท่ามกลางความเป็นไปได้มหาศาล TALANGSON ใช้แนวคิด LDS (Limited Discrepancy Search) ซึ่งเป็นการค้นหาแบบ Backtracking ผสมผสานกับ Branch and Bound โดยมีกลไกควบคุมประสิทธิภาพผ่าน Step Budget และ Time Budget (เช่น กำหนดให้ค้นหาไม่เกิน 600,000 ขั้นตอน หรือ 15 วินาที) เพื่อป้องกันการเกิด Infinite Loop ในระบบขนาดใหญ่

หัวใจสำคัญของการเลือกวิชามาจัดวางก่อน-หลัง (Heuristics) ใช้หลักการ Most Constrained First:

* จัดวิชาที่มีเงื่อนไขยากก่อน: วิชาที่มี Preferred Slots น้อย (เลือกได้ไม่กี่ที่) จะถูกนำมาจัดวางก่อนวิชาที่ยืดหยุ่น
* ความหนาแน่นของนักศึกษา: หากเงื่อนไขเวลาใกล้เคียงกัน ระบบจะเลือกวิชาที่มีจำนวนนักศึกษามากก่อน เพื่อจองห้องที่มีความจุสูงซึ่งมีจำนวนจำกัด เป็นการลดความตึงตัวของทรัพยากรในระยะยาว

3. คณิตศาสตร์แห่งความพึงพอใจ: ค่า Cost ที่บอกลำดับความสำคัญ

ระบบตัดสินใจเลือกตำแหน่งที่ดีที่สุดผ่านการคำนวณ "ต้นทุนการจัดวาง" (Placement Cost) ยิ่งค่า Cost ต่ำ แสดงว่าตำแหน่งนั้นมีความเหมาะสมสูงสุด

ตารางค่าต้นทุนการจัดวาง (Placement Cost):

ประเภท (Cost Type) ค่าต้นทุน (Cost Value) บทวิเคราะห์เชิงสถาปัตยกรรม
Unscheduled 1,000 ต้นทุนสูงสุด เพื่อบังคับให้ระบบต้องหาที่ลงให้ได้
Preferred Miss 20 เมื่อต้องจัดนอกช่วงเวลาที่อาจารย์ร้องขอ
Preferred Rank rank * 10 ให้ความสำคัญตามลำดับความต้องการ (1, 2, 3)
Room Type Mismatch 1 ประเภทห้องไม่ตรงตามที่ระบุ

Insight: เมื่อพิจารณาจากตัวเลข เราจะพบว่าระบบยอมให้เกิด Room Type Mismatch (Cost 1) ได้ง่ายกว่าการขัดใจอาจารย์ (Preferred Miss Cost 20) สิ่งนี้สะท้อนว่าในโลกความเป็นจริง การเปลี่ยนประเภทห้องเรียนนั้นทำได้ง่ายกว่าการเปลี่ยนตารางชีวิตของบุคลากร

4. "วันพุธ" และ "ห้องคอม": กฎเหล็กที่ AI ต้องหลีกทางให้มนุษย์

แม้ระบบอัตโนมัติจะฉลาดเพียงใด แต่ TALANGSON ยังคงแนวคิด Human in the Loop ผ่านกฎทางธุรกิจ (Business Rules) ที่เข้มงวด:

* กฎวันพุธ (BR 006/007): ระบบถูกโปรแกรมให้เว้นวันพุธไว้เป็นวัน Reserved โดยที่ Auto Scheduler จะไม่เลือกจัดวิชาใดๆ ลงในวันนี้ เพื่อเปิดพื้นที่ให้กิจกรรมคณะและการประชุม
* กฎห้องคอมพิวเตอร์: สำหรับวิชาที่ต้องใช้ทรัพยากรเฉพาะทางสูงอย่างห้องปฏิบัติการคอมพิวเตอร์ ระบบจะไม่ใช้การจัดอัตโนมัติ แต่จะบังคับให้จัดด้วยมือ (Manual Schedule) เท่านั้น

นี่คือการประนีประนอมที่ชาญฉลาดระหว่าง "Logic ของคอมพิวเตอร์" และ "นโยบายของมนุษย์" ที่เข้าใจว่าบางทรัพยากรมีความซับซ้อนเกินกว่าที่อัลกอริทึมทั่วไปจะตัดสินใจแทนได้

5. ศิลปะแห่งการเจรจา: ระบบการยอมรับปัญหา (Acknowledgement)

โมดูล Problem Engine ของ TALANGSON คือส่วนที่แสดงถึงความเป็นระบบ Enterprise มากที่สุด โดยมีการแยกแยะปัญหาระหว่าง Warning และ Error อย่างชัดเจน

จุดที่น่าสนใจที่สุดคือการจัดการปัญหากรณี Instructor Unavailable ซึ่งระบบกำหนดให้มีสถานะเป็น Error (ถือว่าผิดกฎร้ายแรง) แต่เป็น Error ชนิดพิเศษที่อนุญาตให้ Acknowledge (ยอมรับปัญหา) ได้ หากมีการเจรจานอกรอบระหว่าง Admin และอาจารย์แล้ว

เงื่อนไขการยอมรับปัญหา (BR 010/011):

* การยอมรับแบบ Atomic: การกดยอมรับปัญหาจะผูกติดกับตำแหน่ง (Room + Slot) ของวิชานั้นๆ โดยเฉพาะ
* ระบบล้างสถานะอัตโนมัติ: หากมีการย้ายวิชาไปยังตำแหน่งใหม่ ระบบจะลบสถานะการยอมรับเดิมทิ้งทันที เพื่อป้องกันการ "อนุมัติค้าง" ในตำแหน่งที่อาจจะเกิดความผิดพลาดใหม่

6. บทสรุปและก้าวต่อไป (The Future of Schedulers)

TALANGSON ไม่ได้เป็นเพียงเครื่องมือจัดตารางสอน แต่เป็นแบบอย่างของการออกแบบระบบที่ผสานความสามารถของ LDS Algorithm เข้ากับความยืดหยุ่นในการทำงานของมนุษย์

สำหรับการพัฒนาสู่ระดับถัดไป (Blueprint) ระบบควรให้ความสำคัญกับความโปร่งใสและการทำงานร่วมกันมากขึ้น:

* ระบบ Versioning: การจัดเก็บตารางสอนแบบ Draft, Approved และ Published เพื่อให้สามารถเปรียบเทียบผลลัพธ์ได้หลายเวอร์ชัน
* Audit Log: การบันทึกทุกการเคลื่อนไหว (ใคร ย้ายวิชาไหน เมื่อไหร่) เพื่อความโปร่งใสในการบริหารจัดการ
* Academic Term: การแยกฐานข้อมูลตามปีการศึกษาและภาคเรียนให้เป็น Entity หลักในระดับโครงสร้าง

ในวันที่เทคโนโลยีพร้อมจะจัดการทุกอย่างแทนเรา คำถามสำคัญสำหรับนักเขียนโปรแกรมอาจไม่ใช่แค่ "จะทำอย่างไรให้อัลกอริทึมทำงานได้เร็วที่สุด?" แต่คือ "ในอัลกอริทึมที่สมบูรณ์แบบนั้น เราได้เหลือพื้นที่สำหรับการตัดสินใจและการเจรจาของมนุษย์ไว้ตรงไหนบ้าง?" ซึ่ง TALANGSON ได้พิสูจน์แล้วว่าการออกแบบระบบที่ยืดหยุ่นและยอมรับความซับซ้อนของมนุษย์ คือหัวใจสำคัญของซอฟต์แวร์ที่ใช้งานได้จริงในระยะยาว
ถูกใจ

0 / 5 (0 คนประเมิน)

รูปภาพประกอบ