Научная статья на тему 'Определение сложности вариантов алгоритмических заданий для виртуальных лабораторий на основе автоматной модели'

Определение сложности вариантов алгоритмических заданий для виртуальных лабораторий на основе автоматной модели Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
121
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭЛЕКТРОННОЕ ОБУЧЕНИЕ / ВИРТУАЛЬНЫЕ ЛАБОРАТОРИИ / RLCP / E-LEARNING / VIRTUAL LABS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ефимчик Евгений Александрович, Лямин Андрей Владимирович

В работе приведено описание автоматной модели эталонного алгоритма построения верного решения алгоритмических заданий для виртуальных лабораторий, разработанной на основе модели автоматизированного объекта управления, дан метод формального определения сложности варианта задания и приведен пример определения функции сложности. Функция сложности определяет зависимость итоговой сложности варианта задания от его свойств и таким образом делает возможным автоматическое построение вариантов с заданной сложностью. Результаты работы применены при разработке виртуальных лабораторий, которые используются в практикуме MOOC (массовых открытых онлайн курсов) по теории графов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ефимчик Евгений Александрович, Лямин Андрей Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The paper describes an automaton model of the reference algorithm for constructing the right solution for algorithmic tasks for virtual laboratories. The developed model is based on the model of the automated control object. A method of formal determining the complexity of algorithmic task and example of determining of the complexity function are also described. Example. Complexity function determines how complexity of task variant depends on its properties, and thus makes possible the automatic construction of task variants having predefined complexity. The described results are applied in development of virtual laboratories, which are used in the graph theory MOOC.

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

Ефимчик Евгений Александрович, Лямин Андрей Владимирович

УДК 004.588

ОПРЕДЕЛЕНИЕ СЛОЖНОСТИ ВАРИАНТОВ АЛГОРИТМИЧЕСКИХ ЗАДАНИЙ ДЛЯ ВИРТУАЛЬНЫХ ЛАБОРАТОРИЙ НА ОСНОВЕ АВТОМАТНОЙ МОДЕЛИ

Аннотация

В работе приведено описание автоматной модели эталонного алгоритма построения верного решения алгоритмических заданий для виртуальных лабораторий, разработанной на основе модели автоматизированного объекта управления, дан метод формального определения сложности варианта задания и приведен пример определения функции сложности. Функция сложности определяет зависимость итоговой сложности варианта задания от его свойств и таким образом делает возможным автоматическое построение вариантов с заданной сложностью. Результаты работы применены при разработке виртуальных лабораторий, которые используются в практикуме МООС (массовых открытых онлайн курсов) по теории графов.

Ключевые слова: электронное обучение, виртуальные лаборатории, ЯЬСР.

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

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

© Ефимчик Е.А., Лямин А.В., 2014

вать обучение и контроль, перед тем как допускать обучающихся к работе с физическими лабораторными установками. Другой областью применения ВЛ может стать массовое обучение - автоматизация контроля результатов обучения является необходимым условием при подготовке онлайн-курсов, а ВЛ могут моделировать типовые задания, с помощью которых может быть реализована практическая часть курса.

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

жны обладать заранее определенной сложностью, чтобы обеспечить равные условия для всех обучающихся при оценивании достигнутых результатов обучения [2, 3]. Сложность варианта задания в этом контексте представляет собой некоторую количественную характеристику, отражающую число операций, которые необходимо выполнить для получения верного решения.

Следует отличать сложность варианта задания от трудности задания. Трудность, согласно [4, 5], связана с владением алгоритмом решения задания и выражается процентом от количества испытуемых репрезентативной выборки, правильно выполняющих это задание. Тем не менее, в условиях ограниченного времени сложность варианта задания влияет на трудность. Даже зная алгоритм решения задания, можно не уложиться в срок его выполнения, если предъявленный вариант обладает чрезмерной сложностью.

В работе предлагается способ формального определения сложности вариантов для алгоритмических заданий на основе автоматной модели эталонного алгоритма. Пусть существует некоторое алгоритмическое задание t, которое требуется решить с помощью эталонного алгоритма а, и для него существует множество вариантов V:

V = (V!, v2, Vз,..., V,}.

Каждый элемент vj представляет собой конкретный вариант задания с определенными данными.

Рассмотрим в качестве упрощенного примера известный алгоритм для машины Тьюринга, предназначенный для увеличения на единицу целого числа [6]. Исходное число находится на ленте в двоичном виде слева направо, в остальных ячейках находится пустой символ, и каретка указывает на самый старший разряд числа. Тогда для увеличения числа на единицу необходимо выполнить следующую последовательность действий:

1. Двигаться вправо, пока не встретится пустой символ.

2. Сдвинуться на одну ячейку влево.

3. Пока в текущей ячейке находится символ '1', изменять его на '0' и двигаться влево.

4. Если в текущей ячейке находится '0' или пустой символ, записать в ячейку '1' и завершить работу.

Задание t в таком случае требует воспроизвести действия эталонного алгоритма а, а начальное состояние ленты Тьюринга представляет собой вариант задания vi. Здесь нужно еще раз заметить, что обучающийся должен не написать программу для машины Тьюринга, а верно воспроизвести описанный выше алгоритм. Он получает доступ к ленте Тьюринга, возможность выполнять запросы на чтение символа из текущей ячейки и команды на перемещение каретки и запись символа в ячейку.

Если требуется создать ВЛ с автоматизированными процессами построения вариантов задания и оценивания решений обучающегося для типового задания t с помощью алгоритма а, то авторы предлагают разработать специальную автоматную модель m. Эта модель позволит оценить решения обучающихся на основе процедуры верификации: предоставленное обучающимся решение сверяется с верным решением, составленным с помощью автоматной модели алгоритма. Эта модель должна сохранять все промежуточные результаты. Сверка промежуточных результатов позволяет убедиться в том, что алгоритм был воспроизведен верно, а итоговый верный результат не был получен из-за, например, нескольких компенсировавших друг друга ошибок или вообще с помощью другого алгоритма. В качестве такой модели предлагается использовать совокупность детерминированного конечного автомата с выходом (управляющего автомата) и хранилища данных, с которым он взаимодействует (объекта управления). Эта модель является развитием модели автоматизированного объекта (АО), предложенной профессором А.А. Шалыто [6].

Модель АО состоит из трех основных компонентов: управляющего автомата, объекта управления и внешней среды. На каждом шаге работы управляющий автомат формирует новое состояние объекта управления (вычислительное состояние), исходя из воздействия внешней среды, текущего состояния объекта управления и состояния

Рис. 1. Автоматная модель алгоритма увеличения на единицу целого числа для машины Тьюринга

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

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

Для иллюстрации сказанного был разработан АО для описанного выше примера функции инкремента целого числа (рис. 1). Формируемое решение содержится в объекте управления С. Вариант задания V содержит начальное состояние ленты Тьюринга, которое можно получить с помощью запроса getTape. Объект управления содержит в себе ленту Тьюринга, начальное состояние которой можно установить с помощью команды setTape. Управление лентой осуще-

Рис. 2. Структура объекта управления автоматной модели алгоритма увеличения на единицу целого числа для машины Тьюринга

ствляется с помощью команд сдвига каретки (left и right), записи символов (write) и запроса на чтение символа в текущей ячейке (read). Кроме того, чтобы сохранять все промежуточные результаты, в объект управления добавлен журнал выполненных команд. Каждый раз, когда выполняется сдвиг каретки или запись символа в ячейку, в журнал добавляется соответствующая запись. Структура объекта управления изображена на рис. 2. Модель заложена в управляющем автомате, при этом стадия инициализации включает в себя операцию копирования состояния ленты Тьюринга из варианта задания в формируемое решение.

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

Особенность рассматриваемых автоматных моделей состоит в следующем. Известно, что внешние воздействия на АО определяются, прежде всего, данными варианта задания. Кроме того, известно, что некоторые алгоритмы во время выполнения позволяют сделать выбор из нескольких равнозначных альтернатив (коллизия), и тогда для одного варианта заданий может существовать множество верных решений. В этом

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

Таким образом, можно утверждать, что каждая компонента входного воздействия хЕ, порождаемая средой, на управляющий автомат т на самом деле состоит из компоненты хЕр, порождаемой вариантом задания, и компоненты хЕи, порождаемой выбором обучающегося, зафиксированным в предложенном им решении: ХЕ с ХЕР х ХЕи (рис. 3). Из этого следует, что в общем случае отображение множества вариантов заданий на множество решений, задаваемое т, определяется как функция рт : Р х и ^ S, где и -множество совершенных обучающимся в ситуациях коллизии выборов.

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

Рис. 3. Взаимодействие компонентов модели автоматизированного объекта управления для построения эталонного решения

информация о том, в какой именно разряд обучающийся установил каретку.

Определить сложность варианта задания cvm можно как мощность упорядоченного множества Yv управляющих состояний, посещенных управляющим автоматом m в процессе построения верного решения для варианта задания v, в случае, если сложность совершения переходов можно считать одинаковой:

Yv {yv1, yv1 yvq },

yv. = 5 m (yvxvi ),

c =1 Y I

vm v

где 5 m : X x Y ^ Y - функция переходов управляющего автомата m, xvi - входное воздействие на управляющий автомат, сформированное под влиянием варианта v на i-м такте. Поскольку управляющий автомат является детерминированным, то мощность множества Yv совпадает с количеством совершенных управляющим автоматом переходов.

В случае, если сложность совершения переходов нельзя считать одинаковой, нужно определить функцию f сложности совершения перехода cvim в состояние yvi из состояния yv(._j) под воздействием xvi. Тогда итоговая сложность варианта задания будет равна сумме сложностей переходов, совершенных управляющим автоматом:

Yv {Уv1, Уv1,..., yvq

yvi =5 m (yv(г-ГР Xv, ),

Cvim = f (yv(i-1) , yvi, Xvi ), |Yv |

С = > С

vm vim

i -1

Используя такой способ, можно определить сложность любого существующего варианта задания, но проблему автоматического построения вариантов заданий заданной сложности он решить не может. Необходимо анализировать автоматную модель алгоритма для каждого задания t, чтобы ответить на вопрос, какие именно свойства вариантов заданий и как именно влияют на сложность решения. Результатом такого анализа должна стать функция вида c = g(v), позволяющая вычислить значение сложности в зависимости от свойств варианта зада-

ния. Назовем ее функцией сложности.

В описанном выше примере (без допущения коллизий) количество совершенных управляющим автоматом переходов зависит от двух факторов: I - общего количества разрядов числа и z - порядкового номера последнего разряда числа, равного '0'. Автоматная модель на этапе прямого хода проходит все разряды числа, а на этапе обратного хода совершает еще один переход, для того чтобы вернуться к последнему разряду, и проходит до первого разряда, не равного '1', поэтому итоговая сложность равна: с = I + 1 + (I - z) = 21 - z + 1. Например, если на ленте Тьюринга записано число «1000000000», то сложность прибавления единицы к нему будет равна

с1000000000 = 2 х 10 + 1 - 10 = 11 Действительно, этап обратного хода включает лишь

один переход. Для варианта с числом

«101111» сложность также равна 11:

с101111 = 2 х 6 + 1 - 2 = 11, поскольку в этапе

обратного хода будет уже пять переходов.

На рис. 4 приведен пример автоматной модели для задания на определение изоморфизма графов с помощью локальных характеристик. Вариант задания V содержит два графа, для которых нужно установить, изоморфны ли они. Графы можно получить с помощью запросов getG1 и getG2. Эталонный алгоритм, заложенный в управляющем автомате, сначала составляет обобщенные матрицы связности графов и определяет локальные характеристики вершин. Эти операции на рисунке обозначены как функции gcm и Ш. Обобщенные матрицы составляются на основе следующих количественных характеристик отношений между упорядоченной парой вершин (/, у), связности строятся на основе следующих характеристик:

Еу - число дуг, исходящих из вершины i и входящих в вершину у;

О у - число ребер, связывающих вершины i и у;

- число петель при вершине i.

Обобщенная характеристика такого отношения определяется как Zг, если i = у, и как О у + Еу х 10е1, где q - количество десятичных разрядов количества вершин (если в графе восемь вершин, то е = 1, если 324

V: Вариант задания

деНЬШ

Пер бы й граф Второй граф

5: Решение обучающегося

:|МЯ<1;1: СМ 1 ,<|)

Дополнительные локальные харак тер истики

де1:СогТаЫ) Таблица соответсвия

1

/1 = 1;

Составление обощенных матриц связности

ёо/ссм1 = дстО^.деюЮ): всм2 = дстО^.деисгО); СШШШЩЕ/Щ всмг):

I <■. ИМ 1. СС М1: СИМ2=ОСМ2;

С.ас)с)СИМз(1, СИМ1, СИМ2);

С: Решение

асНеСМз {ЖМ1,6СН2) Добавление обобщенных матриц связности

асШЬСЬэ (|,1{>||,Н>1^) Добавить локальные характеристики графов для итерации

де1:1_СЬ(:1гд) Получить локальные характеристики грэфэ на итерации

асИсИМБ Ц,< ',М1 ,! 1,М?) Добавить характеристические матрицы на итерации

асМСогТаЬ[СогТаЬ) Добавление таблицы соответствия

зе1Мо1зо0гарИз() Добавление пометки о неизоморфности графоЕ

Определение локальных хара ктер истик

с!о/1СЬ1 = ШЩБмТТ; 1СЬ2 = ШСШ2): С .ас1сИ.СЬз(!. ГОтТ, №12):

т

[111.1 != 1СИ2] I С.зе1Мо15оЭгарИ5()

[¡.СЬ! == [_С|п2 £,£, ! С ||1)1

[1_СЬ1 == ¡_СК2 && [_СИ1 ==С,деН_СК(1 - 1, 1)]

/1 = I + 1

[Е_СИ1 == [_СЬ2 ¡БМиЙ5еЙ[_СЬ1) &£, 1_СЬ1 != С.деЫ_С№ - 1. 1)]

¡Я

Составление характеристических матриц

ёо/СЬМ1 = сЬт(ССМ1. I.СЫ): СЬМ2 = сЬт(ССМ2. 1СЬ2'): С.збёСЬтО, СЬМ1. СЬМ2):

[[_сЬ1 != tJ.getL.Chli -1,1)]

Введение дополнительных локальных характеристик

<]о/ 1СЫ = адсНЬасЫ. Б.деЮёсИСЬа. 1)): ¿СИ2 = ,ша!Ы1.С11>, Б де^сИСЫ:, 2)); (^ШШкв, 1СЬ1, 1СЬ2):

11сЬ1 == с.деасЬК -1.1)3

Установление соответствия между вершинами графов

вери

с1о/СогТаЬ = соШЯГсПТ, 1сЬ2. С.дёЕс'огТаЬО); С,'ас1с1СопаЬ(СогТаЬ)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 4. Автоматная модель эталонного алгоритма для задачи определения изоморфизма графов

на основе локальных характеристик

вершины, то q = 3). Из этих характеристик отношений для каждой упорядоченной пары и составляется обобщенная матрица связности. Строки обобщенных матриц связности представляют собой характеристические вектора соответствующих им вершин. Состав такого вектора определяет локальную характеристику вершины, которая кодируется числом. У вершин с одинаковыми векторами будет одинаковая локальная характеристика.

Если локальные характеристики для графов не совпадают, это означает, что графы не являются изоморфными - алгоритм делает соответствующую пометку в решении С при помощи команды setNoIsoGraphs и завершает работу. В противном случае возможны два варианта. Если каждой вершине в графе соответствует уникальный в рамках графа характеристический вектор, и, соответственно, уникальная локальная характеристика, то говорят, что произошла полная

дифференциация. В этом случае графы являются изоморфными, и на основе локальных характеристик находится таблица соответствия (операция обозначена функцией соГаЬ). Фиксация полной дифференциации происходит с помощью функции isMultiSet, которая определяет, является ли множество локальных характеристик графа мультимножеством.

Если полная дифференциация локальных характеристик не достигнута на первом шаге, алгоритм входит в цикл вычисления характеристических матриц (операция обозначена функцией Лт). Характеристическая матрица представляют собой набор уточненных характеристических векторов. Уточнение производится на каждой итерации цикла с помощью локальных характеристик, полученных на предыдущем шаге - к обобщенной количественной характеристике отношения вершин i и у дописываются коды локальных характеристик вершин у и i. На основе характеристических матриц вычисляются новые локальные характеристики, после чего итерация завершается. Цикл продолжается до тех пор, пока не будут получены устойчивые характеристические матрицы. Понятие устойчивости характеристических матриц подразумевает, что либо достигнута полная дифференциация, либо вычисление новых матриц не приводит к появлению новых характеристических векторов. Если при этом полученные локальные характеристики графов не совпадают, то алгоритм делает соответствующую пометку о неизоморфности графов и завершает работу. В противном случае графы являются изоморфными. Если произошла полная дифференциация, то с помощью функции сойаЬ строится таблица соответствия. Во втором случае требуется введение дополнительных локальных характеристик. Выбор вершин, для которых вводятся дополнительные характеристики, порождает коллизию, поэтому из решения обучающегося выбирается информация о совершенном им выборе с помощью запроса getOddLCh. Если выбор совершен согласно требованиям алгоритма, автомат повторяет выбор обучающегося, в противном случае производит выбор само-

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

В ходе работы автомат воздействует на объект управления, содержащий запись решения, с помощью команд сохранения обобщенных матриц связности (addGCMs), характеристических матриц (addChMs), локальных характеристик (addLChs), таблицы соответствия (addCorTab). На некоторых этапах работы ему требуется получать информацию о локальных характеристиках графов, найденных на предыдущем этапе, для чего используется запрос ^еЛЗД).

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

Пусть даны два графа G и Н, представленные на рис. 5, для которых требуется определить, изоморфны ли они. Решение представлено на рис. 6. Сначала строим обобщенные матрицы связности и определяем локальные характеристики вершин графов. Очевидно, что оба графа обладают одинаковым набором локальных характеристик, но полная дифференциация не произошла, поскольку у некоторых вершин совпадают характеристические вектора. Строим характеристические матрицы, чтобы уточнить локальные характеристики. Теперь полная дифференциация достигнута, и можно установить однозначное соответствие вершин графов G и Н.

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

Рис. 5. Графы G (слева) и Н (справа)

Рис. 6. Решение задачи об определении изоморфизма графов G и Н

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

цикла. Кроме того, до входа в цикл построения характеристических матриц нужно определить обобщенные матрицы связности. Сложность этого действия так же зависит от количества ребер и дуг. Таким образом, функция сложности имеет вид: c = 2e + a + l х ^ + a) = ^ + 1) х ^ + a), где l - длина цепей из вершин с попарно равными характеристическими векторами, e -количество ребер в графах, а a - количество дуг в графах. При этом, однако, нужно сделать оговорку - если две вершины соедине-

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

= (1 + 1) х (2 х 12 + 12) = 72.

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

Большая часть исследований, посвященных автоматизации оценивания в ВЛ, например [13, 14], используют подход тестирования черного ящика, представляя решение обучающегося в виде системы, которая на заданные воздействия должна реагировать определенным образом. Автоматная модель эталонного алгоритма, в свою очередь, позволяет сопоставить решения обучающегося и заведомо верного решения, позволяя полностью проверить все промежуточные результаты и точно ответить на вопрос, правильное ли решение предоставил обучающийся. Эта модель предоставляет способ формального определения сложности варианта алгоритмического задания. Значимость этого способа состоит в том, что на его основе могут быть созданы алгоритмы построения вариантов заданий с заданной сложностью. Однако область применения этой

Литература

модели ограничивается только алгоритмическими заданиями.

Автоматные модели использовались в ряде исследований в качестве инструмента для проектирования визуализаторов алгоритмов [15, 16]. Визуализаторы алгоритмов и ВЛ для алгоритмических заданий имеют ряд общих принципов работы, но при разработке визуализатора задачи автоматической проверки решений и подготовки вариантов заданной сложности несущественны, поэтому понятия коллизии, сложности варианта задания и функции сложности, являющиеся отличительной чертой этой работы, в соответствующих исследованиях отсутствуют за ненадобностью.

Автоматные модели эталонного алгоритма лежат в основе ряда ВЛ, разработанных для типовых заданий теории множеств и теории графов. Эти ВЛ используются на кафедре компьютерных образовательных технологий НИУ ИТМО в курсах дисциплин «Дискретная математика» и «Методы оптимизации» при подготовке студентов по направлению 230200 «Информационные системы», а также с помощью этих ВЛ был организован лабораторный практикум в МООС по теории графов, доступный в рамках образовательного проекта ITMOcourses. Способ формального определения сложности варианта алгоритмического задания и основанные на нем функции сложности послужили для разработки алгоритмов построения вариантов заданий равной сложности для этих ВЛ, что позволяет создать равные условия прохождения текущего контроля для студентов этих курсов.

1. ПершинА.А., ЛисицынаЛ.С. Из опыта разработки и практического использования MOOCS-кур-сов / Труды XXI Всероссийской научно-методической конференции «Телематика'2014», 2014. С. 91.

2. EfmchikE.A., Lyamin A. V. RLCP-Compatible Virtual Laboratories / The International Conference on E-Learning and E-Technologies in Education (ICEEE 2012) Technical University of Lodz, Poland Sept. 2426, 2012. Proceedings. Poland: Lodz, 2012. P. 59-64.

3. Ефимчик Е.А., Лямин А.В. Средства разработки и тестирования RLCP-совместимых виртуальных лабораторий // Дистанционное и виртуальное обучение. М.: СГУ, 2012. С. 37-47.

4. ЛандаЛ.Н. Алгоритмизация в обучении. М.: Просвещение, 1966.

5. Майоров А.Н. Теория и практика создания тестов для системы образования. М., 2000.

6. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. СПб.: Питер, 2009.

7. Ефимчик Е.А., Лямин А.В. Виртуальная лаборатория для проверки навыков восстановления логической функции // Информационная среда вуза XXI века : материалы VI Международной научно-практической конференции (4-10 декабря 2012 г.). Петрозаводск: ПетрГУ, 2012. С. 78-81.

8. ЕфимчикЕ.А., Лямин А.В. Генерирование заданий для виртуальных лабораторий по дискретной математике // Труды XVIII Всероссийской научно-методической конференции «Телемати-ка'2011». Санкт-Петербург, 2011. Т. 1. С. 169-170.

9. Ефимчик Е.А. Виртуальная лаборатория для проверки навыков проведения операций над множествами // Сборник материалов XVIII Международной научно-практической конференции «Проблемы и перспективы развития образования в России». Новосибирск, 2013. С. 102-108.

10. Ефимчик Е.А., Лямин А.В. Особенности разработки алгоритмов автоматизации процесса построения заданий для виртуальных лабораторий // Материалы XXIII Международной конференции «Применение новых технологий в образовании». Троицк, 2012. С. 231-232.

11. Ефимчик Е.А., Лямин А.В. Автоматизация учебного процесса с помощью RLCP-совмести-мых виртуальных лабораторий // Труды XX Всероссийской научно-методической конференции Те-лематика'2013. Санкт-Петербург, 2013. Т. 1. С. 162-163.

12. Ефимчик Е.А., Лямин А.В. Автоматическое построение заданий для проверки навыков выполнения операций над множествами // Новые информационные технологии в образовании: материалы междунар. науч.-практ. конф. Екатеринбург: ФГАОУ ВПО «Рос. гос. проф.-пед. ун-т», 2013. С. 278-281.

13. Fu, Q., He, K., Ma, X.: Research on Experimental Skills Assessment Based on Computer Simulation Technology. J. China Distance Education, 68-69 (2005).

14. Rodríguez-del-Pino, J. C., Rubio-Royo, E., Hernández-Figueroa, Z. J. A Virtual Programming Lab for Moodle with Automatic Assessment and Anti-plagiarism Features. 2012.

15. Казаков М.А., Шалыто А.А. Использование автоматного программирования для реализации визуализаторов // Компьютерные инструменты в образовании, 2004. № 2. С. 19-33.

16. Казаков М.А., Шалыто А.А. Реализация анимации при построении визуализаторов алгоритмов на основе автоматного подхода // Информационно-управляющие системы, 2005. № 4. С. 51-60.

AUTOMATON MODEL BASED DETERMINING THE COMPLEXITY OF ALGORITHMIC TASKS OPTIONS FOR VIRTUAL LABORATORIES

Abstract

The paper describes an automaton model of the reference algorithm for constructing the right solution for algorithmic tasks for virtual laboratories. The developed model is based on the model of the automated control object. A method of formal determining the complexity of algorithmic task and example of determining of the complexity function are also described. Example. Complexity function determines how complexity of task variant depends on its properties, and thus makes possible the automatic construction of task variants having predefined complexity. The described results are applied in development of virtual laboratories, which are used in the graph theory MOOC.

Keywords: e-learning, virtual labs, RLCP.

Ефимчик Евгений Александрович, ассистент кафедры компьютерных образовательных технологий (КОТ) СПбНИУ ИТМО,

сотрудник центра дистанционного обучения (ЦДО) СПбНИУ ИТМО,

eJimchick@cde.fmo. ги.

Лямин Андрей Владимирович, кандидат технических наук, доцент кафедры КОТ СПбНИУ ИТМО, директор ЦДО СПбНИУ ИТМО, lyamin@cde. ifmo. ги.

(с) Наши авторы, 2014. Our authors, 2014.

i Надоели баннеры? Вы всегда можете отключить рекламу.