ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ «ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1 (64)
УДК 519.8
Л. А. ЗАОЗЕРСКАЯ А. А. КОЛОКОЛОВ В. А. ПЛАНКОВА
Омский филиал Института математики им. С.Л. Соболева СО РАН Омский государственный технический университет
РАЗРАБОТКА АЛГОРИТМОВ ПЕРЕБОРА L-КЛАССОВ ДЛЯ ОДНОЙ ЗАДАЧИ КОМПЬЮТЕРНОГО ТЕСТИРОВАНИЯ_____________________
Ранее авторами был предложен подход к построению оптимальных тестов контроля знаний, основанный на применении моделей и методов дискретной оптимизации. Важную роль в этом подходе играет задача формирования оптимальной структуры теста. В данной работе для указанной задачи предложены точные алгоритмы ее решения, которые могут быть использованы при создании компьютерных тестирующих систем.
1. Постановки задач
Для оценки и повышения эффективности обучения важную роль играет компьютерное тестирование, которое может повысить объективность и надежность контроля, обеспечить единство требований, сократить временные затраты и т.д. При создании систем компьютерного тестирования одной из важных является проблема определения структуры теста. Для решения этой проблемы в [1-3] нами предложен формализованный подход к определению «оптимальной» структуры теста, описаны соответствующие модели целочисленного линейного программирования (ЦЛП) и результаты их практического применения при разработке тестов по дисциплине «Экономико-математические методы» для студентов экономических специальностей вузов. В данной статье на основе метода регулярных разбиений, в частности 1-разбиения, разработаны алгоритмы перебора 1-классов для решения построенных задач ЦЛП.
В соответствии с предложенной нами методикой [13] проверяемый учебный курс рассматривается как множество элементов знаний (основных понятий, свойств и утверждений и т.п.). Далее под типовым, тестовым, заданием понимается задание, которое направлено на проверку определенного подмножества элементов знаний. При формировании варианта типового задания его исходные данные генерируются случайным образом или в соответствии с некоторыми правилами. Отметим, что изменение данных не влечет изменения проверяемого подмножества. Структурой теста будем называть набор типовых заданий, включенных в тест, а оптимальной структурой — набор заданий, выполнение которых позволяет сделать объективный вывод о степени усвоения испытуемым рассматриваемой дисциплины и удовлетворяющий некоторому критерию. Таким образом, тест составляют варианты типовых заданий, определенные оптимальной структурой.
Рассмотрим две постановки задачи формирования оптимального теста [2]. В первой из них в качестве критерия оптимизации рассматривается минимизация числа заданий, включаемых в тест. В этом случае задача формирования оптимальной структуры теста (ОСТ) состоит в поиске минимального набора типовых тестовых заданий, который обеспечивает, проверку знаний всех элементов множества знаний. Для опи-
сания математической модели обозначим через т количество выделенных элементов знаний, через п — число разработанных типовых тестовых заданий. Пусть А — булева матрица с элементами а.=1, если]-е задание проверяет г-йэлемент знаний, и а.=0, иначе, 1=1,.,,т., ]=1,...,п. Введем переменные х = 1, если ]-е задание включено в тест, и х=0, иначе,]=1,..,п.
Математическая модель рассматриваемой задачи имеет вид:
= ^ тт (1)
7=1
при условиях
П
^ а1х] > 1, г = 1,..., т, (2)
7=1
Х] е {0,1} 7 = 1,..., п. (3)
Задача (1)-(3) — известная задача о наименьшем покрытии множества, которая является МР-трудной, но при реальных исходных данных для формирования ОСТ она может быть решена одним из известных пакетов или специально разработанными алгоритмами.
Данная модель была применена для определения оптимальной структуры теста по теме «Линейное программирование» дисциплины «Экономико-математические методы» [3]. Вычислительный эксперимент показал, что полученный набор заданий оказался достаточно качественным для текущего контроля по указанной теме. Однако он не может быть использован для итогового контроля по всей дисциплине, так как выполнение его заданий с учетом их трудоемкости займет большую часть отведенного времени.
В основе второй постановки рассматриваемой задачи лежит разбиение всех элементов знаний на базовое (в него входят ключевые элементы дисциплины) и дополнительное (остальные элементы знаний) множества. Теперь задачу формирования ОСТ можно поставить как задачу поиска набора фиксированного числа типовых тестовых заданий, который обеспечивает проверку знаний всех элементов базового множества и максимального числа элементов дополнительного множества.
Пусть В={1,.,т1} и С={1,..,т2} соответствуют базовому и дополнительному множествам элементов знаний.
Через к обозначим количество заданий, включаемых в тест. Пусть А — булева матрица размера т1Хи с элементами а.=1, если задание7 проверяет элемент знаний I из В, и а 7=0, иначе; Г — булева матрица размера т^и. с элементами а.=1, если задание7 проверяет элемент знаний Iиз С, и а..=0, иначе. Через Iобозначим количество групп, на которые разбиты все типовые задания по некоторому признаку (например, аналитические, графические, алгоритмические и т.д.), а через 3. — множество типовых заданий в группе с номером . {= 1,..,1.
Введем вспомогательные переменные V., 1=1,..,т2. Если в некотором допустимом решении переменная V. равна единице, то г-й элемент знаний из С проверяется набором тестовых заданий (х,..,х). Модель ЦЛП имеет следующий вид:
Ш2
/(х, V) = Х VI ^ тах (4)
1=1
при условиях
п
X х] = к, (5)
п ■'=1
Х^Я/Х; > 1, I е В, (6)
'=1
п
Xх' - V1 > 0, I е С, (7)
'=1
Xх; > 1, ( = 1,...,I, (8)
х' е {0,1} ' = 1,..., п. (9)
V е {0,1}, I е С. (10)
Здесь целевая функция (4) состоит в максимизации количества проверяемых элементов дополнительного множества, условие (5) — требование включения в структуру теста к заданий. Ограничения (6) обеспечивают проверку всех элементов базового множества, а неравенства (7) отражают возможность проверки любого элемента дополнительного множества. Ограничения (8) описывают необходимость использования в тесте хотя бы по одному заданию из каждой группы, что обеспечивает разнообразие теста. Отметим, что задача (4) — (10) также является МР-трудной.
Сформированные на основе модели (4) — (10) структуры тестов легли в основу разработанной нами версии автоматизированной тестирующей системы по линейному программированию указанной выше дисциплины. Первый опыт практического применения данной системы на заочном отделении экономического факультета ОмГУ подтвердил перспективность рассматриваемого подхода.
В следующем параграфе предлагаются алгоритмы перебора 1-классов для решения описанных выше задач ЦЛП, которые в дальнейшем будут использованы в блоке формирования теста компьютерных тестирующих систем.
2. Алгоритмы решения
В [4,5] и других работах развивается подход к анализу задач и алгоритмов целочисленного программирования (ЦП), основанный на регулярных разбиениях евклидова пространства, в частности 1-разбиении. В рамках этого подхода была исследована структура многих задач ЦП, предложены алгоритмы перебора 1-классов для общей задачи ЦП и специальных задач ЦЛП, исследована устойчивость алгоритмов и задач ЦП.
Приведем необходимые сведения. 1-разбиение пространства К1 определяется следующим образом:
- каждая точка из Ти образует отдельный 1-класс, т.е. элемент разбиения;
- нецелочисленные точки х,уеКи (х У у ) принадлежат одному дробному 1-классу, если не существует ъеТи такой, что х У г У у.
Пусть X с Яп. Фактор-множество Х/Ь называется 1-структурой X. Отметим следующее важное свойство Ь-разбиения: если X — ограниченное множество, то Х/1={У, V}, где V У У+1, 1=1....8-1.
Как отмечено выше, задача (1) — (3) является задачей о наименьшем покрытии множества. Для ее решения в [6] предложен гибридный алгоритм, в котором алгоритм перебора Ь-классов комбинируется с генетическим алгоритмом и лагранжевой эвристикой. Эксперименты показали перспективность такого подхода.
В данной работе алгоритм перебора Ь-классов для задачи булевого программирования адаптирован для решения задачи формирования ОСТ (4)-(10). Обозначим через М релаксационное множество задачи (4)-(10), определяемое ограничениями (5)-(8) и условиями
0 < х' < 1, ' = 1,...,п, (11)
0 < vi < 1, I = 1,...,т2. (12)
Основной шаг процесса решения задачи состоит в переходе от одного Ь-класса множества М к следующему за ним в порядке лексикографического убывания с учетом рекордного значения р целевой функции. В результате порождается последовательность Я точек и® из М, обладающая свойствами:
1) и® У и(п1>, . = 1,2,...;
2) все точки и® принадлежат различным Ь-классам;
3) если множество Мп1и+т2 непусто, то последовательность Я содержит подпоследова-тельность целых точек 0={ г(Ьг)}, г =1,...,д такую, что {(^‘>)>{(^ь>) как только >.
г
Процесс перебора Ь-классов можно начинать с лексикографически максимальной точки и(1) из М. Текущие точки истроятся посредством решения вспомогательных подзадач линейного программирования (ЛП). Поиск лексикографического максимума для этих задач может быть осуществлен, например, с помощью лексикографического двойственного симплекс-метода. Процесс завершается, когда не удается найти представителя очередного Ь-класса. В случае, если задача разрешима, лучшее из найденных целочисленных решений является оптимальным. В качестве начального значения рекорда можно взять р0=-1.
На основе описанной общей схемы могут быть разработаны различные варианты конкретных алгоритмов. В предлагаемом далее алгоритме используется порядок переменных: (х,у)= (х,..,хи,у,..,ут2), для которого имеет место следующее свойство. Пусть х&Т1 удовлетворяет условиям (5), (6), (8), (9), тогда однозначно определяется точка у'е 7т2, которая максимизирует целевую функцию Цх',у). Действительно, V. можно положить единице, если в ограничении (7) выполняется
У а{] х'} > 1 для / е С.
Далее будем считать, что переменные х. упорядочены по группам тестовых заданий, что позволит учитывать ограничения (8) алгоритмически. Пусть обозначает номер последнего задания в группе 1=1,...1. При описании алгоритма х— это текущее решение с наилучшим значением целевой функции, а [Ь] — это нижняя целая часть Ье К.
«ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1 (64) ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ «ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1 (64)
Алгоритм перебора L-классов
Шаг 0. Решаем задачу ЛП (4) — (8), (11), (12). Если она неразрешима, то неразрешима и задача (4) — (10). Процесс решения завершен.
Пусть (х*,у*) — оптимальное решение (4) — (8), (11), (12). Если оно является целочисленным, то процесс завершается. Точка (х*,у*) является оптимальным решением задачи (4) — (10). Иначе перейти на Шаг 1.
Шаг 1.
Возможны следующие варианты:
— если х!&2п, то положить р ={(х'У), х= х' ■ Если р=[Ь(х*,у*)], то перейти на Шаг 6. Иначе положить р = и +1. Перейти на Шаг 4.
— если х'<£Ти, то перейти на Шаг 2.
Шаг 2. («подготовка хода вниз»)
Найти р = тт { | 0 < х' < 1,' < п -1} Положить хр=0. Пусть { — номер группы заданий, к которой принадлежит р. Если р=8( -1 и не существует jеJt такого, что ]<р и х' = 1, то положить хр+1 = 1, р: = р + 1. Перейти на Шаг 3.
Шаг 3 («ход вниз»)
Найти
I '"2
(X,V) = їехшахі (х,у)є М \ ^ V > р +1,х] = х\,] < р
Возможны следующие варианты.
1) Получено решение этой задачи:
— еслих"&2п, то положить р=1(х",у"), х- х", х'=х" и р = и +1. Перейти на Шаг 4.
— если х"^и, то положить х' = х". Перейти на Шаг 2.
2) Задача неразрешима:
— если р=1, перейти на Шаг 6.
— если р>1, перейти на Шаг 4.
Шаг 4. («подготовка хода вверх»)
Найти у=тах{. \х'=1,. < р-1}. Если такого номера ф нет, перейти на Шаг 6.
Пусть { — номер группы заданий, к которой принадлежит ф.
— Если ф<8-1, то положить хф=0. Перейти на Шаг 5.
— Если ф=8-1, то хф=0. Если при этом не существует jеJtтакого, что.<ф и х ; = 1, то положить хф+1=1, ф:= ф+1. Перейти на Шаг 5.
— Если ф=в( и найдетсяjеJt такой, что.<ф и х ; = 1, то хф=0. Перейти на Шаг 5.
— Если ф=в( и не существуетjеJtтакого, что.< ф и х ' = 1, то при >1 положить и=1-1, р=в+1, перейти на Шаг 4. При { =1 перейти на Шаг 6.
Шаг 5. («ход вверх»)
Найти
(х", V") = Іех шах| (х, у)є М | ^ уі > Р +1, х} = х і, ] < ф
значение параметра к (число заданий в тесте). Такой процесс приведет к получению разрешимой задачи.
Заметим, что переменные х,..,хи не входят в целевую функцию в явном виде, поэтому представляет интерес вариант алгоритма, в котором используется порядок переменных (у, х). Важным моментом работы алгоритма перебора Ь-классов является получение хорошего начального рекорда. В связи с этим нами разрабатываются эвристические алгоритмы решения задачи, в частности, процедуры локального поиска.
Полученные результаты имеют не только теоретическое, но и важное практическое значение, поскольку построенные алгоритмы будут использоваться в компьютерной тестирующей системе по экономико-математическим методам, ориентированной на учебный процесс в ОмГУ и некоторых других вузах города. Отметим также, что предлагаемая методика формирования оптимальной структуры теста может быть применена и для других дисциплин.
Библиографический список
1. Заозерская, Л.А., Планкова, В.А. Применение дискретной оптимизации при создании автоматизированной тестирующей системы // Информационный бюллетень Ассоциации математического программирования. Научное издание. — Екатеринбург : УрО РАН, 2007. - N 11. - С. 175.
2. Заозерская, Л.А., Планкова, В.А. Некоторые математические модели формирования оптимальной структуры теста : материалы VI Международной научно-технической конференции «Динамика систем, механизмов и машин». — Омск : ОмГТУ, 2007. — Кн.3. — С. 35—38.
3. Заозерская, Л.А., Планкова, В.А. Разработка автоматизированной тестирующей системы по линейному программированию // Российская конференция «Дискретная оптимизация и исследование операций»: материалы конф. (Владивосток, 7-14 сентября 2007). — Новосибирск : Изд-во Ин-та математики, 2007. — С. 176.
4. Колоколов, А.А. Регулярные разбиения и отсечения в целочисленном программировании // Сибирский журнал исследования операций. — 1994. — №2. — С. 18-39.
5. Колоколов, А.А., Девятерикова, М.В., Заозерская, Л.А. Регулярные разбиения в целочисленном программировании : учеб. пособие. — Омск : Изд-во ОмГУ, 2007. — 60 с.
6. Еремеев, А.В., Заозерская, Л.А., Колоколов, А.А. Задачи о покрытии и их приложения : материалы международного семинара «Вычислительные методы и решение оптимизационных задач», Новосибирск, 2004. — С. 70-76.
Возможны следующие варианты.
1) Получено решение этой задачи:
— Если х"&2п, то положить р ={(х",у"), х— х" , х' = х" и р = и +1. Перейти на Шаг 4.
— Если х"<£Ти, то положить х'=х". Перейти на Шаг 2.
2) Задача неразрешима:
— Если ф=1, перейти на Шаг 6.
— Если ф > 1, то положить р=ф. Перейти на Шаг 4.
Шаг 6. Процесс решения завершен. При необходимости на основе х находим V. Точка (х, V) является оптимальным решением.
В случае, если рассматриваемая на Шаге 0 задача ЛП не имеет допустимого решения, следует увеличить
ЗАОЗЕРСКАЯ Лидия Анатольевна, кандидат физико-математических наук, доцент, старший научный сотрудник лаборатории «Дискретная оптимизация», Омский филиал Института математики им. С. Л. Соболева СО РАН, доцент кафедры прикладной математики и информационных систем, Омский государственный технический университет. КОЛОКОЛОВ Александр Александрович, доктор физико-математических наук, профессор, заведующий лабораторией «Дискретная оптимизация», Омский филиал Института математики им. С. Л. Соболева СО РАН, профессор кафедры прикладной математики и информационных систем, Омский государственный технический университет.
ПЛАНКОВА Валентина Александровна, старший научный сотрудник лаборатории «Теоретико-вероятностные методы», Омский филиал Института математики им. С.Л. Соболева СО РАН.
Дата поступления статьи в редакцию: 05.04.2008 г.
© Заозерская Л.А., Колоколов А.А., Планкова В.А.
і=1