Разбор
Нейросеть для расписания уроков: как составить и проверить сетку
Почему красивой таблицы от ИИ недостаточно для школьного расписания. Собираем ограничения, проверяем пересечения и разбираем невозможные условия.
Нейросеть способна оформить расписание уроков в таблицу, но правдоподобный вид таблицы не гарантирует выполнимость. Один учитель может оказаться в двух классах одновременно, а кабинет информатики потребуется сразу двум группам.
Для небольшого учебного проекта чат удобен как помощник при сборе условий и поиске конфликтов. Расписание школы с большим количеством ограничений требует отдельной проверки, а нередко и специализированной программы, которая умеет решать задачи распределения ресурсов.
Сначала соберите четыре таблицы
Первая таблица описывает учебную нагрузку: класс, предмет и количество занятий в неделю. Вторая связывает занятия с учителями. Третья задаёт кабинеты и оборудование. Четвёртая содержит доступность: в какие дни и часы ресурс можно использовать.
Названия должны совпадать. Если в одном файле записан «7А», а в другом «7-А», программа или модель может принять их за разные классы. Для проверки удобнее присвоить каждому учителю, классу и кабинету постоянный код.
| Класс | Предмет | Занятий в неделю | Учитель | Требование к кабинету |
|---|---|---|---|---|
| К7А | Математика | 5 | У01 | Обычный кабинет |
| К7А | Информатика | 1 | У02 | Компьютерный класс |
| К7Б | Информатика | 1 | У02 | Компьютерный класс |
Это учебный пример структуры данных. Число занятий и требования в настоящем расписании задаются утверждённым учебным планом и применимыми правилами, а не ответом нейросети.
Разделите обязательные условия и пожелания
Обязательное условие нельзя нарушать ради красивой сетки: один учитель ведёт не больше одного занятия в одном временном слоте. Аналогично проверяются класс и кабинет. Ограничения доступности также относятся к обязательным, если их нельзя изменить.
Пожелания помогают выбрать среди допустимых расписаний. Например, сократить окна у учителя или поставить два занятия одного предмета в разные дни. У каждого пожелания должен быть понятный приоритет: иначе модель будет молча решать, чем пожертвовать.
Такое разделение соответствует общему подходу задач планирования. В документации Google OR-Tools показано распределение смен с ограничениями на назначение сотрудников. Школьные правила отличаются, но принцип проверки занятости ресурсов применим и к урокам.
Для чего попросить помощи у ИИ
Полезный первый запрос касается полноты исходных данных, а не готового расписания:
Проверь описание задачи составления расписания.
Сначала найди неоднозначные названия, отсутствующие связи и противоречия.
Сетку занятий пока не составляй.
Обязательные условия:
- учитель, класс и кабинет не могут иметь два занятия в одном слоте;
- недельная нагрузка каждого предмета должна совпадать с таблицей;
- недоступные слоты запрещены.
Пожелания:
- сократить окна учителей;
- равномерно распределить занятия по дням.
Верни: проблему, строки исходных данных и вопрос для уточнения.
Таблицы:
[обезличенные данные]
После исправления данных можно запросить маленький черновик: один день или несколько классов. Проверять такой фрагмент проще, чем сразу всю школу.
Как проверить готовое расписание
Экспортируйте результат в обычную таблицу со столбцами «день», «урок», «класс», «учитель», «кабинет», «предмет». Один урок занимает одну строку. Такая форма удобнее для проверки, чем сетка, где дни и кабинеты разложены по десяткам столбцов.
Постройте три проверки повторов: день плюс номер урока плюс учитель; та же комбинация с классом; та же комбинация с кабинетом. Повтор означает конфликт, кроме заранее описанных случаев совместного занятия.
Отдельно сгруппируйте строки по классу и предмету, посчитайте занятия и сравните с учебной нагрузкой. У расписания может не быть пересечений, но при этом оно пропускает нужный урок. Доступность ресурсов и остальные обязательные условия проверяются независимо.
Если все условия выполнить невозможно
Допустим, единственный компьютерный кабинет доступен один час, а двум классам требуется по отдельному часовому занятию. Без изменения доступности или формата занятий решения нет. Просьба к модели «постарайся лучше» это противоречие не устраняет.
Попросите перечислить конфликтующие условия, затем уточните их у ответственного за расписание. Менять учебную нагрузку, объединять классы или нарушать ограничения автоматически нельзя. Рабочий результат здесь может быть списком условий для пересмотра, а не очередной таблицей.
Для подготовки содержания отдельных занятий есть отдельный процесс: конспект урока с нейросетью. Он не заменяет проверку календарной сетки и занятости преподавателей.
Есть вопрос по теме?
Разберу вашу ситуацию и предложу конкретный шаг
Источники
Читайте также
Канал «Лёха Маркетолог»
Практика без воды: кейсы, инсайты, разборы. 1–2 поста в неделю.
Пока без комментариев. Будьте первым.