Раздел Fuzzy Logic Toolbox. С.Д.Штовба

Нечеткие множества. Лингвистическая переменная. Нечеткая логика. Нечеткий вывод. Композиционное правило вывода.

(Конспект)

В основе понятия нечеткого множества (НИ) лежит представление о том, что обладающие общим свойством элементы некоторого множества могут иметь различные степени вырожденности этого свойства и, следовательно, различную степень принадлежности этому свойству.

Пусть U некоторое множество. Нечетким множеством Ã в U называется совокупность пар вида {(µ Ã (u), u)}, где u U, µ Ã .

Значение µ Ã называется степенью принадлежности объекта к нечеткому множеству U.

µ Ã : U 

µ Ã – называется функцией принадлежности.

Пример нечетких множеств – возраст людей (рис. 19.1).

По аналогии с традиционной теорией множеств в Теории НМ определяются следующие операции:

Объединение:

, где

Перечисление:

,

Дополнение:

Алгебраическое произведение:

, где

n-арным нечетким отношением определенным на множествах называется нечеткое подмножество декартовых произведений

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

Композиция нечетких отношений

Пусть заданы 2 двухместных нечетких отношения:

Композиция нечетких отношений определяется следующим выражением:

Степени принадлежности конкретных выражений

Лингвистическая переменная - - это пятерка Х – имя переменной (возраст), U – базовое множество (0…150), Т(х) – терм множества. Множества лингвистических значений(молодой, средних лет, пожилой, старый). Каждое лингвистическое значение является меткой нечеткого множества определенного на U. G – синтаксическое правило, порождающее лингвистическое значение переменной Х (очень молодой, очень старый). М – семантическое правило ставящее в соответствие каждому лингвистическому значению нечеткое подмножество базового множества, то есть функция принадлежности.

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

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

1)

2)

Таким образом алгебра нечетких множеств изоморфна алгебре нечетких высказываний.

4) операция импликации

Для операции импликации в нечеткой логике предложено несколько определений. Основные:

1)

2)

3)

5) Эквивалентность

n-местным нечетким предикатом, определенным на множествах U 1 , U 2 ,…,U n называется выражение содержащее предметные переменные данных множеств и превращающиеся в нечеткие высказывания при замене предметных переменных элементами множеств U 1 , U 2 ,…,U n .

Пусть U 1 , U 2 ,…,U n базовые множества лингвистических переменных, а в качестве символов предметных переменных выступают иена лингвистических переменных. Тогда примерами нечетких предикатов являются:

    «давление в цилиндре низкое» - одноместный предикат

    «температура в котле значительно выше температуры в теплообменнике» - двуместных предикат.

Если U k =1,5 следовательно «давление в котле низкое» = 0,7

При построении и реализации нечетких алгоритмов важную роль играет композиционное правило вывода.

Пусть - нечеткое отображение

Нечеткое подмножество универсума U, тогда порождает в V нечеткое подмножество

композиционное правило вывода является основой при построении логического вывода в нечеткой логике.

Пусть задано нечеткое высказывание  , где и – нечеткие множества. Пусть также того задано некоторое высказывание (близкое к А, но не тождественное ему).

В классической логике широко используется правило вывода Modus Ponens

Это правило обобщается на случай нечеткой логики следующим образом:

Пусть множество и определены на базовом множестве Х, а и на базовом множестве Y. Естественно считать, что высказывание если задает некоторое нечеткое отображение из множества Х в Y

Тогда в соответствии с композиционным правилом вывода имеем:

Отношение строится на основе определения операции импликации в нечеткой логики.

1)

Если температура в котле низкая (), то подогрев повышенный ()

Реальные нечеткие логические алгоритмы содержат не одно, а множество продукционных правил

Если S 1 , то R 1 , иначе

Если S n , то R n , иначе

Поэтому нечеткие отношения должны быть построены для каждого отдельного правила, а затем агрегированы путем наложения друг на друга

В качестве агрегирующей операции выбирается или min или max в зависимости от типа импликации.

Когда нечеткий вывод используется в контуре управления реальным объектом, на объект должно выдаваться четкое управляющее воздействие. Поэтому необходимо преобразовать нечеткое множество, формируемое на основе композиционного правила вывода, в четкое значение. Эта процедура называется процедурой дефаззификации. Чаще используется 2 способа дефаззификации:

1) Середина «плато»

2) Центр тяжести, определяется точка которая делит площадь нечеткого множества пополам.

Формализация нечетких понятий и отношений естественного языка возможна на основе понятий нечеткой и лингвистической переменных.

Нечеткой переменной называется кортеж C >, где X - название переменной; U - универсальное множество (область определения переменной X); C - нечеткое множество на U, описывающее нечеткое ограничение на значения переменной х.

Множество C описывает семантику нечеткой переменной, и его часто называют функцией совместимости нечеткой переменной. Переменная u является для X базовой переменной. Множество C определяет ту степень, с которой элементу x соответствует значение u. Значения нечеткой переменной есть числа.

Пример. Нечеткая переменная X, именуемая "человек высокого роста". Положим U = (170-200), а C определим следующим образом:

График этой функции совместимости изображен на рис.2.13.

Лингвистическойпеременной называется кортеж, M >, где X - название переменной; T(X) - терм-множество, определяющее названия лингвистических значений X из универсального множества U; G - синтаксические правила, описывающие процесс получения новых значений лингвистической переменной; M - семантическое правило, позволяющее ставить каждой нечеткой переменной X ее смысл M (X).

Лингвистическая переменная - это переменная более высокого порядка, чем нечеткая переменная, поскольку значениями лингвистической переменной являются нечеткие переменные.

Различают числовые и нечисловые лингвистические переменные. Лингвистическая переменная называется числовой, если ее область определения U есть подмножество из R 1 , т.е. из множества вещественных чисел. Значения числовой лингвистической переменной называют нечеткими числами.

Пример. Числовая лингвистическая переменная "НАДЕЖНОСТЬ" может быть описана следующим образом:

< НАДЕЖНОСТЬ, T, , G, M >

где T = {очень низкая, низкая, средняя, высокая, очень высокая}; G - процедура перебора элементов из T; M - ограничения, обусловленные значениями из T и определяющие смысл лингвистических значений. В частности, M могут быть выбраны так:

M [очень низкая]

M [низкая]

M [средняя]

M [высокая]

M [очень высокая]

Примером нечисловой лингвистической переменной может служить переменная КРАСИВЫЙ, формализующая понятие "красивый город" со значениями "не очень красивый", "красивый", "очень красивый", "очень-очень красивый" и т.п.

В дальнейшем будем рассматривать только числовые лингвистические переменные.

Порождение элементов из T(X) возможно двумя способами: процедурой просмотра элементов терм-множества и путем реализации некоторого алгоритма. Если терм-множество T(X) и функцию M можно задавать алгоритмически, то такую лингвистическую переменную называют структурированной.


Рассмотрим один из возможных способов алгоритмического задания синтаксического G и семантического M правил, связанных с данной лингвистической переменной. Для этого отождествим слова: "или", "и", "не", "очень" c отдельными операциями над нечеткими множествами следующим образом:

"или" - операция объединения; "и" - операция пересечения;

"не" - операция взятия дополнения;

"очень" - операция концентрирования.

Теперь, имея лишь небольшой набор первичных термов, можно аналитически записывать достаточно сложные лингвистические конструкции. Рассмотрим, например, лингвистическую переменную "ВЕС" на множестве людей. В качестве первичных выберем термы "легкий" T 1 и "тяжелый" T 2 . Тогда терм "не очень легкий и не очень тяжелый" можно записать так: ù(T 1 2) Ç ù(T 2 2), а "очень-очень-очень тяжелый" - (T 2 3) и т.д.

Пусть смысл лингвистического значения "легкий" определяется выражением

M (легкий)

а смысл значения “тяжелый” - выражением:

M (тяжелый)

Тогда значение “не очень тяжелый“ определяется выражением

M (не очень тяжелый)

С.Д.Штовба "Введение в теорию нечетких множеств и нечеткую логику"

1.7. Нечеткая логика

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

1.7.1. Лингвистические переменные

Напомним, что лингвистической называется переменная, принимающая значения из множества слов или словосочетаний некоторого естественного или искусственного языка. Множество допустимых значений лингвистической переменной называется терм-множеством. Задание значения переменной словами, без использования чисел, для человека более естественно. Ежедневно мы принимаем решения на основе лингвистической информации типа: "очень высокая температура"; "длительная поездка"; "быстрый ответ"; "красивый букет"; "гармоничный вкус" и т.п. Психологи установили, что в человеческом мозге почти вся числовая информация вербально перекодируется и хранится в виде лингвистических термов. Понятие лингвистической переменной играет важную роль в нечетком логическом выводе и в принятии решений на основе приближенных рассуждений. Формально, лингвистическая переменная определяется следующим образом.

Определение 44. Лингвистическая переменная задается пятеркой , где - ; имя переменной; - ; терм-множество, каждый элемент которого (терм) представляется как нечеткое множество на универсальном множестве ; - ; синтаксические правила, часто в виде грамматики, порождающие название термов; - ; семантические правила, задающие функции принадлежности нечетких термов, порожденных синтаксическими правилами .

Пример 9. Рассмотрим лингвистическую переменную с именем "температура в комнате". Тогда оставшуюся четверку можно определить так:

Таблица 4 - Правила расчета функций принадлежности

Графики функций принадлежности термов "холодно", "не очень холодно", "комфортно", "более-менее комфортно", "жарко" и "очень жарко" лингвистической переменной "температура в комнате" показаны на рис. 13.

Рисунок 13 - Лингвистическая переменная "температура в комнате"

1.7.2. Нечеткая истинность

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

Для задания нечеткой истинности Заде предложил такие функции принадлежности термов "истинно" и "ложно":

;

где - ; параметр, определяющий носители нечетких множеств "истинно" и "ложно". Для нечеткого множества "истинно" носителем будет интервал , а для нечеткого множества ложно" - ; .

Функции принадлежности нечетких термов "истинно" и "ложно" изображены на рис. 14. Они построены при значении параметра . Как видно, графики функций принадлежности термов "истинно" и "ложно" представляют собой зеркальные отображения.

Рисунок 14 - Лингвистическая переменная "истинность" по Заде

Для задания нечеткой истинности Балдвин предложил такие функции принадлежности нечетких "истинно" и "ложно":

Квантификаторы "более-менее" и "очень" часто применяют к нечеткими множествами "истинно" и "ложно", получая таким образом термы "очень ложно", "более-менее ложно", "более-менее истинно", "очень истинно", "очень, очень истинно", "очень, очень ложно" и т.п. Функции принадлежности новых термов получают, выполняя операции концентрации и растяжения нечетких множеств "истинно" и "ложно". Операция концентрации соответствует возведению функции принадлежности в квадрат, а операция растяжения - возведению в степень ½. Следовательно, функции принадлежности термов "очень, очень ложно", "очень ложно", "более-менее ложно", "более-менее истинно", "истинно", "очень истинно" и "очень, очень истинно" задаются так:

Графики функций принадлежности этих термов показаны на рис. 15.

Рисунок 15 - Лингвистическая переменная "истинность" по Балдвину

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

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

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

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

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

;

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

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

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

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

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

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

неопределенно

неопределенно

неопределенно

неопределенно

неопределенно

неопределенно

неопределенно

неопределенно

очень истинно

очень истинно

более-менее истинно

более-менее истинно

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Напомним, что лингвистической называется переменная, принимающая значения из множества слов или словосочетаний некоторого естественного или искусственного языка. Множество допустимых значений лингвистической переменной называется терм-множеством. Задание значения переменной словами, без использования чисел, для человека более естественно. Ежедневно мы принимаем решения на основе лингвистической информации типа: "очень высокая температура"; "длительная поездка"; "быстрый ответ"; "красивый букет"; "гармоничный вкус" и т.п. Психологи установили, что в человеческом мозге почти вся числовая информация вербально перекодируется и хранится в виде лингвистических термов. Понятие лингвистической переменной играет важную роль в нечетком логическом выводе и в принятии решений на основе приближенных рассуждений. Формально, лингвистическая переменная определяется следующим образом.

Определение 44. Лингвистическая переменная задается пятеркой , где - ; имя переменной; - ; терм-множество, каждый элемент которого (терм) представляется как нечеткое множество на универсальном множестве ; - ; синтаксические правила, часто в виде грамматики, порождающие название термов; - ; семантические правила, задающие функции принадлежности нечетких термов, порожденных синтаксическими правилами .

Пример 9. Рассмотрим лингвистическую переменную с именем "температура в комнате". Тогда оставшуюся четверку можно определить так:

Таблица 4 - Правила расчета функций принадлежности

Графики функций принадлежности термов "холодно", "не очень холодно", "комфортно", "более-менее комфортно", "жарко" и "очень жарко" лингвистической переменной "температура в комнате" показаны на рис. 13.

Рисунок 13 - Лингвистическая переменная "температура в комнате"

Нечеткая истинность

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

Для задания нечеткой истинности Заде предложил такие функции принадлежности термов "истинно" и "ложно":

;

где - ; параметр, определяющий носители нечетких множеств "истинно" и "ложно". Для нечеткого множества "истинно" носителем будет интервал , а для нечеткого множества ложно" - ; .

Функции принадлежности нечетких термов "истинно" и "ложно" изображены на рис. 14. Они построены при значении параметра . Как видно, графики функций принадлежности термов "истинно" и "ложно" представляют собой зеркальные отображения.

Рисунок 14 - Лингвистическая переменная "истинность" по Заде

Для задания нечеткой истинности Балдвин предложил такие функции принадлежности нечетких "истинно" и "ложно":

Квантификаторы "более-менее" и "очень" часто применяют к нечеткими множествами "истинно" и "ложно", получая таким образом термы "очень ложно", "более-менее ложно", "более-менее истинно", "очень истинно", "очень, очень истинно", "очень, очень ложно" и т.п. Функции принадлежности новых термов получают, выполняя операции концентрации и растяжения нечетких множеств "истинно" и "ложно". Операция концентрации соответствует возведению функции принадлежности в квадрат, а операция растяжения - возведению в степень ½. Следовательно, функции принадлежности термов "очень, очень ложно", "очень ложно", "более-менее ложно", "более-менее истинно", "истинно", "очень истинно" и "очень, очень истинно" задаются так.