Дача Бойлеры Отопление

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

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

  • 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 . Геометрический смысл метода

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При 2 < p < 4 m

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Например:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модус поненс выводит заключение "B есть истинно", если известно, что "A есть истинно" и существует правило "Если A, то B" (A и B - четкие логические утверждения). Однако, если прецедент отсутствует, то модус поненс не сможет вывести никакого, даже приближенного заключения. Даже в случае, когда известно, что близкое к A утверждение A" является истинным, модус поненс не может быть применен. Одним из возможных способов принятия решений при неопределенной информации является применение нечеткого логического вывода.

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

Основу нечеткого логического вывода составляет композиционное правило Заде.

Определение 48. Композиционное правило вывода Заде формулируется следующим образом: если известно нечеткое отношение между входной (x) и выходной (y) переменными, то при нечетком значении входной переменной , нечеткое значения выходной переменной определяется так:

где - максминая композиция.

Пример 12. Дано нечеткое правило "Если , то " с нечеткими множествами: и . Определить значение выходной переменной , если .

В начале рассчитаем нечеткое отношение, соответствующее правилу "Если , то ", применяя в качестве t-нормы операцию нахождения минимума:

.

Теперь, по формуле рассчитаем нечеткое значение выходной переменной:

Нечеткий логический вывод Мамдани

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

,

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

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

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

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

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

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

.

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

Для перехода от нечеткого множества, заданного на универсальном множестве нечетких термов к нечеткому множеству на интервале необходимо: 1) "срезать" функции принадлежности на уровне ; 2) объединить (агрегировать) полученные нечеткие множества. Математически это записывается следующим образом:

,

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

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

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

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