ชุดข้อมูล (Dataset) — ทักษะเทคโนโลยีปัญญาประดิษฐ์ (ปวส.)
สำหรับการแข่งขันพัฒนาระบบ จัดตารางสอนอัตโนมัติ (Automatic Timetabling)
ดาวน์โหลดชุดข้อมูล (Download)
👉 เปิดโฟลเดอร์ Google Drive
ไฟล์ที่ต้องมี (Required Files)
ชุดข้อมูลตั้งต้นต้องมี 7 ไฟล์ (รูปแบบ .csv หรือ .xlsx) ดังนี้
- teacher.csv ข้อมูลครูผู้สอน
- room.csv ข้อมูลห้องเรียน
- student_group.csv ข้อมูลกลุ่มการเรียน
- teach.csv วิชาที่ครูแต่ละคนรับผิดชอบ
- timeslot.csv ข้อมูลคาบเรียน
- register.csv ข้อมูลการลงทะเบียนเรียนของแต่ละกลุ่ม
- subject.csv ข้อมูลรายวิชา
โครงสร้างฟิลด์ (Schema)
1) room.csv — ห้องเรียน (Room)
| ฟิลด์ (Field) |
ความหมาย |
| room_id |
รหัสห้องเรียน |
| room_name |
ชื่อห้องเรียน |
| room_type |
ชนิดห้องเรียน |
2) student_group.csv — กลุ่มเรียน (Student Group)
| ฟิลด์ (Field) |
ความหมาย |
| group_id |
รหัสกลุ่มการเรียน |
| group_name |
ชื่อกลุ่มการเรียน |
| student_count |
จำนวนนักเรียนในกลุ่ม |
| advisor |
ครูที่ปรึกษา |
3) subject.csv — รายวิชา (Subject)
| ฟิลด์ (Field) |
ความหมาย |
| subject_id |
รหัสวิชา |
| subject_name |
ชื่อวิชา |
| theory |
จำนวนคาบทฤษฎี |
| practice |
จำนวนคาบปฏิบัติ |
| credit |
หน่วยกิต |
4) teacher.csv — ครูผู้สอน (Teacher)
| ฟิลด์ (Field) |
ความหมาย |
| teacher_id |
รหัสครู |
| teacher_name |
ชื่อ-นามสกุลครู |
| role |
ตำแหน่ง (Leader/Teacher) |
5) timeslot.csv — คาบเรียน (Timeslot)
| ฟิลด์ (Field) |
ความหมาย |
| timeslot_id |
รหัสคาบเรียน |
| day |
วัน |
| period |
คาบที่ |
| start |
เวลาเริ่มคาบ |
| end |
เวลาสิ้นสุดคาบ |
6) teach.csv — วิชาที่ครูรับผิดชอบ (Teaching Assignment)
| ฟิลด์ (Field) |
ความหมาย |
| teacher_id |
รหัสครู |
| subject_id |
รหัสวิชาที่สอน |
7) register.csv — การลงทะเบียนเรียน (Registration)
| ฟิลด์ (Field) |
ความหมาย |
| group_id |
รหัสกลุ่มการเรียน |
| subject_id |
รหัสวิชาที่ลงทะเบียน |
เงื่อนไขพื้นฐานในการจัดตาราง (Basic Constraints)
ระบบที่พัฒนา ต้องจัดตารางให้สอดคล้องกับเงื่อนไขหลัก เช่น:
- จำนวนคาบรวมของวิชา = theory + practice
- คาบที่ 5 ของทุกวันเป็นคาบพัก ห้ามจัดวิชาเรียน
- 1 วันไม่เกิน 10 คาบ
- ครูห้ามสอนชนเวลา (Teacher conflict)
- ห้องห้ามถูกใช้งานทับกัน (Room conflict)
- ครูต้องสอนเฉพาะวิชาที่ระบุใน teach.csv
ในวันแข่งขันอาจมีเงื่อนไขพิเศษ (Special constraints) ที่กรรมการสุ่มเพิ่มเติม
รูปแบบไฟล์ผลลัพธ์ (Output)
ระบบต้องส่งออก output.csv โดยมีชื่อฟิลด์ ตามนี้เท่านั้น:
- group_id
- timeslot_id
- subject_id
- teacher_id
- room_id
ห้ามเพิ่ม/เปลี่ยนชื่อฟิลด์ เพราะเป็นรูปแบบมาตรฐานสำหรับการตรวจ