Лингвистическая нечеткая логика. Раздел Fuzzy Logic Toolbox. С.Д.Штовба. Введение в теорию нечетких множеств и нечеткую логику

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

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

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

При неформальном обсуждении понятия лингвистической переменной в §1 мы сформулировали, что лингвистическая переменная отличается от числовой переменной тем, что ее значениями являются не числа, а слова или предложения в естественном или формальном языке. Поскольку слова в общем менее точны, чем числа, понятие лингвистической переменной дает возможность приближенно описывать явления, которые настолько сложны, что не поддаются описанию в общепринятых количественных терминах. В частности, нечеткое множество, представляющее собой ограничение, связанное со значениями лингвистической переменной, можно рассматривать как совокупную характеристику различных подклассов элементов универсального множества. В этом смысле роль нечетких множеств аналогична той роли, которую играют слова и предложения в естественном языке. Например, прилагательное красивый отражает комплекс характеристик внешности индивидуума. Это прилагательное можно также рассматривать как название нечеткого множества, представляющего собой ограничение, обусловленное нечеткой переменной красивый . С этой точки зрения термины очень красивый , некрасивый , чрезвычайно красивый , вполне красивый и т. д. - названия нечетких множеств, образованных путем действия модификаторов очень , не , чрезвычайно , вполне и т. п. на нечеткое множество красивый . В сущности эти нечеткие множества вместе с нечетким множеством красивый играют роль значений лингвистической переменной Внешность .

Важным аспектом понятия лингвистической переменной является то, что эта переменная более высокого порядка, чем нечеткая переменная, в том смысле, что значениями лингвистической переменной являются нечеткие переменные. Например, значениями лингвистической переменной Возраст могут быть: молодой, немолодой, старый, очень старый, немолодой и не старый, вполне старый и т. п. Каждое из этих значений является названием нечеткой переменной. Если - название нечеткой переменной, то ограничение, обусловленное этим названием, можно интерпретировать как смысл нечеткой переменной . Так, если ограничение, обусловленное нечеткой переменной старый , представляет собой нечеткое подмножество множества вида

, , (5.1)

Другой важный аспект понятия лингвистической переменной состоит в том, что лингвистической переменной соответствуют два правила: (1) синтаксическое правило, которое может быть задано в форме грамматики, порождающей названия значений переменной; (2) семантическое правило, которое определяет алгоритмическую процедуру для вычисления смысла каждого значения. Эти правила составляют существенную часть описания структуры лингвистической переменной.

Рис. 5.1. Функции совместимости для значений и.

Поскольку лингвистическая переменная - переменная более высокого порядка, чем нечеткая переменная, то и ее описание должно быть сложнее данного в определении 4.1 описания нечеткой переменной.

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

(5.2)

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

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

, (5.3)

имея в виду, что и, следовательно, можно рассматривать как нечеткое подмножество множества , имеющее название . Связь между ее лингвистическим значением и базовой переменной иллюстрируется на рис. 1.3.

Замечание 5.2. Для того чтобы избежать большого количества символов, целесообразно присваивать несколько значений некоторым символам, встречающимся в определении 5.1, полагаясь при этом на контекст для разрешения возможных неопределенностей. В частности:

а) Символ мы будем часто использовать для обозначения как названия самой переменной, так и общего названия ее значений. Аналогично, будет обозначать как общее название значений переменной, так и название самой переменной.

б) Будем пользоваться одним и тем же символом для обозначения множества и его названия. Так, символы ,и будут взаимозаменяемыми, хотя, строго говоря, как название (или ) не то же самое, что нечеткое множество . Другими словами, когда мы говорим, что терм (например, молодой) есть значение переменной (например, Возраст ), то имеем в виду, что действительное значение есть , а - просто название этого значения.

Пример 5.3. Возраст , т. е. , и пусть . Лингвистическим значением переменной Возраст может быть, например, старый , причем значение старый является атомарным термом. Другим значением может быть очень старый , т. е. составной терм, в котором старый - атомарный терм, а очень и старый - подтермы.

Значение более или менее молодой переменной Возраст - составной терм, в котором терм молодой - атомарный, а более или менее - подтерм. Терм-множество переменной Возраст можно записать следующим образом:

(5.4)

Здесь каждый терм является названием нечеткой переменной в универсальном множестве . Ограничение, обусловленное термом, скажем , есть смысл лингвистического значения старый . Таким образом, если определяется согласно (5.1), то смысл лингвистического значения старый определяется выражением

, (5.5)

или проще (см. замечание 5.2)

. (5.6)

Аналогичным образом смысл такого лингвистического значения, как очень старый , можно выразить так (см. рис. 5.1):

Уравнение назначения в случае лингвистической переменной принимает вид

откуда следует, что смысл, назначенный терму , выражается равенством

Другими словами, смысл терма получается путем применения семантического правила к значению терма , назначенному согласно правой части уравнения (5.8). Более того, из определения (5.3) следует, что идентично ограничению, обусловленному термом .

Замечание 5.4. В соответствии с замечанием 5.2(а) уравнение назначения будет обычно записываться в виде

, (5.10)

понимая это так, что старый - ограничение на значения базовой переменной , определяемое (5.1), - назначается лингвистической переменной Возраст . Важно отметить, что знак равенства в (5.10) не обозначает симметрического отношения, как в случае арифметического равенства. Так, бессмысленно записывать (5.11) в виде

Чтобы проиллюстрировать понятие лингвистической переменной, мы рассмотрим сначала очень простой пример, в котором содержит лишь небольшое число термов, а синтаксическое и семантическое правила тривиальны.

Пример 5.5. Рассмотрим лингвистическую переменную Число , конечное терм-множество которой имеет вид

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

Предполагается, что эти ограничения - нечеткие подмножества множества и определяются они следующим образом:

, (5.15) с бинарным ограничением приближенно равны.

Чтобы назначить значение, скажем, приближенно равны лингвистической переменной , мы напишем

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

Рис. 5.2. Аналогия с саквояжем для лингвистической переменной

Замечание 5.7. Используя аналогию с саквояжем (см. замечание 4.3), лингвистическую переменную в смысле определения 5.1 можно уподобить жесткому саквояжу, в который можно помещать мягкие саквояжи, как показано на рис. 5.2. Мягкий саквояж соответствует нечеткой переменной, которая является лингвистическим значением переменной , а играет роль ярлыка на мягком саквояже.

Основополагающим математическим понятием является понятие переменной. В практических приложениях теории нечётких множеств обычно употребляют нечёткие и лингвистические переменные.

Нечёткие и лингвистические переменные используются при естественно-языковом описании различных объектов и явлений, при формализации процессов и принятии решений в трудноформализуемых ситуациях.

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

Рассмотрим способность человека оценивать понятие «Температура». Во многих случаях при оценке значений температуры люди оперируют не числовой характеристикой, а нечётко выраженными понятиями, такими, как «низкая», «средняя», «нормальная», «высокая» и др. При этом, если речь идет об оценке температуры, например, в печах определенного типа, то человек-оператор легче ориентируется по качественной информации, такой, как «нормальная температура», чем по конкретному числовому значению.

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

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

Итак, нечёткая переменная характеризуется тройкой:

< ,Х ,С  >,

где – название нечёткой переменной;

Х – универсальное множество (конечное или бесконечное), то есть область определения нечёткой переменной;Х = {х };

С  = { х (х ) } – нечёткое подмножество множестваХ , представляющее собой нечёткое ограничение на значения переменнойх .

Пример 3.19. Пусть универсальное множествоХ = описывает область определения параметра – «Температура в реакторе». Этот параметр характеризует качество протекающего технологического процесса. Нечёткое множество, описывающее нечёткую переменную «Нормальная» (= «Нормальная»), человеком-оператором может быть представлено следующим образом:

С  = {(4800), (4810,3), (4820,4), (4830,5), (4841), (4851), (4861), (4870,5), (4880,4), (4890,3), (4900)}.

Очевидно, что при таком определении нечёткого множества С  для человека-оператора, управляющего температурой в реакторе, понятию «Нормальная температура» полностью соответствуют значения температуры от 484 до 486, в меньшей степени – значения температуры от 481 до 483 и от 487 до 489. Значения температуры в реакторе, которые меньше 481 и больше 489, понятием «Нормальная» охарактеризованы быть не могут, то есть не являются элементами носителя данного нечёткого множества.

Перейдем к рассмотрению лингвистической переменной, являющейся переменной более высокого порядка.

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

Лингвистическая переменная характеризуется набором:

< ,Т  ,Х ,G, М >,

где – название лингвистической переменной;

Т β – терм-множество переменной, т. е. множество её значений, представляющих собой наименования нечётких переменных, областью определения каждой из которых является множествоХ с базовой переменнойх ;

Х – универсальное множество;

G– синтаксическое правило, порождающее термы множестваТ β ();

М – семантическое правило, ставящее в соответствия каждой нечёткой переменной Т β нечёткое множествоС  , причёмС  обозначает нечёткое подмножество множестваХ .

В более упрощенном виде лингвистическая переменная описывается кортежем: < ,Т β ,Х >.

Пример 3.20 . Значениями лингвистической переменной «Качество» (β= «Качество») могут быть: «Низкое», «Среднее», «Невысокое», «Высокое», «Очень высокое» и т.п. Каждое из этих значений является названием нечёткой переменной. Именно поэтому лингвистическая переменная считается переменной более высокого порядка.

Обсудим все составляющие понятия «лингвистическая переменная».

Обратимся к примеру 3.20. Прилагательные «Низкое», «Среднее» и т.д., определяющие лингвистическую переменную «Качество», отражают некоторый комплекс характеристик качества. Каждое из этих значений представляет собой ограничение, обусловленное названием и способом задания соответствующего нечёткого множества. С этой точки зрения определения качества «Очень высокое», «Чрезвычайно высокое», «Не очень высокое» и т.д. – названия нечётких множеств, образованных путем действия модификаторов «очень», «чрезвычайно», «не очень» на нечёткое множество «Высокое».

Совокупность значений лингвистической переменной составляет терм-множество этой переменной. Этим множеством может быть, вообще говоря, бесконечное число элементов.

Пример 3.21. Рассмотрим способы описания терм-множества лингвистической переменной «Качество»:

Т β (Качество) = {«Очень низкое», «Низкое», «Не низкое», «Среднее», «Скорее высокое, чем среднее», «Высокое», «Очень высокое»};

Т β (Качество) = «Очень низкое»«Низкое»«Не низкое»…«Очень высокое».

Терм, название которого состоит из одного слова или нескольких слов, всегда фигурирующих вместе друг другом, называется атомарным термом . Термы, состоящие из более одного атомарных термов, называютсясоставными термами. Формирование составного терма путём приписывания друг к другу цепочек-компонент называетсяконкатенацией , а приписываемые компоненты являютсяподтермам и составного терма.

При необходимости явно указать на то, что терм был порожден грамматикой G(синтаксическим правиломG), будем писать:

Т β * =Т β G(Т β),

где Т β * – составной терм.

Что же касается семантического правила М, то оно может быть выполнено с использованием одной из типовых операций над нечёткими множествами, рассмотренных в главе 3.2. Наиболее часто используются следующие модификаторы и соответствующие им операции над нечёткими множествами:

    «не» – дополнение;

    «очень» – концентрация;

    «более или менее» – растяжение;

    «и» – пересечение;

    «или» – объединение.

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

Лингвистической переменной называется переменная, заданная на некоторой шкале (базовой шкале) и принимающая значения, являющиеся словами и словосочетаниями естественного языка. Значения лингвистической переменной описываются нечёткими переменными.

К названию лингвистической переменной и названиям её термов не предъявляется особых требований. С этими величинами, за которыми скрыт математический аппарат нечётких множеств, непосредственно работает эксперт, описывающий систему качественными или нечёткими понятиями. Однако к функциям, аппроксимирующим эти нечёткие понятия, а также к их взаимному расположению, предъявляются определённые требования.

Выделим ряд ограничений, которым должны удовлетворять термы лингвистических переменных. Пусть Т β – базовое терм-множество лингвистической переменной <,Т β ,Х >,Т β = {Т i },i = 1, 2, …,m . Каждому термуТ i Т β соответствует нечёткая переменная <Т i ,Х ,С i >.

    Прежде всего, базовое терм-множество Т β должно бытьупорядочено в соответствии с выражением:

(Т i Т β)(Т j Т β)(i j )(х S С i )(y S С j )(x y ), (3.36)

где S С i – носитель нечёткого множества:

S С i = {x X   Sc i (x )  0 },

то есть это множество строгого уровня = 0

Выражение (3.36) означает, что терм, который имеет носитель, расположенный левее, получает меньший номер.

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

Т 1 (х min) = 1, Tn (x max) = 1, (3.37)

где n – количество термов в базовом терм-множестве,х min иx max – границы универсального множестваХ , на котором определена лингвистическая переменная.

В соответствии с выражением (3.37) функции принадлежности термов Т 1 иT n должны быть аммодальными.

    Следующее условие может быть определено как полнота и согласованность :

(Т i Т β)(0  sup  C i C (i +1) (x )  1). (3.38)

Это выражение означает, что должно соблюдаться естественное разграничение понятий, когда одна и та же точка универсального множества Х не может одновременно принадлежать (со степенью уверенности 1) двум и более термам. С другой стороны, каждое значение из области определения лингвистической переменной должно описываться хотя бы одним термом.

    Очередное условие – нормальность – определяется следующим выражением:

(Т i Т β)(х Х : C i (x ) = 1). (3.39)

Каждое понятие в лингвистической переменной должно иметь хотя бы один эталонный или типичный объект.

    Последнее условие – ограниченность :

(β)(х 1 R )(x 2 R )((x X )(x 1 x x 2)), (3.40)

где R – действительная ось.

Область определения Х должна быть ограничена конечным множеством точек, так как в любой задаче анализа и принятия решений существуют реальные ограничения на числовые значения параметров объектов.

На рис. 3.14 представлена лингвистическая переменная β с числом термов, равным 5, и проиллюстрировано невыполнение перечисленных условий и ограничений.

Рис. 3.14.Ограничения, накладываемые на базовые термы лингвистической переменной

Итак, при формировании базового терм-множества лингвистической переменной β были допущены следующие ошибки:

    На границах универсального множества Х значения функций принадлежности термов, обозначающих минимальное и максимальное значение лингвистической переменной β, должны быть единичными. На рис. 3.14 термТ 1 имеет неправильный вид (унимодальный), а термТ 6 – правильный (аммодальный).

    Запрещается существование в базовом терм-множестве T β пар термов типаТ 2 иТ 3 , так как отсутствует естественная ограниченность понятий, аппроксимируемых термами. Эти термы иллюстрируют невыполнение условия согласованности.

    Условие полноты нарушается парой термов Т 3 иТ 4 , так как участку Х не соответствует никакое понятие.

    В базовом терм-множестве запрещается наличие термов Т 5 , имеющихsup  C i (x )  1. Так как термы должны описываться нормированными функциями принадлежности, на рис. 3.14 нарушено условие нормальности.

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

Процесс формирования лингвистической переменной включает в себя следующие этапы :

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

    Построение числовой области определения лингвистической переменной.

    Выяснение схемы опроса экспертов и проведение опроса.

    Построение функций принадлежности для каждого терма лингвистической переменной.

На этапе 1 эксперт, формирующий лингвистическую переменную, задает количество термов множества Т β и названия соответствующих им нечётких переменных.

На этапе 2 описывается универсальное множество Х . Реализация этого этапа может сопровождаться рядом трудностей, вызванных типом лингвистической переменной. Так, например, вид универсального множества для лингвистической переменной «Температура в реакторе» очевиден – это будет некоторый интервал значений температуры, заданный на определенной температурной шкале, и значения температуры, определяющие границы интервала, также не вызовут у эксперта затруднений. Однако если требуется формализация понятия «Качество», которое определяется как «Высокое», «Среднее» или «Низкое», то возникает необходимость искусственно вводить числовое универсальное множествоХ R =(–; +), на котором будут определяться аппроксимируемые нечёткие понятия. Эта процедура позволит в дальнейшем использовать единые подходы для работы с лингвистическими переменными различных видов.

Этап 3 является ключевым при формировании лингвистической переменной. Выбранная на этом этапе схема проведения опроса эксперта (или экспертов) уже предполагает, что выбран и метод построения интересующих нас функций принадлежности.

Лингвистическая переменная отличается от числовой переменной тем, что ее значениями являются не числа, а слова или предложения в естественном или формальном языке. Поскольку слова в общем менее точны, чем числа, понятие лингвистической переменной дает возможность приближенно описывать явления, которые настолько сложны, что не поддаются описанию в общепринятых количественных терминах. В частности, нечеткое множество , которое представляет собой ограничение, связанное со значениями лингвистической переменной , можно рассматривать как совокупную характеристику различных подклассов элементов универсального множества . В этом смысле роль нечетких множеств аналогична той роли, которую играют слова и предложения в естественном языке. Например, прилагательное "КРАСИВЫЙ" отражает комплекс характеристик внешности индивидуума. Это прилагательное можно также рассматривать как название нечеткого множества , которое является ограничением, обусловленным нечеткой переменной "КРАСИВЫЙ". С этой точки зрения термины "ОЧЕНЬ КРАСИВЫЙ", "НЕКРАСИВЫЙ", "ЧЕРЕЗВЫЧАЙНО КРАСИВЫЙ", "ВПОЛНЕ КРАСИВЫЙ" и т.п. - названия нечетких множеств, образованных путем действия модификаторов "ОЧЕНЬ, НЕ, ЧЕРЕЗВЫЧАЙНО, ВПОЛНЕ" и т.п. на нечеткое множество "КРАСИВЫЙ". В сущности, эти нечеткие множества вместе с нечетким множеством "КРАСИВЫЙ" играют роль значений лингвистической переменной "ВНЕШНОСТЬ".

Важный аспект понятия лингвистической переменной состоит в том, что эта переменная более высокого порядка, чем нечеткая переменная , в том смысле, что значениями лингвистической переменной являются нечеткие переменные. Например, значениями лингвистической переменной "ВОЗРАСТ" могут быть: "МОЛОДОЙ, НЕМОЛОДОЙ, СТАРЫЙ, ОЧЕНЬ СТАРЫЙ, НЕ МОЛОДОЙ И НЕ СТАРЫЙ" и т.п. Каждое из этих значений является названием нечеткой переменной . Если - название нечеткой переменной, то ограничение, обусловленное этим названием, можно интерпретировать как смысл нечеткой переменной .

Другой важный аспект понятия лингвистической переменной состоит в том, что лингвистической переменной присущи два правила:

  1. Cинтаксическое, которое может быть задано в форме грамматики, порождающей название значений переменной;
  2. Cемантическое, которое определяет алгоритмическую процедуру для вычисления смысла каждого значения.

Определение . Лингвистическая переменная характеризуется набором свойств , в котором:

Название переменной;

Обозначает терм-множество переменной , т.е. множество названий лингвистических значений переменной , причем каждое из таких значений является нечеткой переменной со значениями из универсального множества с базовой переменной ;

Синтаксическое правило, порождающее названия значений переменной ;

Семантическое правило, которое ставит в соответствие каждой нечеткой переменной ее смысл , т.е. нечеткое подмножество универсального множества .

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

Пример . Рассмотрим лингвистическую переменную с именем "ТЕМПЕРАТУРА В КОМНАТЕ". Тогда оставшуюся четверку , можно определить так:

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

Нечеткая переменная характеризуется тройкой (α, X, А), где

α — наименование переменной;

X — универсальное множество (область определения α);

А — нечеткое множество на X, описывающее ограничения (т.е. μ A (x ) )на значения нечеткой переменной α.

Лингвистической переменной (ЛП) называется набор (β , Т, X , G, М), где

β — наименование лингвистической переменной;

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

G — синтаксическая процедура, позволяющая оперировать эле-ментами терм-множества T, в частности, генерировать новые тер-мы (значения). Множество T∪G(T), где G(T) — множество сгене-рированных термов, называется расширенным терм-множеством лингвистической переменной;

М — семантическая процедура, позволяющая превратить каж-дое новое значение лингвистической переменной, образуемое про-цедурой G, в нечеткую переменную, т.е. сформировать соответ-ствующее нечеткое множество.

Замечание. Чтобы избежать большого количества символов:

1) символ β используют как для названия самой переменной, так и для всех ее значений;

2) пользуются одним и тем же символом для обозначения не-четкого множества и его названия, например терм «Молодой», явля-ющийся значением лингвистической переменной β = «возраст», одновременно есть и нечеткое множество М («Молодой»).

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

Пример. Пусть эксперт определяет толщину выпускаемого изделия с помощью понятий «Малая толщина», «Средняя толщина» и «Большая толщина», при этом минимальная толщина равна 10 мм, а максималь-ная - 80 мм.

Формализация такого описания может быть проведена с помощью следующей лингвистической переменной (β , Т, X , G, М), где

β — толщина изделия;

Т — {«Малая толщина», «Средняя толщина», «Большая толщина»};

X — ;

G — процедура образования новых термов с помощью связок «и», «или» и модификаторов типа «очень», «не», «слегка» и т.п. Например: «Малая или средняя толщина», «Очень малая толщина» и т.д.;

М — процедура задания на X = нечетких подмножеств А 1 = «Малая толщина», А 2 = «Средняя толщина», A 3 = «Большая толщи-на», а также нечетких множеств для термов из G(Т) в соответствии с пра-вилами трансляции нечетких связок и модификаторов «и», «или», «не», «очень», «слегка» и других операций над нечеткими множествами вида: А В, A В, ̅ A , CONА = A 2 , DILА = А 0,5 и т. п.

Замечание. Наряду с рассмотренными выше базовыми значения-ми лингвистической переменной «Толщина» (Т = {«Малая толщина», «Средняя толщина», «Большая толщина»}) возможны значения, завися-щие от области определения X. В данном случае значения лингвистиче-ской переменной «Толщина изделия» могут быть определены как «около 20 мм», «около 50 мм», «около 70 мм», т.е. в виде нечетких чисел.

Терм-множество и расширенное терм-множество в условиях примера можно характеризовать функциями принадлежности, при-веденными на рис. 1.5 и 1.6.

Рис. 1.5. Функции принадлежности нечетких множеств: «Малая толщина» = А 1 , «Средняя толщина» = А 2 , «Большая толщина» = А 3

Рис. 1.6. Функция принадлежности нечеткого множества «Малая или средняя толщина» = A 1 ∪ А 2

Нечеткие числа

Нечеткие числа — нечеткие переменные, определенные на чи-словой оси, т.е. нечеткое число определяется как нечеткое множе-ство А на множестве действительных чисел ℝс функцией при-надлежности μ А (х ) ϵ , где х — действительное число, т.е. х ϵ ℝ.

Нечеткое число А нормально, если тах μ А (x ) = 1; выпуклое, если для любых х у z выполняется

μ А (х) μ А (у ) ˄ μ A (z ).

Множество α -уровня нечеткого числа А определяется как

Аα = {x /μ α (x ) ≥ α }.

Подмножество S A ⊂ ℝ называется носителем нечеткого числа А, если

S A = { x A (x ) > 0 }.

Нечеткое число А унимодально, если условие μ А (х ) = 1 спра-ведливо только для одной точки действительной оси.

Выпуклое нечеткое число А называется нечетким нулем, если

μ А (0) = sup (μ A (x )).

Нечеткое число А положительно, если ∀x ϵ S A , х > 0 и отрицательно, если ∀х ϵ S A , х < 0.

Операции над нечеткими числами

Расширенные би-нарные арифметические операции (сложение, умножение и пр.) для нечетких чисел определяются через соответствующие опера-ции для четких чисел с использованием принципа обобщения сле-дующим образом.

Пусть А и В - нечеткие числа, и - нечеткая операция, соот-ветствующая произвольной алгебраической операции * над обыч-ными числами. Тогда (используя здесь и в дальнейшем обозначе-ния вместо вместо ) можно записать

Нечеткие числа (L-R)-Tипа

Нечеткие числа (L-R)-типа — это разновидность нечетких чисел специального вида, т.е. задаваемых по определенным правилам с целью снижения объема вычислений при операциях над ними.

Функции принадлежности нечетких чисел (L-R)-типa задаются с помощью невозрастающих на множестве неотрицательных дей-ствительных чисел функций действительного переменного L(x ) и R(x ), удовлетворяющих свойствам:

а) L(-x ) = L(x ), R(-x ) = R(x );

б) L(0) = R(0).

Очевидно, что к классу (L-R)-функций относятся функции, графики которых имеют вид, приведенный на рис. 1.7.

Рис. 1.7. Возможный вид (L-R)-функций

Примерами аналитического задания (L-R)-функций могут быть

Пусть L(у )и R(у )— функции (L-R)-типа (конкретные). Уни-модальное нечеткое число А с модой а (т. е. μ А (а ) = 1) с помощью L(у )и R(у ) задается следующим образом:

где а — мода; α > 0, β > 0 — левый и правый коэффициенты нечеткости.

Таким образом, при заданных L(у )и R(у ) нечеткое число (уни-модальное) задается тройкой А = (а , α, β ).

Толерантное нечеткое число задается, соответственно, четвер-кой параметров А = (a 1 , а 2 , α, β ), где а 1 иа 2 — границы толе-рантности, т.е. в промежутке [a 1 , а 2 ] значение функции принад-лежности равно 1.

Примеры графиков функций принадлежности нечетких чисел (L-R)-типа приведены на рис. 1.8.

Рис. 1.8. Примеры графиков функций принадлежности нечетких чисел (L-R)-типа

Отметим, что в конкретных ситуациях функции L(у), R(у), а также параметры а, β нечетких чисел (а , α, β ) и (a 1 , а 2 , α, β ) должны подбираться таким образом, чтобы результат операции (сложения, вычитания, деления и т.д.) был точно или приблизи-тельно равен нечеткому числу с теми же L(у) и R(у), а параметры α" и β" результата не выходили за рамки ограничений на эти па-раметры для исходных нечетких чисел, особенно если результат в дальнейшем будет участвовать в операциях.

Замечание . Решение задач математического моделирова-ния сложных систем с применением аппарата нечетких множеств требует выполнения большого объема операций над разного рода лингвистическими и другими нечеткими переменными. Для удоб-ства исполнения операций, а также для ввода-вывода и хранения данных, желательно работать с функциями принадлежности стан-дартного вида.

Нечеткие множества, которыми приходится оперировать в боль-шинстве задач, являются, как правило, унимодальными и нор-мальными. Одним из возможных методов аппроксимации унимо-дальных нечетких множеств является аппроксимация с помощью функций (L-R)-типа.

Примеры (L-R)-представлений некоторых лингвистических пе-ременных приведены в табл. 1.2.

Таблица 1.2. Возможное (L - R )-представление некоторых лингвистических переменных