Нечеткий логический вывод - Моделирование сетей

В задачах математического моделирования часто возникает задача описания переменных, представляющих качественные значения показателей, слабо формализуемых в дискретный набор значений Коротеев, М. В. Аналитическая дефаззификация нечетких чисел / Коротеев М. В. // Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах". Вып. 14 : межвуз. сб. науч. ст. / ВолгГТУ. - Волгоград, 2012. - № 10 (97). - C. 32-35.. Примером таких показателей может служить качество товара, эффективность работы учреждения, квалификация сотрудников и многие другие. В то же время, традиционно уровни таких показателей оцениваются качественно, с использованием экспертных оценок, формулируемых с помощью лингвистических понятий "низкий", "высокий", "очень высокий". Оперирование лингвистическими понятиями представляет определенную сложность, преодоление которой требует привлечения определенного математического аппарата.

Нами в наших исследованиях был выбран аппарат нечеткой логики, так как он предоставляет гибкую возможность вычислений в лингвистических термах, оперирование неопределенностью в условиях недостатка информации. Лингвистические переменные Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 166c. могут формализовать неточные, многозначные и неопределенные понятия. Это свойство весьма полезно для использования в экспертных системах, так как предоставляет методологию, позволяющую экспертам выражать свои знания в привычной для них лингвистической форме и оперировать ими как строгими математическими объектами. Далее, адаптируем алгоритм нечеткого вывода для использования в Байесовских сетях.

Центральным понятием нечеткого вывода является лингвистическая переменная - переменная, имеющая определенный набор лингвистических значений (термов), построенная на определенной области определения (обычно, действительном интервале) Murphy, Kevin (2002). Dynamic Bayesian Networks: Representation, Inference and Learning. UC Berkeley, Computer Science Division. Jensen Finn V. Bayesian Networks and Decision Graphs. -- Springer, 2001.. Для примера рассмотрим лингвистическую переменную "КАЧЕСТВО". Мы можем определить некий интегральный показатель качества, оценивающий качество в некоей шкале. Путем нормализации, практически любую шкалу мы можем привести в отрезок [0; 1]. В дальнейшем, будем использовать именно этот отрезок как иллюстрацию носителя в силу его универсальности и общеупотребимости.

Каждый уровень качества может быть охарактеризован как низкий, средний или высокий, но в разной степени. Этот набор является набором значений лингвистической переменной. Таким образом, каждому значению лингвистической переменной соответствует функция принадлежности где x - элемент области определения, определенная на области определения данной переменной. Эта функция показывает, насколько применимо в данной точке области определения данное значение. Функция принадлежности обычно принимает значения из интервала [0, 1], где значение 0 показывает, что данное значение абсолютно не применимо в данной точке, а значение 1 говорит об абсолютной применимости данного значения. Набор данных функций называется нечетким классификатором Коротеев, М. В. Проектирование программной реализации носителей нечетких множеств / Коротеев М. В. // Объектные системы - 2011 (Зимняя сессия) : матер. V междунар. науч.-практ. конф. (Ростов-на-Дону, 10-12 дек. 2011 г.) / Шахтинский ин-т (филиал) ГОУ ВПО ЮРГТУ (НПИ) [и др.]. - Ростов н/Д, 2011. - C. 44-49.. В случае обычной четкой переменной, каждая точка области определения может принадлежать одному и только одному значению. В нечеткой логике, каждая точка принадлежит всем значениям, но в разной степени.

Простой нечеткий классификатор

На рисунке изображен нечеткий классификатор с тремя термами (слева направо: "низкий уровень", "средний уровень", "высокий уровень"). Носителем данной лингвистической переменной является отрезок [0, 1] (горизонтальная ось). Область значений функции принадлежности - также отрезок [0, 1] (вертикальная ось). Можно увидеть, что точка, например, 0,3 принадлежит терму "низкий уровень" со степенью принадлежности 0,5; "средний уровень" - с принадлежностью также 0,5, "высокий уровень" - с принадлежностью 0. Нестрого можно сказать, что данная точка не принадлежит терму "высокий уровень" вообще.

Далее в нашем исследовании в качестве нечетких классификаторов мы будем использовать так называемые нечеткие разбиения - классификаторы, удовлетворяющие следующим свойствам:

Для каждой точки области определения, сумма ее принадлежностей ко всем термам переменной равна 1

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

Для каждого терма лингвистической переменной существует по меньшей мере одна точка, принадлежность которой к данному терму равна 1.

Нечеткий классификатор, не являющийся нечетким разбиением.

Рассмотрим алгоритм нечеткого логического вывода на примере алгоритма Мамдани Коротеев, М. В. Разработка арифметики нечетких чисел в общей форме / Коротеев М. В. // Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах". Вып. 13 : межвуз. сб. науч. ст. / ВолгГТУ. - Волгоград, 2012. - № 4 (91). - C. 122-127. [37,38,44]. Допустим, существует две лингвистические переменные А и В, каждая из которых определена на интервале [0,1] и принимает значения из множества {"low", "middle", "high"}, характеризующие качественный уровень показателя. Значения переменной В нечетко зависят от значений переменной А по следующему набору правил логического вывода (аналогично правилам четкого логического вывода):

Система правил нечеткого логического вывода

А

В

Low

High

Middle

Middle

High

Low

Допустим, мы наблюдаем значение переменной А. равное 0,3. Используя нечеткий классификатор переменной А, найдем принадлежности данной точки каждому терму:

Принадлежности термам

А

Low

0,7

Middle

0,3

High

0

Исходя из этих данных, каждому правилу вывода присваивается вес, показывающий, в какой степени данное правило применимо при данном наблюдении:

Взвешенная система правил нечеткого логического вывода

А

В

Б

Low

High

0,7

Middle

Middle

0,3

High

Low

0

В данном простом примере используем значения функций принадлежности как веса правил. Исходя из полученных результатов, переменная В примет значение, равное значению выражения |0.7*"high" + 0.3*"middle"|. Рассматривая каждый терм как НПМ, мы можем вычислить значение данного выражения. и оно гарантированно будет являться элементом области определения лингвистической переменной В. Кроме численного значения, в качестве результата процесса вывода может рассматриваться и нечетко-множественное представление в виде НПМ С = 0.7*"high" + 0.3*"middle". В общем случае, для вычисления результата нечеткого логического вывода, достаточно вычислить веса всех термов целевой переменной.

Рассмотрим пример более сложного нечеткого вывода. Имеем три аналогичные переменные, А, В и С, где значение С зависит от значений А и В по следующему набору правил:

Система правил вывода для двух условных переменных

ЕСЛИ

ТО

А

В

С

Low

Low

Low

Low

Middle

Low

Low

High

Middle

Middle

Low

Low

Middle

Middle

Middle

Middle

High

High

High

Low

Middle

High

Middle

High

High

High

High

Как видно из таблицы, система правил нечеткого вывода использует аналогичный механизм, когда перечисляются все возможные назначения условных переменных в разделе ЕСЛИ, и каждому назначению из них. поставлено в соответствие назначение подусловной переменной в разделе ТО.

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

Взвешенная система правил вывода двух условных переменных

А

В

С

Б

Low

Low

Low

0,7*0= 0

Low

Middle

Low

0,7*0,4= 0,28

Low

High

Middle

0,7*0,6= 0,42

Middle

Low

Low

0,3*0= 0

Middle

Middle

Middle

0,3*0,4= 0,12

Middle

High

High

0,3*0,6= 0,18

High

Low

Middle

0*0= 0

High

Middle

High

0*0,4= 0

High

High

High

0*0,6= 0

Вычислим веса термов целевой переменной:

Результат нечеткого вывода

С

Б

Low

0,28

Middle

0,42+0,12 = 0,54

Похожие статьи




Нечеткий логический вывод - Моделирование сетей

Предыдущая | Следующая