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

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

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

2.1 Основные понятия нечеткой логики

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

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

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

Лингвистические переменные:

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

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

Нечеткие множества:

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

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

Множество элементов пространства
, для которых
, называется носителем нечеткого множества и обозначается supp A :

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

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

,

где
‒ высота этого множества.

Нечеткое множество
, является выпуклым тогда и только тогда, когда для произвольных
и
выполняется условие

2.1.1 Операции над нечеткими множествами

Включение. Пусть и‒ нечеткие множества на универсальном множестве. Говорят, чтосодежится в, если

Равенство. и равны, если

Дополнение. Пусть
,и‒ нечеткие множества, заданные на.идополняют друг друга, если.

Пересечение.
‒ наибольшее нечеткое подмножество, содержащееся одновременно ви:

Объединение.
‒ наибольшее нечеткое подмножество, содержащее все элементы изи:

Разность.
‒ подмножество с функцией принадлежности:

2.1.2 Нечеткие отношения

Пусть
‒ прямое произведение универсальных множеств и
‒ некоторое множество принадлежностей. Нечеткое n-арное отношение определяется как нечеткое подмножествона, принимающее свои значения в
. В случае
и
нечетким отношениеммежду множествами
и
будет называться функция
, которая ставит в соответствие каждой паре элементов
величину
.

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

Нечеткая импликация.

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

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

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

2.2 Построение нечеткой системы

Из разработок искусственного интеллекта завоевали устойчивое признание экспертные системы, как системы поддержки принятия решений. Они способны аккумулировать знания, полученные человеком в различных областях деятельности. Посредством экспертных систем удается решить многие современные задачи, в том числе и задачи управления. Одним из основных методов представления знаний в экспертных системах являются продукционные правила, позволяющие приблизиться к стилю мышления человека. Обычно продукционное правило записывается в виде: «ЕСЛИ (посылка) (связка) (посылка)… (посылка) ТО (заключение)».Возможно наличие нескольких посылок в правиле, в этом случае они объединяются посредством логических связок «И», «ИЛИ».

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

Таким образом, нечеткая система - это система, особенностью описания которой является:

нечеткая спецификация параметров;

нечеткое описание входных и выходных переменных системы;

нечеткое описание функционирования системы на основе продукционных «ЕСЛИ…ТО…»правил.

Важнейшим классом нечетких систем являются нечеткие системы управления (НСУ).Одним из важнейших компонентов НСУ является база знаний, которая представляет собой совокупность нечетких правил «ЕСЛИ–ТО», определяющих взаимосвязь между входами и выходами исследуемой системы. Существуют различные типы нечетких правил: лингвистическая, реляционная, модель Такаги-Сугено и др.

Для многих приложений, связанных с управлением процессами, необходимо построение модели рассматриваемого процесса. Знание модели позволяет подобрать соответствующий регулятор (модуль управления). Однако часто построение корректной модели представляет собой трудную проблему, требующую иногда введения различных упрощений. Применение теории нечетких множеств для управления процессами не предполагает знания моделей этих процессов. Следует только сформулировать правила поведения в форме нечетких условных суждений типа «ЕСЛИ-ТО».

Рисунок 2.1 -. Структура нечеткой системы управления

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

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

В нечеткой логике значения любой величины представляются не числами, а словами естественного языка и называются «термами». Так, значением лингвистической переменной «Дистанция» являются термы «Далеко», «Близко» и т. д. Для реализации лингвистической переменной необходимо определить точные физические значения ее термов. Допустим переменная «Дистанция» может принимать любое значение из диапазона от 0 до 60 метров. Согласно положениям теории нечетких множеств, каждому значению расстояния из диапазона в 60 метров может быть поставлено в соответствие некоторое число, от нуля до единицы, которое определяет степень принадлежностиданного физического значения расстояния (допустим, 10 метров) к тому или иному терму лингвистической переменной «Дистанция». Тогда расстоянию в 50 метров можно задать степень принадлежности к терму «Далеко», равную 0,85, а к терму «Близко» ‒ 0,15. Задаваясь вопросом, сколько всего термов в переменной необходимо для достаточно точного представления физической величины принято считать, что достаточно 3-7 термов на каждую переменнуюдля большинства приложений. Большинствоприменений вполне исчерпывается использованием минимального количества термов.Такое определение содержит два экстремальных значения (минимальное и максимальное) и среднее. Что касается максимального количества термов, то оно не ограничено и зависит целиком от приложения и требуемой точности описания системы. Число 7 же обусловлено емкостью кратковременной памяти человека, в которой, по современным представлениям, может храниться до семи единиц информации.

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

Рисунок 2.2 ‒ Стандартные функции принадлежности

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

Следующей стадией является стадия разработки нечетких правил.

На ней определяются продукционные правила, связывающие лингвистические переменные. Большинство нечетких систем используют продукционные правила для описания зависимостей между лингвистическими переменными. Типичное продукционное правило состоит из антецедента (частьЕСЛИ …) и консеквента (часть ТО…). Антецедент может содержать более одной посылки. В этом случае они объединяются посредством логических связок«И» или «ИЛИ».

Процесс вычисления нечеткого правила называется нечетким логическим выводом и подразделяется на два этапа: обобщение и заключение.

Пусть имеется следующее правило:

ЕСЛИ «Дистанция» = средняя И «Угол» =малый, ТО «Мощность» = средняя.

На первом шаге логического вывода необходимо определить степень принадлежности всего антецедента правила. Для этого в нечеткой логике существуют два оператора: Min(…) и Max(…). Первый вычисляет минимальное значение степени принадлежности, а второй ‒ максимальное значение. Когда применять тот или иной оператор, зависит от того, какой связкой соединены посылки в правиле. Если использована связка «И», применяется оператор Min(…). Если же посылки объединены связкой «Или», необходимо применить оператор Max(…). Ну а если в правиле всего одна посылка, операторы вовсе не нужны.

Следующим шагом является собственно вывод или заключение. Подобным же образом посредством операторов Min/Maxвычисляется значение консеквента. Исходными данными служат вычисленные на предыдущем шаге значения степеней принадлежности антецедентов правил.

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

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

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

2.3. Модели нечеткого логического вывода

Нечеткий логический вывод - это аппроксимация зависимости «входы–выход» на основе лингвистических высказываний типа «ЕСЛИ–ТО» и операций над нечеткими множествами. Нечеткая модель содержит следующие блоки:

‒ фаззификатор, преобразующий фиксированный вектор влияющих факторов Xв вектор нечетких множеств , необходимых для выполнения нечеткого логического вывода;

‒ нечеткая база знаний, содержащая информацию о зависимости
в виде лингвистических правил типа «ЕСЛИ–ТО»;

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

‒ дефаззификатор, преобразующий выходное нечеткое множество в четкое число Y.

Рисунок 2.3 ‒ Структура нечеткой модели.

2.3.1Нечеткая модель типа Мамдани

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

Рисунок 2.4 – Диаграмма деятельности процесса нечеткого вывода

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

В модели типа Мамдани взаимосвязь между входами X = (x 1 , x 2 ,…, x n)и выходом y определяется нечеткой базой знаний следующего формата:

,

где
- лингвистический терм, которым оценивается переменная x i в строке с номером
;
), где- количество строк-конъюнкций, в которых выходоценивается лингвистическим термом;
- количество термов, используемых для лингвистической оценки выходной переменной.

С помощью операций ∪(ИЛИ) и ∩ (И) нечеткую базу знаний можно переписать в более компактном виде:

(1)

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

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

Введем следующие обозначения:

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

- функция принадлежности выхода y нечеткому терму
, т.е.

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

Наиболее часто используются следующие реализации: для операции ИЛИ - нахождение максимума, для операции И- нахождение минимума.

Нечеткое множество , соответствующее входному вектору X * , определяется следующим образом:

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

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

Модели типа Мамдани и типа Сугэно будут идентичными, когда заключения правил заданы четкими числами, т. е. в случае, если:

1) термы d j выходной переменной в модели типа Мамдани задаются синглтонами - нечеткими аналогами четких чисел. В этом случае степени принадлежностей для всех элементов универсального множества равны нулю, за исключением одного со степенью принадлежности равной единице;

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

2.3.2 Нечеткая модель типа Сугэно

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

Модель Такаги-Сугено иногда носит называние Takagi-Sugeno-Kang. Причина состоит в том, что этот тип нечеткой модели был первоначально предложен Takagi и Sugeno. Однако Канг и Сугено провели превосходную работу над идентификацией нечеткой модели. Отсюда и происхождение названия модели.

В модели типа Сугэно взаимосвязь между входами
и выходом y задается нечеткой базой знаний вида:

где - некоторые числа.

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

,

Таким образом, база знаний в модели типа Сугэно является гибридной - ее правила содержат посылки в виде нечетких множеств и заключения в виде четкой линейной функции. База знаний (3) может трактоваться как некоторое разбиение пространства влияющих факторов на нечеткие подобласти, в каждой из которых значение функции отклика рассчитывается как линейная комбинация входов. Правила являются своего рода переключателями с одного линейного закона «входы–выход» на другой, тоже линейный. Границы подобластей размытые, следовательно, одновременно могут выполняться несколько линейных законов, но с различными весами. Результирующее значение выхода определяется как суперпозиция линейных зависимостей, выполняемых в данной точке
n-мерного факторного пространства. Это может быть взвешенное среднее

,

или взвешенная сумма

.

Значения
рассчитываются как и для модели типа Мамдани, т. е. по формуле (2).Обратим внимание, что в модели Сугэно в качестве операций ˄ и ˅обычно используются соответственно вероятностное ИЛИ и умножение. В этом случае нечеткая модель типа Сугэно может рассматриваться как особый класс многослойных нейронных сетей прямого распространения сигнала, структура которой изоморфна базе знаний. Такие сети получили название нейро-нечетких.

На тему:

«Нечеткий логический вывод»

Цель работы: освоить порядок формирования лингвистических переменных и выполнения нечеткого логического вывода.

1. Теоретические сведения

1.1. Последовательность выполнения нечеткого вывода

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

П1: если x есть A 1, то y есть B 1;

П2: если x есть A 2, то y есть B 2;

Пn : если x есть An , то y есть Bn ,

где x – входная лингвистическая переменная (имя для известных значений данных); y – выходная лингвистическая переменная (имя для значения данных, которое будет вычислено); Ai , Bi – функции принадлежности (нечеткие подмножества), определенные соответственно на x и y ; «x есть A » – нечеткое высказывание, называемое предпосылкой правила; «y есть B» – н ечеткое высказывание, называемое заключением правила.

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

Если цена высокая , то спрос низкий .

Здесь цена – входная переменная x ; спрос – выходное значение y ; высокая , низкий – функции принадлежности (нечеткие подмножества), определенные на множествах значений цены и спроса соответственно.

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


Процесс обработки нечетких правил вывода в управляющих системах состоит из четырех этапов:

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

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

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

https://pandia.ru/text/80/195/images/image003_177.gif" width="71" height="23">

Рис.4. Композиция СУММА.

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

Скаляризация осуществляется различными способами. Чаще всего используется определение «центра тяжести» Н функции принадлежности нечеткого подмножества по формуле (см. рис. 5):

https://pandia.ru/text/80/195/images/image012_79.gif" width="232" height="60">.

Рис. 5. Скаляризация методом «центра тяжести».

Другой способ скаляризации – использование максимального значения функции принадлежности (см. рис. 6). При этом используются три разновидности взятия максимума: наибольшего из максимумов (LOM ), наименьшего из максимумов (SOM ) и центра максимумов (MOM ).

Рис. 6. Скаляризация методом «максимума».

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

П1: если x есть A , то w есть D ,

П2: если y есть B , то w есть E ,

П3: если z есть C , то w есть F ,

где x , y и z – имена входных переменных, w – имя переменной вывода, A , B , C , D , E , F – заданные функции принадлежности.

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

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

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

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


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

https://pandia.ru/text/80/195/images/image015_71.gif" width="53" height="27">: .

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

1.2. Алгоритмы нечеткого вывода

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

П1: если x есть A 1 и y есть B 1 то z есть C 1,

П2: если x есть A 2 и y есть B 2 то z есть C 2,

где x , y – имена входных переменных; z – имя переменной вывода; A 1, A 2, B 1, B 2, C 1, C 2 – некоторые заданные функции принадлежности.

Необходимо определить четкое значение z 0 на основе указанных правил вывода и четких значений x 0, y 0.

1.2.1. Алгоритм Мамдани

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

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

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

https://pandia.ru/text/80/195/images/image019_59.gif" width="162" height="25">,

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

https://pandia.ru/text/80/195/images/image022_54.gif" width="145" height="28">.

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

4. Приведение к четкости: для нахождения z 0 вычисляется центр тяжести .

1.2.2. Алгоритм Цукамото

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

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

2. На втором этапе сначала определяются (как в алгоритме Мамдани) уровни «отсечения» и , затем в результате решения уравнений

Https://pandia.ru/text/80/195/images/image030_35.gif" width="126" height="52 src=">

В случае n нечетких множеств используется следующая формула:

.

Пример. Пусть имеем , , https://pandia.ru/text/80/195/images/image035_34.gif" width="96" height="25 src=">.

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

https://pandia.ru/text/80/195/images/image037_31.gif" width="340" height="25 src=">

и значения и https://pandia.ru/text/80/195/images/image040_32.gif" width="91" height="25 src=">, .

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


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

1.2.3. Алгоритм Сугено

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

П1: если x есть A 1 и y есть B 1 то ,

П2: если x есть A 2 и y есть B 2 то .

Алгоритм включает следующие шаги.

1. Первый шаг такой же, как в алгоритме Мамдани.

2..gif" width="162" height="25 src="> и индивидуальные выходы правил:

https://pandia.ru/text/80/195/images/image048_26.gif" width="120" height="27 src=">.

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

https://pandia.ru/text/80/195/images/image027_43.gif" width="21" height="25">:

https://pandia.ru/text/80/195/images/image019_59.gif" width="162" height="25">,

а затем – нечеткие подмножества https://pandia.ru/text/80/195/images/image051_24.gif" width="64" height="25 src=">.

3..gif" width="205 height=47" height="47">.

4. Выполняется приведение к четкости методом центра тяжести.

Алгоритм Ларсена иллюстрирует рис. 9.


Рис. 9. Иллюстрация алгоритма Ларсена.

1.2.5. Пример нечеткого вывода

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

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

1. Если температура воздуха в комнате высокая, то скорость вращения вентилятора высокая.

2. Если температура воздуха в комнате средняя, то скорость вращения вентилятора средняя.

3. Если температура воздуха в комнате низкая, то скорость вращения вентилятора низкая.

Чтобы система могла обрабатывать эти правила, надо задать функции принадлежности для нечетких подмножеств, определяющих значение температуры t и скорость вращения вентилятора v . Пусть температура воздуха в комнате находится в пределах от 0 до 60°C. Функцию принадлежности для нечеткого подмножества низкая , определенную на интервале изменения температуры, можно задать, например, следующим образом (см. рис. 10). Если температура ниже 12°C, то это определенно низкая температура для комнаты (). Температуру выше 20°C никак нельзя назвать низкой (). В интервале от 12 до 20°С функция принадлежности линейно убывает, т. е. с увеличением температуры уменьшается истинность утверждения «температура воздуха в комнате низкая»..gif" width="249" height="116">

Рис. 10. Нечеткое подмножество «низкая», определенное на множестве значений температуры.

Сходные рассуждения позволяют задать функции принадлежности для оставшихся подмножеств: средняя и высокая (см. рис. 11, 12).

Рис. 11. Нечеткое подмножество «средняя», определенное на множестве значений температуры

Рис.12. Нечеткое подмножество «высокая», определенное на множестве значений температуры

Определим нечеткие подмножества для скорости вращения вентилятора. Пусть она может изменяться от 0 до 1000 об/мин. Возможен следующий вариант определения функций принадлежности для нечетких подмножеств низкая , средняя и высокая (см. рис. 13, 14, 15):

Рис. 13. Нечеткое подмножество «низкая», определенное на множестве

значений скорости вращения вентилятора

= 28°C

2. Задание к лабораторной работе

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

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

3. Выполните нечеткий вывод для двух выбранных значений переменных с использованием алгоритмов Мамдани и Ларсена в программной среде MathCad .

4. Сравните полученные результаты.

5. Оформите отчет о работе.

3. Варианты заданий на лабораторную работу

1. Местоположение квартиры (по отношению к центру города), Стоимость квартиры.

2. Длительность работы банка, Надежность банка.

3. Доход клиента, Доверие клиенту.

4. Размер квартиры, Стоимость квартиры.

5. Капитал фирмы, Надежность фирмы.

6. Возраст человека, Вероятность получения работы.

7. Срок годности продукта, Объем его закупки.

8. Цена автомобиля, Объем продаж.

9. Качество товара, Объем продаж.

10. Качество товара, Срок службы.

11. Срок исполнения заявки, Приоритет заявки.

12. Скорость движения, Вероятность ДТП.

13. Качество товара, Срок гарантии.

14. Возраст автомобиля, Страховой риск (в баллах по 5-балльной шкале).

15. Возраст водителя, Страховой риск (в баллах по 5-балльной шкале).

16. Сложность ремонта (в баллах по 10-балльной шкале), Время ремонта (в днях).

17. Загруженность компьютерной сети, Время реакции сети (время передачи).

18. Загруженность компьютерной сети, Вероятность доставки сообщения.

19. Близость препятствия, Скорость движения.

20. Возраст прибора, Надежность прибора.

21. Температура воздуха в теплице, Время проветривания теплицы.

22. Возраст дерева, Ожидаемая урожайность.

23. Количество выпавших осадков, Ожидаемая урожайность.

24. Максимальная скорость автомобиля, Страховой риск (в баллах по 5-балльной шкале).

25. Опыт работы специалиста (в годах), Вероятность получения работы.

4. Контрольные вопросы

1. Что представляет собой нечеткое правило?

2. Назовите этапы процесса обработки нечетких правил вывода.

3. Какие операции используются для композиции нечетких множеств?

4. Какие используются способы скаляризации (дефазификации)?

5. Опишите алгоритм Мамдани.

6. Опишите алгоритм Цукамото.

7. Опишите алгоритм Сугено.

8. Опишите алгоритм Ларсена.

5. Содержание отчета

2. Формулировка задания на лабораторную работу.

3. Описание хода выполнения работы по каждому пункту задания.

4. Выводы по проделанной работе.

Литература

1. , Райх данных. Интеллектуальная обработка информации . – М.: Издатель, Издательство Нолидж, 2001. – 496 с.

2. Анисимов алгоритмы управления: Уч. пособие. – М.: Изд-во МЭИ, 2004. – 61 с.

Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

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

Первый период (конец 60-х–начало 70 гг.) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, построенных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике. Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других.

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Математический аппарат

Характеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF c (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MF c (x)/x}, MF c (x) . Значение MF c (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.

Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия "горячий чай" может выглядеть следующим образом:

C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.

Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

Пересечение двух нечетких множеств (нечеткое "И"): A B: MF AB (x)=min(MF A (x), MF B (x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MF AB (x)=max(MF A (x), MF B (x)).

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

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

Нечеткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечеткое множество на X.
Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие как "Цена акции". Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: "Низкая", "Умеренная", "Высокая" и зададим область рассуждений в виде X= (единиц). Последнее, что осталось сделать – построить функции принадлежности для каждого лингвистического терма из базового терм-множества T.

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

Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению:

$$MF\,(x) = \,\begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac{x\,-\,b}{c\,-\,b},\,b\leq \,x\leq \,c &\ \\ 0, \;x\,\not \in\,(a;\,c)\ \end{cases}$$

При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c).

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

$$MF\,(x)\,=\, \begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac{x\,-\,c}{d\,-\,c},\,c\leq \,x\leq \,d &\\ 0, x\,\not \in\,(a;\,d) \ \end{cases}$$

При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

Функция принадлежности гауссова типа описывается формулой

$$MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]$$

и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр отвечает за крутизну функции.

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной "Цена акции", на рисунке 4 – формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20.

Количество термов в лингвистической переменной редко превышает 7.

Нечеткий логический вывод

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

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

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

Пусть в базе правил имеется m правил вида:
R 1: ЕСЛИ x 1 это A 11 … И … x n это A 1n , ТО y это B 1

R i: ЕСЛИ x 1 это A i1 … И … x n это A in , ТО y это B i

R m: ЕСЛИ x 1 это A i1 … И … x n это A mn , ТО y это B m ,
где x k , k=1..n – входные переменные; y – выходная переменная; A ik – заданные нечеткие множества с функциями принадлежности.

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

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

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

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.

  1. Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как A ik (x k), i=1..m, k=1..n.
  2. Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

    $$alfa_i\,=\,\min_i \,(A_{ik}\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

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

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

    где MF(y) – функция принадлежности итогового нечеткого множества.

    Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

Интеграция с интеллектуальными парадигмами

Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (soft computing), который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.

Влияние нечеткой логики оказалось, пожалуй, самым обширным. Подобно тому, как нечеткие множества расширили рамки классической математическую теорию множеств, нечеткая логика "вторглась" практически в большинство методов Data Mining, наделив их новой функциональностью. Ниже приводятся наиболее интересные примеры таких объединений.

Нечеткие нейронные сети

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть как правило состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

Наибольшее распространение в настоящее время получили архитектуры нечеткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

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

Адаптивные нечеткие системы

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий: 1. Генерация лингвистических правил; 2. Корректировка функций принадлежности. Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода – правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость.

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие запросы

Нечеткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съеме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде.

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

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

Нечеткие когнитивные карты

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечеткая кластеризация

Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.
  • Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.
  • Леоленков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.
  • Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.

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

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

Поделиться