Методические указания к лабораторной работе на тему: «Нечеткий логический вывод. Нечеткие множества

Понятие нечеткого вывода занимает важнейшее место в нечеткой логике Алгоритм Mamdani, Алгоритм Tsukamoto, Алгоритм Sugeno, Алгоритм Larsen, Упрощенный алгоритм нечеткого вывода, Методы приведения к четкости.

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

П1: если х есть A 1 , тогда у есть B 1 ,

П2: если х есть А 2 , тогда у есть В 2 ,

·················································

П n : если х есть А n , тогда у есть В n , где х — входная переменная (имя для известных значений дан-ных), у — переменная вывода (имя для значения данных, которое будет вычислено); А и В — функции принадлежности, определен-ные соответственно на x и у .

Пример подобного правила

Если х — низко, то у — высоко.

Приведем более детальное пояснение. Знание эксперта А → В отражает нечеткое причинное отношение предпосылки и заключе-ния, поэтому его можно назвать нечетким отношением и обозна-чить через R :

R = А → В,

где «→» называют нечеткой импликацией.

Отношение R можно рассматривать как нечеткое подмножество прямого произведения Х×У полного множества предпосылок X и заключений Y . Таким образом, процесс получения (нечеткого) результата вывода В" с использованием данного наблюдения А" и знания А → В можно представить в виде формулы

В" = А" ᵒ R = А" ᵒ (А → В),

где «о» — введенная выше операция свертки.

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

1. Нечеткость (введение нечеткости, фазификация, fuzzifica-tion). Функции принадлежности, определенные на входных пере-менных применяются к их фактическим значениям для определе-ния степени истинности каждой предпосылки каждого правила.

2. Логический вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каж-дого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила. В качестве правил логического вывода обычно исполь-зуются только операции min(МИНИМУМ) или prod(УМНОЖЕ-НИЕ). В логическом выводе МИНИМУМА функция принадлежно-сти вывода «отсекается» по высоте, соответствующей вычислен-ной степени истинности предпосылки правила (нечеткая логика «И»). В логическом выводе УМНОЖЕНИЯ функция принадлеж-ности вывода масштабируется при помощи вычисленной степени истинности предпосылки правила.

3. Композиция. Все нечеткие подмножества, назначенные к каждой переменной вывода (во всех правилах), объединяются вме-сте, чтобы формировать одно нечеткое подмножество для каждой переменной вывода. При подобном объединении обычно использу-ются операции max(МАКСИМУМ) или sum(СУММА). При ком-позиции МАКСИМУМА комбинированный вывод нечеткого под-множества конструируется как поточечный максимум по всем не-четким подмножествам (нечеткая логика «ИЛИ»). При композиции СУММЫ комбинированный вывод нечеткого подмножества кон-струируется как поточечная сумма по всем нечетким подмноже-ствам, назначенным переменной вывода правилами логического вывода.

4. В заключение (дополнительно) — приведение к четкости (дефазификация, defuzzification), которое используется, когда по-лезно преобразовать нечеткий набор выводов в четкое число. Име-ется большое количество методов приведения к четкости, некото-рые из которых рассмотрены ниже.

Пример .Пусть некоторая система описывается следующими нечет-кими правилами:

П1: если х есть А, тогда ω есть D,

П2: если у есть В, тогда ω есть Е,

П3: если z есть С, тогда ω есть F, где х, у и z — имена входных переменных, ω — имя переменной вывода, а А, В, С, D, Е, F— заданные функции принадлежности (треугольной формы).

Процедура получения логического вывода иллюстрируется рис. 1.9.

Предполагается, что входные переменные приняли некоторые кон-кретные (четкие) значения — х о, y о и z о.

В соответствии с приведенными этапами, на этапе 1 для данных зна-чений и исходя из функций принадлежности А, В, С, находятся степени истинности α (х о ), α (у о α (z o )для предпосылок каждого из трех при-веденных правил (см. рис. 1.9).

На этапе 2 происходит «отсекание» функций принадлежности за-ключений правил (т.е. D, Е, F) на уровнях α (х о ), α (у о ) и α (z o ).

На этапе 3 рассматриваются усеченные на втором этапе функции при-надлежности и производится их объединение с использованием операции max, в результате чего получается комбинированное нечеткое подмноже-ство, описываемое функцией принадлежности μ ∑ (ω) и соответствующее логическому выводу для выходной переменной ω .

Наконец, на 4-м этапе — при необходимости — находится четкое значение выходной переменной, например, с применением центроидного метода: четкое значение выходной переменной определяется как центр тяжести для кривой μ ∑ (ω), т.е.

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

П1: если х есть A 1 и у есть B 1 , тогда z есть C 1 ,

П2: если х есть А 2 и у есть В 2 , тогда z есть С 2 , где x и у — имена входных переменных, z — имя переменной вы-вода, A 1 , А 2 , B 1 , В 2 , C 1 , С 2 — некоторые заданные функции при-надлежности, при этом четкое значение z 0 необходимо определить на основе приведенной информации и четких значений x 0 и у 0 .

Рис. 1.9. Иллюстрация к процедуре логического вывода

Алгоритм Mamdani

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

1. Нечеткость: находятся степени истинности для предпосылок каждого правила: А 1 (x 0), А 2 (x 0), B 1 (y 0), В 2 (y 0).

2. Нечеткий вывод: находятся уровни «отсечения» для пред-посылок каждого из правил (с использованием операции МИНИМУМ)

α 1 = A 1 (x 0) ˄ B 1 (y 0)

α 2 = A 2 (x 0) ˄ B 2 (y 0)

где через «˄» обозначена операция логического минимума (min), затем находятся «усеченные» функции принадлежности

3. Композиция: с использование операции МАКСИМУМ (max, далее обозначаемой как «˅») производится объединение найден-ных усеченных функций, что приводит к получению итогового не-четкого подмножества для переменной выхода с функцией принад-лежности

4. Наконец, приведение к четкости (для нахождения z 0 ) прово-дится, например, центроидным методом.

Алгоритм Tsukamoto

Исходные посылки — как у пре-дыдущего алгоритма, но в данном случае предполагается, что функ-ции C 1 (z ), С 2 (z ) являются монотонными.

1. Первый этап — такой же, как в алгоритме Mamdani.

2. На втором этапе сначала находятся (как в алгоритме Mam-dani) уровни «отсечения» α 1 и α 2 , а затем — посредством решения уравнений

α 1 = C 1 (z 1), α 2 = C 2 (z 2)

— четкие значения (z 1 и z 2 )для каждого из исходных правил.

3. Определяется четкое значение переменной вывода (как взве-шенное среднее z 1 и z 2 ):

в общем случае (дискретный вариант центроидного метода)

Пример. Пусть имеем A 1 (x 0) = 0,7, A 2 (x 0) = 0,6, B 1 (y 0) = 0,3, В 2 (y 0) = 0,8, соответствующие уровни отсечения

a 1 = min (A 1 (x 0), B 1 (y 0)) = min(0,7; 0,3) = 0,3,

a 2 = min (А 2 (x 0), В 2 (y 0)) = min (0,6; 0,8) = 0,6

и значения z 1 = 8 и z 2 = 4, найденные в результате решения уравнений

C 1 (z 1) = 0,3 , C 2 (z 2) = 0,6.


Рис. 1.10. Иллюстрации к алгоритму Tsukamoto

При этом четкое значение переменной вывода (см. рис. 1.10)

z 0 = (8·0,3 + 4·0,6) / (0,3 + 0,6) = 6.

Алгоритм Sugeno

Sugeno и Takagi использовали набор правил в следующей форме (как и раньше, приводим пример двух правил):

П 1: если х есть A 1 и у есть B 1 , тогда z 1 = а 1 х + b 1 у,

П 2: если х есть A 2 и у есть В 2 , тогда z 2 = a 2 x + b 2 y .

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

2. На втором этапе находятся α 1 = A 1 (x 0) ˄ B 1 (y 0), α 2 = А 2 (x 0) ˄ В 2 (у 0) и индивидуальные выходы правил:

З. На третьем этапе определяется четкое значение переменной вывода:

Иллюстрирует алгоритм рис. 1.11.

Рис. 1.11. Иллюстрация к алгоритму Sugeno

Алгоритм Larsen

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

Описание алгоритма

1. Первый этап — как в алгоритме Mamdani.

2. На втором этапе, как в алгоритме Mamdani вначале нахо-дятся значения

α 1 = A 1 (x 0) ˄ B 1 (y 0),

α 2 = А 2 (x 0) ˄ В 2 (y 0),

а затем — частные нечеткие подмножества

α 1 C 1 (z ), a 2 C 2 (z ).

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

μ s (z )= С (z )= (a 1 C 1 (z )) ˅ (a 2 C 2 (z ))

(в общем случае n правил).

4. При необходимости производится приведение к четкости (как в ранее рассмотренных алгоритмах).

Алгоритм Larsen иллюстрируется рис. 1.12.


Рис. 1.12. Иллюстрация алгоритма Larsen

Упрощенный алгоритм нечеткого вывода

Исходные пра-вила в данном случае задаются в виде:

П 1: если х есть A 1 и у есть B 1 , тогда z 1 = c 1 ,

П 2: если х есть А 2 и у есть В 2 , тогда z 2 = с 2 , где c 1 и с 2 — некоторые обычные (четкие) числа.

Описание алгоритма

1. Первый этап — как в алгоритме Mamdani.

2. На втором этапе находятся числа α 1 = A 1 (x 0) ˄ B 1 (y 0), α 2 = A 2 (x 0) ˄ B 2 (y 0).

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

или — в общем случае наличия n правил — по формуле

Иллюстрация алгоритма приведена на рис. 1.13.


Рис. 1.13. Иллюстрация упрощенного алгоритма нечеткого вывода

Методы приведения к четкости

1. Выше уже был рассмотрен один из данных методов — троидный. Приведем соответствующие формулы еще раз.

Для непрерывного варианта:

для дискретного варианта:

2. Первый максимум (First-of-Maxima). Четкая величина пере-менной вывода находится как наименьшее значение, при котором достигается максимум итогового нечеткого множества, т.е. (см. рис. 1.14а)


Рис. 1.14. Иллюстрация к методам приведения к четкости: α — первый максимум; б — средний максимум

3. Средний максимум (Middle-of-Maxima). Четкое значение находится по формуле

где G — подмножество элементов, максимизирующих С (см. рис. 1.14 б).

Дискретный вариант (если С — дискретно):

4. Критерий максимума (Max-Criterion). Четкое значение вы-бирается произвольно среди множества элементов, доставляющих максимум С, т. е.

5. Высотная дефазификация (Heightdefuzzification). Элементы области определения Ω для которых значения функции принад-лежности меньше, чем некоторый уровень α в расчет не принима-ются, и четкое значение рассчитывается по формуле

где Сα — нечеткое множество α -уровня (см. выше).

Нисходящие нечеткие выводы

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

Возьмем упрощенную модель диагностики неисправности ав-томобиля с именами переменных:

х 1 — неисправность аккумулятора;

x 2 — отработка машинного масла;

y 1 — затруднения при запуске;

y 2 — ухудшение цвета выхлопных газов;

y 3 — недостаток мощности.

Между x i и y j существуют нечеткие причинные отношения r ij = x i y j , которые можно представить в виде некоторой ма-трицы R с элементами r ij ϵ . Конкретные входы (предпо-сылки) и выходы (заключения) можно рассматривать как нечет-кие множества А и В на пространствах X и Y . Отношения этих множеств можно обозначить как

В = А R ,

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

В данном случае направление выводов является обратным к направлению выводов для правил, т.е. в случае диагностики име-ется (задана) матрица R (знания эксперта), наблюдаются выходы В (или симптомы) и определяются входы А (или факторы).

Пусть знания эксперта-автомеханика имеют вид

а в результате осмотра автомобиля его состояние можно оценить как

В = 0,9/y 1 + 0,1/у 2 + 0,2/у 3 .

Требуется определить причину такого состояния:

А = a 1 /x 1 + a 2 /x 2 .

Отношение введенных нечетких множеств можно представить в виде

либо, транспонируя, в виде нечетких векторов-столбцов:

При использовании (max-mix)-композиции последнее соотно-шение преобразуется к виду

0,9 = (0,9 ˄ α 1) ˅ (0,6 ˄ α 2),

0,1 = (0,1 ˄ α 1) ˅ (0,5 ˄ α 2),

0,2 = (0,2 ˄ α 1) ˅ (0,5 ˄ α 2).

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

0,9 = 0,9 ˄ α 1 , α 1 ≥ 0,9.

Из второго уравнения получим:

0,1 ≥ 0,5 ˄ α 2 , α 2 ≤ 0,1.

Полученное решение удовлетворяет третьему уравнению, та-ким образом имеем:

0,9 ≤ α 1 ≤ 1,0, 0 ≤ α 2 ≤ 0,1,

т.е. лучше заменить аккумулятор (α 1 — параметр неисправности аккумулятора, α 2 — параметр отработки машинного масла).

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

Разработайте и моделируйте системы нечеткой логики

Fuzzy Logic Toolbox™ обеспечивает функции MATLAB ® , приложения и блок Simulink ® для анализа, разработки и симуляции систем на основе нечеткой логики. Руководства по продукту вы через шаги разработки нечетких систем вывода. Функции обеспечиваются для многих общепринятых методик, включая нечеткую кластеризацию и адаптивное нейронечеткое изучение.

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

Начало работы

Изучите основы Fuzzy Logic Toolbox

Нечеткое системное моделирование вывода

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

Нечеткая системная настройка вывода

Настройте функции принадлежности и правила нечетких систем

Кластеризация данных

Найдите кластеры в данных о вводе/выводе с помощью нечетких c-средних-значений или отнимающей кластеризации

  • 5. Нечеткая логика. Краткие исторические сведения. Аспекты неполноты информации
  • 6. Определения четких и нечетких множеств. Определение нечеткого множества. Функция принадлежности. Примеры нечетких дискретных и непрерывных множеств.
  • 7. Основные свойства нечетких множеств. Нечеткое число и нечеткий интервал.
  • *7. Основные свойства нечетких множеств. Нечеткое число и нечеткий интервал.
  • *7. Основные свойства нечетких множеств. Нечеткое число и нечеткий интервал.
  • 8. Понятия фаззификации, дефаззификации, лингвистической переменной. Пример.
  • 9. Операции с нечеткими множествами (эквивалентность, включение, нечеткая операция «и», «или», «не»).
  • 10.Обобщение операций пересечения и объединения в классе т-норм и s-конорм.
  • 11. Нечеткие отношения. Композиционные правила (max-min) и (max-prod). Примеры.
  • 12. Нечеткие алгоритмы. Обобщенная схема процедуры нечеткого логического вывода.
  • 13. Нечеткие алгоритмы. Метод максимума-минимума (метод Мамдани) как метод нечеткого логического вывода (изложение необходимо сопроводить примером).
  • 14. Нечеткие алгоритмы. Метод максимума-произведения (метод Ларсена) как метод нечеткого логического вывода (изложение необходимо сопроводить примером).
  • 15.Методы дефаззификации.
  • 16.Процедура (схема) нечеткого логического вывода. Пример нечеткого логического вывода для выполнения нескольких правил. Достоинства и недостатки систем, основанных на нечеткой логике.
  • 17.Искусственные нейронные сети. Особенности биологического нейрона. Модель искусственного нейрона .
  • 18.Определение искусственной нейронной сети (инс). Однослойный и многослойный персептроны .
  • 19. Классификация инс. Задачи, решаемые с помощью нейронных сетей .
  • 20.Основные этапы нейросетевого анализа. Классификация известных нейросетевых структур по типу связей и типу обучения и их применение .
  • 21. Алгоритм обучения с учителем для многослойного персептрона
  • 22. Алгоритмы обучения нейронных сетей. Алгоритм обратного распространения ошибки
  • 23. Проблемы обучения нс.
  • 24. Сети Кохонена. Постановка задачи кластеризации. Алгоритм кластеризации.
  • 25. Преобразование алгоритма кластеризации с целью реализации в нейросетевом базисе. Структура сети Кохонена
  • 26. Алгоритм обучения без учителя для сетей Кохонена. Обобщенная процедура
  • 27. Алгоритм обучения без учителя для сетей Кохонена. Метод выпуклой комбинации. Графическая интерпретация
  • 28. Самоорганизующиеся карты (сок) Кохонена. Особенности обучения сок. Построение карт
  • 29. Проблемы обучения инс
  • 30. Генетические алгоритмы. Определение. Назначение. Сущность естественного отбора в природе
  • 31. Основные понятия генетических алгоритмов
  • 32. Блок-схема классического генетического алгоритма. Особенности инициализации. Пример.
  • 33. Блок-схема классического генетического алгоритма. Селекция хромосом. Метод рулетки. Пример.
  • 33. Блок-схема классического генетического алгоритма. Селекция хромосом. Метод рулетки. Пример.
  • 34. Блок-схема классического генетического алгоритма. Применение генетических операторов. Пример.
  • 35. Блок-схема классического генетического алгоритма. Проверка условия остановки га.
  • 36. Достоинства генетических алгоритмов.
  • 37. Гибридные сии и их виды.
  • 38. Структура мягкой экспертной системы.
  • 39.Методология разработки интеллектуальных систем. Виды прототипов экспертных систем.
  • 40.Обобщенная структура основных этапов разработки экспертных систем.
  • 1. Идентификация.
  • 2. Концептуализация.
  • 3. Формализация
  • 4. Программирование.
  • 5. Тестирование на полноту и целостность
  • 16.Процедура (схема) нечеткого логического вывода. Пример нечеткого логического вывода для выполнения нескольких правил. Достоинства и недостатки систем, основанных на нечеткой логике.

    Фаззификация – процесс перехода от четкого множества к нечеткому.

    Агрегирование предпосылок – по каждому правилу формируется -срез и уровни отсечения.

    Активизация правил – активизация заключается по каждому их правил на основе min-активизации (Мамдани), prod-активизации (Ларсен)

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

    Лингвистическая переменная – пременная, значениями которой явл-ся термы (слова, фразы на естественном языке).

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

    Сфера применения нечеткой логики:

    1) Недостаточность или неопределенность знаний, когда получений информации явл-ся сложной или невозможной задачи.

    2) Когда появляется трудность обработки неопределенной информации.

    3) Прозрачность моделирования (в отличии от нейросетей).

    Область применения нечеткой логики:

    1) При проектировании систем поддержки и принятия решений на основе экспертных систем.

    2) При разработке нечетких контроллеров, применяемых при управлении техническими системами.

    «+»:1) Решение слабоформализованных задач.

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

    «–»: 1) Проблема выбора функции принадлежности (решается при создании гибридных интеллектуальных систем)

    2) Сформулированный набор правил может оказаться неполным и противоречивым.

    *16.Процедура (схема) нечеткого логического вывода. Пример нечеткого логического вывода для выполнения нескольких правил. Достоинства и недостатки систем, основанных на нечеткой логике.

    От выбора метода НЛВ и дефаззификации зависит конечный результат.

    П1: Если Температура (Т) – низкая И Влажность (F) – средняя, то вентиль полуоткрыт.

    П2: Если Температура (Т) – низкая И Влажность (F) – высокая, то вентиль закрыт.

    НЛВ: Метод max-min (Мамдани);

    Дефаззификация: Метод среднего из максимумов.

    17.Искусственные нейронные сети. Особенности биологического нейрона. Модель искусственного нейрона .

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

    Нейрон – нервная клетка, которая обрабатывает информацию. Он состоит из тела (ядро и плазма) и отростков нервных волокон двух типов - дендритов, по которым принимаются импульсы от аксонов других нейронов, и своего аксона (в конце разветвляется на волокна), по ко­торому может передавать импульс, сгенерированный телом клетки. На окончаниях волокон находятся синапсы, которые влияют на силу импульса. Когда импульс достигает синаптического окончания, высвобождаются определенные химические вещества, на­зываемые непротрансмиттерами, возбуждающие или затормаживающие, способность нейрона-приемника генерировать электрические импульсы. Синапсы могут обучаться в зависимости от активности процессов, в которых они участвуют. Веса синапсов могут изменяться со временем, что изменяет и поведение соответствующего нейрона.

    Модель искусственного нейрона

    x 1 …x n – входные сигналы нейрона, приходящие от других нейронов. W 1 …W n – синапсические веса.

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

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

    *17.Искусственные нейронные сети. Особенности биологического нейрона. Модель искусственного нейрона .

    Нелинейный преобразователь – реализует нелинейную функцию одного аргумента – выхода сумматора. Эта функция называется функцией активации или передаточной функцией нейрона.
    ;

    Модель нейрона:

    1) Вычисляет взвешенную сумму своих входов от других нейронов.

    2) На входах нейрона имеются возбуждающие и тормозящие синапсы

    3) При превышении суммы входов порога нейрона, вырабатывается выходной сигнал.

    Виды активационных функций:

    1) пороговая функция : область значения (0;1)

    «+»: простота реализации и высокая скорость вычисления

    2) Сигмоидальная (логистическая функция)


    При уменьшении a сегмент становится более пологим, при a=0 – прямая линия.

    «+»: простое выражение ее производной, а также способность усиливать сигналы слабые лучше, чем большие и предотвращать насыщения от больших сигналов.

    «-»: область значения малая (0,1).

    3) Гиперболический тангенс : область значений (-1,1)


    В 1965 г. в журнале «Information and Control» была опубликована работа Л.Заде под названием «Fuzzy sets». Это название переведено на русский язык как нечеткие множества . Побудительным мотивом стала необходимость описания таких явлений и понятий, которые имеют многозначным и неточный характер. Известные до этого математические методы, использовавшие классическую теорию множеств и двузначную логику, не позволяли решать проблемы этого типа.

    При помощи нечетких множеств можно формально определить неточные и многозначные понятия, такие как «высокая температура» или «большой город». Для формулирования определения нечеткого множества необходимо задать так называемую област рассуждений. Например, когда мы оцениваем скорость автомобиля, мы ограничимся диапазоном X = , где Vmax - максимальная скорость, которую может развить автомобиль. Необходимо помнить, что X - четкое множество.

    Основные понятия

    Нечетким множеством A в некотором непустом пространстве X называется множество пар

    Где

    - функция принадлежности нечеткого множества A. Эта функция приписывает каждому элементу x степень его принадлежности нечеткому множеству A.

    Продолжив предыдущий пример, рассмотрим три неточные формулировки:
    - «Малая скорость автомобиля»;
    - «Средняя скорость автомобиля»;
    - «Большая скорость автомобиля».
    На рисунке представлены нечеткие множества, соответствующие приведенным формулировкам, с помощью функций принадлежности.


    В фиксированной точке X=40км/ч. функция принадлежности нечеткого множества «малая скорость автомобиля» принимает значением 0,5. Такое же значение принимает функция принадлежностинечеткого множества «средняя скорость автомобиля», тогда как для множества «большая скорость автомобиля» значение функции в этой точке равно 0.

    Функция T двух переменных T: x -> называется T-нормой , если:
    - является не возрастающей относительно обоих аргументов: T(a, c) < T(b, d) для a < b, c < d;
    - является коммутативной: T(a, b) = T(b, a);
    - удовлетворяет условию связности: T(T(a, b), c) = T(a, T(b, c));
    - удовлетворяет граничным условиям: T(a, 0) = 0, T(a, 1) = a.

    Прямой нечеткий вывод

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

    Основным правилом вывода в традиционной логике является правило modus ponens, согласно которому мы судим об истинности высказывания B по истинности высказываний A и A -> B. Например, если A - высказывание «Степан - космонавт», B - высказывание «Степан летает в космос», то если истинны высказывания «Степан - космонавт» и «Если Степан - космнавт, то он летает в космос», то истинно и высказывание «Степан летает в космос».

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

    Предположим, что имеется кривая y=f(x) и задано значение x=a. Тогда из того, что y=f(x) и x=a, мы можем заключить, что y=b=f(a).


    Обобщим теперь этот процесс, предположив, что a - интервал, а f(x) - функция, значения которой суть интервалы. В этом случае, чтобы найти интервал y=b, соответствующий интервалу a, мы сначала построим множество a" с основанием a и найдем его пересечение I с кривой, значения которой суть интервалы. Затем спроектируем это пересечение на ось OY и получим желаемое значение y в виде интервала b. Таким образом, из того, что y=f(x) и x=A - нечеткое подмножество оси OX, мы получаем значение y в виде нечеткого подмножества B оси OY.

    Пусть U и V - два универсальных множества с базовыми переменными u и v, соответственно. Пусть A и F - нечеткие подмножества множеств U и U x V. Тогда композиционное правило вывода утверждает, что из нечетких множеств A и F следует нечеткое множество B = A * F.

    Пусть A и B - нечеткие высказывания и m(A), m(B) - соответствующие им функции принадлежности. Тогда импликации A -> B будет соответствовать некоторая функция принадлежности m(A -> B). По аналогии с традиционной логикой, можно предположить, что

    Тогда

    Однако, это не единственное обобщение оператора импликации, существуют и другие.

    Реализация

    Для реализации метода прямого нечеткого логического вывода нам понадобится выбрать оператор импликации и T-норму.
    Пуская T-норма будет функция минимума:

    а оператором импликации будет функция Гёделя:


    Входные данные будут содержать знания (нечеткие множества) и правила (импликации), например:
    A = {(x1, 0.0), (x2, 0.2), (x3, 0.7), (x4, 1.0)}.
    B = {(x1, 0.7), (x2, 0.4), (x3, 1.0), (x4, 0.1)}.
    A => B.

    Импликация будет представлена в виде декартовой матрицы, каждый элемент которой рассчитывается с помощью выбранного оператора импликации (в данном примере - функции Гёделя):

    1. def compute_impl (set1, set2):
    2. """
      Computing implication
      """
    3. relation = {}
    4. for i in set1.items():
    5. relation[i] = {}
    6. for j in set2.items():
    7. v1 = set1.value(i)
    8. v2 = set2.value(j)
    9. relation[i][j] = impl(v1, v2)
    10. return relation

    Для данных выше это будет:
    Conclusion:
    A => B.
    x1 x2 x3 x4
    x1 1.0 1.0 1.0 1.0
    x2 1.0 1.0 1.0 0.1
    x3 1.0 0.4 1.0 0.1
    x4 0.7 0.4 1.0 0.1
    1. def conclusion (set, relation):
    2. """
      Conclusion
      """
    3. conl_set =
    4. for i in relation:
    5. l =
    6. for j in relation[i]:
    7. v_set = set .value(i)
    8. v_impl = relation[i][j]
    9. l.append(t_norm(v_set, v_impl))
    10. value = max (l)
    11. conl_set.append((i, value))
    12. return conl_set

    Результат:
    B" = {(x1, 1.0), (x2, 0.7), (x3, 1.0), (x4, 0.7)}.

    Источники

    • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. - М.: Горячая линия - Телеком, 2006. - 452 с.: ил.
    • Zadeh L. A. Fuzzy Sets, Information and Control, 1965, vol. 8, s. 338-353

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

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

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

    Рис.2.18. Диаграмма процесса нечеткого вывода в нечетких САУ

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

    Нечеткое продукционное правило – это выражение вида:

    (i):Q;P;A═>B;S,F,N,

    Где (i) – имя нечеткой продукции, Q – сфера применения нечеткой продукции, P – условие применимости ядра нечеткой продукции, A═>B – ядро нечеткой продукции, в котором A – условие ядра (или антецедент), B – заключение ядра (или консеквент), ═> – знак логической секвенции или следования, S – метод или способ определения количественного значения степени истинности заключения ядра, F – коэффициент определенности или уверенности нечеткой продукции, N – постусловия продукции.

    Сфера применения нечеткой продукции Q описывает явно или неявно предметную область знания, которую представляет отдельная продукция.

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

    Ядро A═>B является центральным компонентом нечеткой продукции. Оно может быть представлено в одной из более распространенных форм: «ЕСЛИ A ТО B», «IF A THEN B»; где A и B – некоторые выражения нечеткой логики, которые наиболее часто представляются в форме нечетких высказываний. В качестве выражений могут использоваться и составные логические нечеткие высказывания, т.е. элементарные нечеткие высказывания, соединенные нечеткими логическими связками, такими как нечеткое отрицание, нечеткая конъюнкция, нечеткая дизъюнкция.

    S – метод или способ определения количественного значения степени истинности заключения B на основе известного значения степени истинности условия A. Данный способ определяет схему или алгоритм нечеткого вывода в продукционных нечетких системах и называется методом композиции или методом активации.

    Коэффициент уверенности F выражает количественную оценку степени истинности или относительный вес нечеткой продукции. Коэффициент уверенности принимает свое значение из интервала и часто называется весовым коэффициентом нечеткого правила продукции.

    Постусловие нечеткой продукции N описывает действия и процедуры, которые необходимо выполнить в случае реализации ядра продукции, т.е. получения информации об истинности B. Характер этих действий может быть самым различным и отражать вычислительный или иной аспект продукционной системы.

    Согласованное множество нечетких продукционных правил образует нечеткую продукционную систему. Таким образом, нечеткая продукционная система– это относящийся к определенной предметной области список нечетких продукционных правил «IF A THEN B».

    Простейший вариант нечеткого продукционного правила:

    ПРАВИЛО <#> : ЕСЛИ β 1 « ЕСТЬ ά 1 » ТО « β 2 ЕСТЬ ά 2 »

    RULE <#> : IF « β 1 IS ά 1 » THEN « β 2 display:block IS ά 2 ».

    Антецедент и консеквент ядра нечеткой продукции может быть сложным, состоящим из связок «И», «ИЛИ», «НЕ», например:

    ПРАВИЛО <#>: ЕСЛИ « β 1 ЕСТЬ ά » И « β 2 ЕСТЬ НЕ ά » ТО « β 1 ЕСТЬ НЕ β 2 »

    RULE <#>: IF « β 1 IS ά » AND « β 2 IS NOT ά » THEN « β 1 IS NOT β 2 ».

    Наиболее часто база нечетких продукционных правил представляется в форме согласованного относительно используемых лингвистических переменных структурированного текста:

    ПРАВИЛО_1: ЕСЛИ «Условие_1» ТО «Заключение_1» (F 1 т),

    ПРАВИЛО_n: ЕСЛИ «Условие_n» ТО «Заключение_n» (F n),

    где F i ∈ является коэффициентом определенности или весовым коэффициентом соответствующего правила. Согласованность списка означает, что в качестве условий и заключений правил могут использоваться только простые и составные нечеткие высказывания, соединенные бинарными операциями «И», «ИЛИ», при этом в каждом из нечетких высказываний должны быть определены функции принадлежности значений терммножества для каждой лингвистической переменной. Как правило, функции принадлежности отдельных термов представляют треугольными или трапецеидальными функциями. Для наименования отдельных термов принято использовать следующие сокращения.

    Таблица 2.3.


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

    ПРАВИЛО <1>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <4>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <7>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
    ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО «приток жидкости большой средний малый ».

    Используя обозначения ZP – «малый», PM – «средний», PB – «большой», данную базу нечетких продукционных правил можно представить в виде таблицы, в узлах которой находятся соответствующие заключения о требуемом притоке жидкости:

    Таблица 2.4.

    Уровень
    ZP PM PB
    ZP 0 0 0
    PM 0.5 0.25 0
    PB 0.75 0.25 0
    Фаззификация (введение нечеткости) – это установка соответствия между численным значением входной переменной системы нечеткого вывода и значением функции принадлежности соответствующего ей терма лингвистической переменной. На этапе фаззификации значениям всех входным переменным системы нечеткого вывода, полученным внешним по отношению к системе нечеткого вывода способом, например, при помощи датчиков, ставятся в соответствие конкретные значения функций принадлежности соответствующих лингвистических термов, которые используются в условиях (антецедентах) ядер нечетких продукционных правил, составляющих базу нечетких продукционных правил системы нечеткого вывода. Фаззификация считается выполненной, если найдены степени истинности μ A (x) всех элементарных логических высказываний вида « β ЕСТЬ ά », входящих в антецеденты нечетких продукционных правил, где ά – некоторый терм с известной функцией принадлежности μ A (x) , a – четкое численное значение, принадлежащее универсуму лингвистической переменной β .

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



    Треугольный Трапециевидный Z-линейный S-линейный
    Треугольный Трапециевидный Z-линейный S-линейный
    Текущий уровень:


    Треугольный Трапециевидный Z-линейный S-линейный
    Треугольный Трапециевидный Z-линейный S-линейный
    Треугольный Трапециевидный Z-линейный S-линейный
    Текущий расход:

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

    Если текущие уровень и расход жидкости 2.5 м и 0.4 м 3 /cек соответственно, то при фаззификации получаем степени истинности элементарных нечетких высказываний:

    • «уровень жидкости малый» – 0.75 ;
    • «уровень жидкости средний» – 0.25 ;
    • «уровень жидкости большой» – 0.00 ;
    • «расход жидкости малый» – 0.00 ;
    • «расход жидкости средний» – 0.50 ;
    • «расход жидкости большой» – 1.00 .

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

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

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

    Например , с учетом полученных в результате фаззификации значений истинности элементарных высказываний, степень истинности условий для каждого составного правила системы нечеткого вывода по управлению уровнем жидкости в баке, в соответствии с определением по Заде нечеткого логического «И» двух элементарных высказываний A, B: T(A ∩ B)=min{T(A);T(B)} , будет следующей.

    ПРАВИЛО <1>: антецедент – «уровень жидкости малый» И «расход жидкости большой»; степень истинности
    антецедента min{0.75 ;1.00 }=0.00 .

    ПРАВИЛО <2>: антецедент – «уровень жидкости малый» И «расход жидкости средний»; степень истинности
    антецедента min{0.75 ;0.50 }=0.00 .

    ПРАВИЛО <3>: антецедент – «уровень жидкости малый» И «расход жидкости малый», степень истинности
    антецедента min{0.75 ;0.00 }=0.00 .

    ПРАВИЛО <4>: антецедент – «уровень жидкости средний» И «расход жидкости большой», степень истинности
    антецедента min{0.25 ;1.00 }=0.00 .

    ПРАВИЛО <5>: антецедент – «уровень жидкости средний» И «расход жидкости средний», степень истинности
    антецедента min{0.25 ;0.50 }=0.00 .

    ПРАВИЛО <6>: антецедент – «уровень жидкости средний» И «расход жидкости малый», степень истинности
    антецедента min{0.25 ;0.00 }=0.00 .

    ПРАВИЛО <7>: антецедент – «уровень жидкости большой» И «расход жидкости большой», степень истинности
    антецедента min{0.00 ;1.00 }=0.00 .

    ПРАВИЛО <8>: антецедент – «уровень жидкости большой» И «расход жидкости средний», степень истинности
    антецедента min{0.00 ;0.50 }=0.00 .

    ПРАВИЛО <9>: антецедент – «уровень жидкости большой» И «расход жидкости малый», степень истинности
    антецедента min{0.00 ;0.00 }=0.00 .

    Уровень
    0.75 0.25 0
    0 0 0 0
    0.5 0.5 0.25 0
    1 0.75 0.25 0

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

    Если заключение (консеквент) нечеткого продукционного правила является простым нечетким высказыванием, то степень его истинности равна алгебраическому произведению весового коэффициента и степени истинности антецедента данного нечеткого продукционного правила.

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

    Если весовые коэффициенты продукционных правил не указаны явно на этапе формирования базы правил, то их значения по умолчанию равны единице.

    Функции принадлежности μ (y) каждого из элементарных подзаключений консеквентов всех продукционных правил находятся при помощи одного из методов нечеткой композиции:

    • min–активизация – μ (y) = min { c ; μ (x) } ;
    • prod-активизация – μ (y) =c μ (x) ;
    • average-активизация – μ (y) =0.5(c + μ (x)) ;

    Где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.

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

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

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

    Аккумуляция (или аккумулирование ) в системах нечеткого вывода – это процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных. Цель аккумуляции состоит в объединении всех степеней истинности подзаключений для получения функции принадлежности каждой из выходных переменных. Результат аккумуляции для каждой выходной лингвистической переменной определяется как объединение нечетких множеств всех подзаключений нечеткой базы правил относительно соответствующей лингвистической переменной. Объединение функций принадлежности всех подзаключений проводится как правило классически ∀ x ∈ X μ A ∪ B (x) = max { μ A (x) ; μ B (x) } (max-объединение), также могут использоваться операции:

    • алгебраического объединения ∀ x ∈ X μ A+B x = μ A x + μ B x - μ A x ⋅ μ B x ,
    • граничного объединения ∀ x ∈ X μ A B x = min{ μ A x ⋅ μ B x ;1} ,
    • драстического объединения ∀ x ∈ X μ A ∇ B (x) = { μ B (x) , е с л и μ A (x) = 0, μ A (x) , е с л и μ B (x) = 0, 1, в остальных случаях,
    • а также λ -суммы ∀ x ∈ X μ (A+B) x = λ μ A x +(1-λ) μ B x ,λ∈ .

    Пример. Для продукционных правил системы нечеткого вывода по управлению уровнем жидкости в емкости посредством изменения притока жидкости, функция принадлежности лингвистической переменной «приток жидкости», полученная в результате аккумуляции всех подзаключений при max-объединении будет выглядеть следующим образом (рис.2.21).

    Рис.2.21Функция принадлежности лингвистической переменной «приток жидкости»

    Дефаззификация в системах нечеткого вывода – это процесс перехода от функции принадлежности выходной лингвистической переменной к её четкому (числовому) значению. Цель дефаззификации состоит в том, чтобы, используя результаты аккумуляции всех выходных лингвистических переменных, получить количественные значения для каждой выходной переменной, которое используется внешними по отношению к системе нечеткого вывода устройствами (исполнительными механизмами интеллектуальной САУ).

    Переход от полученной в результате аккумуляции функции принадлежности μ (x) выходной лингвистической переменной к численному значению y выходной переменной производится одним из следующих методов:

    • метод центра тяжести (Centre of Gravity) заключается в расчете центроида площади y = ∫ x min x max x μ (x) d x ∫ x min x max μ (x) d x , где [ x max ; x min ] – носитель нечеткого множества выходной лингвистической переменной; (на рис. 2.21 результат дефаззификации обозначен зеленой линией)
    • метод центра площади (Centre of Area) заключается в расчете абсциссы y, делящей площадь, ограниченную кривой функции принадлежности μ (x) , так называемой биссектрисы площади ∫ x min y μ (x) d x = ∫ y x max μ (x) d x ;(на рис. 2.21 результат дефаззификации обозначен синей линией)
    • метод левого модального значения y= x min ;
    • метод правого модального значения y= x max

      Пример. Для продукционных правил системы нечеткого вывода по управлению уровнем жидкости в емкости посредством изменения притока жидкости дефаззификация функции принадлежности лингвистической переменной «приток жидкости» (рис.2.21) приводит к следующим результатам:

    • метод центра тяжести y= 0.35375 м 3 /сек;
    • метод центра площади y= 0, м 3 /сек
    • метод левого модального значения y= 0.2 м 3 /сек;
    • метод правого модального значения y= 0.5 м 3 /сек

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

    Алгоритм Мамдани (Mamdani) нашел применение в первых нечетких системах автоматического управления. Был предложен в 1975 году английским математиком Е.Мамдани для управления паровым двигателем.

    • Формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A THEN B », где антецеденты ядер правил нечеткой продукции построены при помощи логических связок «И», а консеквенты ядер правил нечеткой продукции простые.
    • Фаззификация входных переменных осуществляется описанным выше способом, так же, как и в общем случае построения системы нечеткого вывода.
    • Агрегирование подусловий правил нечеткой продукции осуществляется при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) } .
    • Активизация подзаключений правил нечеткой продукции осуществляется методом min-активизации μ (y) = min{c; μ (x) } , где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
    • Аккумуляция подзаключений правил нечеткой продукции проводится при помощи классического для нечеткой логики max-объединения функций принадлежности ∀ x ∈ X μ A B x = max{ μ A x ; μ B x } .
    • Дефаззификация проводится методом центра тяжести или центра площади.

    Например , описанный выше случай управления уровнем бака соответствует алгоритму Мамдани, если на этапе дефаззификации четкое значение выходной переменной ищется методом центра тяжести или площади: y= 0.35375 м 3 /сек или y= 0.38525 м 3 /сек соответственно.

    Алгоритм Цукамото (Tsukamoto) формально выглядит следующим образом.

    • Агрегирование подусловий правил нечеткой продукции осуществляется аналогично алгоритму Мамдани при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) }
    • Активизация подзаключений правил нечеткой продукции проводится в два этапа. На первом этапе, степени истинности заключений (консеквентов) нечетких продукционных правил находятся аналогично алгоритму Мамдани, как алгебраическое произведение весового коэффициента и степени истинности антецедента данного нечеткого продукционного правила. На втором этапе, в отличие от алгоритма Мамдани, для каждого из продукционных правил вместо построения функций принадлежности подзаключений решается уравнение μ (x)=c и определяется четкое значение ω выходной лингвистической переменной, где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
    • На этапе дефаззификации для каждой лингвистической переменной осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i ,

      где n – количество правил нечеткой продукции, в подзаключениях которой фигурирует данная лингвистическая переменная, c i – степень истинности подзаключения продукционного правила, w i – четкое значение данной лингвистической переменной, полученное на стадии активизации путем решения уравнения μ (x) = c i , т.е. μ (w i) = c i , а μ (x) представляет функцию принадлежности соответствующего терма лингвистической переменной.

    Например, алгоритм Цукамото реализуется, если в описанном выше случае управления уровнем бака:

    • на этапе активизации воспользоваться данными рис.2.20 и для каждого продукционного правила графически решить уравнение μ (x) = c i , т.е. найти пары значений (c i , w i) : rule1 - (0,75 ; 0,385), rule2 - (0,5 ; 0,375), rule3- (0 ; 0), rule4 - (0,25 ; 0,365), rule5 - (0,25 ; 0,365),
      rule6 - (0 ; 0), rule7 - (0 ; 0), rule7 - (0 ; 0), rule8 - (0 ; 0), rule9 - (0 ; 0), для пятого правила существует два корня;
    • на этапе дефаззификации для лингвистической переменной «приток жидкости» осуществить переход от дискретного множества четких значений { ω 1 . . . ω n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 0.35375 м 3 /сек

    Алгоритм Ларсена формально выглядит следующим образом.

    • Формирование базы правил системы нечеткого вывода осуществляется аналогично алгоритму Мамдани.
    • Фаззификация входных переменных осуществляется аналогично алгоритму Мамдани.
    • Активизация подзаключений правил нечеткой продукции осуществляется методом prod-активизации, μ (y)=c μ (x) , где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
    • Аккумуляция подзаключений правил нечеткой продукции проводится аналогично алгоритму Мамдани при помощи классического для нечеткой логики max-объединения функций принадлежности T(A ∩ B) = min{ T(A);T(B) } .
    • Дефаззификация проводится любым из рассмотренных выше методов.

    Например, алгоритм Ларсена реализуется, если в описанном выше случае управления уровнем бака, на этапе активизации получены функции принадлежности всех подзаключений согласно prod-активизации (рис.2.22(а),(б)), тогда функция принадлежности лингвистической переменной «приток жидкости», полученная в результате аккумуляции всех подзаключений при max-объединении будет выглядеть следующим образом (рис.2.22(б)), а дефаззификация функции принадлежности лингвистической переменной «приток жидкости» приводит к следующим результатам: метод центра тяжести y= 0.40881 м 3 /сек, метод центра площади y= 0.41017 м 3 /сек

    Рис.2.22(а) Prod-активизация всех подзаключений правил нечеткой продукции системы управления уровнем жидкости в баке

    Рис.2.22(б) Prod-активизация всех подзаключений правил нечеткой продукции системы управления уровнем жидкости в баке и полученная путем max-объединения функция принадлежности лингвистической переменной «приток жидкости»

    ,Алгоритм Сугено(Sugeno) выглядит следующим образом.

    • Формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A AND B THEN w = ε 1 a + ε 2 b », где антецеденты ядер правил нечеткой продукции построены из двух простых нечетких высказываний A, B при помощи логических связок «И», a и b – четкие значения входных переменных, соответствующие высказываниям A и B соответственно, ε 1 и ε 2 – весовые коэффициенты, определяющие коэффициенты пропорциональности между четкими значениями входных переменных и выходной переменной системы нечеткого вывода, w – четкое значение выходной переменной, определенное в заключении нечеткого правила, как действительное число.
    • Фаззификация входных переменных, определяющих высказывания и, осуществляется аналогично алгоритму Мамдани.
    • Агрегирование подусловий правил нечеткой продукции осуществляется аналогично алгоритму Мамдани при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) } .
    • «Активизация подзаключений правил нечеткой продукции проводится в два этапа. На первом этапе, степени истинности c заключений (консеквентов) нечетких продукционных правил, ставящих в соответствие выходной переменной действительные числа, находятся аналогично алгоритму Мамдани, как алгебраическое произведение весового коэффициента и степени истинности антецедента данного нечеткого продукционного правила. На втором этапе, в отличие от алгоритма Мамдани, для каждого из продукционных правил вместо построения функций принадлежности подзаключений в явном виде находится четкое значение выходной переменной w = ε 1 a + ε 2 b . Таким образом, каждому i-му продукционному правилу ставится в соответствие точка (c i w i) , где c i – степень истинности продукционного правила, w i – четкое значение выходной переменной, определенной в консеквенте продукционного правила.
    • Аккумуляция заключений правил нечеткой продукции не проводится, поскольку на этапе активизации уже получены дискретные множества четких значений для каждой из выходных лингвистических переменных.
    • Дефаззификация проводится как и в алгоритме Цукамото. Для каждой лингвистической переменной осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , где n – количество правил нечеткой продукции, в подзаключениях которой фигурирует данная лингвистическая переменная, c i – степень истинности подзаключения продукционного правила, w i – четкое значение данной лингвистической переменной, установленное в консеквенте продукционного правила.

    Например, алгоритм Сугено реализуется, если в описанном выше случае управления уровнем жидкости в баке на этапе формирования базы правил системы нечеткого вывода правила задаются исходя из того, что при поддержании постоянного уровня жидкости численные значения притока w и расхода b должны быть равны между собой ε 2 =1 , а скорость наполняемости емкости определяется соответственным изменением коэффициента пропорциональности ε 1 между притоком w и уровнем жидкости a . В этом случае база правил системы нечеткого вывода, соответствующая знаниям эксперта о том, какой необходимо выбрать приток жидкости w = ε 1 a + ε 2 b чтобы уровень жидкости в баке оставался средним, будет выглядеть следующим образом:

    ПРАВИЛО <1>: ЕСЛИ «уровень жидкости малый» И «расход жидкости большой» ТО w=0,3a+b ;

    ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО w=0,2a+b ;

    ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО w=0,1a+b ;

    ПРАВИЛО <4>: ЕСЛИ «уровень жидкости средний» И «расход жидкости большой» ТО w=0,3a+b ;

    ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО w=0,2a+b ;

    ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО w=0,1a+b ;

    ПРАВИЛО <7>:ЕСЛИ «уровень жидкости большой» И «расход жидкости большой» ТО w=0,4a+b ;

    ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО w=0,2a+b ;

    ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО w=0,1a+b .

    При уже рассмотренных ранее текущих уровне и расходе жидкости a= 2.5 м и b= 0.4 м 3 /сек соответственно, в результате фаззификации, агрегирования и активизации с учетом явного определения четких значений выходной переменной в консеквентах продукционных правил получаем пары значений (c i w i) : rule1 - (0,75 ; 1,15), rule2 - (0,5 ; 0.9), rule3- (0 ; 0,65), rule4 - (0,25 ; 1,15), rule5 - (0,25 ; 0,9), rule6 - (0 ; 0,65), rule7 - (0 ; 0), rule7 - (0 ; 1,14), rule8 - (0 ; 0,9), rule9 - (0 ; 0,65) . На этапе дефаззификации для лингвистической переменной «приток жидкости» осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 1.0475 м 3 /сек

    Упрощенный алгоритм нечеткого вывода формально задается точно так же, как и алгоритм Сугено, только при явном задании четких значений в консеквентах продукционных правил вместо соотношения w= ε 1 a+ ε 1 b используется явное задание непосредственного значения w . Таким образом, формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A AND B THEN w=ε », где антецеденты ядер правил нечеткой продукции построены из двух простых нечетких высказываний A, B при помощи логических связок «И», w – четкое значение выходной переменной, определенное для каждого заключения i -го правила, как действительное число ε i .

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

    ПРАВИЛО <1>: ЕСЛИ «уровень жидкости малый» И «расход жидкости большой» ТО w=0,6 ;

    ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО w=0,5 ;

    ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО w=0,4 ;

    ПРАВИЛО <4>: ЕСЛИ «уровень жидкости средний» И «расход жидкости большой» ТО w=0,5 ;

    ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО w=0,4 ;

    ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО w=0,3 ;

    ПРАВИЛО <7>:ЕСЛИ «уровень жидкости большой» И «расход жидкости большой» ТО w=0,3 ;

    ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО w=0,2 ;

    ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО w=0,1 .

    При уже рассмотренных ранее текущих уровне и расходе жидкости и соответственно, в результате фаззификации, агрегирования и активизации с учетом явного определения четких значений выходной переменной в консеквентах продукционных правил получаем пары значений (c i w i) : rule1 - (0,75 ; 0,6), rule2 - (0,5 ; 0,5), rule3- (0 ; 0,4), rule4 - (0,25 ; 0,5), rule5 - (0,25 ; 0,4), rule6 - (0 ; 0,3),
    rule7 - (0 ; 0,3), rule7 - (0 ; 0,3), rule8 - (0 ; 0,2), rule9 - (0 ; 0,1) . На этапе дефаззификации для лингвистической переменной «приток жидкости» осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 1.0475 м 3 /сек, y= 0.5 м 3 /сек