Современные проблемы науки и образования. Нечеткие множества

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

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

В противном случае имеет место неполная база нечетких правил.

Результатом нечеткого вывода является четкое значение переменной у* на основе заданных четких значений x k , k = 1,..., п.

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

Рис. 6.19.

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

База правил имеет следующий вид:


Рис. 6.23.


Рис. 6.24.

Рис. 6.25.

Открытие клапана

  • Круглое В. В., Дли М. И. Интеллектуальные информационные системы: компьютернаяподдержка систем нечеткой логики и нечеткого вывода. М.: Физматлит, 2002.
  • Прикладные нечеткие системы: пер. с япон. / К. Асам [и др.) ; под ред. Т. Тэрано. М. :Мир, 1993.

Типовая структура процесса нечеткого вывода показана на рис. 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 . Геометрический смысл метода

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

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

Основные этапы формирования нечеткого вывода:

    Формирование базы правил систем нечеткого вывода.

    Фаззификация входных переменных.

    Агрегирование подусловий в нечетких правилах продукций.

    Активизация или композиция подзаключений в нечетких правилах продукций.

    Аккумулирование заключений нечетких правил продукций.

Ниже рассмотрим основные особенности каждого из этих этапов.

1.2.1 Формирование базы правил нечеткого вывода

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

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

ПРАВИЛО_1: ЕСЛИ "Условие_1", ТО "Заключение_1"

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

ПРАВИЛО_N: ЕСЛИ "Условие_N", ТО "Заключение_N"

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

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

1.2.2. Фаззификация

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

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

П р и м е р 1.1 Для иллюстрации выполнения этого этапа рассмотрим пример процесса фаззификации трех нечетких высказываний: "скорость автомобиля малая", "скорость автомобиля средняя", "скорость автомобиля высокая" для входной лингвистической переменной β1 - скорость движения автомобиля. Им соответствуют нечеткие высказывания первого вида: " β1есть α1 ", " β2есть α2 ", " β3есть α3 ". Предположим, что текущая скорость автомобиля 55 км/ч. Тогда фаззификация первого нечеткого высказывания и третьего дает в результате число 0, второго 0.67.

Рисунок 1.1 - Пример фаззификации входной лингвистической переменной "скорость автомобиля" для трех нечетких высказываний.

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

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

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

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

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

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

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

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

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

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

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

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

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

Занятие 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месяцев.