УДК 004.8
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ С НЕЧЕТКИМИ МНОЖЕСТВАМИ Кортузов Данила Евгеньевич, студент
(e-mail: [email protected]) Горбенко Алексей Юрьевич, студент Павлова Анна Илларионовна, к.т.н., доцент
(e-mail:[email protected]) Новосибирский государственный университет экономики и управления, г.Новосибирск, Россия
В работе рассмотрены основные и дополнительные операции над нечеткими множествами. Для анализа операций разработана программа на языке C#, позволяющая выполнять дополнительные операции над множествами.
Ключевые слова: нечеткие множества, нечеткая логика, операции c нечеткими множествами.
Основоположником теории нечетких множеств в современной трактовке является Л. А. Заде. В настоящее время теория нечетких множеств успешно применяется для управления сложных технических систем. Практическое применение нечеткие множества нашли для задач анализа и управления энергетическими системами, технологическими процессами и установками с химическими реакторами, электрическими двигателями, установками для очищения воды, холодильными агрегатами, вентиляторами и кондиционерами, печами для сжигания мусора и стеклоплавильных печей и др. Нечеткая логика находит применение в экономике и управлении [12].
В работе проанализированы операции над нечеткими множествами. Для этого составлены два конечных нечетких множества А и В (множество мощных по производительности процессора и множество современных смартфонов). По отношению к ним применены логические операторы.
Два нечетких множества, заданы в виде: х! - обозначение торговой марки смартфона (рис.1):
A = {
0.6 0.7 0.5 0.8 0.7 0.8 0.9 0.5 0.8 1
X
X
} B = {
0.8 0.9 0.5 0.8 0.9 0.6 0.7 0.5
x6 Х7 X8 X9 X10 X1 X2 X3 X4 X 5 X6 X7 X8
А В С D
1 № Название А(мощные) Б(современные)
2 1 OnePlus One 0,6 0,8
3 2 Motorola Moto X (2014) 0,7 0,9
4 3 Nexus 6 0,5 0,5
5 4 Samsung Galaxy S6 edge 0,8 0,8
6 5 Samsung Galaxy Note 4 0,7 0,9
7 6 Sony Xperia Z3 Compact 0,8 0,6
8 7 HTC One M9 0,9 0,7
9 8 LG G4 0,5 0,5
10 9 Apple ¡Phone 6 0,8 1
11 10 Samsung Galaxy S6 1 0,7
0.7}
X9 X10
Рис. 1. Торговые марки смартфонов и степени принадлежности к двум нечетким множествам
X
X
X
2
4
Наиболее известными логическими операторами, применимыми к нечетким множествам являются пересечение, объединения, разности и симметричной разности, дополнения. Операции пересечения и объединения основаны на использовании логических операторов min и max, и соответствующие им логические связки естественного языка «и», «или», «не». Результат применения логических операций приведен на рис.2.
Пересечение Объединение Разность Симметричная разница Дополнение А Дополнение Б
0;б 0,8 0 0,2 0,4 0,2
0,7 0,9 0 0,2 0,3 0,1
0,5 0,5 0 0 0,5 0,5
0,8 0,8 0 0 0,2 0,2
0,7 0,9 0 0,2 0,3 0,1
0,6 0,8 0,2 0,2 0,2 0,4
0,7 0,9 0,2 0,2 0,1 0,3
0,5 0,5 0 0 0,5 0,5
0,8 1 0 0,2 0,2 0
0,7 1 0,3 0,3 0 0,3
Рис.2. Результат логических операций к нечетким множествам
Для операций пересечения и объединения двух нечетких множеств применимы законы (табл.1). Результаты доказательств условий и законов приведены на рис. 3 и 4.
Таблица 1 - Свойства операций пересечения и объединения над НМ
Операция Свойство
Пересечение Объединение
Коммутативность АпВ = ВпА А^В = ВоА
Ассоциативность Ап(ВпС) = (АпВ)пС А^(В^С) = (А^В)^С
Дистрибутивность Ап(ВиС)=(АпВ)и(АпС) А^(ВпС)=(А^В)п(А^С)
Свойство нуля Ап0=0 А^0=А
Свойство единицы Апи=А А^и=и
Идемпотентность АпА^А А^А^А
Свойство поглощения Ап(АиБ)£А Аи(АпБ)£А
Закон де Моргана -(AnB)=-Au-B -(АиБ)=-Ап-Б
Свойство порядка АпБеА и АпБеВ АеА^Б и БеА^Б
Закон логического противоре- Ап-А=0 Ао—А=0
чия (для четких множеств)
Коммутативность Ассоциативность
Пересечение Объединение Пересечение Объединение
АПВ = ВпА А и В = В и А Ал (BnC) = (АпВ)пС Аи(ВиС) = (АиВ)иС
0,6 0,6 0,8 0,8 0,6 0,6 0,8 0,8
0,7 0,7 0,9 0,9 0,7 0,7 0,9 0,9
0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5
0,8 0,8 0,8 0,8 0,8 0,8 0,8 0,8
0,7 0,7 0,9 0,9 0,7 0,7 0,9 0,9
0,6 0,6 0,8 0,8 0,6 0,6 0,8 0,8
0,7 0,7 0,9 0,9 0,7 0,7 0,9 0,9
0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5
0,8 0,8 1 1 0,8 0,8 1 1
0,7 0,7 1 1 0,7 0,7 1 1
Рис. 3. Операции коммутативности и ассоциативности
Дистрибутивность Свойство нуля Свойство единицы
Пересечение Объединение Пересечение Объединение Пересечение Объединение
Ап(ВиС)={АпВ)и АпС) Аи(ВпС)=(АиВ}п(АиС) Ап0=0 Аи0=А AnU=A AuU=U
0,6 0,6 0,7 0,7 0 0,6 0,6 1
0,7 0,7 0,8 0,8 0 0,7 0,7 1
0,5 0,5 0,5 0,5 0 0,5 0,5 1
0,8 0,8 0,8 0,8 0 0,8 0,8 1
0,7 0,7 0,8 0,8 0 0,7 0,7 1
0,7 0,7 0,8 0,8 0 0,8 0,8 1
0,8 0,8 0,9 0,9 0 0,9 0,9 1
0,5 0,5 0,5 0,5 0 0,5 0,5 1
0,8 0,8 0,9 0,9 0 0,8 0,8 1
0,85 0,85 1 1 0 1 1 1
Рис.4. Операции дистрибутивность, свойство нуля и свойство единицы
В теории нечетких множеств используются также дополнительные операции, связанные с вычислением алгебраического пересечения, объединения, умножения на число и возведение в степень. Результат применения данных операций приведен на рис. 5
Алгебраическое пересечение Алгебраическое объединение Умножение на число(А) Умножение на число(Б) Возведенение в степень (А) Возведенение в степень (Б)
0,48 0,92 25,2 33,6 0,07776 0,32768
0,63 0,97 29,4 37,8 0,16807 0,59049
0,25 0,75 21 21 0,03125 0,03125
0,64 0,96 33,6 33,6 0,32768 0,32768
0,63 0,97 29,4 37,8 0,16807 0,59049
0,48 0,92 33,6 25,2 0,32768 0,07776
0,63 0,97 37,8 29,4 0,59049 0,16807
0,25 0,75 21 21 0,03125 0,03125
0,8 1 33,6 42 0,32768 1
0,7 1 42 29,4 1 0,16807
Рис.5. Результат дополнительных операций (алгебраическое пересечение, алгебраическое объединение, умножение на число, возведение в степень)
При проектировании экспертных систем используются параметризиро-ванные и непараметризированные операторы пересечения (табл.2).
Таблица 2 - Непараметризированные операторы пересечения
Название оператора Формула
Минимум (min) цапб(х) = min(|iA(x),|iB(x))
Произведение (PROD) ^ЛгВ (x) _ №л(x) ' (x)
Произведение Гамахера MArB (X) = ^ ^ Мл{x) + Мв{x) МА{x) ' Мв{x)
Произведение Эйнштейна MA„B (x) = —-^^-) 2 (MA(x) + №B(x) №A(x) №B(x) )
Усиленное произведение fmin(^A (x),ßB (x), для max(^A ( x),^, (x)) = 1 МагВ (x) = jQ
Ограниченная разность цапб(х) = max(0, Цд(х)+Цв(х) -1)
Преимущество оператора PROD заключается в том, что значение результирующей функции принадлежности, имеет количественную зависимость от фактических значений обеих функций принадлежности ßAix),ßB(x) (за исключением случая равенства). Пример программного кода
использования функции prod в Matlab приведен ниже:
x=0:1:9;
%Исходные множества А и В в виде вектора данных A=[0.6 0.7 0.5 0.8 0.7 0.8 0.9 0.5 0.8 1]; B=[0.8 0.9 0.5 0.8 0.9 0.6 0.7 0.5 1 0.7]; Y=min(A,B)
C=[0.6 0.7 0.5 0.8 0.7 0.8 0.9 0.5 0.8 1; 0.8 0.9 0.5 0.8 0.9 0.6 0.7 0.5 1 0.7];
Y1=prod(C)
Непараметризированные операторы пересечения в Matlab для произведения Гамахакера, Энштейна и усиленного произведения приведены на рис. 6-8.
for i=1:10
M_gam(i) = A(i)*B( i)/(A(i)+B(i)-A(i)*B(i)); end
disp('Произведение Гамахера')
disp(M gam)
disp['Произведение Гамахера') disp (M_garc.) Произведение Гамахера
0.5217 О.6435 0.3333 0.6667 0.64Э5 0.5217 0.64Э5 0.3333 0.3000 0.7000
»
Рис.6. Операция произведения Гамахера в Matlab
for i=1:10
M_ein(i) = A(i)*B(i)/(2-(A(i)+B(i)-A(i)*B(i))); end
disp('Произведение Эйнштейна') disp(M ein)
disp [ ■ Произведете Эйнштейна ■ ) disp (M_ein)
Произве де:-ше Эйнштейна
0.4444 0.6117 0.2000 0.6154 0.6117 0.4444 0.6117 0.2000 0.5000 0.7000
Рис.7. Операция произведения Энштейна в Matlab
for i=1:10
if max(A(i),B(i))==1
M_pow(i) = min(A(i),B(i));
else
M_pow(i) = 0;
end end
disp('Усиленное Произведение') disp(M pow)
disp С"Усиленное Произведение 1) disp [M_pow)
Усиленное Произведение
OOOOOOOO 0.3000 0.7000
Рис.8. Операция усиленного произведения в МайаЬ
В работе разработана программа для проверки операций над нечеткими множествами на языке С#. В результате выбора операций из выпадающего списка (рис.9) пользователь может увидеть результат операции (рис. 10).
Операции
Построение:
Размеры множеств |Произведение PR0D
~3
Кол-во элементов
га
Заполнить входные данные
А Е С
► 1 0,6 0,8 0,48
2 0,7 0,9 0,63
3 0,5 0,5 0,25
4 0,8 0,8 0,64
5 0,7 0,3 0,63
6 0,8 0,6 0,48
7 0,8 0,7 0,63
3 0,5 0,5 0,25
3 0,8 1 0,8
10 1 0,7 0,7
1 Показать результат 1 ] Выход
Рис.9. Выполнение операции «Произведение»
У Операции
Jnliil
— Построение: — Размеры множеств Кол-во элементов
га
Заполнить входные данные
синенное произведение
А Б С
► 1 0,6 0,3 0
2 0,7 0,3 0
3 0,5 0,5 0
4 0,8 0,3 0
5 0,7 0,3 0
6 0,8 0,6 0
7 0,3 0,7 0
3 0,5 0,5 0
3 0,8 1 0,3
10 1 0,7 0,7
I
Показать результат Выход
Рис.10. Выполнение операции «Усиленное произведение»
В результате работы проанализированы различные логические операции над нечеткими множествами. Для выполнения операций над конечными нечеткими множествами удобно использовать стандартные функции Microsoft Excel, а также программный комплекс Matlab 2014. В ходе исследований разработана программа на языке С# в среду Microsoft Visual Studio 2012, позволяющая выполнять над множествами дополнительные операции.
Список литературы
1.Батыршин И.З. Основные операции нечеткой логики и их обобщения.- Казань: Отечество, 2001. - 100 с.
2. Леоленков А.В. Нечеткое моделирование в среде Matlab и fuzzyTech.- СПб: БХВ-Петербург, 2005. - 736 с.
Kortusov Danila Evgenyevich, student
(e-mail:[email protected])
Gorbenko Alexey Yuryevich, student
Novosibirsk state university of economic and management, Novosibirsk, Russia
Pavlova Anna Illarionovna, Associate Professor, associate professor of Applied information technologies, Ph.D.
Novosibirsk state university of economy and management, Russia
Novosibirsk, Kamenskaya St. 52, case 5, audience 5-409.
e-mail: [email protected]
RESEARCH OF OPERATIONS OF FUZZY SETS
Summary: in work the main and additional operations over indistinct sets are considered. Among the additional operations applied to development of expert systems the following is known:
The program allowing to carry out additional operations over sets is developed for the analysis of operations.
Keywords: indistinct sets, fuzzy logic, operations over indistinct sets.