Формирование учебных планов вузов как задача удовлетворения ограничений

УДК 004.832

А.А. Зуенко, О.В. Фридман

Институт информатики и математического моделирования технологических процессов Кольского НЦ РАН

ФОРМИРОВАНИЕ УЧЕБНЫХ ПЛАНОВ ВУЗОВ КАК ЗАДАЧА

*

УДОВЛЕТВОРЕНИЯ ОГРАНИЧЕНИЙ Аннотация

В работе представлено применение авторских методов распространения ограничений к задаче формирования учебных планов для ВУЗов. Описывается пример формирования фрагмента реального учебного плана на основе формализации отношений в виде С-систем. Использование авторских методов распространения ограничений позволяет ускорить традиционные алгоритмы удовлетворения качественных ограничений.

Ключевые слова:

задача удовлетворения ограничений, задача синтеза учебного плана, распространение ограничений, матричное представление нечисловых ограничений.

A.A. Zuenko, O.V. Fridman

SYNTHESIS OF UNIVERSITY CURRICULUM AS A CONSTRAINT SATISFACTION PROBLEM

Abstract

The article presents the application of constraint propagation techniques developed by one of the authors to the problem of synthesis of University curriculum. An example of synthesis of the real curriculum fragment, using the formalization of relations in the form of С-systems, described. The author's constraint propagation techniques allow to accelerate the typical algorithms of constraint satisfaction.

Keywords:

constraint satisfaction problem, curriculum synthesis problem, constraints propagation, matrix representation of non-numeric constraints.

Введение

В настоящей работе представлены результаты исследований по применимости авторских методов распространения ограничений на основе матричного преставления ограничений к задаче формирования учебного плана ВУЗа. В работе [1] проведен анализ программных продуктов для автоматизации формирования учебных планов вузов. В работе [2] описан модельный пример формирования фрагмента учебного плана с использованием формализации отношений в виде ^-систем. Показано, что применение разработанных методов позволяет совместно обрабатывать качественные и количественные ограничения и, зачастую, решать задачу формирования учебного плана за полиномиальное время без организации ветвления. Данная работа продолжает эти исследования. Здесь описывается пример формирования фрагмента учебного плана для бакалавриата по направлению 230400.62 - «Информационные системы и

* Работа выполнена при финансовой поддержке РФФИ (проекты №№ 14-07-00205a, 15-07-02757-а, 16-07-00273a, 16-07-00377a, 16-07-00313a, 16-07-00562a).

технологии» факультета Информатики и прикладной математики КФ ПетрГУ на основе формализации отношений в виде С-систем.

Приведем краткое описание предлагаемых методов распространения ограничений и пример применения методов в задаче автоматизации формирования учебных планов для вузов.

Применение матрицеподобных структур в задачах удовлетворения ограничений

Задача удовлетворения ограничений определена множеством переменных х1, х2, ..., хп и множеством ограничений С, С2, ..., Ст [3-5]. Каждая переменная х, имеет непустую область определения В, (домен). Каждое ограничение С, включает некоторое подмножество переменных и задает допустимые комбинации значений для этого подмножества. Состояние задачи описывается как присваивание значений некоторым (частичное присваивание) или всем переменным (полное присваивание): (хг=уг-, ...}. Решением задачи С8Р является полное присваивание, которое удовлетворяет всем ограничениям.

Как и в работе [6], здесь для представления данных и знаний используются два типа матрицеподобных структур: С-системы и В-системы. Близкий подход применяется также в [7] для решения задач распознавания образов и упрощения баз знаний. Особенностью настоящих исследований является то, что эти структуры предлагается рассматривать как ограничения над конечными доменами, а рассуждения на данных структурах реализовывать в форме процедур удовлетворения ограничений.

С-система записывается в виде матрицы, состоящей из компонент-множеств. Содержимое С-системы заключается в прямые скобки. Например,

Т[ХЛ]=

А * С ОБ *

есть С-система.

Слева от знака равно находится заголовок С-системы, содержащий имя С-системы и схему, в которой перечислены имена ее атрибутов (в данном случае X, У, 7). Подобно тому, как атрибут таблицы в реляционной алгебре соотносится с определенным столбцом, атрибут соответствует столбцу С-системы. Будем считать, что доменами атрибутов X, У, Z являются множества В1, В2, В3, соответственно. Справа от знака равенства находится тело С-системы. В отличие от реляционных таблиц, каждый кортеж С-системы состоит не из отдельных значений, а из компонент-множеств, являющихся подмножествами соответствующего домена.

Компоненты С-системы, стоящие в одном и том же столбце, например компоненты А и О, принадлежат булеану некоторого множества (в нашем случае булеану множества В^, называемого доменом соответствующего атрибута.

При описании С- и В-систем используется два вида фиктивных компонент: полная компонента (обозначается «*») - это множество, равное области определения (домену) соответствующей переменной (атрибута); пустая компонента (обозначается «0») - компонента, не содержащая ни одного значения.

Так запись Т[ХУ2\=

А О

* С Е *

для нашего примера эквивалента записи

Т[ХЩ=

А О

А с е а

Эту С-систему можно преобразовать в обычное

многоместное отношение следующим образом: (ЛхБ2хС) и (ОхЕхБ3).

С помощью С-систем удобно моделировать дизъюнктивные нормальные формы (ДНФ) конечных предикатов. Продемонстрируем это на примере. Пусть задан конечный предикат:

ф(х, у, г) = (х=а,Ъ) л (у=а,с) V (г=аТ).

Для простоты все переменные определены на множестве {а, Ъ, с, а?}. Здесь и далее будем использовать запись вида (х=а,Ъ) для обозначения выражения (х=а) V (х=Ъ). Учитывая, что область истинности одноместного предиката (х=а,Ъ) есть {а,Ъ}, то область истинности предиката ф(х, у, г) может быть представлена в виде следующей С-системы:

Я[ХУг\ =

{а, Ь} {а, с} * *

{ё}

Атрибуты X, У, Z отношения Л[ХУ2] соответствуют переменным х, у, г формулы ф(х, у, г). Заметим, что "*" - сокращенное обозначение всего диапазона возможных значений (домена) атрибута. С-систему Л[ХУ2] можно преобразовать в многоместное отношение следующим образом:

({а,Ъ} х {а,с} х {а,Ъ,с,а?})и({а,Ъ,с,а?} х {а,Ъ,с,а?} х {а?}).

С помощью ^-систем моделируются конъюнктивные нормальные формы (КНФ) конечных предикатов. ^-система записывается как матрица компонент-множеств, которые заключены в перевернутые скобки. ^-системы позволяют легко вычислять дополнение С-систем: берется дополнение для каждой компоненты-множества.

С помощью С- и ^-систем можно моделировать не только классические ограничения с конечными доменами, но и ограничения с недоопределенными параметрами, поскольку компоненты кортежей С- и ^-систем содержат в качестве значений множества, а не отдельные элементы [8\.

В работах [9-11\ приводятся конкретные методы решения задач С8Р, основанные на матричном представлении ограничений с конечными доменами. В силу требований к объему статьи, приведем здесь лишь утверждения, используемые в дальнейшем.

Рассмотрим утверждения, позволяющие реализовывать эквивалентные преобразования системы ограничений для случая, когда ограничения представлены в виде набора С-систем [12\. Ранее эти утверждения применены одним из авторов статьи для качественного моделирования статических аспектов функционирования технических систем [13].

Целью преобразований является приведение системы ограничений к более простому виду, где содержится меньшее количество С-систем, строк С-систем, столбцов (атрибутов) С-систем, значений в доменах атрибутов и т.п. Другими

*

словами, целью преобразований является упрощение исходной задачи CSP без потери ее решений.

Утверждение 1 (У1). Если все строки (кортежи) С-системы пусты, то есть содержат хотя бы по одной пустой компоненте каждая, то С-система пуста (соответствующая задача CSP несовместна).

Утверждение 2 (У2). Если все компоненты некоторого атрибута (столбца С-системы) являются полными, то данный атрибут можно удалить из С-системы (удаляются все компоненты, стоящие в соответствующем столбце), а пара "удаляемый атрибут - его домен" сохраняется в векторе частичного решения.

Утверждение 3 (У3). Если домен некоторого атрибута С-системы содержит значения, не встречающиеся в соответствующем столбце, то эти значения удаляются из данного домена.

Утверждение 4 (У4). Если строка С-системы содержит хотя бы одну пустую компоненту (строка пуста), то строка удаляется.

Утверждение 5 (У5). Если компонента некоторого атрибута содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.

Утверждение 6 (У6). Если одна строка С-системы полностью доминирует (покомпонентно содержит) другую строку, то доминируемая строка удаляется из С-системы.

Теперь перейдем непосредственно к рассмотрению возможностей применения представленных методов удовлетворения ограничений.

Применение методов распространения ограничений в задаче формирования учебного плана вуза

В работе [14] описаны математическая постановка задачи синтеза учебных планов вузов, основные этапы его формирования, ограничения, налагаемые на учебный план др. Согласно [14] задача составления (синтеза) учебного плана сводится к следующему. Составить учебный план - это значит выбрать из всего объема дисциплин наиболее важные для данной специальности и расположить их по семестрам оптимальным образом.

Допустимым учебным планом называют учебный план, отвечающий перечню определенных требований. Данный перечень можно разбить на две группы; количественные ограничения и качественные ограничения. Список основных ограничений, которые используются большинством авторов, разрабатывавших учебные планы приведен в [15, 16]. Необходимая формализация перечисленных ограничений приведена в [14, 17].

Для более подробного рассмотрения структуры учебного материала дисциплины дробятся на более мелкие по объему единицы, называемыми в дальнейшем модулями. Модуль, информационная база которого используется для последующего изучения других модулей, будем называть предком по отношению к этим модулям. Модуль, который использует информационную базу ранее изученных модулей, будем называть потомком по отношению к этим модулям.

Введем необходимые обозначения. Пусть все содержание обучения представлено множеством дисциплин, изучаемых по данной специальности.

=

где п - количество изучаемых дисциплин по специальности;

30 - содержание обучения;

В, - содержание 7-й дисциплины.

В, = {Мь ...,М.М,},

где М] - ]-й модуль дисциплины;

I - количество модулей в дисциплине.

Если суммарный объем всех учебных модулей превышает допустимый объем учебного плана, то учебным планом будет являться некоторое подмножество множества Б0, суммарный объем модулей которого не превышает допустимый объем учебного плана.

Объем преподавания дисциплин оценивается в зачетных единиц трудоемкости (ЗЕТ). ЗЕТ равна 36 часам учебной нагрузки.

Помимо, чисто логических ограничений "модули преподаются одновременно/неодновременно", "модуль 7 предшествует модулю /', дополнительно накладываются числовые ограничения типа "для определенной совокупности модулей (например, в одном семестре, в рамках дисциплины и т.п.) отводится не более чем предписанное количество зачетных единиц трудоемкости (ЗЕТ)". Следовательно, требуется совместно обрабатывать количественные и качественные ограничения представленных типов. С точки зрения авторов, подобную обработку целесообразно производить в рамках технологии программирования в ограничениях.

Рассмотрим небольшой фрагмент задачи составления учебного плана для бакалавриата по направлению 230400.62 - «Информационные системы и технологии» факультета Информатики и прикладной математики КФ ПетрГУ.

Необходимо распределить по первым четырем семестрам обучения дисциплины математического цикла. Объем преподавания дисциплин оценивается в зачетных единицах трудоемкости (ЗЕТ). Весь объем преподавания дисциплин математического цикла делится на базовую и вариативную часть. Данный фрагмент является упрощенным, в частности, не рассматриваются ограничения на количество аудиторных часов в неделю, количество экзаменов и зачетов и т.п. Опишем перечень дисциплин математического цикла и ограничения, которые необходимо учесть при составлении учебного плана.

Обозначим для дисциплин базовой части:

В1={М11, М12} - дисциплина 1 - Математика, общее количество ЗЕТ - 14, содержит два модуля по 6 и 8 ЗЕТ;

В2={М21, М22} - дисциплина 2 - Математический анализ, общее количество ЗЕТ - 9, содержит два модуля по 6 и 3 ЗЕТ;

В3={М31} - дисциплина 3 - Дискретная математика, общее количество ЗЕТ - 2, содержит один модуль.

В4={М41} - дисциплина 4 - Теория вероятностей и математическая статистика, общее количество ЗЕТ - 3, содержит один модуль.

Для дисциплин вариативной части:

В5={М51} - дисциплина 5 - Аналитическая геометрия, общее количество ЗЕТ - 7, содержит один модуль;

В6={М61} - дисциплина 6 - Линейная алгебра, общее количество ЗЕТ - 3, содержит один модуль;

А={М71, М72} - дисциплина 7 - Дифференциальные уравнения, общее количество ЗЕТ - 5, содержит два модуля по 2 и 3 ЗЕТ;

А={М81, М82} - дисциплина 8 - Дифференциальные уравнения в частных производных, общее количество ЗЕТ - 5, содержит два модуля по 2 и 3 ЗЕТ;

Количественные ограничения:

1. На базовую часть дисциплин математического цикла отводится на более чем 30 зачетных единиц трудоемкости (ЗЕТ).

2. На вариативную часть отводится не более 26 ЗЕТ.

3. В течение одного семестра допустимо преподавание не более чем 20 ЗЕТ дисциплин математического цикла.

4. В каждом семестре должно преподаваться не менее двух и не более 5 дисциплин математического цикла.

5. Дисциплины вариативной части могут преподаваться одновременно с дисциплинами базовой части, но не более одной в семестр.

6. Объем преподавания одной дисциплины в семестр не может превышать 8 ЗЕТ.

Таким образом, введены обозначения и описаны количественные ограничения для приведенного перечня дисциплин.

К качественным ограничениям отнесем следующие:

1. Преподавание одной дисциплины ведется непрерывно (модули дисциплины преподаются в соседних семестрах, если невозможно уложится в один семестр).

2. Дисциплина А преподается в первом семестре, а А не может преподаваться в первом семестре.

3. Дисциплина А, преподается непосредственно перед дисциплиной А.

4. Модули дисциплины А должны преподаваться в одном семестре.

5. Модули дисциплины А должны преподаваться в одном семестре.

6. Дисциплина А не может преподаваться в первом семестре.

7. Дисциплина А, преподается после дисциплины А.

8. Дисциплина А, преподается непосредственно после дисциплины А.

Требуется так расставить модули по четырём первым учебным семестрам,

чтобы ограничения удовлетворялись.

Введем атрибуты, соответствующие модулям дисциплин, с доменами {1, 2, 3, 4}, где: 1 - первый семестр, 2 - второй семестр, 3 - третий семестр, 4 - третий семестр. Обозначения приведены в табл. 1.

Формулировка задачи опирается на два типа бинарных отношений: "преподавать до/позже чем" и "преподавать одновременно/не одновременно".

Рассмотрим, как формализовать в виде С-еиетем отношения, соответствующие введенным качественным ограничениям.

Таблица 1

Список обозначений

Базовая часть Вариативная часть

Дисциплина А А А А А А А А

Модуль М„ М12 Мл М22 М31 М41 М51 М61 М71 М72 М81 М82

Атрибут * Х2 Хз Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12

Объем(ЗЕТ) 6 8 6 3 2 3 7 3 2 3 2 3

Представим ограничение 7: преподавание одной дисциплины ведется непрерывно (модули дисциплины преподаются в соседних семестрах, если невозможно уложится в один семестр).

С7'[ X1Х 2] =

{1} {1,2}"

{2} {2,3} {3} {3,4}

С72[ X з X 4] =

С73[ X 9 X10] =

{4} {4} ]

" {1} {1,2}

{2} {2,3}

{3} {3,4}

_ {4} {4}

{1} {1,2}" {2} {2,3} {3} {3,4}

С74[ X11X12] =

{4} {4} ]

" {1} {1,2}

{2} {2,3}

{3} {3,4}

_ {4} {4}

С-системы, формализующие это ограничение однотипны, но каждая описывает отношение между различными переменными, соответствующими разным модулям соответствующих дисциплин (см. табл. 1).

Ограничение 8: дисциплина В3 преподается в первом семестре, а В4 не может преподаваться в первом семестре.

С^ми}], С^М^^Д}].

Ограничение 9: дисциплина В6, преподается непосредственно перед дисциплиной В5.

_{1} {2}"

С9[ X 8 X 7] =

{2} {3} {3} {4}

Ограничение 10: модули дисциплины В7 должны преподаваться в одном семестре.

_{1} {1}

С10[ X 9 X10] =

{2} {2} {3} {3} {4} {4} _

Ограничение 11: модули В8 должны преподаваться в одном семестре. "{1} {1}" {2} {2} {3} {3} _{4} {4} _

Ограничение 12: В7 не может преподаваться в первом семестре.

С^н^д}].

С11[ X11X12] =

Ограничение 13: дисциплина D2, преподается после дисциплины D1. "(1) {2,3,4}"

С13[ X 2 X з] =

{2} {3,4} {3} {4}

При формализации этого ограничения достаточно описать отношение между последним (вторым) модулем дисциплины D1 и первым модулем дисциплины D2 (табл. 1).

Ограничение 14: дисциплина D8, преподается непосредственно после дисциплины D7.

"{1} (2)"

С14[ X10 X11] =

{2} {3} {3} {4}

Ограничения Сю, C\\ являются более жестким по сравнению с ограничениями С73 и С74, поэтому более слабые ограничения при дальнейшем выводе не рассматриваются.

Для отображения последовательности распространения ограничений на рис. 1 приведен упрощенный вариант сети ограничений (домены переменных не отображаются). Сеть ограничений является двудольным графом: одна из долей графа - это множество переменных и текущие области определения этих переменных (домены переменных), другая доля - сами ограничения. Ребро связывает две вершины (переменную и ограничение) тогда и только тогда, когда эта переменная формирует схему данного отношения.

Стратегия вызова ограничений состоит в следующем: сначала активируются унарные ограничения. Затем вызываются бинарные ограничения в том порядке, который диктуется изменением доменов переменных в ходе предыдущих шагов вывода. Количественные ограничения рассматриваются по мере изменения доменов переменных и на рис. 1 не отображаются.

Рис. 1. Упрощенный вариант сети ограничений

Изначально, каждая переменная определена на домене {1, 2, 3, 4}. Сначала активируется унарное ограничение C81. Согласно У3 домен переменной X5 усекается до единственного значения {1}. Единственная компонента атрибута X5 становится полной и по У2 единственный атрибут удаляется из С-системы (сама

С-система исключается из рассмотрения), а в векторе текущего состояния переменная X5 принимает значение «1».

Текущее состояние С8Р:

X5 - {1}.

Далее активируется ограничение С82. По аналогии с предыдущим шагом вывода получаем для X6 - {2, 3, 4}.

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}.

Активируя унарное ограничение С12, сужаем домен переменной X9 до множества {2, 3, 4} и получаем текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X., - {2, 3, 4}.

На данном этапе все унарные ограничения удовлетворены. Унарные ограничения С8[, С82, С12 исключаются из дальнейшего рассмотрения по У2.

Поскольку домен переменной (атрибута) X, был усечен, то далее активируется бинарное ограничение Сю, содержащее в своей схеме переменную X,. Применяя У5, "настраиваем" С-систему Сю на новый домен переменной X,. Первая компонента первой строки данной С-системы становится пустой. Поэтому из С10 по У4 удаляется первая строка:

X 9 X10 {2,3,4} {1,2,3,4}

{2} {2}" {3} {3} {4} {4}

Анализируя второй столбец получившейся С-системы можно сузить домен переменной X10 до множества {2, 3, 4}, используя У3. Для удобства объяснения здесь и далее в верхних двух строках С-системы записываются имена атрибутов и множества допустимых значений этих атрибутов (домены атрибутов), а строки С-системы пронумерованы.

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X, - {2, 3, 4}, ^0 - {2, 3, 4}.

Далее активируем ограничение С14, так как на предыдущем шаге изменился домен переменной X10. При "настройке" С-системы С14 на новый домен переменной Xl0 с учетом У5 и У4, удаляется первая строка:

X10 X!!

{2,3,4} {2,3,4}

{2} {3}

{3}" {4}

Анализ первого столбца С-системы С14 позволяет по У3 сократить домен переменной X10 до множества {2, 3}. Рассматривая второй столбец, заключаем по У3, что доменом переменной X11 становится множество {3, 4}. Имеем текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X, - {2, 3, 4}, ^0 - {2, 3}, ^ - {3, 4}.

Следующий шаг состоит в том, что происходит повторный вызов ограничения Сю. Данное ограничение "настраивается" на домен переменной X10 (из ограничения удаляется четвертая строка, поскольку вторая компонента четвертой строки становится пустой при исключении "лишних" значений из компонент):

X 9 X10

{2,3,4}{2,3}

"{2} {2} {3} {3}

Рассматривая первый столбец, из домена переменной X9 удаляется значение "4". Получаем следующее текущее состояние С8Р: X5 - {1}, X6 - {2, 3, 4}, X9 - {2, 3}, Xi0 - {2, 3}, XII - {3, 4}. Теперь активируем ограничение С11. По аналогии с предыдущими шагами выполняем следующие преобразования. Из С11 удаляются первые две строки и ограничение принимает вид:

Xl1 X12

{3,4} {1,2,3,4}

{3} {4}

{3}" {4}

Очевидно, что домен переменой X12 усекается до множества {3, 4}. Запишем полученное на этом шаге текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X9 - {2, 3}, Xl0 - {2, 3}, ^ - {3, 4}, ^ - {3, 4}. Теперь активируем ограничение C9. Из анализа столбцов данной С-системы, пользуясь У3, сужаем домены X-!, X8 до множеств {2, 3, 4}, {1, 2, 3}, соответственно. Имеем:

X8 {1,2,3}

1 Г{1}

2 {2} 3 {3}

X7 {2,3,4} {2} {3} {4}

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X- - {2, 3, 4}, X8 - {1, 2, 3}, X9 - {2, 3}, ^о - {2, 3}, ^ - {3, 4},Xl2 - {3, 4}.

Для дальнейшего успешного распространения ограничений необходимо прибегнуть к проверке количественного ограничения С5.

Напомним, что дисциплины вариативной части имеют индекс, начиная с цифры 7. Из полученных соответствий и количественного ограничения С5 (дисциплины вариативной части могут преподаваться одновременно с дисциплинами базовой части, но не более одной в семестр) очевидно, что X8 должна преподаваться в 1 семестре:

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X- - {2, 3, 4}, X« - {1}, X, - {2, 3}, ^ - {2, 3}, ^ - {3, 4},Xl2 - {3, 4}.

Далее снова активируем С,, поскольку изменился домен переменной X8. В процессе "настройки" С-системы С, на новый домен первые компоненты второй и третьей строк матрицы становятся пустыми (по У5) и, следовательно, данные строки удаляются (по У4). Имеем: X 8 X 7

{1} {2,3,4}

1[{1} {2}] .

Тогда домен переменной X-! становится равным одноэлементному множеству {2}.

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X- - {2}, X - {1}, X, - {2, 3}, XXo - {2, 3}, ^ - {3, 4}, - {3, 4}.

Далее для анализа снова привлекаем количественное ограничение С5. Из доменов переменных X, и X10 исключается значение "2": X, - {3} и X10 - {3}. Переменные X, и Xlo могут принимать одно и то же значение, поскольку соответствуют модулям одной дисциплины (В7). По аналогии, значение "3" исключается из доменов переменных X11 и X12.

Текущее состояние С8Р:

X5 - {1}, X6 - {2, 3, 4}, X- - {2}, X - {1}, X, - {3}, Xl0 - {3}, ^ - {4}, ^ - {4}.

Для дальнейшего распространения ограничений необходимо учесть количественное ограничение С6. Переменные X1 и X2, входящие в ограничение С-1, соответствуют модулям одной дисциплины В1. Сумма их объемов составляет 14 ЗЕТ (см. табл. 1), что противоречит количественному ограничению С6 - "объем преподавания одной дисциплины в семестр не может превышать 8 ЗЕТ". Таким образом, модули этой дисциплины не могут преподаваться в одном семестре, значит должны преподаваться в соседних. Аналогично, превышается суммарный объем преподавания в семестр для переменных X3, X4, входящих в ограничение С72, которые также соответствуют модулям одной дисциплины В2.

Тогда из компонент ограничений С-1 и С72 удаляются "лишние" значения, а в преобразованных ограничениях остаются только те пары значений, которые не противоречат количественному ограничению С6: преподавание модулей дисциплин В1 и В2 в соседних семестрах. Ограничения примут вид:

Ограничение С11 Ограничение С12

X1 X 2 X 3 X 4

{1,2,3,4} {1,2,3,4} {1,2,3,4} {1,2,3,4}

1 "{1} {2}" 1 "{1} {2}

2 {2} {3} . 2 {2} {3}

3 _{3} {4}_ 3 _{3} {4}

Исходя из анализа столбцов, из доменов переменных по У3 исключаются лишние значения.

Текущее состояние С8Р:

Xl - {1, 2, 3}, X2 - {2, 3, 4}, Xз - {1, 2, 3}, X4 - {2, 3, 4}, X5 - {1}, X6 - {2, 3, 4}, X- - {2}, X8 - {1}, X9 - {3}, ^о - {3}, Xll - {4}, ^ - {4}.

Активируем ограничение С13. Тогда при "настройке" ограничения С13 на новые домены получаем (по аналогии с предыдущими шагами):

X 2 X 3

{2,3,4} {1,2,3} 2[{2} {3}].

Теперь на основании анализа столбцов полученной матрицы можно сузить домены переменных X2 и X3 до множеств {2} и {3}, соответственно. Ограничение С13 исключается из дальнейшего рассмотрения.

Текущее состояние С8Р:

Xl - {1, 2, 3}, X2 - {2}, Xз - {3}, X4 - {2, 3, 4}, X5 - {1}, X6 - {2, 3, 4}, X- - {2},X8 - {1},X9 - {3},^о - {3}, ^ - {4},^ - {4}. 2

Далее снова активируются ограничения C7 и C7 . При их "настройке" на новые домены переменных X2 и X3 имеем:

Ограничение С71 Ограничение С72

X! X 2 X 3 X 4

{1,2,3} {2}, {3} {2,3,4} .

1[{1} {2}] 3[{3} {4}]

Анализ столбцов полученной матрицы показывает, что можно домены переменных X1 и X4 до множеств {1} и {4}, соответственно.

Ограничения С71 и С72 исключаются из рассмотрения, поскольку полностью конкретизировались значения переменных X1 - X4.

Получим окончательное решение:

Xl - {1}, X2 - {2}, Xз - {3}, X4 - {4}, X5 - {1}, X6 - {2, 3, 4}, X- - {2}, X8 - {1}, X9 - {3}, ^о - {3}, Xll - {4}, ^2 - {4}.

Действительно, еще не учтенные количественные ограничения С1 - С4 не нарушаются. Суммарный объем дисциплин базовой части составляет 28 ЗЕТ -ограничение С1 удовлетворяется. Суммарный объем дисциплин вариативной части составляет 20 ЗЕТ - ограничение С2 удовлетворяется. В первом семестре преподаются модули дисциплин, соответствующие переменным X1, X5 и X8, объем этих модулей - 16 ЗЕТ. Во втором семестре преподаются модули дисциплин, соответствующие переменным X2 и X7, объем этих модулей - 15 ЗЕТ. В третьем семестре преподаются модули дисциплин, соответствующие переменным X3, X9 и X10, объем этих модулей составляет 11 ЗЕТ. В четвертом семестре преподаются модули дисциплин, соответствующие переменным X4, X11 и X12, объем этих модулей - 8 ЗЕТ. Ограничения С3, С4 удовлетворяются.

Таким образом, поскольку переменная X6 соответствует модулю М41 дисциплины D4 (табл. 1), суммарный объем которой составляет 3 ЗЕТ и дисциплина входит в базовую часть, она может быть добавлена без нарушения как количественных, так и качественных ограничений в любой семестр, кроме первого (по ограничению С8).

Итак, в первом семестре преподаются: математика (первая часть), дискретная математика и линейная алгебра. Во втором семестре преподаются: математика (вторая часть) и аналитическая геометрия. В третьем семестре преподаются: математический анализ (первая часть) и дифференциальные уравнения. В четвертом семестре преподаются: математический анализ (вторая часть) и дифференциальные уравнения в частных производных. Теория вероятностей и математическая статистика должна быть добавлена по выбору в любой семестр кроме первого.

Проведенные исследования показали, что предлагаемый аппарат, основанный на представлении данных и знаний в виде матрицеподобных структур, позволяет успешно решать, в том числе, и задачи планирования.

Заключение

Применение авторских методов распространения ограничений к задаче формирования учебных планов для ВУЗов позволяет решать, в том числе, и задачи планирования. Представление качественных и количественных зависимостей (ограничений) предметной области в виде С-систем дает возможность "сжато" представлять зависимости между параметрами модели и эффективно их обрабатывать. Применение разработанных методов позволяет совместно обрабатывать качественные и количественные ограничения и решать задачу формирования учебного плана за полиномиальное время. Использование предлагаемых методов ускоряет традиционные алгоритмы удовлетворения ограничений и расширяет область применения подобных алгоритмов.

Литература

1. Фридман, О.В. Анализ программных продуктов для автоматизации формирования учебного плана вуза / О.В. Фридман // Труды Кольского научного центра РАН, Информационные технологии. -Вып. 6. - Апатиты: Изд-во КНЦ РАН, 2015. - С.152-175.

2. Зуенко, A.A., Фридман, О.В. Применение методов распространения ограничений для формирования учебных планов вузов / A.A. Зуенко, О.В. Фридман // Качество, инновации, образование. - 2016. - 17 с.

3. Russel, S., & Norvig, P. Artificial Intelligence: A Modern Approach. 3nd ed. Pearson Education, 2010. -1152 p.

4. Rossi, F., van Beek, P. & Walsh, T. Constraint Programming. In F. van Harmelen, V. Lifschitz, B. Porter (Eds.), Foundations of Artificial Intelligence. Handbook of Knowledge Representation, 2008, vol. 3. -P.181-211.

5. Ruttkay, Zs. Constraint satisfaction a survey, CWI Quarterly, 1998, vol. 11. -P.163-214.

6. Кулик, Б.А. Алгебраический подход к интеллектуальной обработке данных и знаний / Б.А. Кулик, А.А. Зуенко, А.Я. Фридман. - СПб.: Изд-во Политехнического ун-та, 2010. -235 с.

7. Zakrevskij, A. Integrated Model of Inductive-Deductive Inference Based on Finite Predicates and Implicative Regularities. In Diagnostic Test Approaches to Machine Learning and Commonsense Reasoning Systems. IGI Global, 2013. - P.1-12.

8. Зуенко, А.А. Матрицеподобные вычисления при обработке недоопреде-ленных знаний в продукционных системах (на примере задачи выбора технологии обогащения минерального сырья) / А.А. Зуенко, О.В. Фридман // Труды ИСА РАН. - Т.65-1, 2015. - С.44-56.

9. Зуенко, A.A. Вывод на ограничениях с применением матричного представления конечных предикатов / A.A. Зуенко // Искусственный интеллект и принятие решений. - 2014, № 3 - С.21-31.

10. Зуенко, А.А. Эвристический метод удовлетворения ограничений на основе их матричного представления / А.А. Зуенко, А.А. Очинская / Открытые семантические технологии проектирования интеллектуальных систем // Open Semantic Technologies for Intelligent Systems (OSTIS-2015): материалы IV Международной научн.-техн. конф., г. Минск, 19-21 февраля 2015 г.

- Минск: БГУИР, 2015. - С.297-301.

11. Зуенко, А.А. Совместное применение алгоритмов фильтрации и распространения ограничений на основе матриц ограничений / А.А. Зуенко // Системный анализ и информационные технологии (САИТ-2015): труды Шестой Международной конф., Калининградская обл., г. Светлогорск, 15-20 июня 2015 г., в 2-х т. -М.: ИСА РАН, 2015. - Т. 1- С.56-66.

12. Зуенко, А.А. Качественное моделирование технических систем на основе методов распространения ограничений / А.А. Зуенко // Открытые семантические технологии проектирования интеллектуальных систем // Open Semantic Technologies for Intelligent Systems (OSTIS-2016): материалы VI Международной научно-техн. конф., г. Минск, 18-20 февраля 2016 г.

- Минск: БГУИР, 2016. - С.573-578.

13. Зуенко, А.А. Применение методов распространения ограничений в слабо формализованных предметных областях / А.А. Зуенко // Пятнадцатая национальная конференция по искусственному интеллекту с международным участием КИИ- 2016: труды конференции, г. Смоленск, 3-7 октября 2016 г.

- Смоленск: Универсум, 2016. - Т3. -С.22-30.

14. Трофимова, О.К. Автоматизация процесса составления учебных планов вузов: дис. на соискание ученой степени канд. тех. наук /Трофимова О.К. -М., 1999. -125 с.

15. Карпов, В.И. Составление учебных планов вузов с помощью ЭЦВМ / В.И. Карпов // Применение ЭЦВМ для автоматизации обучения и управления учебными заведениями. -Киев, 1972. - С.121-130.

16. Гусев, В. В. Система моделей и методов рационального планирования и организации учебного процесса в вузе / В.В. Гусев; ред. Н.Я. Краснер.

- Воронеж : Изд-во Воронежского ун-та, 1984. -151с.

17. Бейгуленко, О.Я. Методические рекомендации по разработке учебных планов бакалавриата и магистратуры / О.Я. Бейгуленко. URL.

- Режим доступа: http: //ed.dgu.ru/Content/plans .pdf (10.10.2016).

Сведения об авторах

Зуенко Александр Анатольевич - к.т.н, старший научный сотрудник, е-mail: zuenko@iimm. ru

Alexander A. Zouenko - Ph.D. (Tech. Sci.), a senior researcher

Фридман Ольга Владимировна - к.т.н, старший научный сотрудник, е-mail: ofridman@iimm. ru

Olga V. Fridman - Ph.D. (Tech. Sci.), a senior researcher