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

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


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

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

    Для того что бы выполнить нечеткий логический вывод необходимы следующие условия:

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

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

    Между правилами не должно быть противоречий и корреляции.

    На рисунке 1.7. изображена последовательность действий при использовании процесса нечеткого логического вывода.

    Рисунок 1.7 – Последовательность действий при использовании

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

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

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

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

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

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

    ПРАВИЛО<#>: ЕСЛИ “β 1 есть α 1 ”,ТО “β 2 есть α 2 ”

    Здесь нечеткое высказывание “β 1 есть α 1 ” представляет собой условие данного правила нечеткой продукции, а нечеткое высказывание “β 2 есть α 2 ” – нечеткое заключение данного правила, которые сформулированы в терминах нечетких лингвистических высказываний. При этом считается, что β 1 ≠ β 2 .

    Основные этапы нечеткого логического вывода и особенности каждого из них более подробно рассмотрены ниже:

    1) Формирование базы правил. База правил систем нечеткого логического вывода предназначена для формального представления эмпирических знаний или знаний экспертов в той или иной проблемной области и представляет собой совокупность правил нечетких продукций вида: ПРАВИЛО_1: ЕСЛИ “Условие _1”,ТО “Заключение_1”(F 1)

    ПРАВИЛО_2: ЕСЛИ “Условие _2”,ТО “Заключение_2”(F 2)

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

    Здесь F i (i принадлежит {1, 2, …, n} ) есть коэффициенты определенности или весовые коэффициенты соответствующих правил, которые могут принимать значения из интервала . Если не указано иначе, то F i =1 .

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

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

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

    ПРАВИЛО<#>: ЕСЛИ “β 1 есть α 1 ” И “β 2 есть α 2 ”,ТО “β 3 есть ν”, или

    ПРАВИЛО<#>: ЕСЛИ “β 1 есть α 1 ” ИЛИ “β 2 есть α 2 ”,ТО “β 3 есть ν”,

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

    § Нечеткая логическая конъюнкция (И)

    § Нечеткая логическая дизъюнкция (ИЛИ)

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

    Когда заключение состоит из нескольких подзаключений вида:

    ПРАВИЛО<#>: ЕСЛИ “β 1 есть α 1 ” ТО “β 2 есть α 2 ” И “β 3 есть ν”, или

    ПРАВИЛО<#>: ЕСЛИ “β 1 есть α 1 ” ТО “β 2 есть α 2 ” ИЛИ “β 3 есть ν”,

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

    После нахождения множества С i ={c 1 , c 2 , … , c n } степеней истинности каждого из подзаключений определяются функции принадлежности каждого из них для рассматриваемых выходных лингвистических переменных. Для этого используется один из следующих методов:

    · Min-активизация: μ’(y)=min{C i , μ(y)};

    · Prod- активизация: μ’(y)=C i *μ(y);

    · Average- активизация:μ’(y)=0.5*(C i +μ(y)),

    где μ’(y) – функция принадлежности терма, который является значением некоторой выходной переменной y j , заданной на универсуме Y .

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

    ,

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

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

    Centroid - центр тяжести; Bisector - медиана; SOM (Smallest Of Maximums) - наименьший из максимумов;

    LOM (Largest Of Maximums) - наибольший из максимумов; MOM (Mean Of Maximums) - центр максимумов.

    Рисунок 1.8 – Основные методы дефаззификации

    1. Метод центра тяжести (Centre of Gravity) считается одним из самых простых по вычислительной сложности, но достаточно точным методом. Расчет производится по формуле:

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

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

    где число элементов в области для вычисления «центра тяжести».

    2. Метод центра площади (Centre of Area):

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

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

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

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

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

    Нечеткий логический вывод может рассматриваться как расширение обычного логического вывода. В обычном логическом выводе производится применение некоторых правил логического вывода (которые считаются истинными) к некоторым посылкам (которые также считаются истинными), что в результате дает выводы, считающиеся достоверными. В нечетком же логическом выводе и исходные посылки, и правила вывода могут иметь произвольный уровень истинности в промежутке от 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. Если в условной части правила имеется логический оператор ИЛИ, то функцию принадлежности μ для вывода нужно выбрать

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

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

    ЕСЛИ <Антецедент (предпосылка)> ТО <Консеквент (следствие) > ,

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

    ЕСЛИ « ЕСТЬ » ТО « ЕСТЬ 2 »,

    ЕСЛИ « ЕСТЬ » И « ЕСТЬ » ТО « ЕСТЬ НЕ »,

    ЕСЛИ « ЕСТЬ » ИЛИ « ЕСТЬ » ТО « ЕСТЬ НЕ »,

    Нечеткий логический вывод – это процесс получения нечетких заключений на основе нечетких условий или предпосылок.

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

    Логический вывод осуществляется поэтапно.

    1)Фаззификация (введение нечеткости) – это установка соответствия между численным значением входной переменной системы нечеткого вывода и значение функции принадлежности соответствующего ей терма лингвистической переменной. На этапе фаззификации значениям всех входным переменным системы нечеткого вывода, полученным внешним по отношению к системе нечеткого вывода способом, например, при помощи статистических данных, ставятся в соответствие конкретные значения функций принадлежности соответствующих лингвистических термов, которые используются в условиях (антецедентах) ядер нечетких продукционных правил, составляющих базу нечетких продукционных правил системы нечеткого вывода. Фаззификация считается выполненной, если найдены степени истинности (a) всех элементарных логических высказываний вида « ЕСТЬ », входящих в антецеденты нечетких продукционных правил, где - некоторый терм с известной функцией принадлежности µ(x), - четкое численное значение, принадлежащее универсуму лингвистической переменной .

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

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


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

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

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

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

    Объединение функций принадлежности всех подзаключений проводится как правило классически  (max-объединение).

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

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

    · метод центра тяжести заключается в расчете центроида площади:

    где - носитель нечеткого множества выходной лингвистической переменной;

    · метод центра площади заключается в расчете абсциссы y , делящей площадь, ограниченную кривой функции принадлежности µ(x) , так называемой биссектрисы площади

    · метод левого модального значения = ;

    · метод правого модального значения = .

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

    Практические занятия по дисциплине «Экспертные системы»

    Учебный год, осенний семестр

    Занятие 1. Логический вывод в продукционных системах

    Пример 1 . Имеется фрагмент базы знаний из двух правил:

    П1: Если (отдых – летом) и (человек – активный)

    то (ехать в горы)

    П2: Если (любит – солнце)

    то (отдых – летом)

    Предположим, в систему поступили данные - (человек­ – активный) и (любит – солнце).

    Прямой вывод - исходя из данных, получить ответ.

    1-й проход.

    Шаг 1. Пробуем П1, не работает (не хватает данных (отдых–летом)).

    Шаг 2. Пробуем П2, работает, в базу поступает факт (отдых–летом).

    2-й проход.

    Шаг 3. Пробуем П1, работает, активируется цель (ехать в горы), которая и выступает как вывод.

    Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.

    1-й проход.

    Шаг 1. Цель - (ехать в горы): пробуем П1 - данных (отдых– летом) нет, они становятся новой целью, и ищется правило, где она в правой части.

    Шаг 2. Цель (отдых – летом): правило П2 подтверждает цель и активирует ее.

    2-й проход.

    Шаг 3. Пробуем П1, подтверждается искомая цель.

    Пример 2. БЗ ЭС, характеризующей состояние на бирже.

    · ЕСЛИ Процентные ставки падают , ТО Уровень цен на бирже растет .

    · ЕСЛИ Процентные ставки растут , ТО Уровень цен на бирже падает .



    · ЕСЛИ Валютный курс доллара падает , ТО Процентные ставки растут .

    · ЕСЛИ Валютный курс доллара растет , ТО Процентные ставки падают .

    · ЕСЛИ Процентные ставки федерального резерва падают И Средства федерального резерва добавлены , ТО Процентные ставки падают .

    Валютный курс доллара падает. Определить уровень цен на бирже.

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

    Пример 4. Разработать правила для базы знаний экспертной системы, консультирующей клиента при покупке квартиры, используя указанные критерии и цели.

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

    Цели: квартира хорошая и полностью вас удовлетворяет; квартира удовлетворительная, хотя и имеет целый ряд недостатков; квартира вам не подходит.

    Пример 5. Разработать дерево решений для базы знаний экспертной системы, консультирующей клиента при покупке автомобиля, используя указанные критерии и цели.

    Критерии: марка автомобиля (напр., ВАЗ, Audi, BMW, Renault, Subaru, Honda), год выпуска, цена, кол-во передач, объем двигателя, кол-во дверей, расход топлива.

    Цели: выбор автомобиля.


    Занятие 2. Обработка знаний с применением теории нечетких множеств

    Вариант 1

    Пример 1. Разработка системы нечеткого вывода (СНВ)

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

    Этап 1. Создадим структуру СНВ: два входа, механизм нечеткого вывода по Мамдани, один выход. Объявляем первую переменную как discont, а вторую - period, которые соответственно будут представлять ставку дисконтирования и период окупаемости бизнес-проекта. Наименование выходной переменной, на основании которой принимается решение о степени инвестиционной привлекательности бизнес-проекта, задается как rate.

    Этап 2. Каждой входной и выходной переменной поставим в соответствие набор функций принадлежности (ФП). Для discont определяем диапазон базовой переменной от 5 до 50 (единица измерения - проценты). Такой же диапазон выбираем для ее отображения. Добавим три ФП, тип которых - треугольные нечеткие числа (trimf). Для лингвистической переменной "ставка дисконтирования» discont определим значениятермов: “небольшая”, “средняя” и “большая” (small, middle, large ).

    Для лингвистической переменной period диапазон базовой переменной определен равным (единица измерения - месяцы), термам переменной снаименованиями: “короткий”, “обычный”, “длительный” срок окупаемости (short, normal, long) поставлены в соответствие три ФП типа гауссиан (gaussmf) . Для выходной переменной rate определяем: диапазон базовой переменной равен , термины “плохой”, “обычный”, “хороший” (bad, normal, good) описываются тремя ФП типа trimf

    Этап 3 . Определим набор правил вида ЕСЛИ…ТО, которые задают связь входных переменных с выходными (сделать самостоятельно). Например, правило

    ЕСЛИ discont=small И period-short ТО rate=good

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

    Задание : определить степень инвестиционной привлекательности проектас даннымиоставке дисконтирования discont=15%, периодеокупаемости бизнес-проекта period= 10месяцев.