Эвристический алгоритм формирования термов числовой лингвистической переменной
Е.Н. Чуйкова
кандидат технических наук
доцент кафедры вычислительных систем и информационной безопасности Донской государственный технический университет Адрес: 344000, г. Ростов-на-Дону, пл. Гагарина, д. 1 E-mail: elenchu@mail.ru
В.В. Галушка
кандидат технических наук
доцент кафедры вычислительных систем и информационной безопасности Донской государственный технический университет Адрес: 344000, г. Ростов-на-Дону, пл. Гагарина, д. 1 E-mail: galushkavv@yandex.ru
Аннотация
Описывается простой в реализации метод автоматизированного формирования функций принадлежности термов лингвистической переменной для обеспечения возможности поиска информации в реляционной базе данных на основе качественных критериев средствами языка запросов SQL.
Предлагаемый алгоритм позволяет вычислить параметры треугольных и трапецеидальных функций принадлежности термов с учетом распределения содержащихся в базе данных значений рассматриваемой характеристики. Алгоритм определяет охватываемые основаниями термов интервалы таким образом, чтобы в каждый интервал попадало приблизительно одинаковое количество значений. Верхние границы определяемых интервалов используются для вычисления параметров функций принадлежности. Определяемые по алгоритму функции принадлежности допускают возможность оперативного расчета их значений ограниченными вычислительными средствами языка SQL.
Рассмотрены реализации алгоритма для формирования трех и пяти термов лингвистической переменной, основанные на выборках из базы данных, содержащих 100 и 500 различных значений.
Получаемые в результате работы алгоритма функции принадлежности обладают требуемыми свойствами упорядоченности, полноты, согласованности, нормальности и не нуждаются в дополнительной аппроксимации. В отличие от известных методов, алгоритм не требует значительных вычислительных ресурсов, привлечения специализированного программного обеспечения, настройки параметров или формирования обучающей выборки.
Реализация алгоритма создает условия для поддержки нечеткого поиска в базе данных средствами языка SQL, повышая тем самым уровень интеллектуальности системы и обеспечивая пользователю средства общения на естественном языке. Определенные в результате работы алгоритма термы лингвистических переменных могут быть использованы в нечетких правилах базы знаний информационной системы и при выполнении нечеткого вывода.
Ключевые слова: реляционная база данных; язык SQL; нечеткая логика; лингвистическая переменная; нечеткое множество; функция принадлежности.
Цитирование: Чуйкова Е.Н., Галушка В.В. Эвристический алгоритм формирования термов числовой лингвистической переменной // Бизнес-информатика. 2018. № 3 (45). С. 29—38. DOI: 10.17323/1998-0663.2018.3.29.38.
Введение
Ядром любой информационной системы является база данных, хранящая обрабатываемую системой информацию, и одной из функций системы является поиск в базе данных требуемой информации. Сегодня наиболее широко распространены реляционные базы данных, поддерживающие поиск информации средствами языка SQL. Формулировка поискового запроса на SQL требует задания конкретных диапазонов значений запрашиваемых данных, что зачастую невозможно из-за отсутствия подобной информации. Кроме того, пользователю, особенно неопытному, более привычно оперировать качественными критериями поиска, определяемыми вербально. При этом также повышается комфортность взаимодействия пользователя с системой.
Для реализации информационного поиска в базе данных на основе качественных характеристик применим аппарат нечеткой логики, который предполагает использование лингвистических переменных и решение задачи формирования соответствующих им наборов базовых термов (нечетких множеств), задающих количественную интерпретацию применяемых качественных характеристик
[1-5].
Выполнение нечеткого поискового запроса в реляционной базе данных предполагает его преобразование в инструкцию стандартного языка SQL. В работе [6] описана такая процедура преобразования, реализуемая средствами графического интерфейса информационной системы. При этом значения функций принадлежности используемых нечетких множеств рассчитываются «на лету» в процессе выполнения SQL-запроса. Термы лингвистических переменных представлены параметрическими нечеткими числами с трапецеидальными и треугольными функциями принадлежности, расчет значений которых легко выполним с помощью инструкций языка SQL, не предназначенного для сложных вычислений.
В работе [6] определение параметров термов основано на предположении о равномерном распределении данных, выбираемых из базы данных, что ограничивает область применения предложенной методики и может привести к неприемлемым результатам в тех случаях, когда данное предположение неверно. В частности, при неравномерном распределении экспериментальных данных может возникнуть ситуация, когда в основание каких-ли-
бо термов вообще не попадет ни одного значения из базы данных. Для преодоления указанных недостатков параметры термов следует вычислять с учетом распределения экспериментальных данных, причем таким образом, чтобы основания термов включали приблизительно равное количество имеющихся в базе данных значений.
Функции принадлежности термов лингвистической переменной традиционно формируют на основе экспертной информации, что препятствует автоматизации процедуры их построения, поэтому многие исследователи направили свои усилия на разработку алгоритмических методов их формирования. В работах [7; 8] приведен обзор известных на сегодняшний день методов автоматизированного построения функций принадлежности. Среди них можно выделить методы индуктивного логического вывода [9], нечеткой кластеризации с-средних [10—13], нейронных сетей [14; 15], гистограмм [16], методы на основе нечеткой энтропии и других специальных мер [17; 18], генетические [19—21], муравьиные [22], эвристические алгоритмы [23], методы роя частиц [24]. Характеристики указанных методов представлены в таблице 1 [8].
Все перечисленные методы разработаны для определенной области применения и предназначены для классификации, распределяя экспериментальные данные по нечетким множествам. При этом они не гарантируют равномерное распределение с приблизительно одинаковым числом элементов в каждом множестве.
В работе [25] описан способ разбиения исходной выборки значений на интервалы, содержащие одинаковое число значений, но при таком разбиении одинаковые значения могут попасть в разные интервалы, что противоречит цели классификации.
Функции принадлежности, вычисляемые с помощью указанных выше методов, не всегда обладают требуемыми свойствами упорядоченности, полноты, согласованности, нормальности [2; 4] и нуждаются в дополнительной аппроксимации. Например, получаемые по методу роя частиц Гауссовы функции принадлежности являются субнормальными [8].
Для существующих алгоритмических методов построения функций принадлежности характерна достаточно высокая вычислительная сложность. При использовании нейронных сетей необходимо формирование обучающей выборки. Генетические, муравьиные алгоритмы, методы роя частиц требуют
Таблица 1.
Характеристики методов автоматизированного построения функций принадлежности
Методы Характеристики
Источник информации Область применения Форма функции принадлежности Число нечетких множеств
Нейронные сети набор данных классификация произвольная фиксированное
Гистограммы набор данных распознавание образов, классификация Гауссова произвольное
Нечеткая кластеризация с-средних набор данных классификация треугольная, трапецеидальная фиксированное
Генетические алгоритмы набор данных и экспертные оценки контроллеры треугольная, трапецеидальная, Гауссова фиксированное
Муравьиные алгоритмы набор данных анализ данных, контроллеры произвольная произвольное
Методы роя частиц набор данных и экспертные оценки контроллеры,обработка изображений Гауссова,треугольная, Б-подобная фиксированное
Другие методы набор данных классификация, контроллеры треугольная, Гауссова 2-9
задания целевой функции для поиска решения, а также характеризуются большим временем сходимости и наличием опасности попадания в локальный оптимум. Реализация многих из указанных методов основывается на использовании специализированного программного обеспечения.
В данной статье предложен простой в реализации метод автоматизированного формирования функций принадлежности термов лингвистической переменной, учитывающий распределение храни -мых в базе данных значений рассматриваемого параметра, обеспечивающий включение в основание термов приблизительно одинакового количества значений и позволяющий получить произвольное количество функций принадлежности, обладающих требуемыми свойствами.
1. Постановка задачи
В таблицах реляционной базы данных хранятся численные значения используемых информационной системой характеристик объектов, оценивать и выбирать которые необходимо на основании качественных нечетких критериев (например, «низкий», «средний», «высокий»). Для выполнения нечеткого поиска следует задать лингвистические переменные, соответствующие оцениваемым характеристикам. Для автоматизированного формирования лингвистической переменной необходим алгоритм, позволяющий определить число и параметры функций принадлежности термов лингви-
стической переменной. Число значений (термов) лингвистической переменной может выбрать пользователь системы. Базовая шкала для лингвистической переменной задается на основе выборки всех значений рассматриваемой характеристики из базы данных и определяется интервалом U = [и^, и^], где и— минимальное значение рассматриваемой характеристики, и— максимальное значение указанной характеристики. Основания термов должны включать приблизительно одинаковое количество содержащихся в базе данных значений оцениваемой характеристики. Набор значений и их частотность могут быть получены из базы данных с помощью SQL-запроса в виде отсортированной в порядке возрастания матрицы Нкх2 , где число строк к — количество различных измерений (значений интересующего параметра в таблице базы данных), элементы матрицы Ал — значения i-го измерения, hQ — частоты i-го измерения, i = 1, ..., к. Определяемые функции принадлежности следует задать таким образом, чтобы обеспечивалась возможность оперативного расчета их значений средствами языка SQL, не обладающего вычислительной мощностью универсального языка программирования. Функции принадлежности должны удовлетворять предъявляемым к ним требованиям [2; 4].
Термы лингвистической переменной представим параметрическими нечеткими числами с наиболее распространенными трапецеидальными и треугольными функциями принадлежности. При этом минимальный и максимальный термы — тра-
пецеидальные, остальные — треугольные. Выбор указанных видов функций принадлежности также объясняется стремлением обеспечить возможность определения их значений ограниченными средствами языка SQL в процессе выполнения SQL-запроса. Вычисление значений функций принадлежности осуществляется по формуле:
ц(х)--
0,(x<a)v(x>d) 1 ,b<x<c х—и
,{а < х <Ъ) л(а <Ъ), {c<x<d)/\{c<d)
b-a d-x
(1)
d-c
где a<b<c<d — параметры функции принадлежности /г(х).
Основание каждого терма разделим на два интервала. Число таких интервалов т = I + 1, где I — число термов. На рисунке 1 представлен вид функций принадлежности термов лингвистической переменной с указанием их параметров и верхних границ значений упомянутых интервалов. При этом используются следующие обозначения: Т. — г-й терм;
а., Ь., е., d. — параметры г-го терма, г = 1, ..., I; р. — верхняя граница значений у'-го интервала, 3 = 1, ..., т.
°з fl4 °5
К ¿з К
«1 а2 С2 С3 С4 ь5 С5
К Cj 4 d2 d3 4
Pi Р2 Ръ Рл Ръ
Рис. 1. Функции принадлежности термов лингвистической переменной
Необходимо определить охватываемые основаниями термов интервалы таким образом, чтобы в каждый интервал попадало приблизительно одинаковое число значений рассматриваемой характеристики, причем одинаковые значения должны оказаться в одном и том же интервале. Верхние границы р. определяемых интервалов используются для вычисления параметров а., Ь., е., d. функций принадлежности термов и представляют собой квантили равномерной дискретизации исходной выборки.
На основании упомянутой выше матрицы Н число п значений, которые должны содержаться в каждом интервале при равномерном распределении, определяется соотношением: к
п = т,
/=1
к
где — общее количество измерений (размер
¡=1
выборки).
Определим вектор компонентами которого являются значения числа измерений, включаемых в каждый интервал. Тогда у-я компонента вектора £ — число ^ измерений, включаемых в у'-й интервал (у'= 1, ...,т):
inG
где G — множество номеров i строк матрицы Н, содержащих значения частот hn, включаемые в z} .
Обозначим через i максимальный элемент множества G: i' = max/. Тогда вычисление квантилей р.
ieG 1
(j = 1, ..., l) сводится к выбору в качестве р. таких значений h,(i* = из матрицы Н, при которых достигается минимум функции E(z) = max \Zj~n|.
Может также использоваться другой равнозначный
- ;+i
критерий оптимальности: E{z) = min.
1=i
Значение pl+i совпадает с максимальным значением в выборке: pl+1 = hkl.
Оптимизация выполняется при следующих ограничениях:
/+1 к ]=\ ¡=1
для Vy (j = 1, ..., l +1) Zj = £Ai2, w =ig+l (8 = 'min.-.
i ев
где Ln =minг', W =1^г'; для V/jJr j Ф jv
для которых определены Zfl=^hi2 = Gi n G2 = 0. i€ß>
Для получения нетривиальных и невырожденных решений число I определяемых термов должно
удовлетворять условию: 2 <1<к. Количество содержащихся в каждом из т интервалов измерений не может быть меньше максимальной частоты измерений, поэтому т < V й„/ тах й,2. Следовательно, на
ТТ '*=!.....к
1=1
число I термов накладывается ограничение: к
2</<У>,.2/тах/г,.2-1 (2)
м !=1.....*
Параметры а., Ьг сп й. функций принадлежности термов вычисляются следующим образом:
^ Д<У</' 1 \р1Л<]<Г Г/>,,1<у</
Н„ ; (¡гр]+1,\<]<1.
\_Pj-A > у — •
2. Алгоритм формирования функций принадлежности
Рассчитаем фактическое число zJ измерений, попадающих ву-й интервал (у = 1, ..., m) и параметры а., й, е., с1. термов лингвистической переменной по следующему алгоритму:
Шаг 0. Проверить выполнение условий (2) получения нетривиальных и невырожденных решений. Если условия (2) удовлетворяются, то перейти к шагу 1.
Шаг 1. Инициализировать г (г := 0).
1.1. Для каждого у (у = 1, ..., т - 1), вычислить следующим образом:
1.2.1. Инициализировать z1J (г1у := 0 ).
1.2.2. Пока < п накапливать последовательно в значения йа:
/ := / + 1
+ Аи.
1.2.3. Если > л, то вычислить значения К и 0:
Д := п - (г1у - й,2)
О := г1у -!..
Здесь Я - разность между требуемым числом п измерений в интервале и фактическим числом гГ измерений в у-м интервале без учета г-го измерения; 0 — разность между фактическим числом измерений в у'-м интервале (с учетом г-го измерения) и требуемым числом п измерений. Значение К показывает, насколько число измерений в у-м интервале меньше требуемого значения (недостачу), величина Q определяет превышение числа измерений в у-м интервале над требуемым п.
1.2.4. Если недостача без учета последнего измерения меньше превышения (/? < О), то исключить из последнее добавленное измерение Ай:
Z1J := z1J - на
г := г - 1.
1.2.5. Определить верхнюю границу р\. у-го интервала: р\. := кп.
1.3. Вычислить число ¿1т измерений, попадающих в последний т-й интервал:
1.3.1. Инициализировать z1m (z1m := 0).
1.3.2. Добавить в ^1т все оставшиеся измерения: для всех г (г = г + 1, ..., к)
Z1m := Z1m + К .
1.3.3. Определить верхнюю границу р1т т-го интервала: р1т :=Ик1.
Шаг 2. Рассчитать суммарное отклонение ф числа измерений от требуемого п:
т
м
Шаг 3. Выполнить повторный расчет zJ , просматривая матрицу Н в обратном порядке, начиная с последней строки:
3.1. Инициализировать г (г := к).
3.2. Определить верхнюю границу р2т m-го интервала: p2m :=Ик1.
3.3. Для каждого у (у = m, ..., 2), вычислить z2J. следующим образом:
3.3.1. Инициализировать z2J. (z2J. := 0).
3.3.2. Пока z2J. < п накапливать последовательно в
z2. значения :
у 2
I := г - 1.
z2J. := 4 + /г,2.
3.3.3. Если z2. > п, то вычислить значения К и Q:
тг := п - (йу - /г(2)
(2 := z2J. - и.
3.3.4. Если Л < 2, то исключить из z2J. значение /г(2:
z2J■ := z2J■ - К
г := г + 1.
3.3.5. Определить верхнюю границу р2у-1 предыдущего (у - 1)-го интервала:
Р2у-1 := И(,-1)1 - А№
3.4. Вычислить число z2l измерений, попадающих в первый интервал:
3.4.1. Инициализировать ¿2. (¿2, := 0 ).
3.4.2. Добавить в ¿2, все оставшиеся измерения: для всех г (г = г — 1, ..., Г)
¿2, := ¿2, + Аи.
Шаг 4. Рассчитать суммарное отклонение 82 числа измерений от требуемого п:
т
*2=£|г2у-и|
м
Шаг 5. Вычислить значения параметров а., Ъ, е., й. термов лингвистической переменной на основе значений вектора р, соответствующего распределению z измерений, для которого достигается меньшее суммарное отклонение 8 (если 81 < д2, то использовать вектор р\, соответствующий распределению измерений, в противном случае — р2, соответствующий ^2), следующим образом:
а1:=Нп
Пусть 81<8Г
Тогда для каждого у (у = 1, ..., т — 1) выполнить:
если у = 1 < т — 1, то сг= р\р ау+1 := р\:,
если у > 1, то 1. , := р1., Ь. := р1.;
■' ' 1-1 1 1' 1 1 1'
с , :=р1 ;
т —1 1 т'
1 , :=р1 .
т—1 1 т
3. Анализ результатов работы алгоритма
Рассмотрены реализации алгоритма для формирования трех и пяти термов лингвистической переменной, основанные на выборках из базы данных, содержащих 100 и 500 различных значений.
Для выборки из 100 значений и трех термов имеем: число интервалов т =4; число значений, попадающих в один интервал п = 100/4 = 25; количество различных измерений (число строк матрицы Н, содержащей набор значений и их частотность) к = 20. Исходные данные (содержимое матрицы Н) и результаты выполнения этапов 1—4 алгоритма представлены в таблице 2.
Таблица 2.
Исходные данные и результаты выполнения этапов 1—4 алгоритма
Номер строки матрицы Н(г) Элементы матрицы Н Число Верхняя Число Верхняя
Значение г-го измерения Частота г'-го измерения (*а) Номер интервала (У ) измерений в 1-м интервале (¿1 граница 1-го интервала (Р1) Отклонение Ц) измерений в у-м интервале (¿2) граница 1-го интервала (Р2) Отклонение (52)
1 354 5
2 616 5
3 662 5 1 28 718 21 718
4 695 4
5 699 2
6 718 7
7 741 2
8 745 5 27 770
9 758 2 2 26 784
10 764 2 12 10
11 770 9
12 784 6
13 785 2 24 791
14 790 14 3 27 800
15 791 2
16 800 9
17 810 11
18 813 5 4 19 855 28 855
19 814 2
20 855 1
Из таблицы 2 видно, что суммарное отклонение числа измерений от требуемого п при прямом просмотре матрицы Н больше, чем при обратном (£[>£2), поэтому параметры функций принадлежности определяются на основе вектора p2. Вычисленные значения параметров функций принадлежности (шаг 5 алгоритма) представлены в таблице 3.
Таблица 3.
Вычисленные по алгоритму параметры функций принадлежности
Номер функции принадлежности (j ) Параметры j-й функции принадлежности
а. 1 Ъ. 1 с ] с1 1
1 354 354 718 770
2 718 770 770 791
3 770 791 855 855
Графики полученных в результате выполнения алгоритма функций принадлежности для трех и пяти термов показаны на рисунках 2 и 3 соответственно. Экспериментальные данные, выбранные из базы данных, представлены на рисунках гистограммой.
Вид функций принадлежности, построенных без учета распределения экспериментальных данных для той же выборки значений, изображен на рисунке 4.
1
0,8 0,6 0,4 0,2
\ : \/ V Л / \
0 1-,-,-,-,-, ■ Ш ■ ■"■■!■ I
350 400 450 500 550 600 650 700 750 800 850
Цена товара, руб.
-------Функция принадлежности 1
............................ Функция принадлежности 2
- Функция принадлежности 3
Экспериментальные данные
Рис. 2. Функции принадлежности трех термов лингвистической переменной «Цена товара» для выборки из 100 значений цены
1 -0,80,60,40,2-
0
350 400 450 500 550 600 650 700 750 800 850
Цена товара, руб.
-------Функция принадлежности 1
---*---Функция принадлежности 2
............................Функция принадлежности 3
- Функция принадлежности 4
----Функция принадлежности 5
Экспериментальные данные
Рис. 3. Функции принадлежности пяти термов лингвистической переменной «Цена товара» для выборки из 100 значений цены
Как показывают рисунки 2 и 3, предложенный алгоритм позволяет получить функции принадлежности термов лингвистической переменной, полностью отвечающие всем предъявляемым к ним требованиям [2; 4]. При этом в основание каждого терма попадает приблизительно равное количество значений. Напротив, функции принадлежности, построенные без учета распределения экспериментальных данных (рисунок 4), требуемыми свойствами не обладают и нуждаются в дополнительной аппроксимации.
1 -0,80,60,40,2
0
350 400 450 500 550 600 650 700 750 800 850
Цена товара, руб.
-------Функция принадлежности 1
............................ Функция принадлежности 2
- Функция принадлежности 3
Экспериментальные данные
Рис. 4. Функции принадлежности трех термов лингвистической переменной «Цена товара», построенные без учета распределения экспериментальных данных для выборки из 100 значений цены
Заключение
Предложенный алгоритм позволяет автоматизировать процесс построения функций принадлежности термов числовой лингвистической переменной, параметры которых могут быть сохранены в базе данных и затем использованы при формировании нечетких запросов на языке SQL. В отличие от известных методов автоматизированного построения функций принадлежности данный алгоритм прост в реализации, не требует существенных вычислительных ресурсов и привлечения специализированного программного обеспечения, не нуждается в настройке параметров или формировании обучающей выборки, обеспечивает формирование произвольного, заданного пользователем количества функций принадлежности треугольной и трапецеидальной формы. Построенные по данному алгоритму функции принадлежности учитывают распределение экспериментальных данных, при-
чем основания соответствующих термов лингвистической переменной содержат приблизительно одинаковое количество выбранных из базы данных значений. Получаемые по алгоритму функции принадлежности обладают всеми требуемыми свойствами [2; 4] и не нуждаются в дополнительной аппроксимации. В то же время алгоритм разработан для решения описанной задачи и не может претендовать на универсальность.
Реализация алгоритма создает условия для поддержки нечеткого поиска в базах данных с помощью ограниченных вычислительных средств языка SQL, повышая тем самым уровень интеллектуальности системы и обеспечивая пользователю средства общения на естественном языке. Определенные по алгоритму функции принадлежности термов лингвистических переменных могут быть использованы в нечетких правилах базы знаний информационной системы и при выполнении нечеткого вывода. ■
Литература
1. Штовба С.Д. Введение в теорию нечетких множеств и нечеткую логику. [Электронный ресурс]: http://matlab.exponenta.ru/fuzzylogic/
bookl (дата обращения: 14.10.2013).
2. Базы данных. Интеллектуальная обработка информации / В.В. Корнеев и [др.]. М.: Нолидж, 2000.
3. Zadeh L. Fuzzy sets // Information and Control. 1965. Vol. 8. No. 3. P. 338-353.
4. Zadeh L. The concept of a linguistic variable and its application to approximate reasoning — II // Information Sciences. 1975. Vol. 8. No. 4.
P. 301—357.
5. Андрейчиков А.В. Интеллектуальные информационные системы. М.: Финансы и статистика, 2006.
6. Чуйкова Е.Н. Реализация нечеткого выбора оборудования в системе проектирования информационной сети // Вестник ДГТУ. 2014.
№ 3. C. 164—171.
7. Medasani S., Kim J., Krishnapuram R. An overview of membership function generation techniques for pattern recognition // International
Journal of Approximate Reasoning. 1998. No. 19. P. 391-417.
8. Schwaab A., Nassar S., Filho P. Automatic methods for generation of type-1 and interval type-2 fuzzy membership functions // Journal
of Computer Sciences. 2015. No. 11. P. 976—987.
9. Kim C., Russell B. Automatic generation of membership function and fuzzy rule using inductive reasoning // 3rd International Conference
on Industrial Fuzzy Control and Intelligent Systems (IFIS '93). Houston, Texas, 1—3 December 1993. P. 93—96.
10. Chen M., Wang S. Fuzzy clustering analysis for optimizing membership functions // Fuzzy Sets and Systems. 1999. No. 103. P. 239—254.
11. Liao T., Celmins A., Hammell R. A fuzzy c-means variant for the generation of fuzzy term sets // Fuzzy Sets and Systems. 2001. Vol. 135. No. 2. P. 241—257.
12. Lopes P., Camargo H. Automatic labeling by means of semi-supervised fuzzy clustering as a boosting mechanism in the generation of fuzzy rules // 13th IEEE International Conference on Information Reuse and Integration (IRI). Las Vegas, USA, 8—10 August 2012. P. 279—286.
13. Jamsandekar S., Mudholkar R. Fuzzy classification system by self generated membership function using clustering technique // BVICAM's International Journal of Information Technology. 2014. Vol. 6. No. 1. P. 697—704.
14. Wu S., Er M., Gao Y. A fast approach for automatic generation of fuzzy rules by generalized dynamic fuzzy neural networks // IEEE Transactions on Fuzzy Systems. 2001. Vol. 9. No. 4. P. 578—594.
15. Castellano G., Castiello C., Fanelli A., Mencar C. Knowledge discovery by a neuro-fuzzy modeling framework // Fuzzy Sets and Systems. 2005. No. 149. P. 187—207.
16. Refaey M. Automatic generation of membership functions and rules in a fuzzy logic system // 5 th International Conference on Informatics and Applications (ICIA 2016). Takamatsu, Japan, 14—16 November 2016. P. 117—122.
17. Cheng H., Chen J. Automatically determine the membership function based on the maximum entropy principle // Information Sciences. 1997. Vol. 96. No. 3—4. P. 163—182.
18. Nieradka G., Butkiewicz B. A method for automatic membership function estimation based on fuzzy measures // International Fuzzy Systems Association World Congress (IFSA). Cancun, Mexico, 18—21 June 2007. P. 451—460.
19. Homaifar A., McCormick E. Simultaneous design of membership functions and rule sets for fuzzy controllers using genetic algorithms // IEEE Transactions on Fuzzy Systems. 1995. Vol. 3. No. 2. P. 129—139.
20. Shimojima K., Fukuda T., Hasegawa Y. Self-tuning fuzzy modeling with adaptive membership function, rules, and hierarchical structure based on genetic algorithm // Fuzzy Sets and Systems. 1995. Vol. 71. No. 3. P. 295—309.
21. Kaya M., Alhajj R. Integrating multi-objective genetic algorithms into clustering for fuzzy association rules mining // 4th IEEE International Conference on Data Mining (ICDM '04). Brighton, UK, 1-4 November 2004. P. 431-434.
22. An ACS-based framework for fuzzy data mining / T. Hong [et al.] // Expert Systems with Applications. 2009. No. 36. P. 11844-11852.
23. Ishibuchi H., Nozaki K., Tanaka H. Efficient fuzzy partition of pattern space for classification problems // Fuzzy Sets and Systems. 1993. Vol. 59. No. 3. P. 295-304.
24. Permana K., Zaiton S. Fuzzy membership function generation using particle swarm optimization // International Journal of Open Problems in Computer Science and Mathematics. 2010. Vol. 3. No. 1. P. 27-41.
25. Piatetsky-Shapiro G., Connell C. Accurate estimation of the number of tuples satisfying a condition // ACM SIGMOD Record. 1984. Vol. 19. No. 2. P. 256-276.
A heuristic algorithm for generating the numerical terms of a linguistic variable
Elena N. Chujkova
Associate Professor, Department of Computer Systems and Information Security Don State Technical University
Address: 1, Gagarin Square, Rostov-on-Don, 344000, Russia E-mail: elenchu@mail.ru
Vasilij V. Galushka
Associate Professor, Department of Computer Systems and Information Security Don State Technical University
Address: 1, Gagarin Square, Rostov-on-Don, 344000, Russia E-mail: galushkavv@yandex.ru
Abstract
In this paper we describe an easy-to-implement algorithm for automated generation of the linguistic variable term membership functions to allow for information search in a relational database based on qualitative criteria by means of the SQL query language.
The proposed algorithm makes it possible to calculate the parameters of the triangular and trapezoid membership functions taking into account the distribution of the variable of interest stored in the database. The algorithm defines the intervals covered by the term bases, so that each interval contains about the same number of values. Upper bounds of the defined intervals are used to calculate the parameters of membership functions. The parameters of the membership functions generated with this algorithm can be easily calculated with the limited computational means of the SQL language.
We review the algorithm realizations for the generation of 3 and 5 terms of a linguistic variable based on a sample from a database containing 100 or 500 different values.
The membership functions obtained through the algorithm have the required properties of orderliness, completeness, consistency and normality. They do not require further approximation. Unlike the known methods, the algorithm does not require significant computing resources, the use of specialized software, settings configuring, or a training set formation.
The algorithm implementation creates opportunities to support fuzzy search queries in relational databases using the means of the SQL language, as limited as they are. Thus, the system's level of intelligence would be increased, and the user would be provided with the means of search query formulation in a natural language. The linguistic variable terms generated using our algorithm can be used within the framework of a fuzzy rule-based knowledge base of an information system, as well as to perform fuzzy inference.
Key words: relational database; SQL language; fuzzy logic; linguistic variable; fuzzy set; membership function.
Citation: Chujkova E.N., Galushka V.V. (2018) A heuristic algorithm for generating the numerical terms of a linguistic variable. Business Informatics, no. 3 (45), pp. 29-38. DOI: 10.17323/1998-0663.2018.3.29.38.
References
1. Shtovba S. (2001) Vvedenie v teoriyu nechetkih mnozhestv i nechetkuyu logiku [Introduction to the theory of fuzzy sets and fuzzy logic]. Available at: http://matlab.exponenta.ru/fuzzylogic/book1 (accessed 14 October 2013) (in Russian).
2. Korneev V.V., Gareev A.F., Vasjutin S.V., Rajh V.V (2000) Bazy dannyh. Intellektual'naya obrabotka informatsii [Databases. Intelligent processing of information]. Moscow: Knowledge (in Russian).
3. Zadeh L. (1965) Fuzzy sets. Information and Control, vol. 8, no. 3, pp. 338—353.
4. Zadeh L. (1975) The concept of a linguistic variable and its application to approximate reasoning — II. Information Sciences, vol. 8, no. 4, pp. 301-357.
5. Andrejchikov A.V. (2006) Intellektual'nye informatsionnyesistemy [Intelligent information systems]. Moscow: Finance and Statistics (in Russian).
6. Chujkova E.N. (2014) Realizatsiya nechetkogo vybora oborudovaniya v sisteme proektirovaniya informatsionnoy seti [Realization of the fuzzy selection of equipment in the information network design system]. VestnikofDon State Technical University, no. 3, pp. 164-171 (in Russian).
7. Medasani S., Kim J., Krishnapuram R (1998) An overview of membership function generation techniques for pattern recognition. International Journal of Approximate Reasoning, no. 19, pp. 391-417.
8. Schwaab A., Nassar S., Filho P. (2015) Automatic methods for generation of type-1 and interval type-2 fuzzy membership functions. Journal of Computer Sciences, no. 11, pp. 976-987.
9. Kim C., Russell B. (1993) Automatic generation of membership function and fuzzy rule using inductive reasoning. Proceedings of the 3rd International Conference on Industrial Fuzzy Control and Intelligent Systems (IFIS '93), Houston, Texas, 1—3 December 1993, pp. 93-96.
10. Chen M., Wang S. (1999) Fuzzy clustering analysis for optimizing membership functions. Fuzzy Sets and Systems, no. 103, pp. 239-254.
11. Liao T., Celmins A., Hammell R (2001) A fuzzy c-means variant for the generation of fuzzy term sets. Fuzzy Sets and Systems, vol. 135, no. 2, pp. 241-257.
12. Lopes P., Camargo H. (2012) Automatic labeling by means of semi-supervised fuzzy clustering as a boosting mechanism in the generation of fuzzy rules. Proceedings of the 13th IEEE International Conference on Information Reuse and Integration (IRI). Las Vegas, USA, 8—10 August 2012, pp. 279-286.
13. Jamsandekar S., Mudholkar R (2014) Fuzzy classification system by selfgenerated membership function using clustering technique. BVICAM's International Journal of Information Technology, vol. 6, no. 1, pp. 697-704.
14. Wu S., Er M., Gao Y. (2001) A fast approach for automatic generation of fuzzy rules by generalized dynamic fuzzy neural networks. IEEE Transactions on Fuzzy Systems, vol. 9, no. 4, pp. 578-594.
15. Castellano G., Castiello C., Fanelli A., Mencar C. (2005) Knowledge discovery by a neuro-fuzzy modeling framework. Fuzzy Sets and Systems, no. 149, pp. 187-207.
16. Refaey M. (2016) Automatic generation of membership functions and rules in a fuzzy logic system. Proceedings of the 5th International Conference on Informatics and Applications (ICIA 2016). Takamatsu, Japan, 14—16 November 2016, pp. 117-122.
17. Cheng H., Chen J. (1997) Automatically determine the membership function based on the maximum entropy principle. Information Sciences, vol. 96, no. 3-4, pp. 163-182.
18. Nieradka G., Butkiewicz B. (2007) A method for automatic membership function estimation based on fuzzy measures. Proceedings of the International Fuzzy Systems Association World Congress (IFSA). Cancun, Mexico, 18—21 June 2007, pp. 451-460.
19. Homaifar A., McCormick E. (1995) Simultaneous design of membership functions and rule sets for fuzzy controllers using genetic algorithms. IEEE Transactions on Fuzzy Systems, vol. 3, no. 2, pp. 129-139.
20. Shimojima K., Fukuda T., Hasegawa Y. (1995) Self-tuning fuzzy modeling with adaptive membership function, rules, and hierarchical structure based on genetic algorithm. Fuzzy Sets and Systems, vol. 71, no. 3, pp. 295-309.
21. Kaya M., Alhajj R (2004) Integrating multi-objective genetic algorithms into clustering for fuzzy association rules mining. Proceedings of the 4th IEEE International Conference on Data Mining (ICDM'04). Brighton, UK, 1-4 November 2004, pp. 431-434.
22. Hong T., Tung Y., Wang S., Wu M., Wu Y. (2009) An ACS-based framework for fuzzy data mining. Expert Systems with Applications, no. 36, pp. 11844-11852.
23. Ishibuchi H., Nozaki K., Tanaka H. (1993) Efficient fuzzy partition of pattern space for classification problems. Fuzzy Sets and Systems, vol. 59, no. 3, pp. 295-304.
24. Permana K., Zaiton S. (2010) Fuzzy membership function generation using particle swarm optimization. International Journal ofOpen Problems in Computer Science and Mathematics, vol. 3, no. 1, pp. 27-41.
25. Piatetsky-Shapiro G., Connell C. (1984) Accurate estimation of the number of tuples satisfying a condition. ACM SIGMOD Record, vol. 19, no. 2, pp. 256-276.
BUSINESS INFORMATICS No. 3(45) - 2018