Меню
Бесплатно
Главная  /  Отношения  /  Нечеткая логика — математические основы. Прямой нечеткий логический вывод Методы приведения к четкости

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

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

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

Лингвистическая переменная состоит из названия переменной , например, ПРОЦЕНТНАЯ СТАВКА и ее значений, например, РАСТЕТ, ПАДАЕТ.

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

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

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

1. ЕСЛИ К_П незначительно растет, ТО У_Ж_1 незначительно падает. (m = 0.9)

2. ЕСЛИ К_П незначительно растет, ТО У_Ж_1 не падает. (m = 0.1)(Если перестают платить)

3. ЕСЛИ К_П значительно растет, ТО У_Ж_1 значительно падает. (m = 0.5)

4. ЕСЛИ К_П значительно растет, ТО У_Ж_1 не падает. (m = 0.5)

5. ЕСЛИ Ц_П незначительно растут, ТО У_Ж_2 незначительно падает. (m = 1)

6. ЕСЛИ Ц_П значительно растут, ТО У_Ж_2 значительно падает. (m = 1)

7. ЕСЛИ У_Ж_1 незначительно падает И У_Ж_2 незначительно падает, ТО У_Ж незначительно падает. (m = 1)

8. ЕСЛИ У_Ж_1 незначительно падает И У_Ж_2 значительно падает ИЛИ У_Ж_1 значительно падает И У_Ж_2 значительно падает, ТО У_Ж значительно падает. (m =1)

9. ЕСЛИ У_Ж_1 значительно падает И У_Ж_2 значительно падает, ТО У_Ж очень значительно падает. (m = 1)

Условия К_П НЕЗНАЧИТЕЛЬНО РАСТЕТ и К_П ЗНАЧИТЕЛЬНО РАСТЕТ являются размытыми и выражаются в зависимости от количества процентов роста p следующими формулами.

При 0 < p < 2 m (К_П НЕЗНАЧИТЕЛЬНО РАСТЕТ) = p / 2.

При 2 < p < 4 m

При 4 < p < 10 m (К_П НЕЗНАЧИТЕЛЬНО РАСТЕТ) = (10 - p ) / 6.

При p > 10 m (К_П НЕЗНАЧИТЕЛЬНО РАСТЕТ) = 1.

При p < 5 m (К_П ЗНАЧИТЕЛЬНО РАСТЕТ) = 0.

При 5 < p < 15 m (К_П ЗНАЧИТЕЛЬНО РАСТЕТ) = (p - 5) / 10.

При p > 15 m (К_П ЗНАЧИТЕЛЬНО РАСТЕТ) = 1.


Условия Ц_П НЕЗНАЧИТЕЛЬНО РАСТУТ и Ц_П ЗНАЧИТЕЛЬНО РАСТУТ также являются размытыми и выражаются формулами

При 0 < p < 1 m (Ц_П НЕЗНАЧИТЕЛЬНО РАСТУТ) = p .

При 1 < p < 5 m (Ц_П НЕЗНАЧИТЕЛЬНО РАСТУТ) = (5 - p ) / 4.

При 0 < p < 10 m (Ц_П ЗНАЧИТЕЛЬНО РАСТУТ) = p / 10.

При p > 10 m (Ц_П ЗНАЧИТЕЛЬНО РАСТУТ) = 1.

При использовании нечеткой логики для каждой формулы вводятся целый спектр возможных значений, лежащих между 0 (ЛОЖНО) и 1 (ИСТИННО), и правила вычисления этих значений. Вычисленные таким образом значения определяют степень истинности формул. Рассмотрим основополагающие понятия нечеткого множества и функции принадлежности.

Рассмотрим такие понятия, как «растет» и «падает». Отнесем эти понятия к переменным ПРОЦЕНТНАЯ СТАВКА и РУБЛЬ. Применительно к переменной ПРОЦЕНТНАЯ СТАВКА понятие роста может означать повышение уровня цен на бирже на 10 – 30 пунктов по индексу Доу-Джонса, а применительно к переменной РУБЛЬ означает повышение курса рубля по сравнению с какой-либо другой валютой в 20 – 30 раз. В таком контексте слово «растет» называется значением лингвистической переменной . Лингвистическая переменная может принимать различные значения из некоторого интервала, границы которого могут меняться в зависимости от обстоятельств. Например, границы интервала для лингвистической переменной «холодный» могут меняться в зависимости от того, идет ли речь о зиме или весне.

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

Рассмотрим правило:

ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ – ПАДАЮТ И НАЛОГИ УМЕНЬШАЮТСЯ, ТО УРОВЕНЬ ЦЕН НА БИРЖЕ – РАСТЕТ.

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

Пусть функция принадлежности данного правила равна 0,9, т.е. вероятность того, что при падении процентных ставок и уменьшении налогов уровень цен на бирже будет падать равна 0.9.

Но выполнение правила зависит от выполнения условий ПРОЦЕНТНЫЕ СТАВКИ ПАДАЮТ и НАЛОГИ УМЕНЬШАЮТСЯ, что происходит не всегда.

Пусть функция принадлежности лингвистической переменной ПРОЦЕНТНЫЕ СТАВКИ ПАДАЮТ равна 0.6, а функция принадлежности лингвистической переменной НАЛОГИ УМЕНЬШАЮТСЯ равна 0.8.

Тогда правило можно записать так:

ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ ПАДАЮТ (μ - 0.6) И

НАЛОГИ УМЕНЬШАЮТСЯ (μ - 0.8), ТО УРОВЕНЬ ЦЕН НА БИРЖЕ - РАСТЕТ (μ правила - 0.9)

Функция принадлежности того, что уровень цен на бирже будет действительно расти может быть подсчитан следующим образом: выбирается минимальная функция принадлежности для условий части ЕСЛИ правила, разделенных логическим оператором И, и умножается на функцию принадлежности для всего правила. Для приведенного примера: (minimum (0.6, 0.8))*0.9=0.54

Следовательно, при μ - 0,54 можно сказать, что уровень цен на бирже будет падать.

Если в условной части правила имеется логический оператор ИЛИ, то μ для этого вывода нужно выбрать максимальной из μ для вывода первого правила и μ для вывода второго правила. На первый взгляд все это кажется очень сложным, поэтому разберем пример. Прежде всего сформулируем общие принципы.

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

2.Если в правиле есть оператор ИЛИ, выбрать максимальное значение из μ для всех условий правила, разделенных оператором И для всех условий, связанных оператором ИЛИ.

3.Умножить выбранный μ на μ правила.

4.Если существует несколько правил с одинаковым логическим выводом, выбрать из всех полученных μ максимальный.

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

ЕСЛИ А (μ =0,3) И В (μ =0.6), ТО С (μ=0.5)

ЕСЛИ D (μ =0.4) И Е (μ =0,7), ТО С (μ=0.9)

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

maximum ((minimum(0.3,0.6)*0.5), (minimum (0.4,0.7) *0.9)) =

Maximum (03*0.5),(0.4*0.9)) = maximum (0.15,0.36) = 0.36

Возьмем пример с использованием логического оператора ИЛИ:

ЕСЛИ А (μ=0.3) И В (μ=0.6) ИЛИ D (μ=0.5), ТО С (μ=0.4)

В этом примере μ для логического вывода С считается так:

maximum (minimum (0.3,0.6), 0.5)*0.4)= maximum (0.3,0.5)*0.4=0.5*0.4=0.2.

Во многих случаях изначально заданы граничные значения функции принадлежности. Логический вывод считается верным только в том случае, если его μ превышает заранее заданные граничные значения. Работа с базой знаний продолжается до тех пор, пока значение функции принадлежности логического вывода больше граничного значения. В процессе работы выполняются определенные вычисления. Предположим, для частного логического вывода μ равно 0,4. Это значение запоминается. Затем оно сравнивается с граничным значением μ (допустим, что оно равно 0,8). Запомненное значение оказалось меньше граничного, и, значит, работа с базой знаний продолжается. Если при работе с базой знаний встретился тот же самый логический вывод, μ для новой μ и результат прибавляется к запомненному ранее μ. Значение μ , равное 1, свидетельствует об абсолютной уверенности в правильности вывода. Затем вновь запомненное значение μ сравнивается с граничным, и если оно больше, выполняется логический вывод, в противном случае, работа с базой знаний продолжается. Вышесказанное можно записать с помощью равенства:

Запомненный μ = Ранее запомненный μ + (1-Ранее запомненный μ)*μ нового правила.

Например:

Граничное значение μ=0,8

Правило: ЕСЛИ А, ТО В (μ=0,6)

Запомненный μ: 0,6

Новое правило: ЕСЛИ С, ТО В (μ=0,7)

Запомненный μ=0.6+(1-0,6)*0,7=0,88 (граничные значения превышены, и выполняется вывод).

Вопросы для самопроверки к главе 3:

1.Может ли быть в задачах рассуждений в пространстве состояний среды несколько целевых состояний?

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

3.Могут ли возможные действия меняться в процессе решения задачи в пространстве состояний среды?

4.При решении нечеткой задачи рассуждений в пространстве состояний среды ответ получаем детерминированный или вероятностный?

5.Может ли функция принадлежности принимать значение, большее единицы?

Тесты к главе 3.

1. Цель поиска:

А) нахождение целевого состояния, Б) нахождение промежуточного состояния, В) нахождение очередного состояния.

2.Поиск, вывод и рассуждение – это

А) одно и то же действие, Б) различные действия, В) ничего общего с действиями не имеют.

3. При нечеткой логике лингвистическая переменная может принимать

А) одно из двух значений «истинно» или «ложно», Б) множество значений внутри заданного интервала, В) одно значение.

4.Постановкой задачи называют

А) Задание всех возможных состояний, Б) задание всех возможных действий, В) задание всех возможных действий и состояний.

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

А) максимальной из μ для вывода первого правила и μ для вывода второго правила, Б) минимальной, В) функция принадлежности вывода не зависит от функций принадлежности от функций первого и второго правила

  • 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)


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

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

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

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

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

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

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

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

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

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

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

    Типовая структура процесса нечеткого вывода показана на рис. 17.

    Рис, 17

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

    На вход системы нечеткого вывода поступает вектор х* =[*,*,*2, »?**, ] четких значений лингвистических переменных д. Блок фаззификации (am. fuzzification - приведении к нечеткости) вычисляет степени принадлежности этих значений нечетким множествам значений лингвистических переменных. Для этого должны быть известны функции каждого терма лингвистической переменной.

    Фаззификация производится следующим образом. Пусть для каждой входной лингвистической переменной д известно ее числовое значение х*. Рассматривается каждое высказывание подусловий, в котором фигурирует переменная д, например, " р. есть от ", где ос ( -терм с известной функцией принадлежности [лАх). Значение х* используется в качестве аргумента //(л), в результате чего находится = д (х*). При этом могут использоваться модификаторы. Таким образом вычисляются значения истинности всех подусловий системы нечеткого вывода. Высказывания в подусловиях заменяются числами. На выходе блока фаззификации формируется вектор m = , который является входом блока вывода.

    Блок нечеткого логического вывода получает на входе вектор степени истинности всех подусловий т и вычисляет результирующую функцию принадлежности выходного значения (система вывода может иметь несколько выходов, тогда речь идет о выходном векторе). Вычисление результирующей функции принадлежности включает следующие процедуры (в скобках указаны названия процедур в соответствии с международным стандартом языков программирования контроллеров IEC 1131 - Programmable Controllers. Part 7 - Fuzzy Control Programming ):

    • - вычисление степени истинности условий (Aggregation - агрегирование);
    • - определение активизированных функций принадлежности заключений (Activftion - активизация);
    • - определение результирующих функций принадлежности выходных лингвистических переменных (Accumulation - аккумуляция).

    В процедуре вычисления степени истинности условий по каждому из правил системы нечеткого вывода (агрегирование) рассматривается каждое условие правил системы нечеткого вывода и вычисляется степень истинности условий. Исходными данными являются степени истинности подусловий (вектор т ), вычисленные в блоке фаззификации. Если условие содержит одно нечеткое высказывание вида, то степень истинности условия равна степени истинности высказывания условия. Если условие состоит из двух подусловий, связанных конъюнкцией, или дизъюнкцией, степень выполнения условия вычисляется с помощью треугольных норм (раздел 1.5). Например, для условия правила ЕСЛИ "(3, есть а," И "Р 2 естьа 2 " получаем ц(ц,дс г ")= 7 ’(ц 11 (х;)ц„(л-;)),

    х и х 2 - значения входных переменных л;, и х 2 ,

    Т - один из операторов t-нормы, /и а (х) и М а, (*) - функции принадлежности термов «, и а 2 .

    Аналогично для условия правила:

    где S - один из операторов s-нормы. Если условие содержит множество подусловий, соединенных дизъюнкциями и конъюнкциями, то сначала вычисляются степени истинности подусловий, соединенных конъюнкциями, затем - дизъюнкциями. Как обычно, скобки нарушают порядок действий. Рекомендуется использовать согласованные правила расчета истинности. Например, если для вычисления нечеткой конъюнкции используется операция min-пересечения, то для вычисления нечеткой дизъюнкции следует применить операцию max-объединения.

    Процедура определения активизированных функций принадлежности заключений (активизация) основана на операции нечеткой импликации (раздел 2.1). Входными данными для процедуры являются степени истинности условий правил и функции принадлежности выходных величин, выходными - функции принадлежности всех подзаключений. Рассмотрим пример . Пусть правило имеет вид ЕСЛИ (х= Л)ТО (у = В) , функции принадлежности ц А (х) и Мв(у) -треугольные (рис. 18), входное значение х* = 6,5, степень истинности условия /i, f (х*) = 0,5 (см. рис. 18).


    Рис . 18 -

    Используем импликацию Мамдаии:

    Практически активизированная функция принадлежности заключения при использовании импликации Мамдани находится простым усечением функции принадлежности заключения Мв(у) Д° уровня степень истинности условия [л А (х*) (рис. 18). Можно использовать другие операторы нечеткой импликации.

    Например, результат активизации заключения с использованием правила «произведение» показан на рис. 19.


    Рис . 19

    На практике, особенно при наличии в правилах нескольких позаключений, удобно использовать процедуру активизации, основанную на алгоритме вывода Мамдани (алгоритм будет рассмотрен в разделе 2.6). В этом алгоритме для каждого правила задастся весовой коэффициент /^е. Может быть F/= 1, такое значение принимают, если весовой коэффициент не задан явно. Для отдельных подзаключений одного правила могут быть заданы разные весовые коэффициенты. Степень истинности всех подзаключений /-го правила рассчитывается по формуле

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

    min-активизация /J* (д>) = min {с п (j")};

    prod-активизация //* (у) = c t // (у).

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

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

    Дефаззификация (приведение к четности) - нахождение для каждой выходной лингвистической переменной четкого значения в некотором смысле наилучшим образом, представляющим нечеткую переменную. Необходимость в дефаззификации объясняется тем, что на выходе системы нечеткого вывода нужны, как правило, четкие значения, которые поступают, например, на исполнительный механизм. Так как возможны разные критерии представления чечеткой переменной одним числом, то существуют различные методы дефаззификации . В результате определения результирующих функций принадлежности выходных лингвистических переменных получаются результирующие функции принадлежности №res{y)- Для унимодальной функции принадлежности простейшим методом дефаззификации является выбор четкого числа, соответствующего максимальной степени принадлежности. Обобщением этого метода на многомодальные функции являются методы левого и правового модального значения.

    В методе левого модального значения (LM - Lost Most Maxi mum), называемом еще метод первого максимума (FM - FirstofMaxima) , или наименьший из максимумов (SOM - Smallest Of Maximums) в качестве четкого значения берется у = min т }, где х т - модальное значение результирующей функции принадлежности. Другими словами, в качестве четкой выходной переменной берется наименьшая (самая левая) мода.

    В методе правого модального значения (RM - RightMostMaximum), называемом еще метод последнего максимума (LM - LastofMaxima), или метод наибольшего максимума (LOM - Largest Of Maximums) в качестве четкого значения берется у = тах{х /и |, то есть наибольшая (самая правая) из мод. Примеры дефаззификации с использование левого и правого модальных значений представлены на рис. 20а и 206.

    В методе среднего максимума (ММ - MidleofMaxima), или методе центра максимумов (MOM - MeanOfMaximums) находится среднее арифметическое элементов универсального множества, имеющих максимальные степени принадлежностей

    где G - множество всех элементов из интервала, имеющих максимальную степень принадлежности нечеткому множеству. Пример дефаззификации с использование метода среднего максимума представлен на рис. 20в.

    Дефаззификация по методу центра тяжести (CG - Center of Gravity, Centroid) производится по формуле определения центра тяжести плоской фигуры, ограниченной осями координат и графиком функции принадлежности нечеткого множества

    где Min и Мах - левая и правая точки интервала носителя выходной переменной.

    Пример дефаззификации с использование метода центра тяжести представлен на рис. 20в.


    Рис. 20 - Примеры дефаззификации а) результат дефаззификации по методу левого модального значения у =у 1 ;

    • б) результат дефаззификации по методу правого модального значения у = у 2 ;
    • в) результат дефаззфификации по методу среднего максимума;
    • г) результат дефаззификации по методу центра тяжести. Дефаззификацияпо методу центра площади (СА - Center of

    Area, Bisector of Area, Bisector) состоит в нахождении такого чис-

    >’ Мах

    ла у, что J //(x)dx= J //(x)dx . Геометрический смысл метода

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

    Понятие нечеткого вывода занимает важнейшее место в нечеткой логике Алгоритм 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 — параметр отработки машинного масла).

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