Научная статья на тему 'Исследование операций с нечеткими множествами'

Исследование операций с нечеткими множествами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
655
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКИЕ МНОЖЕСТВА / НЕЧЕТКАЯ ЛОГИКА / ОПЕРАЦИИ C НЕЧЕТКИМИ МНОЖЕСТВАМИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кортузов Данила Евгеньевич, Горбенко Алексей Юрьевич, Павлова Анна Илларионовна

В работе рассмотрены основные и дополнительные операции над нечеткими множествами. Для анализа операций разработана программа на языке C#, позволяющая выполнять дополнительные операции над множествами.

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

Текст научной работы на тему «Исследование операций с нечеткими множествами»

УДК 004.8

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ С НЕЧЕТКИМИ МНОЖЕСТВАМИ Кортузов Данила Евгеньевич, студент

(e-mail: danilk_1995@mail.ru) Горбенко Алексей Юрьевич, студент Павлова Анна Илларионовна, к.т.н., доцент

(e-mail:annstab@mail.ru) Новосибирский государственный университет экономики и управления, г.Новосибирск, Россия

В работе рассмотрены основные и дополнительные операции над нечеткими множествами. Для анализа операций разработана программа на языке 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

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

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:danilk_1995@mail.ru)

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: annstab@mail.ru

RESEARCH OF OPERATIONS OF FUZZY SETS

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

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.

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