Фаззификация
Точные значения входных переменных преобразуются в значения лингвистических переменных посредством применения функций принадлежности.
Рисунок 1. Примеры функций принадлежности
Функция
принадлежности
определяется так:
где
.
Функция
принадлежности
:
где .
Функция
принадлежности
:
Функция
принадлежности
:
Функция
принадлежности
:
В общем виде алгоритм фаззификации выглядит так:
Для каждого терма взятой лингвистической переменной найти числовое значение или диапазон значений, наилучшим образом характеризующих данный терм. Так как это значение или значения являются «прототипом» терма, то для них выбирается единичное значение функции принадлежности.
Определяем значения параметра с принадлежностью «0» к данному терму. Это значение может быть выбрано как значение с принадлежностью «1» к другому терму из числа определённых ранее.
После определения экстремальных значений определяем промежуточные значения. Для них выбираются П- или Л- функции из числа стандартных функций принадлежности.
Для значений, соответствующим экстремальным значениям параметра, выбираются S- или Z- функции принадлежности.
Например, на рисунке 2 имеем:
Рисунок 2. Функции принадлежности
NL
–
принадлежности;
PL
–
принадлежности;
NM,
NS,
PS,
PM,
NOPO
–
принадлежности.
Разработка нечётких правил
На этом этапе определяются продукционные правила, связывающие лингвистические переменные. Совокупность таких правил описывает стратегию управления.
Большинство нечётких систем используют продукционные правила для описания зависимостей между лингвистическими переменными. Типичное продукционное правило состоит из антецедента (часть ЕСЛИ … ) и консеквента (часть ТО …). Антецедент может содержать более одной посылки. В этом случае они объединяются посредством логических связок И или ИЛИ.
Процесс вычисления нечёткого правила называется нечётким логическим выводом и подразделяется на два этапа: обобщение и заключение.
Пусть, к примеру, имеется правило:
На
первом шаге логического вывода необходимо
определить степень принадлежности
всего антецедента правила. Для этого в
нечёткой логике существуют два оператора:
и
.
Первый вычисляет минимальное значение
степени принадлежности, а второй –
максимальное значение. Когда применять
тот или иной оператор, зависит от того,
какой связкой соединены посылки в
правиле. Если использована связка И,
применяется оператор минимума, если же
посылки объединены связкой ИЛИ, необходимо
использовать оператор максимума. Если
же в правиле всего одна посылка, то такие
операторы не нужны.
Так
как в примере применена связка И, то
следует использовать оператор минимума.
Например, имеем температуру
и скорость изменения
.
После фаззификации получаем степень
принадлежности текущей температуры к
терму «Низкая» лингвистической переменной
«Температура» равна 0,3, степень
принадлежности скорости изменения
температуры к терму «Малое отрицательное»
лингвистической переменной «Изменение
температуры» равна 0,6.
Получаем следующее:
Следовательно, степень принадлежности антецедента такого правила равно 0,3. Операция, описанная выше, отрабатывается для каждого правила в базе нечётких правил.
Следующим шагом является вывод или заключение. Подобным же образом посредством минимаксной процедуры вычисляется значение консеквента. Исходными данными служат вычисленные на предыдущем шаге значения степеней принадлежности антецедентов правил.
После выполнения всех шагов нечёткого вывода мы находим нечёткое значение управляющей переменной. Чтобы исполнительное устройство смогло отработать полученную команду, необходим этап управления, на котором мы избавимся от нечёткости.
