УДК 681.3.06
Д. Г. Хохлов, А. П. Кирпичников, З. Х. Захарова, Е. Е. Лоповок, А. А. Вербицкая, А. Н. Захаров, Г. Х. Халид
ОЦЕНКА ПРОГРАММ УЧАЩИХСЯ С ИСПОЛЬЗОВАНИЕМ НЕЧЕТКОГО ЛОГИЧЕСКОГО ВЫВОДА В СИСТЕМЕ ЭЛЕКТРОННОГО ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ
Ключевые слова: электронное обучение программированию, критерии оценки программы учащегося, регрессионный анализ, нечеткий логический вывод.
Рассматривается подсистема интегрированной оценки программы учащегося в системе электронного обучения программированию. Проведен анализ критериев оценки программ на основе методов регрессионного анализа и нечеткого логического вывода. Сравнение этих методов показало преимущество нечеткого логического вывода.
Keywords: e-learning on programming, criteria of learner's program estimation, regression analysis, fuzzy logic.
The subsystem of electronic learning system on programming for learner's program integral estimation is described. Criteria of program estimation with regressive analysis and fuzzy logic methods have been compared. Conclusion is done that fuzzy logic method has more advantage.
Введение
При разработке электронной системы обучения программированию ЭСОП [1, 2] на основе учебников [3, 4] необходимо реализовать проверку выполнения учебных заданий на составление алгоритмов и их программной реализации.
Критерии оценки программы учащегося в ЭСОП включают: время решения задачи и составления программы, сложность программы, уровень комментирования программы, оценка программы по Холстеду [5] и количество успешно пройденных программой тестов.
В представленной работе рассматривается подход к интегрированной оценке программы учащихся по совокупности указанных критериев с использованием регрессионного анализа и нечеткого логического вывода.
ПОСТАНОВКА ЗАДАЧИ
После выявления списка критериев была поставлена задача определения степени влияния каждого из них на результирующую оценку, в результате чего был проведен регрессионный анализ. Этот метод был выбран, так как он позволяет выявить качественную и количественную зависимость результирующего показателя (в нашем случае балльной оценки учащегося) от математически независимых между собой факторов (в нашем случае - пяти выбранных критериев оценки программы). Регрессионный анализ состоит из нескольких этапов, которые далее будут рассмотрены подробнее.
Первый этап - планирование эксперимента, целью которого является получение результатов с заданной достоверностью.
Различают стратегическое и тактическое планирование. Стратегическое планирование осуществляется на базе принятых стратегических целей. Это означает, что изначально на основе анализа и прогноза изменения факторов внешней и внутренней среды разрабатывается стратегия,
определяется период ее реализации и стратегические цели, а затем разрабатываются стратегические планы. Как правило, они нацелены на долгосрочную перспективу.
Тактическое планирование представляет собой совокупность плановых решений, направленных на достижение поставленных целей в заданный временной период. По мере поэтапного продвижения к целям учитываются реальные результаты и осуществляются корректировки целей или их количественных показателей.
Результаты
В рамках рассматриваемой подсистемы ЭСОП было выбрано стратегическое планирование, по результатам которого получен стратегический план, состоящий из 43 элементов. Каждый элемент характеризует конкретную программу учащегося и содержит выявленные для нее значения пяти критериев, а также предполагаемую результирующую оценку. Полученный
стратегический план представлен в таблице.
Затем был проведен первый этап регрессионного анализа, представляющий собой расчет основных статистических характеристик: среднего арифметического значения, медианы, стандартного отклонения, дисперсии, стандартной ошибки среднего, минимального и максимального значения фактора, асимметрии и эксцесса.
На втором этапе регрессионного анализа проводится оценка имеющихся данных с точки зрения законов распределения.
В рамках разрабатываемой подсистемы ЭСОП было принято решение выбрать нормальный закон как наиболее подходящий для оценки распределения вероятностей суммы большого числа независимых случайных факторов.
Для полученного стратегического плана график нормальности представлен на рис. 1.
Таблица 1 - Стратегический план
№ Время Слож- Коэф- Уро- Коли-
п/п решения ность фици- вень чество
задачи прог- ент ком- прой-
(мин.) раммы Холс- менти- денных
теда рования тестов
1 65 150 3 30 5
2 10 1 1 10 0
3 10 1 1 10 0
4 10 300 1 10 0
5 120 300 1 10 0
6 10 1 6 10 0
7 120 1 6 10 0
8 10 300 6 10 0
9 120 300 6 10 0
10 10 1 1 50 0
11 120 1 1 50 0
12 10 300 1 50 0
13 120 300 1 50 0
14 10 1 6 50 0
15 120 1 6 50 0
16 10 300 6 50 0
17 120 300 6 50 0
18 10 1 1 10 10
19 120 1 1 10 10
20 10 300 1 10 10
21 120 300 1 10 10
22 10 1 6 10 10
23 120 1 6 10 10
24 10 300 6 10 10
25 120 300 6 10 10
26 10 1 1 50 10
27 120 1 1 50 10
28 10 300 1 50 10
29 120 300 1 50 10
30 10 1 6 50 10
31 120 1 6 50 10
32 10 300 6 50 10
33 120 300 6 50 10
34 10 150 3 30 5
35 120 150 3 30 5
36 65 1 3 30 5
37 65 300 3 30 5
38 65 150 1 30 5
39 65 150 6 30 5
40 65 150 3 10 5
41 65 150 3 50 5
42 65 150 3 30 0
43 65 150 3 30 10
Variable: Slozhnost sled. zadachi, Distribution: Normal Kolmogorov-Smirnov d = 0,15495, p = n.s., Lilliefors p < 0,05 Chi-Square test = 32,33344, df = 4 (adjusted) , p = 0,00000
-40 0 40 80 120 160 200 240 280 320 -20 20 60 100 140 180 220 260 300 340
Category (upper limits)
Рис. 1 - Оценка нормальности стратегического плана
На следующем этапе проводится факторный анализ, который позволяет сократить пространство факторов, объединив между собой взаимозависимые факторы, а также удалить те из них, которые не оказывают влияние на результирующий показатель. После проведения факторного анализа было установлено, что все из выявленных факторов математически не зависят друг от друга, в то время как каждый из них влияет на результат. Это позволяет сделать вывод о том, что все критерии являются информативными.
На последнем этапе регрессионного анализа строилось уравнение регрессии. Используя пакет прикладных программ Статистика 6.0, было получено следующее уравнение, позволяющее рассчитать оценку учащего, используя значение характеристик написанной им программы:
У = - 35,4819 + 0,3819 х1 + 0,9673 х2 - 0,3026 Хз - 0,1791 х4 + 3,8519 Х5 - 0,0031 х/ - 0,0009 Х22 + 0,1911 Хз2 + 0,0042 Х42 + 0,5066 Х52,
где:
У - итоговая оценка учащегося в баллах;
Х1 - время решения задач и составления программ;
Х2 - сложность программ;
Х3 - уровень комментируемости программ;
Х4 - оценка программ по Холстеду;
Х5 - количество успешно пройденных тестов.
Следует отметить, что приведенная формула хорошо подходит для расчета оценки в том случае, когда характеристики принимают значения близкие к средним. Однако в случае минимальных или максимальных значений критериев были выявлены недостатки. К ним можно отнести отрицательные значения оценки, получаемые при нулевых значениях характеристик, а также оценку более 100 баллов при максимальных значениях характеристик.
Чтобы избавиться от выявленных недостатков было принято решение рассмотреть расчет итоговой оценки студента с использованием нечеткого логического вывода.
Самым распространенным алгоритмом логического вывода является алгоритм Мамдани. Для того, чтобы перейти к рассмотрению алгоритма, рассмотрим основные определения нечеткого логического вывода.
Нечеткая переменная - это кортеж вида <а, X, А>, где: а - имя нечеткой переменной, X - ее область определения, А - нечеткое множество на универсуме Х, для каждого элемента которого определена функция, задающая степень принадлежности данного элемента к множеству А. В рассматриваемой подсистеме АСОП нечеткими переменными являются критерии, по которым осуществляется проверка программ учащихся.
Лингвистическая переменная - это кортеж вида <в, Т, X, О, М>, где: в - имя лингвистической переменной, Т - множество значений (термов) лингвистической переменной, X - множество нечетких переменных, в - синтаксическая процедура образования новых термов, М -
45
0
семантическая процедура, позволяющая формировать нечеткие множества для каждого терма лингвистической переменной.
Нечеткое высказывание - это высказывание вида "в 18 а", где: в — лингвистическая переменная, а — один из термов этой переменной.
Алгоритм Мамдани состоит из следующих этапов: формирование базы правил, фаззификация, агрегирование подусловий, активизация
подзаключений, аккумулирование заключений, дефаззификация.
Формирование базы правил - это этап, на котором формируется множество правил, каждому подзаключению в котором сопоставлен определенный весовой коэффициент.
На этапе фаззификации осуществляется переход к нечеткости. В разработанной подсистеме на вход рассматриваемого этапа поступает множество правил, а также стратегический план. В результате получается степень истинности каждого из правил базы правил.
Так как каждое условие в правиле может состоять из нескольких подусловий, то на этапе агрегирования находим для каждого условия минимальное значение истинности его подусловий.
На последующих этапах, а именно активизации подзаключений и аккумулировании заключений, строятся нечеткие множества для выходной переменной. В рассматриваемой подсистеме выходной переменной является оценка учащегося в баллах.
На этапе дефаззификации из нечеткого множества получается численное значение выходной переменной - в нашем случае определяется оценка.
На основании теоретических материалов, изложенных ранее, была разработана подсистема ЭСОП, позволяющая просмотреть данные о написанных учащимися программах, а также рассчитать итоговую оценку за экзамен в баллах.
Начав работу с подсистемой, пользователь попадает в главное меню, представленное на рис. 2.
□ - Главное меню
Добро пожаловать в систему. Вам доступны следующие действия:
Ведение данных о студенте Ведение данных о задачах
Ведение данных об обучающей выборке Ведение данных об экзамене
Ведение данных о характеристиках программы Ведение данных о нечетком выводе
Рис. 2 - Главное меню
Пройдя по вкладке «Ведение данных об экзамене», открывается окно, представленное на рис. 3.
Рис. 3 - Меню «Ведение данных об экзамене»
В верхней части окна пользователю предоставляется возможность открыть вкладку «Решенные задачи», на которой представлены сведения о том, какие задачи и в какое время решал тот или иной учащийся. Также можно открыть вкладку «Характеристики написанных программ», где можно ознакомиться с рассчитанными для каждой написанной программы критериями.
В левой таблице, изображенной на диалоговом окне, отбражаются баллы, начисленные за написание программы учащемуся. Расчет баллов осуществляется методом нечеткого логического вывода при нажатии на кнопку «Пересчитать баллы».
Автоматически при нажатии на кнопку пересчитываются данные в таблице «Итоговая оценка». Здесь содержется общая информация по каждому из учащихся, а именно его средние баллы за решенные задачи.
ВЫВОДЫ
Таким образом при проектировании подсистемы ЭСОП для формирования оценок программ учащихся произведен анализ критериев, характеристик, влияющих на оценку, а также двух методов, которые можно использовать для реализации поставленной цели. Так как метод нечеткого логического вывода является более универсальным и позволяет избавиться от недостатков расчета оценки по уравнениям регрессии, было решено реализовать его в подсистеме ЭСОП.
Литература
1. Хохлов Д.Г. Электронное обучение программированию: проблематика и подходы // Международный электронный журнал «Образовательные технологии и общество (Educational Technology & Society)» - 2012. - V. 15. - № 1. - С. 567593. - ISSN 1436-4522. URL:http://ifets.ieee.org/russian/periodical/journal.html
2. Хохлов Д.Г., Захарова З.Х., Захаров А.Н. Оценка уровня подготовки в системе электронного обучения программированию // Международный электронный журнал «Образовательные технологии и общество (Educational Technology & Society)» - 2012. - V. 15. - №
1. - С. 537-554. - ISSN 1436-4522. URL:http://ifets.ieee.org/russian/periodical/journal.html 3. Хохлов Д. Г. Программирование на языке высокого уровня. Ч. 1. Основы программирования, 253 с. Ч. 2. Методы программирования, 270 с. Казань: Мастер Лайн, 2009.
4. Хохлов Д. Г. Методы программирования на языке С: практикум: в 2 ч. - М.: БИНОМ. Лаборатория знаний, 2014. Ч. 1. 335 с. Ч. 2. 376 с.
5. Холстед М. Х. Начала науки о программах. М.: Финансы и статистика, 1981. 128 с.
© Д. Г. Хохлов - канд. техн. наук, доцент кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н. Туполева, [email protected]; А. П. Кирпичников - д-р физ.-мат. наук, зав. кафедрой интеллектуальных систем и управления информационными ресурсами КНИТУ, [email protected]; З. Х. Захарова - доцент кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н. Туполева, [email protected]; Е. Е. Лоповок - магистрант кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н.Туполева, [email protected]; А. А. Вербицкая - магистрант кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н. Туполева, [email protected]; А. Н. Захаров - аспирант кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н. Туполева, [email protected]; Г. Х. Халид - аспирант кафедры автоматизированных систем обработки информации и управления КНИТУ им. А.Н. Туполева, [email protected].
© D. G. Khokhlov - PhD, Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected]; А. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, [email protected]; Z. H. Zakharova - Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected]; E. E. Lopovok - Master Student of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected]; A. A. Verbitskaya - Master Student of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected]; A. N. Zakharov - Graduate Student of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected]; G. H. Khalid - Graduate Student of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev, [email protected].