Наука
Advertisement

Дефаззификация нечеткого множества[]

Определение 10. Дефаззификацией называется процедура преобразования нечеткого множества в четкое число.
В теории нечетких множеств процедура дефаззификации аналогична нахождению характеристик положения (математического ожидания, моды, медианы) случайных величин в теории вероятности. Простейшим способом выполнения процедуры дефаззификации является выбор четкого числа, соответствующего максимуму функции принадлежности. Однако пригодность этого способа ограничивается лишь одноэкстремальными функциями принадлежности. Для многоэкстремальных функций принадлежности существуют такие методы дефаззификации:

  1. Centroid - центр тяжести;
  2. Bisector - медиана;
  3. LOM (Largest Of Maximums) - наибольший из максимумов;
  4. SOM (Smallest Of Maximums) - наименьший из максимумов;
  5. MOM (Mean Of Maximums) - центр максимумов.

Алгоритм нечеткого вывода[]

Определение 11. Нечеткая база знаний Невозможно разобрать выражение (синтаксическая ошибка): {\displaystyle \bigcup\limits_{p=1}^{k_{j}}[\bigcap\limits_{i=1}^{n}(x_{i}=a_{i}^{jp})]\longrightarrow\ y=d_{j},\ j=\overline{1,m}} где - нечеткий терм, которым оценивается переменная в строчке с номером jp;
- количество строчек--конъюнкций, в которых выход оценивается нечетким термом ;
- импликация.
Определение 12. Нечетким логическим выводом (fuzzy logic inference) называется аппроксимация зависимости с помощью нечеткой базы знаний и операций над нечеткими множествами.
Нечеткое множество , соответствующее входному вектору , определяется следующим образом: где - операция объединения нечетких множеств; - функция принадлежности выхода нечеткому терму Предположим для простоты, что базу знаний организуют два нечетких правила вида:
П : если есть и есть , тогда есть , П : если есть и есть , тогда есть ,
где и - имена входных переменных; - имя переменной выхода; , , , , , - некоторые заданные функции принадлежности, при этом четкое значение необходимо определить на основе приведенной информации четких значений и .
Существует много алгоритмов нечеткого логического вывода. В работе использовался алгоритм Mamadani.
Основные этапы алгоритма Mamdani
1. Нечеткость: на первом этапе находятся степени истинности для предпосылок каждого правила: .
2. Нечеткий вывод: находятся уровни "отсечения"\ для предпосылок каждого из правил (с использованием операции МИНИМУМ): где через "" обозначена операция логического минимума (min), затем находятся "усеченные" функции принадлежности:
3. Композиция: с использованием операции МАКСИМУМ (max, далее обозначается как ) производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности:
Невозможно разобрать выражение (неизвестная функция «\eqno»): {\displaystyle \mu_{\Sigma}(z)=C(z)=C_{1}'(z)\vee C_{2}'(z)=(\alpha_{1}\wedge C_{1}(z))\vee (\alpha_{2}\wedge C_{2}(z)). \eqno(1.4) }
4. Приведение к четкости: для нахождения проводится, например, центроидным методом.

Постановка и решение задачи[]

Задача: построение математической модели на основе нечеткой логики для решения проблемы прогнозирования успешности отдельно взятого пилота для конкретной команды.
== Описание лингвистической переменной ==
- сложная лингвистическая переменная
- имя сложной лингвистической переменной («Возможность победы пилота в гонке»);
T=T(характеристика пилота)+T(характеристика болида)={«Большой процент», «Средний процент», «Низкий процент»} – множество значений сложной лингвистической переменной;
=[0;1]- базовое множество;
(характеристика пилота)={«Хороший», «Среднего уровня», «Плохой»};
=[0;1]- базовое множество;
(характеристика болида)={«Способный побеждать», «Недалеко от лидеров», «Неспособный побеждать»};
=[0;1]- базовое множество;
G – процедура образования новых термов для сложной лингвистической переменной "Возможность победы пилота в гонке" с помощью связок "и", "или" и модификаторов типа "очень", "не", "слегка".
М – семантическая процедура, позволяющая преобразовать новое значение лингвистической переменной, образованной процедурой G, в нечеткую переменную, то есть сформировать соответствующее нечеткое множество на =[0;1].

Построение функции принадлежности[]

Метод экспертных оценок[]

Построим функцию принадлежности для терма «Характеристика пилота» по экспертным оценкам. Приведем таблицу экспертных оценок (5 экспертов дали свои оценки).
/////////////////////////////////////ПРИЛОЖИТЬ ФАЙЛ
=== Аппроксимация функции принадлежности === В качестве аппроксимирующих функций для термов берутся стандартные функции принадлежности:
1) для терма "Хороший пилот" берем сигмоидную функцию\\

2) для терма "Средний пилот" берем трапециевидную функцию

3) для терма "Плохой пилот" берем z-подобную функцию

В результате аппроксимации функций принадлежности для терма «Характеристика пилота» были получены следующие результаты:
Для терма «Хороший пилот»

Для терма «Средний пилот»

Для терма «Плохой пилот»

Аналогично были получены аппроксимации для других термов.

Нечеткая база знаний[]

Организуем нечеткие правила базы знаний. Пусть для оценки входных и выходной переменных используются следующие терм-множества:

= характеристика пилота ={Хороший(Х);Средний(Ср);Плохой(П)};
= характеристика болида = {Способный побеждать (Х); Недалеко от лидеров (Ср); Неспособный побеждать (П)};
y={Низкий процент (Нп); Средний процент (Сп); Большой процент (Бп)}.

Для того чтобы в максимальной степени учесть специфические особенности лингвистических переменных и их термов (т.е. насколько сильно они влияют на значение выходной переменной), зададим им приоритет. Практика показывает, что для прогнозирования итогов политических выборов политологи в первую очередь рассматривают следующие два критерия: Личность кандидата и Круг избирателей (в широком смысле этих выражений). На основе этого зададим входным переменным приоритеты: 1-высший приоритет; 2-пониже; 3- самый низкий. Задание приоритетов термам необходимо в связи с формированием нечеткой базы знаний.

– приоритет 1 (Способная побеждать (Х) - приоритет 1; Недалеко от лидеров (Ср) - приоритет 2; Неспособная побеждать (П)- приоритет 3);
– приоритет 2 (Хороший (Х) - приоритет 1; Средний (Ср) - приоритет 2; Плохой (П)- приоритет 3);
y - {Низкий процент (Нп) - приоритет 3; Средний процент (Сп) - приоритет 2; Большой процент (Бп)- приоритет 1}

Таким образом, можем сформировать базу знаний.

Применение алгоритма Мамдани[]

Каждый эксперт заполняет анкету, в которой дает ответы по следующей формуле:
В зависимости от набранной суммы кандидату ставится в соответствие [0;1].

Таким образом, по результатам опроса становятся известными значения входных переменных.
Предположим эксперт заполнил анкету. Отсюда, получаем значения входных переменных
Тогда сможем найти:
=0.82 если принадлежит терму "Хороший";
=0.16 если принадлежит терму "Среднего уровня";
=0.04 если принадлежит терму "Плохой";
=0.81 если принадлежит терму "Способный побеждать";
=0.11 если принадлежит терму "Недалеко от лидеров";
=0.02 если принадлежит терму "Неспособный побеждать";
Значения функций принадлежности попадают под действие всех правил из базы знаний, поэтому можно найти 9 уровней отсечения. Далее находим "усеченные" функции принадлежности выходных переменных каждого правила базы знаний. После этого объединяем найденные усеченные функции, что приводит к получению итогового нечеткого подмножества.
Четкое значение переменной вывода найдем с помощью центроидного метода:
y=0.88.

Заключение[]

В работе были получены следующие результаты:

1. Формализована лингвистическая переменная
1.1.На основе метода экспертных оценок построены функции принадлежности для всех термов лингвистической переменной;
1.2. Функции принадлежности аппроксимированы по методу наименьших квадратов.
2. Применен алгоритм Mamdani
2.1. Построена нечеткая база знаний;
2.2. Составлены правила для использования алгоритма
2.3. Реализован алгоритм Mamdani на конкретном примере

Advertisement