Научная статья на тему 'Модель нечеткого автомата для оценки успеваемости студента'

Модель нечеткого автомата для оценки успеваемости студента Текст научной статьи по специальности «Математика»

CC BY
214
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКАЯ ЛОГИКА / НЕЧЕТКИЙ АВТОМАТ / БАЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА / РЕЙТИНГ СТУДЕНТА

Аннотация научной статьи по математике, автор научной работы — Марценюк Михаил Андреевич, Селетков Илья Павлович

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

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

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

Марценюк М.А.1, Селетков И.П.2

1 Пермский государственный национальный исследовательский университет, г.Пермь,

доктор ф.-м. наук., профессор, заведующий кафедры Компьютерных систем и

телекоммуникаций, mrcn @psu . ru

2 Пермский государственный национальный исследовательский университет, г.Пермь,

аспирант физического факультета, iseletkov @gmail . com

Модель нечеткого автомата для оценки успеваемости

студента

КЛЮЧЕВЫЕ СЛОВА

Нечеткая логика, нечеткий автомат, бально-рейтинговая система, рейтинг студента.

АННОТАЦИЯ

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

Введение

Введенное Заде в 1965г. [1] понятие «нечеткого множества» позволило построить аппарат нечеткой логики и использовать его для приложений, где знания человека-эксперта плохо формализуются [2, 3]. В дальнейшем получили распространение «нечеткие автоматы с памятью» [4,5,6]. В настоящее время теория нечетких автоматов активно развивается, для них построено несколько видов моделей, которые отличаются от традиционных (четких) автоматов наличием нечетких состояний и нечетких переходов между состояниями [4,5,6]. Однако, при конкретной реализации таких автоматов встречаются некоторые трудности, которые препятствуют их широкому распространению. Дело в том, что «память» автомата задается неявно с помощью введения «состояний» автомата и переходов между ними. Поэтому при решении задач трудно сделать оптимальный выбор числа состояний, как это обсуждается в работах [7,8,9] (для четких автоматов) и [10,11] (для нечетких автоматов). Другими словами, обращение к концепции состояний автомата усложняет анализ предметной области и процедуру расчета выходного сигнала на каждом шаге работы автомата.

Цель данной работы состоит в том, чтобы показать на конкретном практическом примере простоту и эффективность реализации нечеткого автомата с помощью нечеткой комбинационной схемы (НКС) с добавленным к ней блоком памяти (БП), при сохранении функциональности автомата, но без обращения к понятию «состояния». Далее подразумевается, что НКС, реализующая автомат, всегда содержит выделенный БП: (НКС:=НКС+БП).

Содержание работы следующее. В разделе 2 в общем виде описывается схема работы нечеткого автомата. Показано, что переход к НКС возможен только для НА с конечной памятью.

В разделе 3 обсуждается применимость метода в рассмотренной предметной области и даются общие выводы. Представление «четкого» автомата в виде комбинационной схемы

Как известно, логические («четкие») автоматы с памятью (см., например, [7,9]) описываются набором величин {х, у, s, F,G}, где х - набор векторов входных значений, у - набор векторов выходных сигналов, £ -набор состояний автомата, а F и G функция переходов и функция выходов соответственно: £к+1 = F (sk,xk ), ук = 0 ($к,хк ). Для конечных автоматов каждый из наборов векторов х и у, а также набор состояний £, являются конечными.

Понятие «четкого» автомата с конечной памятью, было введено в работе Брауэра [7]. Работа такого автомата оказывается эквивалентной отображению вида

Ук=к (хк, хк-^ ...,xк-p,Ук-l, Ук-2,-,Ук^ ), (1)

где xk, хк-1, •••,хк-р - значения векторов входной переменной в дискретные

моменты времени ^ >1> ••• > tk-p; Ук-п Ук-2,---,Ук-д - значения векторов выходной переменной в дискретные моменты времени tk-1 > Iк-2 > ••• > Iк-д ; р и q - конечные положительные целые числа,

q < р Легко видеть, что отображение (1) для конечного автомата может быть реализовано с помощью комбинационной схемы (КС) с блоком памяти (БП). При этом, в текущий момент времени 1к в памяти хранится

совокупность аргументов отображения (1) хк> хк-1' •••,хк-р,

Ук-1> Ук-2'•••'Ук-д, а роль комбинационной схемы состоит в том, чтобы в зависимости от содержания памяти определить значение выходной переменной Ук в соответствии с (1). В некоторых случаях отображение (1) может иметь более простой вид:

Ук=И(хк, хк-1, •••,хк-р). (2)

Это значит, что в памяти КС достаточно сохранять значения только входных переменных в текущий момент времени tk и в предшествующие

моменты времени tk-l > tk-2 > ••• > tk-p ■ Далее, параметр р будем называть

«глубиной» памяти входных переменных.

Для иллюстрации рассмотрим автомат «умный отец» (рис. 1.а), предложенный в книге Ю.Г. Карпова [9]. В зависимости от текущих оценок сына х, принимающих значения 2 или 5, автомат оценивает его успеваемость: у0 - «плохая», у1 - «удовлетворительная», У 2 - «хорошая», у3 - «отличная». Представление этого автомата в виде комбинационной схемы с памятью получено в работе одного из авторов [81 (рис. 1.6).

Ml

№0

И

M=Mt-X

б)

j»o

L

У2

т

X

X

Рис.1. Представление автомата «умный отец» (а) в виде диаграммы переходов между состояниями и (б) в виде комбинационной схемы Как можно убедиться путем непосредственной проверки, этот автомат осуществляет отображение вида (2) и может быть реализован в виде комбинационной схемы с дополнительным блоком памяти (рис.1.б). Действительно, оказывается, что в каком бы из состояний S0, S1, S 2, S 3 ни находился автомат, при заданной последовательности из двух входных переменных хк, хк1 автомат выдает одно и тоже значение выходной переменной Ук. Т.е., в данном случае реализуется отображение ук = h (хк, хк1), показанное в табл. 1:

Табл.1. Зависимость реакции автомата «умный отец» от

последовательности входных сигналов x

k-i' xk

xk-1' xk Оценка успеваемости

2, 2 yo

5, 2 yl

2, 5 y2

5, 5 y3

Блок памяти М (рис. 1.б) хранит текущую последовательность из двух входных переменныхxk, xk-1, взятых в последовательные моменты времени tk > tk-1. Содержание памяти М обновляется на каждом шаге по типу FIFO (first input, first output - первый вошел, первый вышел). В узлах L1, L2 комбинационной схемы анализируется содержание ячеек памяти М и на

основании этого устанавливается реакция отца (см. рис.1.б и табл.1). Нечеткий автомат

Модель нечеткого автомата используется в тех случаях, когда

• предметная область описывается экспертом лингвистическими (словесными) правилами;

• трудно разработать достаточно простую математическую модель предметной области;

• необходима высокая гибкость в настройках системы управления;

• требуется расширить область значений входных параметров «четкого» автомата без введения дополнительных состояний и др. Входные и выходные параметры нечеткого автомата (как и у

четкого), задаются некоторыми «четкими» числами. Оценки сына х - набор

дискретных чисел, лежащих в диапазоне х □ А = [2,5 ]. Диапазон значений выходной переменной У примем у □ В = [0,3]. Номера состояний определены в диапазоне sO =[3 ]. Введем лингвистические переменные. 1) Входную переменную а = "°ценка сыш" , принимающую значения а0 = "Оценка низкая" , а1 = "Оценка высокая" . 2) Выщдную

переменную ( = "Реакция отца" , принимающую значения (0 = "Ругать" , (1 = "Успокаивать" , (2 = "Надеяться" , (3 = "Радоваться" . 3) Переменную состояний у = "Уровень состояния" , со значениями У0 = "Состояние 0" , у 1 = "Состояние 1" , у2 - 'Состояние 2" , у3 ="Состояние 3" .

Работа нечеткого автомата задается с помощью набора правил, которые формулируются экспертом на языке «лингвистических» переменных, соответствующих входу а = "Оценка сына", выходу ( = "Оценка успеваемости", а также состояниям у = "Уровень состояния" .

Каждая лингвистическая переменная а, ( и у принимает ряд значений:

а0 = "Оценка низкая" , а1 = "Оценка высокая" ,

(0 = "Успеваемостьплохая", (1 = "Успеваемостьудовлетворительная" , (2 = "Успеваемостьхорошая" , (3 = "Успеваемостьотличная" , у0 = "Состояние 0" , у1 = "Состояние 1" , у2 ="Состояние 2" , у3 ="Состояние 3" соответственно.

Значения лингвистических переменных аг I□ [0,1], (j, ]0[0,3],

ук,к 0[0,3], количественно описываются нечеткими подмножествами «универсальных» множеств (универсумов) А (множество текущих оценок), В (множество оценок успеваемости) и с (множество состояний автомата) соответственно. Они задаются функциями принадлежности Иш (х), (У) и Мук (s) точек универсума нечетким подмножествам, где х □ А, у □ В, sС . Множества А, В, с задают соответственно области значений входного и

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

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

^ =Г(а„ Гя), Р] = В(а Гя), (3)

где аргументы Уя и ai представляют собой соответственно «состояние автомата» и «текущую оценку» в момент времени t, у'т и Р] - это «состояние автомата» и «оценка успеваемости» в последующий момент времени I + Дt. Зависимости Г> В задаются правилами вида «Если текущее состояние автомата У = У2 («Состояние 2») и текущая оценка сына а=аг («Оценка высокая»), то новое состояние автомата У^= у3 («Состояние 3») и оценка успеваемости Р = Р3 («Хорошая»). Все правила можно коротко

сформулировать в виде таблицы переходов и выходов, табл. 2.

Табл.2. Таблица переходов и выходов нечеткого автомата «умный отец» в терминах

лингвистических переменных

а У

Уо У1 У 2 Уз

а0 У'о У'о У'г У'г

а1 У 2 У 2 У'з У'з

Р Ро Рг Р2 Рз

Правила (4) могут быть кратко записаны также и с помощью логических операций следующим образом:

а а " —* 4' е у . а . д ' —■4' В

1 > п ■ ! т 1 /и ■ ^ ]

аИ т аН

(4)

где введены обобщенные матрицы переходов т и выходов я,] автомата, компоненты которых принимают значения равные 0 или 1 в соответствии с заданными конкретными правилами «если ..., то...».

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

У ->>У<У 0

/ п п,} г }

.

По табл. 2 сформируем матрицы переходов и выходов:

Табл.3. Матрица переходов ят нечеткого автомата «умный отец»

(5)

i, я т

0 1 2 3

0, 0 1 0 0 0

0, 1 1 0 0 0

0, 2 0 1 0 0

0, 3 0 1 0 0

1, 0 0 0 1 0

1, 1 0 0 1 0

1, 2 0 0 0 1

1, 3 0 0 0 1

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

Табл.4. Тензор выходов 8п]- нечеткого автомата «умный отец»

] п

0 1 2 3

0 1 0 0 0

1 0 1 0 0

2 0 0 1 0

3 0 0 0 1

Количественное описание всех лингвистических переменных зададим функциями истинности т-ш (х), (У) и тук (5), изображенными на рис. 2.

Текущая оценка сына

1 -«ППОХаЖ'

2 - «^ирЕпвтюрит&шнаяз)

3 - «коропаж

4 - «ошшчнаж

б)

2 4

Оценка успеваемости сына

1.2 1

0.5

к Н

1 1 1 1 1 1 1 1 1 1 2 3 4

A h У V '

1 1 Г Ч I * г t I 1 / Т У\

1 1 J ..< JК^ . \ 1

1 - «Состояние 1»

2 - «Состояние 2»

3 - «Состояние 3»

4 - «Состояние 4з>

-4 -3 -2 -1

в)

2 3 4 5 Состояние аишата

Рис.2. Пример функций истинности для нечеткого автомата «умный отец» (а) -входного параметра, (б) - выходного параметра, и (в) - состояний

Численная реализация работы НА на основе правил (3-5) выглядит следующим образом. В текущий момент времени t считаются известными параметры х(, st. Цель расчета - найти параметры st+At на следующем шаге по времени.

Для вычисления воспользуемся известным алгоритмом

Мамдани [2, 3, 12,13]. Строим вспомогательные функции ^(я), G(у), имеющие следующий вид:

Р' У) = 1 )А Ру» () • Л™ (*)}.

<Э( г) = V {иса ( г,) а Мун (д.) А у/,, (у)} (6)

Расчет четких значений осуществляется центроидным методом:

_ alls

s = ■

— ап у V =

(7)

J F(s)ch ' j G(у)cly

oil S all у .

Полученные результаты мы отождествим со значениями параметров s, y в момент времени t + Dt:

st+M = s; yt+Dt = y. (8)

В результате yt+Dt может принимать непрерывное значение. Чтобы получить дискретный номер оценки успеваемости студента, округлим значение yt+Dt до ближайшего целого числа:

yt+д,.- mund (yt+M). (9)

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

Результаты реализации нечеткого автомата «умный отец» приведены в конце раздела 2.3.

Как видно из построения функций истинности для входных параметров (пример на рис.2), нечеткий автомат, в отличие от «четкого»

• обладает большей гибкостью в настройке;

• позволяет без увеличения количества состояний и переходов

расширить область определения, т.е. анализировать не только оценки

2 и 5, но также и 1, 3, 4, 4+, 4- и п.р. Либо оценки в баллах [0, 100 ].

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

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

Алгоритм работы НКС определяется набором правил, сформулированных экспертом в терминах лингвистических переменных a = "Оценка сына " и b = "Оценка успеваемости " (в отличие от НА для

нечеткого описания работы НКС введение лингвистической переменной состояний не требуется). Они имеют значения a0 = "Оценка низкая" , a1 = "Оценка высокая " , b0 = "Успеваемость плохая ",

b = "Успеваемостьудовлетворительная" , b2 = "Успеваемостьхорошая" ,

Ь3 = "Успеваемостьотличная", которые количественно описываются функциями Mai (х) и Mb] (y), (пример функций см на рис. 2.а., б). Входные и выходные параметры принимают значения из областей х еA, y еВ . В момент времени t, на вход комбинационной схемы подается последовательность текущих оценок студента за некоторый промежуток времени pD t. Оценка общей успеваемости описывается некоторой функцией

Ь] =B(aip,...au,aw ) (10)

,

где аргумент aik представляет собой значение лингвистической переменной «величина входного сигнала» в момент времени t-kAt,kе[р] . Зависимость В задается правилами вида «Если в момент времени t-Dt оценка сына an = a1 («Оценка высокая»), и в момент времени t оценка сына ai0 =a1 («Оценка высокая»), тогда общая успеваемость b = b3 («Отличная»)». Т.е. b] =B(an,ai0 ). Все правила удобнее сформулировать в виде таблицы (табл. 5).

Табл.5. Оценка общей успеваемости студента комбинационной схемой «умный отец» от последовательности текущих оценок в терминах лингвистических переменных.

an > ai0 b]

a0, a0 bo

а1, ао

а а b2

а1, а1 bs

В терминах логических операций правила формулируются следующим образом:

п.!) 1

i1,i0,j

Значения компонент матрицы выходного сигнала определяются заданными правилами «Если ..., то ...».

Табл.6. Матрица выходного сигнала ] нечеткой комбинационной схемы «умный отец»

ai1 > аi0 bj

bo bi b bs

а а 0/0 1 0 0 0

а0 ,а1 0 0 1 0

а а 0 1 0 0

а1 ,а1 0 0 0 1

Количественная реализация НКС сводится к нахождению параметра У по заданной последовательности значений входного параметра

x

г-ры,Х1-А(,х. Находим значения Пап (), М» (X), которые являются некоторыми числами из отрезка [0,1]. Для вычисления Уг в соответствии с алгоритмом Мамдани [2] строим вспомогательную функцию G (у), имеющую следующий вид:

у) = )д &,Л')д ^ (у)} (12)

Четкое значение общей оценки успеваемости студента находим центроидным методом:

| !'(-?( 1') с1у

(13)

— all у

У —

{ G {у) Ch-

an? ,

которое мы отождествим со значениями параметра У в момент времени t:

У = У. (14)

В результате yt может принимать непрерывное значение. Чтобы получить дискретный номер оценки общей успеваемости, нужно округлить значение до ближайшего целого:

yt:= round (yt). (15)

На этом завершается обработка очередной текущей оценки студента, и НКС ожидает поступление на вход следующей.

Конкретные примеры случайной последовательности оценок студента и реакции НА и НКС «умный отец» приведены на рис. 3. а. и б.

соответственно.

г

а)

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

Ш эли по времени

5)

Шаги ш времени

Рис.4. Последовательность случайных оценок сына (а), последовательность

соответствующих реакций НА и НКС «умный отец» (б). Все расчеты производились в терминах матричного аппарата, предложенного в [14, 15].

Из расчетов, результат которых приведен на рис. 4.б., видно, что выходные сигналы, сформированные нечетким автоматом и нечеткой комбинационной схемой, не отличаются друг от друга. С другой стороны, время, необходимое НА для формирования такой последовательности сигналов 72.42 с, а НКС - 2.01 с в одних и тех же программно-аппаратных условиях.

Из алгоритмов, приведенных в пунктах 2. и 3. видно, что НКС обладает следующими преимуществами перед НА:

1. От рекурсивной (и, потенциально, бесконечной) последовательности, которая неявно заложена во всех классических «четких» и нечетких автоматах, осуществляется переход к анализу конечной последовательности входных сигналов.

2. При этом мы избавляемся от необходимости выбора и описания состояний.

3. Проблема выбора количества состояний автомата теперь сводится к выбору глубины хранения в памяти КС и числа входных параметров х, что обеспечивает более гибкую и интуитивно понятную схему моделирования предметной области.

4. Для работы с нечеткими переменными в рамках представления НКС нечеткий логический вывод (например, алгоритм Мамдани [2,3,12,13]) нужно производить один раз, в то время как в НА расчет управляющего воздействия производится с помощью двукратного применения нечетких алгоритмов. Это существенно сокращает время вычисления результирующего сигнала. Выводы

Показано, что задачу оценки общей успеваемости студентов можно решить как с помощью нечетких автоматов, таки нечетких комбинационных схем. Причем:

• нечеткие комбинационные схемы, также как и нечеткие автоматы, обладают гибкостью настройки, и более широкой областью допустимых значений входных параметров по сравнению с «четкими» автоматами;

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

• нечеткие автоматы с «бесконечной» памятью могут быть сведены к эквивалентным с заданной точностью нечетким комбинационным схемам.

• быстродействие НКС оказывается на порядок выше, чем быстродействие НА.

В дальнейшем планируется реализовать подход в среде Moodle и на мобильных устройствах для удобства использования.

Литература

1. Zadeh L.A. Fuzzy Sets// Information and Control. -1965. - Vol.8. - P. 338-353.

2. Mohammadian M., Sarker R.A., Yao X. Computational intelligence in control. Idea Group Publishing, 2003. ISBN 1-59140-079-1.

3. Пегат А. Нечеткое моделирование и управление. Пер. с англ. - М.: Бином, 2009. - 798 с.

4. Santos E. Maximin automata. // Information and Control, vol. 13, pp. 363-377, 1968.

5. Belohlavek R., Krupka M. Approximate minimization of fuzzy automata. Palacky University, 2007.

6. Reyneri L.M. An Introduction to Fuzzy State Automata. // Biological and Artificial Computation: From Neuroscience to Technology. Lecture Notes in Computer Science Volume 1240, 1997, pp 273-283.

7. Брауэр В. Введение в теорию конечных автоматов: Пер. с нем. — М.: Радио и связь, 1987. — 392 с: ил.

8. Марценюк М. А. Операторно-логические схемы как средство изучения алгоритмов в учебных курсах по математике и информатике // Прикладная информатика, №5 (23). 2010. С 43-54.

9. Карпов Ю.Г. Теория автоматов - СПб.: Питер, 2003. - 208 с.: ил.

10. Lei H., Li Y.M. Minimization of states in automata theory based on finite lattice-ordered monoids. Inf. Sci. 177(6) 2007, PP.1413-1421.

11. Malik D.S., Mordeson J.N., Sen M.K. Minimization of fuzzy finite automata. Information Sciences 113(3-4). 1999, PP. 323-330.

12. Дeвятков В.В. Системы искусственного интеллекта: Учеб. пособие для вузов. М.: Изд-во MrTy им. н.э. Баумана, 2001. -. 352 с., ил. (Сер. информатика. в техническом университете). ISBN 5-7038-1727-7

13. Mamdani, E. H. Application of fuzzy algorithms for the control of a simple dynamic plant. In Proc IEEE. 1974. PP. 121-159.

14. Марценюк М. А. Матричное представление нечеткой логики// Нечеткие системы и мягкие вычисления. Научный журнал Российской ассоциации нечетких систем и мягких вычислений. 2007. Т. 2, № 3. С. 7-35.

15. Марценюк М.А., Поляков В.Б., Селетков И.П. Матричная реализация алгоритмов нечёткого вывода. // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Информатика. Телекоммуникации. Управление. - 2012. -№ 6 (162). - С. 133-141 - ISSN 1994-2354.

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