Марценюк М.А.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
Табл.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. а. и б.
соответственно.
г
а)
Ш эли по времени
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.