Добавил:
darkwarius13@gmail.com Рад если помог :). Можешь на почту спасибо сказать Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

НМ 1 Іг

.docx
Скачиваний:
27
Добавлен:
27.06.2021
Размер:
293.59 Кб
Скачать

Министерство Образования и Науки Украины

Харьковский Национальный Университет Радиоэлектроники

Кафедра системотехники

Отчет

по лабораторной работе №1

По дисциплине: “Нечеткие множества”

Тема работы: “Нечеткие множества и операции над ними”

Выполнил: Ст. гр. СПРм-19-1 Зубков Ігорь

Проверил: д. т. н., проф. Петров К. Е.

2019

Завдання 1.

Задані і дві його нечітких підмножини і , де : Варіант 4.

0

0

0,7

0,6

0,1

0,5

0,8

1

0,5

0,3

0

0,6

0,7

1

0,7

0,5

Постановка задачі.

1. Представити Х і Y геометрично.

Рисунок 1 – Графическое представление Х и Y (вариант 4)

2. Знайти функції приналежності і представити геометрично множини: , , , , .

Рисунок 2 – Функции принадлежности (вариант 4)

Рисунок 3 – Геометрическая интерпретация (вариант 4)

3. Знайти відстані між множинами Х і Y:

  • абсолютну і відносну відстані Хеммінга;

  • абсолютну і відносну відстані Евкліда.

Рисунок 4 – Расстояния Хемминга и Эвклида (вариант 4)

4. Знайти підмножини (звичайні), найближчі до Х і Y. Обчислити індекси нечіткості Х і Y.

Рисунок 5 – Ближайшие обычные множества и индексы нечеткости по Хеммингу (вариант 4)

Завдання 2. Дослідити способи формування нечітких множин з використанням різних типів функцій приналежності і реалізувати операції над ними

  1. Установить модуль для работы с нечеткой логикой SciFLT.

Данный модуль был установлен при помощи команды atomsInstall("sciFLT").

2. Построить треугольную и трапецевидную функции принадлежности.

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

Описание функции:

y = trimf(x,[a,b,c]),

где x - базовое множество, а и с - основание треугольник, b - его вершина.

Код программы:

x=linspace(0,1,100)';

y1=trimf(x,[0 0.2 0.4]);

y2=trimf(x,[0.3 0.5 0.9]);

y3=trimf(x,[0.4 0.6 0.9 ]);

plot2d(x,[y1 y2 y3],leg="y1@y2@y3");

xtitle("Triangular Member Function Example","x","mu(x)");

Рисунок 6 - Треугольная функция принадлежности

Трапецевидная функция принадлежности отличается от треугольной лишь тем, что имеет верхнее основание.

y = trapm(x,[a,b,c,d]),

где параметры a и d задают нижнее основание, а параметры c и b - верхнее.

Код программы:

x=linspace(0,1,100)';

y1=trapmf(x,[0 0.2 0.4 0.6]);

y2=trapmf(x,[0.2 0.5 0.6 0.9]);

y3=trapmf(x,[0.5 0.6 0.8 0.9 ]);

plot2d(x,[y1 y2 y3],leg="y1@y2@y3",rect=[0,0,1.1,1.1]););

xtitle("Trapezoidal Member Function Example","x","mu(x)");

Рисунок 7 - Трацепевидная функция принадлежности

  1. Построение простой и двухсторонней функций Гаусса.

Код программы:

x=linspace(0,1,100)';

y1=gaussmf(x,[0.1 0.3]);

y2=gauss2mf(x,[0.2 0.3 0.1 0.4]);

plot2d(x,[y1 y2],leg="y1@y2",rect=[0,0,1.1,1.1]));

xtitle("Gaussian Member Function Example","x","mu(x)");

Рисунок 8 - Простая функция принадлежности Гаусса

Код программы:

x=[0:0.1:10]';

y1 = gauss2mf(x, [2 4 1 8]);

y2 = gauss2mf(x, [2 5 1 7]);

y3 = gauss2mf(x, [2 6 1 6]);

y4 = gauss2mf(x, [2 7 1 5]);

y5 = gauss2mf(x, [2 8 1 4]);

scf();clf();

plot2d(x, [y1 y2 y3 y4 y5]);

Рисунок 9 - Двухсторонняя функция принадлежности Гаусса

  1. Построить функцию, которая позволит построить нечеткие субъективные предпочтения (функция принадлежности “обобщенный колокол”). Ее отличие от остальных функций является добавление третьего параметра, позволяющего осуществить плавный переход от нечеткого множества к четкому.

Код программы:

x=linspace(0,1,100)';

y1=gbellmf(x,[10 0.5/2 0.5]);

y2=gbellmf(x,[10 0.2/2 0.2]);

y3=gbellmf(x,[10 0.8/2 0.7]);

plot2d(x,[y1 y2 y3],leg="y1@y2@y3");

xtitle("Generalized Bell Member Function Example","x","mu(x)");

Рисунок 10 - Функция принадлежности “обобщенный колокол”

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

Код программы:

x=linspace(0,1,100)';

sig1=sigmf(x,[12 0.3]);

sig2=sigmf(x,[ -12 0.7]);

psig=psigmf(x,[15 0.5 -15 0.7]);

dsig=dsigmf(x,[15 0.1 15 0.3]);

plot2d(x,[sig1 sig2 psig dsig],leg="sig1@sig2@psig@dsig");

xtitle("Sigmoidals Member Functions Examples","x","mu(x)");

Рисунок 11 - Использование сигмоидных функций

  1. Построить функии на основании полиномиальных кривых. Z-функция представляет собой асимметричную полиномиальную кривую, открытую слева, S-функция является ее зеркальным отображением. PI-функция равна нулю в левом и правом пределах, принимает значение равное единице в середине некоторого отрезка.

Код программы:

x=linspace(0,1,100)';

pi=pimf(x,[0.1 0.5 0.7 1.0]);

z=zmf(x,[0.2 0.4]);

s=smf(x,[0.6 0.8]);

plot2d(x,[pi z s],leg="pi@z@s", rect=[0,0,1.1,1.1]);

xtitle("Shaped Member Functions Examples","x","mu(x)");

Рисунок 12 - Полиномиальные кривые

  1. Применить операции min и max.

Код программы:

x=[0:0.1:10]';

y1=gaussmf(x,[0.6 3]);

y2=gaussmf(x,[0.9 7]);

yy1=tnorm([y1 y2],'min');

yy2=snorm([y1 y2],'max');

yy3=tnorm([y1 y2],'dprod');

yy4=snorm([y1 y2],'dsum');

subplot(3,1,1);

plot2d(x,[y1 y2],leg='mf1@mf2',rect=[0 -0.1 10 1.1]);

xtitle('Member Function Evaluation','x','mu(x)');

subplot(3,1,2);

plot2d(x,[yy1 yy3],leg='min@dprod',rect=[0 -0.1 10 1.1]);

xtitle('AND OPERATION','x','and(mf1,mf2)');

subplot(3,1,3);

plot2d(x,[yy2 yy4],leg='max@dsum',rect=[0 -0.1 10 1.1]);

xtitle('OR OPERATION','x','or(mf1,mf2)');

Рисунок 13 - Операции min и max

  1. Дополнение нечеткого множества

x=[0:0.1:10]';

y1=gaussmf(x,[0.7 1.2]);

y2=complement(y1,"o ne");

plot2d(x,[y1 y2],leg='mf1@Not_mf1',rect=[0 -0.1 10 1.1]);

xtitle('Member Function and Inverse','x','mu(x)');

Рисунок 14 - Операция дополнения

ВЫВОДЫ

Во время изучения были изучены методы построения нечетких множеств с использованием различных типов функций принадлежности. Так же были реализованы распространенными логическими операциями над нечеткими множествами в среде SciLAB.

Соседние файлы в предмете Нечеткие множества