Нечеткие логические операции

Вначале кратко напомнить основные положения обычной (булевой) логики. Рассмотрим два утверждения A и B, каждое из которых может быть истинным или ложным, т.е. принимать значения "1" или "0". Для этих двух утверждений всего существует Нечеткие логические операции - student2.ru различных логических операций, из которых содержательно интерпретируются лишь пять: И ( Нечеткие логические операции - student2.ru ), ИЛИ ( Нечеткие логические операции - student2.ru ), исключающее ИЛИ ( Нечеткие логические операции - student2.ru ), импликация ( Нечеткие логические операции - student2.ru ) и эквивалентность ( Нечеткие логические операции - student2.ru ). Таблицы истинности для этих операций приведены в табл. 5.

Таблица 5 - Таблицы истинности булевой логики

A B Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru

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

Определение 45.Обозначим нечеткие логические переменные через Нечеткие логические операции - student2.ru и Нечеткие логические операции - student2.ru , а функции принадлежности, задающие истинностные значения этих переменных через Нечеткие логические операции - student2.ru и Нечеткие логические операции - student2.ru , Нечеткие логические операции - student2.ru . Нечеткие логические операции И ( Нечеткие логические операции - student2.ru ), ИЛИ ( Нечеткие логические операции - student2.ru ),
НЕ ( Нечеткие логические операции - student2.ru ) и импликация ( Нечеткие логические операции - student2.ru ) выполняются по таким правилам:

Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru .

В многозначной логике логические операции могут быть заданы таблицами истинности. В нечеткой логике количество возможных значений истинности может быть бесконечным, следовательно в общем виде табличное представление логических операций невозможно. Однако, в табличной форме можно представить нечеткие логические операции для ограниченного количества истинностных значений, например, для терм-множества {"истинно", "очень истинно", "не истинно", "более-менее ложно", "ложно"}. Для трехзначной логики с нечеткими значениями истинности T - ; "истинно", F - ; "ложно" и T+F - "неизвестно" Л Заде предложил такие лингвистические таблицы истинности:

Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
T T F T T
T F F F T
T T+F F T+F T
F T T F T
F F T F F
F T+F T F T+F
T+F T T+F T+F T
T+F F T+F F T+F
T+F T+F T+F T+F T+F

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

Пример 10. Заданы следующие нечеткие истинностные значения:

Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru .

Применяя правило из определения 45, найдем нечеткую истинность выражения "почти истинно ИЛИ истинно":

Нечеткие логические операции - student2.ru .

Сравним полученное нечеткое множество с нечетким множеством "более-менее истинно". Они почти равны, значит:

Нечеткие логические операции - student2.ru .

В результате выполнения логических операций часто получается нечеткое множество, которое не эквивалентно ни одному из ранее введенных нечетких значений истинности. В этом случае необходимо среди нечетких значений истинности найти такое, которое соответствует результату выполнения нечеткой логической операции в максимальной степени. Другими словами, необходимо провести так называемую лингвистическую аппроксимацию, которая может рассматриваться как аналог аппроксимации эмпирического статистическими распределения стандартными функциями распределения случайных величин. В качестве примера приведем предложенные Балдвином лингвистические таблицы истинности для показанных на рис. 15 нечетких значений истинности:

Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
ложно ложно ложно ложно
истинно ложно ложно истинно
истинно истинно истинно истинно
неопределенно ложно ложно неопределенно
неопределенно истинно неопределенно истинно
неопределенно неопределенно неопределенно неопределенно
истинно очень истинно истинно очень истинно
истинно более-менее истинно более-менее истинно истинно

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

Определение 46.Нечеткой базой знаний называется совокупность нечетких правил "Если - то", определяющих взаимосвязь между входами и выходами исследуемого объекта. Обобщенный формат нечетких правил такой:

Еслипосылка правила, тозаключение правила.

Посылка правила или антецедент представляет собой утверждение типа "x есть низкий", где "низкий" - ;это терм (лингвистическое значение), заданный нечетким множеством на универсальном множестве лингвистической переменной x. Квантификаторы "очень", "более-менее", "не", "почти" и т.п. могут использоваться для модификации термов антецедента.

Заключение или следствие правила представляет собой утверждение типа "y есть d", в котором значение выходной переменной (d) может задаваться:

  1. нечетким термом: "y есть высокий";
  2. классом решений: "y есть бронхит"
  3. четкой константой: "y=5";
  4. четкой функцией от входных переменных: "y=5+4*x".

Если значение выходной переменной в правиле задано нечетким множеством, тогда правило может быть представлено нечетким отношением. Для нечеткого правила "Если x есть Нечеткие логические операции - student2.ru , то y есть Нечеткие логические операции - student2.ru ", нечеткое отношение Нечеткие логические операции - student2.ru задается на декартовом произведении Нечеткие логические операции - student2.ru , где Нечеткие логические операции - student2.ru - ; универсальное множество входной (выходной) переменной. Для расчета нечеткого отношения можно применять нечеткую импликацию и t-норму. При использовании в качестве t-нормы операции нахождения минимума, расчет нечеткого отношения Нечеткие логические операции - student2.ru осуществляется так:

Нечеткие логические операции - student2.ru , Нечеткие логические операции - student2.ru .

Пример 11.Следующая нечеткая база знаний описывает зависимость между возрастом водителя (x) и возможностью дорожно-транспортного происшествия (y):

Еслиx = Молодой, тоy = Высокая;

Еслиx = Средний, тоy = Низкая;

Еслиx = Очень старый, тоy = Высокая.

Пусть функции принадлежностей термов имеют вид, показанный на рис. 16. Тогда нечеткие отношения, соответствующие правилам базы знаний, будут такими, как на рис. 17.

Нечеткие логические операции - student2.ru

Рисунок 16 - Функции принадлежности термов

Нечеткие логические операции - student2.ru

Рисунок 17 - Нечеткие отношения, соответствующие правилам базы знаний из примера 11

Для задания многомерных зависимостей "входы-выходы" используют нечеткие логические операции И и ИЛИ. Удобно правила формулировать так, чтобы внутри каждого правил переменные объединялись логической операцией И, а правила в базе знаний связывались операцией ИЛИ. В этом случае нечеткую базу знаний, связывающую входы Нечеткие логические операции - student2.ru с выходом Нечеткие логические операции - student2.ru , можно представить в следующем виде:

ЕСЛИ Нечеткие логические операции - student2.ru

ИЛИ Нечеткие логические операции - student2.ru

ИЛИ Нечеткие логические операции - student2.ru ,

ТО Нечеткие логические операции - student2.ru , Нечеткие логические операции - student2.ru ,

где Нечеткие логические операции - student2.ru - нечеткий терм, которым оценивается переменная Нечеткие логические операции - student2.ru в строчке с номером Нечеткие логические операции - student2.ru ( Нечеткие логические операции - student2.ru );

Нечеткие логические операции - student2.ru - количество строчек-конъюнкций, в которых выход Нечеткие логические операции - student2.ru оценивается значений Нечеткие логические операции - student2.ru ;

Нечеткие логические операции - student2.ru - количество различных значений, используемых для оценки выходной переменной Нечеткие логические операции - student2.ru .

Приведенную выше базу знаний удобно представлять таблицей, которую иногда называют матрицей знаний (табл. 6).

Таблица 6 - Нечеткая база знаний

Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru
Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru

Для учета различной степени уверенности эксперта в адекватности правил используют весовые коэффициенты. Нечеткую базу знаний из таблицы 6 с весовыми коэффициентами правил можно записать следующим образом:

Нечеткие логические операции - student2.ru Нечеткие логические операции - student2.ru ,

где Нечеткие логические операции - student2.ru - ; нечеткая логическая операция ИЛИ;

Нечеткие логические операции - student2.ru - ;нечеткая логическая операция И;

Нечеткие логические операции - student2.ru - ; весовой коэффициент правила с номером Нечеткие логические операции - student2.ru .

Fuzzy Logic Toolbox - это пакет прикладных программ, входящих в состав среды MatLab. Он позволяет создавать системы нечеткого логического вывода и нечеткой классификации в рамках среды MatLab, с возможностью их интегрирования в Simulink. Базовым понятием Fuzzy Logic Toolbox является FIS-структура - система нечеткого вывода (Fuzzy Inference System). FIS-структура содержит все необходимые данные для реализации функционального отображения “входы-выходы” на основе нечеткого логического вывода согласно схеме, приведенной на рис. 2.1.

Нечеткие логические операции - student2.ru

Рисунок 2.1. Нечеткий логический вывод
Обозначения:
X - входной четкий вектор;
Нечеткие логические операции - student2.ru - вектор нечетких множеств, соответствующий входному вектору X;
Нечеткие логические операции - student2.ru - результат логического вывода в виде вектора нечетких множеств;
Y - выходной четкий вектор.

Fuzzy Logic Toolbox содержит следующие категории программных инструментов:

Наши рекомендации