ข้ามไปที่เนื้อหา

ชุดข้อมูล (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

ห้ามเพิ่ม/เปลี่ยนชื่อฟิลด์ เพราะเป็นรูปแบบมาตรฐานสำหรับการตรวจ