Основы теории нечетких множеств

Лингвистическая нечеткая логика

Разбить на страницы
Показывать лекцию целиком

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

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

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

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

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

    $$X$$ — название переменной;

    $$T(X)$$ обозначает терм-множество переменной $$X$$, т.е. множество названий лингвистических значений переменной $$X$$, причем каждое из таких значений является нечеткой переменной $$\(\tilde x\)$$ со значениями из универсального множества $$U$$ с базовой переменной $$u$$ ;

    $$G$$ — синтаксическое правило, порождающее названия $$\(\tilde x\)$$ значений переменной $$X$$ ;

    $$M$$ — семантическое правило, которое ставит в соответствие каждой нечеткой переменной $$\(\tilde x\)$$ ее смысл $$\(M(\tilde x)\)$$, т.е. нечеткое подмножество $$\(M(\tilde x)\)$$ универсального множества $$U$$.

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

    Пример. Рассмотрим лингвистическую переменную с именем $$X=$$ "ТЕМПЕРАТУРА В КОМНАТЕ". Тогда оставшуюся четверку $$\left\langle T,U,G,M\right\rangle$$, можно определить так:

  • универсальное множество U=[5,35];
  • терм-множество T={"ХОЛОДНО", "КОМФОРТНО", "ЖАРКО"} с такими функциями принадлежностями:$$\begin{gathered} \mu''_{\t{холодно}''}(u)=\frac{1}{1+\left(\frac{u-10}{7}\right)^{12}},\\ \mu''_{\t{комфортно}'}(u)=\frac{1}{1+\left(\frac{u-20}{3}\right)^{6}},\\ \mu''_{\t{жарко}''}(u)=\frac{1}{1+\left(\frac{u-30}{6}\right)^{10}}; \end{gathered}$$
  • синтаксическое правило $$G$$, порождающее новые термы с использованием квантификаторов "и", "или", "не", "очень", "более-менее" и других;
  • $$M$$ будет являться процедурой, ставящей каждому новому терму в соответствие нечеткое множество из $$X$$ по правилам: если термы $$A$$ и $$B$$ имели функции принадлежности $$\mu_{A}(u)$$ и $$\mu_{B}(u)$$ соответственно, то новые термы будут иметь следующие функции принадлежности, заданные в таблице:
  • КвантификаторФункция принадлежности ( $$u\in U$$ )
    не $$t$$ $$1-\mu_{t}(u)$$
    очень $$t$$ $$(\mu_{t}(u))^{2}$$
    более-менее $$t$$ $$\sqrt{\mu_{t}(u)}$$
    $$A$$ или $$B$$ $$\max(\mu_{A}(x),\mu_{B}(x))$$
    $$A$$ и $$B$$ $$\min(\mu_{A}(x),\mu_{B}(x))$$

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

    (рис 9.1)

    В рассмотренном примере терм-множество состояло лишь из небольшого числа термов, так что целесообразно было просто перечислить элементы терм-множества $$T(X)$$ и установить прямое соответствие между каждым элементом и его смыслом. В более общем случае, число элементов в $$T(X)$$ может быть бесконечным, и тогда как для порождения элементов множества $$T(X)$$, так и для вычисления их смысла необходимо применять алгоритм, а не просто процедуру перечисления.

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

    Пример. В качестве очень простой иллюстрации той роли, которую играют синтаксическое и семантическое правила в случае структурированной лингвистической переменной, рассмотрим переменную РОСТ, терм-множество которой можно записать в виде:

    T(РОСТ)={ВЫСОКИЙ,ОЧЕНЬ ВЫСОКИЙ,ОЧЕНЬ-ОЧЕНЬ ВЫСОКИЙ,...}.

    M(ВЫСОКИЙ)= $$\( \left\{ {\begin{array}{*{20}c} {\left( {1 + \left( {\frac{{u - 60}} {5}} \right)^{ - 2} } \right)^{ - 1} ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}\;u \geqslant 60,} \\ {0,} {\t{\char226}\;\t{\char239}\t{\char240}\t{\char238}\t{\char242}\t{\char232}\t{\char226}\t{\char237}\t{\char238}\t{\char236}\;\t{\char241}\t{\char235}\t{\char243}\t{\char247}\t{\char224}\t{\char229}.} \\ \end{array} } \right. \)$$

    M(ОЧЕНЬ ВЫСОКИЙ)=(М(ВЫСОКИЙ))2, и т.д.

    Лингвистическую переменную будем называть булевой, если ее термы являются булевыми комбинациями переменных вида $$X_{p}$$ и $$h{X}$$, где $$h$$ — лингвистическая неопределенность, $$X_{p}$$ — атомарный терм.

    Пример. Пусть "ВОЗРАСТ" — булева лингвистическая переменная с терм-множеством вида

    Т(ВОЗРАСТ)={МОЛОДОЙ, НЕМОЛОДОЙ, СТАРЫЙ, НЕСТАРЫЙ, ОЧЕНЬ МОЛОДОЙ, НЕ МОЛОДОЙ И НЕ СТАРЫЙ, МОЛОДОЙ ИЛИ НЕ ОЧЕНЬ СТАРЫЙ, ...}.

    В этом примере имеется два атомарных терма — МОЛОДОЙ и СТАРЫЙ и одна неопределенность — ОЧЕНЬ.

    Если отождествлять союз И с операцией пересечения нечетких множеств, ИЛИ — с операцией объединения нечетких множеств, отрицание НЕ — с операцией взятия дополнения и модификатор ОЧЕНЬ — с операцией концентрирования, то данная переменная будет полностью структурирована.

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

    В каждодневных разговорах мы часто характеризуем степень истинности утверждения посредством таких выражений, как "очень верно", "совершенно верно", "более или менее верно", "ложно", "абсолютно ложно" и т.д. Сходство между этими выражениями и значениями лингвистической переменной наводит на мысль о том, что в ситуациях, когда истинность или ложность утверждения определены недостаточно четко, может оказаться целесообразным трактовать ИСТИННОСТЬ как лингвистическую переменную, для которой ИСТИНО и ЛОЖНО — лишь два атомарных терма в терм-множестве этой переменной. Такую переменную будем называть лингвистической переменной истинности, а ее значения — лингвистическими значениями истинности.

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

    В дальнейшем будем пользоваться термином "нечеткое высказывание" для обозначения утверждения вида " $$u$$ есть $$A$$ ", где $$u$$ — название предмета, а $$A$$ — название нечеткого подмножества универсального множества $$U$$, например, "Джон — молодой", "X — малый", "яблоко — красное" и т.п. Если интерпретировать $$A$$ как нечеткий предикат, то утверждение " $$u$$ есть $$A$$ " можно перефразировать как " $$u$$ имеет свойство $$A$$ ".

    Будем полагать, что высказыванию типа " $$u$$ есть $$A$$ " соответствуют два нечетких подмножества:

  • $$M(A)$$ — смысл $$A$$, т.е. нечеткое подмножество с названием $$A$$ универсального множества $$U$$ ;
  • Значение истинности утверждения " $$u$$ есть $$A$$ ", которое будем обозначать $$v(A)$$ и определять как возможно нечеткое подмножество универсального множества значений истинности $$V$$. Будем предполагать, что $$V=[0,1]$$.
  • Значение истинности, являющееся числом в $$[0,1]$$, например $$v(A)=0,8$$, будем называть числовым значением истинности. Числовые значения истинности играют роль значений базовой переменной для лингвистической переменной ИСТИННОСТЬ. Лингвистические значения переменной ИСТИННОСТЬ будем называть лингвистическими значениями истинности. Более точно будем предполагать, что ИСТИННОСТЬ — название булевой лингвистической переменной, для которой атомарным является терм ИСТИННЫЙ, а терм ЛОЖНЫЙ определяется не как отрицание терма ИСТИННЫЙ, а как его зеркальное отображение относительно точки $$0,5$$. Далее мы покажем, что такое определение значения ЛОЖНЫЙ является следствием его определения как значения истинности высказывания " $$u$$ есть не $$A$$ " при предположении, что значение истинности высказывания " $$u$$ есть $$A$$ " является ИСТИННЫМ.

    Предполагается, что смысл первичного терма ИСТИННЫЙ является нечетким подмножеством интервала $$V=[0,1]$$ с функцией принадлежности типа$$\mu _{\t{\char200}\t{\char209}\t{\char210}\t{\char200}\t{\char205}\t{\char205}\t{\char219}\t{\char201}} (u) = \left\{ {\begin{array}{*{20}c} {0,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {0 \leqslant u \leqslant a;} \\ {2\left( {\frac{{u - a}} {{1 - a}}} \right)^2 ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {a \leqslant u \leqslant \frac{{1 + a}} {2};} \\ {1 - 2\left( {\frac{{u - a}} {{1 - a}}} \right)^2 ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {\frac{{1 + a}} {2} \leqslant u \leqslant 1,} \end{array} } \right.$$ показанной на рис. 9.2

    (рис 9.2)

    Здесь точка $$\(u = \frac{{1 + a}}{2}\)$$ является точкой перехода. Соответственно, для терма ЛОЖНЫЙ имеем$$\mu _{\t{\char203}\t{\char206}\t{\char198}\t{\char205}\t{\char219}\t{\char201}} (u) = \mu _{\t{\char200}\t{\char209}\t{\char210}\t{\char200}\t{\char205}\t{\char205}\t{\char219}\t{\char201}} (1 - u).$$

    Логические связки в нечеткой лингвистической логике

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

    При рассмотрении этой проблемы полезно иметь в виду, что если $$A$$ — нечеткое подмножество универсального множества $$U$$ и $$u\in U$$, то два следующих утверждения эквивалентны:

  • Степень принадлежности элемента $$u$$ нечеткому множеству $$A$$ есть $$\mu_{A}(u)$$.
  • Значение истинности нечеткого предиката " $$u$$ есть $$A$$ " также равно $$\mu_{A}(u)$$.
  • Таким образом, вопрос "Что является значением истинности высказывания " $$u$$ есть $$A$$ " И " $$u$$ есть $$B$$ ", если заданы лингвистические значения истинности высказываний " $$u$$ есть $$A$$ " и " $$u$$ есть $$B$$ "?" аналогичен вопросу "Какова степень принадлежности элемента $$u$$ множеству $$A\cap B$$, если заданы степени принадлежности элемента $$u$$ множествам $$A$$ и $$B$$?".

    В частности, если $$v(A)$$ — точка в $$V=[0,1]$$, представляющая значение истинности высказывания " $$u$$ есть $$A$$ " (или просто $$A$$ ), где $$u$$ — элемент универсального множества $$U$$, то значение истинности высказывания " $$u$$ есть не $$A$$ " (или $$A$$ ) определяется выражением$$v(\neg A) = 1 - v(A).$$

    Предположим теперь, что $$v(A)$$ — не точка в $$[0,1]$$, нечеткое подмножество интервала $$[0,1]$$, представленное в виде$$v(A) = f(x),\quad \quad f:[0,1] \to [0,1].$$ Тогда получим$$v(\neg A) = f(1 - x).$$

    В частности, если значение истинности $$A$$ есть ИСТИННО, т.е. $$v(A)=$$ ИСТИННО, то значение истинности ЛОЖНО является значением истинности для высказывания $$\neg A$$.

    Замечание Следует отметить, что если ИСТИННЫЙ $$= f(x)$$, то функция $$1-f(x)$$ будет интерпретироваться термом НЕ ИСТИННЫЙ, а функция $$f(1-x)$$ — термом ЛОЖНЫЙ, что в принципе не одно и то же (см. рис. 9.2).

    То же самое относится к лингвистическим неопределенностям. Например, если ИСТИННЫЙ $$= f(x)$$, то значение терма ОЧЕНЬ ИСТИННЫЙ равно $$\(f^2 (x)\)$$ (см. рис. 9.3).

    С другой стороны, если значение истинности высказывания $$A$$ есть $$f(x)$$, то функция $$\(f(x^2 )\)$$ будет выражать значение истинности высказывания "очень $$A$$ ".

    (рис 9.3)

    Перейдем к бинарным связкам. Пусть $$v(A)$$ и $$v(B)$$ — лингвистические значения истинности высказываний $$A$$ и $$B$$ соответственно. В случае, когда $$v(A)$$ и $$v(B)$$ — точечные оценки, имеем:$$\begin{gathered} v(A) \wedge v(B) = v(A\ \tИ\ B), v(A) \vee v(B) = v(A\ \t{ИЛИ}\ B), \end{gathered}$$ где операции $$\wedge$$ и $$\vee$$ сводятся к операциям нечеткой логики (см. предыдущую лекцию).

    Если $$v(A)$$ и $$v(B)$$ — лингвистические значения истинности, заданные функциями$$v(A) = f(x),\quad v(B) = g(x),\quad \quad f,g:[0,1] \to [0,1],$$ то, согласно принципу обобщения, конъюнкция и дизъюнкция будут вычисляться по следующим формулам:$$\begin{gathered} v(A) \wedge v(B)\quad \Leftrightarrow \quad \mathop {\sup }\limits_{z = x \wedge y} \;\left( {\mu _A (x) \wedge \mu _B (y)} \right), \hfill \\ v(A) \vee v(B)\quad \Leftrightarrow \quad \mathop {\sup }\limits_{z = x \vee y} \;\left( {\mu _A (x) \wedge \mu _B (y)} \right). \hfill \\ \end{gathered}$$

    Замечание Важно четко понимать разницу между связкой И (ИЛИ) в терме, например, ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ и символом $$\wedge$$ ( $$\vee$$ ) в высказывании ИСТИННЫЙ $$\wedge$$ ( $$\vee$$ ) НЕ ИСТИННЫЙ. В первом случае, нас интересует смысл терма ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ, и связка И (ИЛИ) определяется отношением

    $$M$$ (ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ)=

    = $$M$$ (ИСТИННЫЙ) $$\cap$$ ( $$\cup$$ ) $$M$$ (НЕ ИСТИННЫЙ),

    где $$M(A)$$ — смысл терма $$A$$. Напротив, в случае терма ИСТИННЫЙ $$\wedge$$ ( $$\vee$$ ) НЕ ИСТИННЫЙ нас в основном интересует значение истинности высказывания ИСТИННЫЙ $$\left[\wedge\ (\vee)\right]$$ НЕ ИСТИННЫЙ, которое получается из равенства

    $$v$$ (A И (ИЛИ) B) = $$v(A) \wedge\ (\vee ) v(B)$$.

    Значения истинности НЕИЗВЕСТНО и НЕ ОПРЕДЕЛЕНО

    Среди возможных значений истинности лингвистической переменной ИСТИННОСТЬ два значения привлекают особое внимание, а именно пустое множество $$\oslash$$ и единичный интервал $$\gF=[0,1]$$, которые соответствуют наименьшему и наибольшему элементам (по отношению включения) решетки нечетких подмножеств интервала $$[0,1]$$. Важность именно этих значений истинности обусловлена тем, что их можно интерпретировать как значения истинности НЕ ОПРЕДЕЛЕНО и НЕИЗВЕСТНО соответственно.

    Важно четко понимать разницу между $$0$$ и $$\oslash$$. Когда мы говорим, что степень принадлежности точки $$u$$ множеству $$A$$ есть $$\oslash$$, мы имеем в виду, что функция принадлежности $$\(\mu _A :U \to [0,1]\)$$ не определена в точке $$u$$. Предположим, например, что $$U$$ — множество действительных чисел, а $$\(\mu _A\)$$ — функция, определенная на множестве целых чисел, причем $$\(\mu _A (u) = 1\)$$, если $$u$$ четное, и $$\(\mu _A (u) = 0\)$$, если $$u$$ нечетное. Тогда степень принадлежности числа $$u=1,5$$ множеству $$A$$ есть $$\oslash$$, а не $$0$$.

    С другой стороны, если бы $$\(\mu _A\)$$ была определена на множестве действительных чисел и $$\(\mu _A (u) = 1\)$$ тогда и только тогда, если $$u$$ — четное число, то степень принадлежности числа 1,5 множеству $$A$$ была бы равна $$0$$.

    Понятие значения истинности НЕИЗВЕСТНО в сочетании с принципом обобщения помогает уяснить некоторые понятия и соотношения обычных двухзначных и трехзначных логик. Эти логики можно рассматривать как вырожденные случаи нечеткой логики, в которой значением истинности НЕИЗВЕСТНО является весь единичный интервал, а не множество $$\{0,1\}$$.

    Страницы:

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

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

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

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

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

    $$X$$ — название переменной;

    $$T(X)$$ обозначает терм-множество переменной $$X$$, т.е. множество названий лингвистических значений переменной $$X$$, причем каждое из таких значений является нечеткой переменной $$\(\tilde x\)$$ со значениями из универсального множества $$U$$ с базовой переменной $$u$$ ;

    $$G$$ — синтаксическое правило, порождающее названия $$\(\tilde x\)$$ значений переменной $$X$$ ;

    $$M$$ — семантическое правило, которое ставит в соответствие каждой нечеткой переменной $$\(\tilde x\)$$ ее смысл $$\(M(\tilde x)\)$$, т.е. нечеткое подмножество $$\(M(\tilde x)\)$$ универсального множества $$U$$.

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

    Пример. Рассмотрим лингвистическую переменную с именем $$X=$$ "ТЕМПЕРАТУРА В КОМНАТЕ". Тогда оставшуюся четверку $$\left\langle T,U,G,M\right\rangle$$, можно определить так:

  • универсальное множество U=[5,35];
  • терм-множество T={"ХОЛОДНО", "КОМФОРТНО", "ЖАРКО"} с такими функциями принадлежностями:$$\begin{gathered} \mu''_{\t{холодно}''}(u)=\frac{1}{1+\left(\frac{u-10}{7}\right)^{12}},\\ \mu''_{\t{комфортно}'}(u)=\frac{1}{1+\left(\frac{u-20}{3}\right)^{6}},\\ \mu''_{\t{жарко}''}(u)=\frac{1}{1+\left(\frac{u-30}{6}\right)^{10}}; \end{gathered}$$
  • синтаксическое правило $$G$$, порождающее новые термы с использованием квантификаторов "и", "или", "не", "очень", "более-менее" и других;
  • $$M$$ будет являться процедурой, ставящей каждому новому терму в соответствие нечеткое множество из $$X$$ по правилам: если термы $$A$$ и $$B$$ имели функции принадлежности $$\mu_{A}(u)$$ и $$\mu_{B}(u)$$ соответственно, то новые термы будут иметь следующие функции принадлежности, заданные в таблице:
  • КвантификаторФункция принадлежности ( $$u\in U$$ )
    не $$t$$ $$1-\mu_{t}(u)$$
    очень $$t$$ $$(\mu_{t}(u))^{2}$$
    более-менее $$t$$ $$\sqrt{\mu_{t}(u)}$$
    $$A$$ или $$B$$ $$\max(\mu_{A}(x),\mu_{B}(x))$$
    $$A$$ и $$B$$ $$\min(\mu_{A}(x),\mu_{B}(x))$$

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

    (рис 9.1)

    В рассмотренном примере терм-множество состояло лишь из небольшого числа термов, так что целесообразно было просто перечислить элементы терм-множества $$T(X)$$ и установить прямое соответствие между каждым элементом и его смыслом. В более общем случае, число элементов в $$T(X)$$ может быть бесконечным, и тогда как для порождения элементов множества $$T(X)$$, так и для вычисления их смысла необходимо применять алгоритм, а не просто процедуру перечисления.

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

    Пример. В качестве очень простой иллюстрации той роли, которую играют синтаксическое и семантическое правила в случае структурированной лингвистической переменной, рассмотрим переменную РОСТ, терм-множество которой можно записать в виде:

    T(РОСТ)={ВЫСОКИЙ,ОЧЕНЬ ВЫСОКИЙ,ОЧЕНЬ-ОЧЕНЬ ВЫСОКИЙ,...}.

    M(ВЫСОКИЙ)= $$\( \left\{ {\begin{array}{*{20}c} {\left( {1 + \left( {\frac{{u - 60}} {5}} \right)^{ - 2} } \right)^{ - 1} ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}\;u \geqslant 60,} \\ {0,} {\t{\char226}\;\t{\char239}\t{\char240}\t{\char238}\t{\char242}\t{\char232}\t{\char226}\t{\char237}\t{\char238}\t{\char236}\;\t{\char241}\t{\char235}\t{\char243}\t{\char247}\t{\char224}\t{\char229}.} \\ \end{array} } \right. \)$$

    M(ОЧЕНЬ ВЫСОКИЙ)=(М(ВЫСОКИЙ))2, и т.д.

    Лингвистическую переменную будем называть булевой, если ее термы являются булевыми комбинациями переменных вида $$X_{p}$$ и $$h{X}$$, где $$h$$ — лингвистическая неопределенность, $$X_{p}$$ — атомарный терм.

    Пример. Пусть "ВОЗРАСТ" — булева лингвистическая переменная с терм-множеством вида

    Т(ВОЗРАСТ)={МОЛОДОЙ, НЕМОЛОДОЙ, СТАРЫЙ, НЕСТАРЫЙ, ОЧЕНЬ МОЛОДОЙ, НЕ МОЛОДОЙ И НЕ СТАРЫЙ, МОЛОДОЙ ИЛИ НЕ ОЧЕНЬ СТАРЫЙ, ...}.

    В этом примере имеется два атомарных терма — МОЛОДОЙ и СТАРЫЙ и одна неопределенность — ОЧЕНЬ.

    Если отождествлять союз И с операцией пересечения нечетких множеств, ИЛИ — с операцией объединения нечетких множеств, отрицание НЕ — с операцией взятия дополнения и модификатор ОЧЕНЬ — с операцией концентрирования, то данная переменная будет полностью структурирована.

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

    В каждодневных разговорах мы часто характеризуем степень истинности утверждения посредством таких выражений, как "очень верно", "совершенно верно", "более или менее верно", "ложно", "абсолютно ложно" и т.д. Сходство между этими выражениями и значениями лингвистической переменной наводит на мысль о том, что в ситуациях, когда истинность или ложность утверждения определены недостаточно четко, может оказаться целесообразным трактовать ИСТИННОСТЬ как лингвистическую переменную, для которой ИСТИНО и ЛОЖНО — лишь два атомарных терма в терм-множестве этой переменной. Такую переменную будем называть лингвистической переменной истинности, а ее значения — лингвистическими значениями истинности.

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

    В дальнейшем будем пользоваться термином "нечеткое высказывание" для обозначения утверждения вида " $$u$$ есть $$A$$ ", где $$u$$ — название предмета, а $$A$$ — название нечеткого подмножества универсального множества $$U$$, например, "Джон — молодой", "X — малый", "яблоко — красное" и т.п. Если интерпретировать $$A$$ как нечеткий предикат, то утверждение " $$u$$ есть $$A$$ " можно перефразировать как " $$u$$ имеет свойство $$A$$ ".

    Будем полагать, что высказыванию типа " $$u$$ есть $$A$$ " соответствуют два нечетких подмножества:

  • $$M(A)$$ — смысл $$A$$, т.е. нечеткое подмножество с названием $$A$$ универсального множества $$U$$ ;
  • Значение истинности утверждения " $$u$$ есть $$A$$ ", которое будем обозначать $$v(A)$$ и определять как возможно нечеткое подмножество универсального множества значений истинности $$V$$. Будем предполагать, что $$V=[0,1]$$.
  • Значение истинности, являющееся числом в $$[0,1]$$, например $$v(A)=0,8$$, будем называть числовым значением истинности. Числовые значения истинности играют роль значений базовой переменной для лингвистической переменной ИСТИННОСТЬ. Лингвистические значения переменной ИСТИННОСТЬ будем называть лингвистическими значениями истинности. Более точно будем предполагать, что ИСТИННОСТЬ — название булевой лингвистической переменной, для которой атомарным является терм ИСТИННЫЙ, а терм ЛОЖНЫЙ определяется не как отрицание терма ИСТИННЫЙ, а как его зеркальное отображение относительно точки $$0,5$$. Далее мы покажем, что такое определение значения ЛОЖНЫЙ является следствием его определения как значения истинности высказывания " $$u$$ есть не $$A$$ " при предположении, что значение истинности высказывания " $$u$$ есть $$A$$ " является ИСТИННЫМ.

    Предполагается, что смысл первичного терма ИСТИННЫЙ является нечетким подмножеством интервала $$V=[0,1]$$ с функцией принадлежности типа$$\mu _{\t{\char200}\t{\char209}\t{\char210}\t{\char200}\t{\char205}\t{\char205}\t{\char219}\t{\char201}} (u) = \left\{ {\begin{array}{*{20}c} {0,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {0 \leqslant u \leqslant a;} \\ {2\left( {\frac{{u - a}} {{1 - a}}} \right)^2 ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {a \leqslant u \leqslant \frac{{1 + a}} {2};} \\ {1 - 2\left( {\frac{{u - a}} {{1 - a}}} \right)^2 ,} {\t{\char229}\t{\char241}\t{\char235}\t{\char232}} {\frac{{1 + a}} {2} \leqslant u \leqslant 1,} \end{array} } \right.$$ показанной на рис. 9.2

    (рис 9.2)

    Здесь точка $$\(u = \frac{{1 + a}}{2}\)$$ является точкой перехода. Соответственно, для терма ЛОЖНЫЙ имеем$$\mu _{\t{\char203}\t{\char206}\t{\char198}\t{\char205}\t{\char219}\t{\char201}} (u) = \mu _{\t{\char200}\t{\char209}\t{\char210}\t{\char200}\t{\char205}\t{\char205}\t{\char219}\t{\char201}} (1 - u).$$

    Логические связки в нечеткой лингвистической логике

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

    При рассмотрении этой проблемы полезно иметь в виду, что если $$A$$ — нечеткое подмножество универсального множества $$U$$ и $$u\in U$$, то два следующих утверждения эквивалентны:

  • Степень принадлежности элемента $$u$$ нечеткому множеству $$A$$ есть $$\mu_{A}(u)$$.
  • Значение истинности нечеткого предиката " $$u$$ есть $$A$$ " также равно $$\mu_{A}(u)$$.
  • Таким образом, вопрос "Что является значением истинности высказывания " $$u$$ есть $$A$$ " И " $$u$$ есть $$B$$ ", если заданы лингвистические значения истинности высказываний " $$u$$ есть $$A$$ " и " $$u$$ есть $$B$$ "?" аналогичен вопросу "Какова степень принадлежности элемента $$u$$ множеству $$A\cap B$$, если заданы степени принадлежности элемента $$u$$ множествам $$A$$ и $$B$$?".

    В частности, если $$v(A)$$ — точка в $$V=[0,1]$$, представляющая значение истинности высказывания " $$u$$ есть $$A$$ " (или просто $$A$$ ), где $$u$$ — элемент универсального множества $$U$$, то значение истинности высказывания " $$u$$ есть не $$A$$ " (или $$A$$ ) определяется выражением$$v(\neg A) = 1 - v(A).$$

    Предположим теперь, что $$v(A)$$ — не точка в $$[0,1]$$, нечеткое подмножество интервала $$[0,1]$$, представленное в виде$$v(A) = f(x),\quad \quad f:[0,1] \to [0,1].$$ Тогда получим$$v(\neg A) = f(1 - x).$$

    В частности, если значение истинности $$A$$ есть ИСТИННО, т.е. $$v(A)=$$ ИСТИННО, то значение истинности ЛОЖНО является значением истинности для высказывания $$\neg A$$.

    Замечание Следует отметить, что если ИСТИННЫЙ $$= f(x)$$, то функция $$1-f(x)$$ будет интерпретироваться термом НЕ ИСТИННЫЙ, а функция $$f(1-x)$$ — термом ЛОЖНЫЙ, что в принципе не одно и то же (см. рис. 9.2).

    То же самое относится к лингвистическим неопределенностям. Например, если ИСТИННЫЙ $$= f(x)$$, то значение терма ОЧЕНЬ ИСТИННЫЙ равно $$\(f^2 (x)\)$$ (см. рис. 9.3).

    С другой стороны, если значение истинности высказывания $$A$$ есть $$f(x)$$, то функция $$\(f(x^2 )\)$$ будет выражать значение истинности высказывания "очень $$A$$ ".

    (рис 9.3)

    Перейдем к бинарным связкам. Пусть $$v(A)$$ и $$v(B)$$ — лингвистические значения истинности высказываний $$A$$ и $$B$$ соответственно. В случае, когда $$v(A)$$ и $$v(B)$$ — точечные оценки, имеем:$$\begin{gathered} v(A) \wedge v(B) = v(A\ \tИ\ B), v(A) \vee v(B) = v(A\ \t{ИЛИ}\ B), \end{gathered}$$ где операции $$\wedge$$ и $$\vee$$ сводятся к операциям нечеткой логики (см. предыдущую лекцию).

    Если $$v(A)$$ и $$v(B)$$ — лингвистические значения истинности, заданные функциями$$v(A) = f(x),\quad v(B) = g(x),\quad \quad f,g:[0,1] \to [0,1],$$ то, согласно принципу обобщения, конъюнкция и дизъюнкция будут вычисляться по следующим формулам:$$\begin{gathered} v(A) \wedge v(B)\quad \Leftrightarrow \quad \mathop {\sup }\limits_{z = x \wedge y} \;\left( {\mu _A (x) \wedge \mu _B (y)} \right), \hfill \\ v(A) \vee v(B)\quad \Leftrightarrow \quad \mathop {\sup }\limits_{z = x \vee y} \;\left( {\mu _A (x) \wedge \mu _B (y)} \right). \hfill \\ \end{gathered}$$

    Замечание Важно четко понимать разницу между связкой И (ИЛИ) в терме, например, ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ и символом $$\wedge$$ ( $$\vee$$ ) в высказывании ИСТИННЫЙ $$\wedge$$ ( $$\vee$$ ) НЕ ИСТИННЫЙ. В первом случае, нас интересует смысл терма ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ, и связка И (ИЛИ) определяется отношением

    $$M$$ (ИСТИННЫЙ И (ИЛИ) НЕ ИСТИННЫЙ)=

    = $$M$$ (ИСТИННЫЙ) $$\cap$$ ( $$\cup$$ ) $$M$$ (НЕ ИСТИННЫЙ),

    где $$M(A)$$ — смысл терма $$A$$. Напротив, в случае терма ИСТИННЫЙ $$\wedge$$ ( $$\vee$$ ) НЕ ИСТИННЫЙ нас в основном интересует значение истинности высказывания ИСТИННЫЙ $$\left[\wedge\ (\vee)\right]$$ НЕ ИСТИННЫЙ, которое получается из равенства

    $$v$$ (A И (ИЛИ) B) = $$v(A) \wedge\ (\vee ) v(B)$$.

    Значения истинности НЕИЗВЕСТНО и НЕ ОПРЕДЕЛЕНО

    Среди возможных значений истинности лингвистической переменной ИСТИННОСТЬ два значения привлекают особое внимание, а именно пустое множество $$\oslash$$ и единичный интервал $$\gF=[0,1]$$, которые соответствуют наименьшему и наибольшему элементам (по отношению включения) решетки нечетких подмножеств интервала $$[0,1]$$. Важность именно этих значений истинности обусловлена тем, что их можно интерпретировать как значения истинности НЕ ОПРЕДЕЛЕНО и НЕИЗВЕСТНО соответственно.

    Важно четко понимать разницу между $$0$$ и $$\oslash$$. Когда мы говорим, что степень принадлежности точки $$u$$ множеству $$A$$ есть $$\oslash$$, мы имеем в виду, что функция принадлежности $$\(\mu _A :U \to [0,1]\)$$ не определена в точке $$u$$. Предположим, например, что $$U$$ — множество действительных чисел, а $$\(\mu _A\)$$ — функция, определенная на множестве целых чисел, причем $$\(\mu _A (u) = 1\)$$, если $$u$$ четное, и $$\(\mu _A (u) = 0\)$$, если $$u$$ нечетное. Тогда степень принадлежности числа $$u=1,5$$ множеству $$A$$ есть $$\oslash$$, а не $$0$$.

    С другой стороны, если бы $$\(\mu _A\)$$ была определена на множестве действительных чисел и $$\(\mu _A (u) = 1\)$$ тогда и только тогда, если $$u$$ — четное число, то степень принадлежности числа 1,5 множеству $$A$$ была бы равна $$0$$.

    Понятие значения истинности НЕИЗВЕСТНО в сочетании с принципом обобщения помогает уяснить некоторые понятия и соотношения обычных двухзначных и трехзначных логик. Эти логики можно рассматривать как вырожденные случаи нечеткой логики, в которой значением истинности НЕИЗВЕСТНО является весь единичный интервал, а не множество $$\{0,1\}$$.

    Вернуться к учебному плану