Нечеткие логические операции
Вначале кратко напомнить основные положения обычной (булевой) логики. Рассмотрим два утверждения A и B, каждое из которых может быть истинным или ложным, т.е. принимать значения "1" или "0". Для этих двух утверждений всего существует различных логических операций, из которых содержательно интерпретируются лишь пять: И ( ), ИЛИ ( ), исключающее ИЛИ ( ), импликация ( ) и эквивалентность ( ). Таблицы истинности для этих операций приведены в табл. 5.
Таблица 5 - Таблицы истинности булевой логики
A | B | |||||
Предположим, что логическое утверждение может принимать не два значения истинности, а три, например: "истинно", "ложно" и "неопределенно". В этом случае мы будем иметь дело не с двухзначной, а трехзначной логикой. Общее количество бинарных операций, а, следовательно, и таблиц истинности, в трехзначной логике равно . Нечеткая логика является разновидностью многозначной логики, в которой значения истинности задаются лингвистическими переменными или термами лингвистической переменной "истинность". Правила выполнения нечетких логических операций получают из булевых логических операций с помощью принципа обобщения.
Определение 45.Обозначим нечеткие логические переменные через и , а функции принадлежности, задающие истинностные значения этих переменных через и , . Нечеткие логические операции И ( ), ИЛИ ( ),
НЕ ( ) и импликация ( ) выполняются по таким правилам:
;
;
;
.
В многозначной логике логические операции могут быть заданы таблицами истинности. В нечеткой логике количество возможных значений истинности может быть бесконечным, следовательно в общем виде табличное представление логических операций невозможно. Однако, в табличной форме можно представить нечеткие логические операции для ограниченного количества истинностных значений, например, для терм-множества {"истинно", "очень истинно", "не истинно", "более-менее ложно", "ложно"}. Для трехзначной логики с нечеткими значениями истинности T - ; "истинно", F - ; "ложно" и T+F - "неизвестно" Л Заде предложил такие лингвистические таблицы истинности:
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. Заданы следующие нечеткие истинностные значения:
;
;
.
Применяя правило из определения 45, найдем нечеткую истинность выражения "почти истинно ИЛИ истинно":
.
Сравним полученное нечеткое множество с нечетким множеством "более-менее истинно". Они почти равны, значит:
.
В результате выполнения логических операций часто получается нечеткое множество, которое не эквивалентно ни одному из ранее введенных нечетких значений истинности. В этом случае необходимо среди нечетких значений истинности найти такое, которое соответствует результату выполнения нечеткой логической операции в максимальной степени. Другими словами, необходимо провести так называемую лингвистическую аппроксимацию, которая может рассматриваться как аналог аппроксимации эмпирического статистическими распределения стандартными функциями распределения случайных величин. В качестве примера приведем предложенные Балдвином лингвистические таблицы истинности для показанных на рис. 15 нечетких значений истинности:
ложно | ложно | ложно | ложно |
истинно | ложно | ложно | истинно |
истинно | истинно | истинно | истинно |
неопределенно | ложно | ложно | неопределенно |
неопределенно | истинно | неопределенно | истинно |
неопределенно | неопределенно | неопределенно | неопределенно |
истинно | очень истинно | истинно | очень истинно |
истинно | более-менее истинно | более-менее истинно | истинно |
Нечеткая база знаний
Определение 46.Нечеткой базой знаний называется совокупность нечетких правил "Если - то", определяющих взаимосвязь между входами и выходами исследуемого объекта. Обобщенный формат нечетких правил такой:
Еслипосылка правила, тозаключение правила.
Посылка правила или антецедент представляет собой утверждение типа "x есть низкий", где "низкий" - ;это терм (лингвистическое значение), заданный нечетким множеством на универсальном множестве лингвистической переменной x. Квантификаторы "очень", "более-менее", "не", "почти" и т.п. могут использоваться для модификации термов антецедента.
Заключение или следствие правила представляет собой утверждение типа "y есть d", в котором значение выходной переменной (d) может задаваться:
- нечетким термом: "y есть высокий";
- классом решений: "y есть бронхит"
- четкой константой: "y=5";
- четкой функцией от входных переменных: "y=5+4*x".
Если значение выходной переменной в правиле задано нечетким множеством, тогда правило может быть представлено нечетким отношением. Для нечеткого правила "Если x есть , то y есть ", нечеткое отношение задается на декартовом произведении , где - ; универсальное множество входной (выходной) переменной. Для расчета нечеткого отношения можно применять нечеткую импликацию и t-норму. При использовании в качестве t-нормы операции нахождения минимума, расчет нечеткого отношения осуществляется так:
, .
Пример 11.Следующая нечеткая база знаний описывает зависимость между возрастом водителя (x) и возможностью дорожно-транспортного происшествия (y):
Еслиx = Молодой, тоy = Высокая;
Еслиx = Средний, тоy = Низкая;
Еслиx = Очень старый, тоy = Высокая.
Пусть функции принадлежностей термов имеют вид, показанный на рис. 16. Тогда нечеткие отношения, соответствующие правилам базы знаний, будут такими, как на рис. 17.
Рисунок 16 - Функции принадлежности термов
Рисунок 17 - Нечеткие отношения, соответствующие правилам базы знаний из примера 11
Для задания многомерных зависимостей "входы-выходы" используют нечеткие логические операции И и ИЛИ. Удобно правила формулировать так, чтобы внутри каждого правил переменные объединялись логической операцией И, а правила в базе знаний связывались операцией ИЛИ. В этом случае нечеткую базу знаний, связывающую входы с выходом , можно представить в следующем виде:
ЕСЛИ
ИЛИ
…
ИЛИ ,
ТО , ,
где - нечеткий терм, которым оценивается переменная в строчке с номером ( );
- количество строчек-конъюнкций, в которых выход оценивается значений ;
- количество различных значений, используемых для оценки выходной переменной .
Приведенную выше базу знаний удобно представлять таблицей, которую иногда называют матрицей знаний (табл. 6).
Таблица 6 - Нечеткая база знаний
… | ||||
… | ||||
… | ||||
… | … | … | … | |
… | ||||
… | ||||
… | ||||
… | … | … | … | |
… | ||||
… | ||||
… | ||||
… | ||||
… | … | … | … | |
… |
Для учета различной степени уверенности эксперта в адекватности правил используют весовые коэффициенты. Нечеткую базу знаний из таблицы 6 с весовыми коэффициентами правил можно записать следующим образом:
,
где - ; нечеткая логическая операция ИЛИ;
- ;нечеткая логическая операция И;
- ; весовой коэффициент правила с номером .
Fuzzy Logic Toolbox - это пакет прикладных программ, входящих в состав среды MatLab. Он позволяет создавать системы нечеткого логического вывода и нечеткой классификации в рамках среды MatLab, с возможностью их интегрирования в Simulink. Базовым понятием Fuzzy Logic Toolbox является FIS-структура - система нечеткого вывода (Fuzzy Inference System). FIS-структура содержит все необходимые данные для реализации функционального отображения “входы-выходы” на основе нечеткого логического вывода согласно схеме, приведенной на рис. 2.1.
Рисунок 2.1. Нечеткий логический вывод
Обозначения:
X - входной четкий вектор;
- вектор нечетких множеств, соответствующий входному вектору X;
- результат логического вывода в виде вектора нечетких множеств;
Y - выходной четкий вектор.
Fuzzy Logic Toolbox содержит следующие категории программных инструментов: