Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


БУЛЕВЫ ЛИНГВИСТИЧЕСКИЕ ПЕРЕМЕННЫЕ

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

                 (5.42)

Более формально булеву лингвистическую переменную можно определить следующим образом.

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

Например, в случае лингвистической переменной Возраст, терм-множество которой определяется соотношением (5.42), терм не очень молодой и не очень старый имеет вид (5.9), где ,  и . Аналогично, в случае терма очень очень молодой,   и .

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

Пример 5.10. Пусть Возраст — булева лингвистическая переменная с терм-множеством вида

  (5.43)

Если отождествить союз и с операцией пересечения, или — с операцией объединения, отрицание не — с операцией взятия дополнения и модификатор очень — с операцией концентрирования (см. (5.38)), то нетрудно выписать смысл типичного значения переменной Возраст. Например:

     (5.44)

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

,                     (5.45)

,                                 (5.46)

то (см. рис. 5.3)

        (5.47)

Лингвистическая переменная, рассмотренная в этом примере, включает в себя лишь один тип неопределенности, а именно неопределенность очень. В общем же случае булевой переменной может соответствовать конечное число неопределенностей, как, например, в (5.42). Однако если операции, соответствующие лингвистическим неопределенностям, определены, то процедура вычисления смысла составного терма остается такой же.

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

.             (5.48)

Например, если  и терм старый определяется выражением (5.46), то

.              (5.49)

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

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

                 (5.50)

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

,              (5.51)

где ядро оператора определяется следующим образом:

                                (5.52)

Подставив значение в (3.48), получим смысл терма более или менее недавно, т. е.

.        (5.53)

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

         (5.54)

что отличается от (5.53) главным образом отсутствием члена .

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

В примере 5.10 при выводе семантического правила мы воспользовались тем, что знаем, как обращаться с булевыми выражениями. Чтобы проиллюстрировать более общий метод, рассмотрим ту же лингвистическую переменную, что и в примере 5.10, но применим метод [39], который представляет собой модификацию описанного Кнутом [40] подхода для определения семантики контекстно-свободных языков.

Пример 5.11. Легко проверить, что терм-множество в примере 5.10 порождается контекстно-свободной грамматикой , в которой нетерминальные символы (синтаксические категории) обозначаются через  , , , , , …, т. е.

,                  (5.55)

в то время как множество терминальных символов (компоненты термов в ) выражается в виде

,       (5.56)

а система подстановок  имеет вид

                    (5.57)

Систему  можно представить и алгебраически в виде следующей системы уравнений (см. сноску на стр. 78)

                       (5.58)

Решением этой системы уравнений относительно  является терм-множество , описываемое выражением (5.43). Аналогично, решениями системы (5.58) относительно , , ,  и  являются множества термов, которые составляют синтаксические категории, обозначаемые через , , ,  и  соответственно. Решение системы (5.58) можно получить итеративно, как в случае уравнения (5.31), используя рекуррентное соотношение

            (5.59)

и

,

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

,                 (5.60)

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

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

          (5.61)

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

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

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

,                    (5.62)

,             (5.63)

,                    (5.64)

,            (5.65)

,                     (5.66)

,                  (5.67)

,                      (5.68)

,                     (5.69)

,                     (5.70)

,                (5.71)

,                 (5.72)

,           (5.73)

,                 (5.74)

Здесь нижние индексы  и  введены для различения символов в левой и правой частях подстановки ( объединение).

Эта двойственная система используется для вычисления смысла составных термов из следующим образом.

1. Рассматриваемый терм, например, не очень молодой и не очень старый подвергается грамматическому разбору при помощи подходящего алгоритма грамматического разбора для  [37], в результате чего получается синтаксическое дерево типа показанного на рис. 5.5. Конечным вершинам этого синтаксического дерева соответствуют 1) первичные термы, смысл которых определяется априори, 2) названия модификаторов (т. е. неопределенностей, союзов, отрицания и т. п.) и 3) маркеры, такие, как скобки, которые облегчают грамматический разбор.

2. Сначала первичным термам, соответствующим конечным вершинам дерева (рис. 5.4), назначается их смысл и затем с помощью уравнений (5.62) — (5.74) вычисляется смысл ближайших к ним нетерминальных символов. После этого дерево урезают так, чтобы вычисленные терминальные символы оказались конечными вершинами оставшегося поддерева. Этот процесс повторяется до тех пор, пока не будет вычислен смысл терма, соответствующего корню исходного синтаксического дерева.

Рис. 5.4. Синтаксическое дерево для значения не очень молодой и не очень старый.

Рис. 5.5. Вычисление смысла значения не очень молодой и не очень старый

Применяя эту процедуру к синтаксическому дереву, показанному на рис. 5.5, мы сначала приписываем термам молодой и старый смысл, выраженный формулами (5.45) и (5.46). Затем, используя (5.73) и (5.74), находим

                                    (5.75)

и

.                                    (5.76)

Далее по (5.71) и (5.72) получаем

                    (5.77)

и

                            

Следуя этой процедуре, получаем

                 (5.79)

,                    (5.80)

,             (5.81)

,            (5.82)

,                                       (5.83)

,     (5.84)

и, следовательно,

что согласуется с ранее полученным выражением (5.44).

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

 



<< ПредыдущаяОглавлениеСледующая >>