teen-art.ru – Краткие содержания произведений русских и зарубежных

Краткие содержания произведений русских и зарубежных

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

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

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

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

Рис.2.18. Диаграмма процесса нечеткого вывода в нечетких САУ

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

Нечеткое продукционное правило – это выражение вида:

(i):Q;P;A═>B;S,F,N,

Где (i) – имя нечеткой продукции, Q – сфера применения нечеткой продукции, P – условие применимости ядра нечеткой продукции, A═>B – ядро нечеткой продукции, в котором A – условие ядра (или антецедент), B – заключение ядра (или консеквент), ═> – знак логической секвенции или следования, S – метод или способ определения количественного значения степени истинности заключения ядра, F – коэффициент определенности или уверенности нечеткой продукции, N – постусловия продукции.

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

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

Ядро A═>B является центральным компонентом нечеткой продукции. Оно может быть представлено в одной из более распространенных форм: «ЕСЛИ A ТО B», «IF A THEN B»; где A и B – некоторые выражения нечеткой логики, которые наиболее часто представляются в форме нечетких высказываний. В качестве выражений могут использоваться и составные логические нечеткие высказывания, т.е. элементарные нечеткие высказывания, соединенные нечеткими логическими связками, такими как нечеткое отрицание, нечеткая конъюнкция, нечеткая дизъюнкция.

S – метод или способ определения количественного значения степени истинности заключения B на основе известного значения степени истинности условия A. Данный способ определяет схему или алгоритм нечеткого вывода в продукционных нечетких системах и называется методом композиции или методом активации.

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

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

Согласованное множество нечетких продукционных правил образует нечеткую продукционную систему. Таким образом, нечеткая продукционная система– это относящийся к определенной предметной области список нечетких продукционных правил «IF A THEN B».

Простейший вариант нечеткого продукционного правила:

ПРАВИЛО <#> : ЕСЛИ β 1 « ЕСТЬ ά 1 » ТО « β 2 ЕСТЬ ά 2 »

RULE <#> : IF « β 1 IS ά 1 » THEN « β 2 display:block IS ά 2 ».

Антецедент и консеквент ядра нечеткой продукции может быть сложным, состоящим из связок «И», «ИЛИ», «НЕ», например:

ПРАВИЛО <#>: ЕСЛИ « β 1 ЕСТЬ ά » И « β 2 ЕСТЬ НЕ ά » ТО « β 1 ЕСТЬ НЕ β 2 »

RULE <#>: IF « β 1 IS ά » AND « β 2 IS NOT ά » THEN « β 1 IS NOT β 2 ».

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

ПРАВИЛО_1: ЕСЛИ «Условие_1» ТО «Заключение_1» (F 1 т),

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

где F i ∈ является коэффициентом определенности или весовым коэффициентом соответствующего правила. Согласованность списка означает, что в качестве условий и заключений правил могут использоваться только простые и составные нечеткие высказывания, соединенные бинарными операциями «И», «ИЛИ», при этом в каждом из нечетких высказываний должны быть определены функции принадлежности значений терммножества для каждой лингвистической переменной. Как правило, функции принадлежности отдельных термов представляют треугольными или трапецеидальными функциями. Для наименования отдельных термов принято использовать следующие сокращения.

Таблица 2.3.


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

ПРАВИЛО <1>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <4>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <7>: И «расход жидкости большой» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО «приток жидкости большой средний малый »;
ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО «приток жидкости большой средний малый ».

Используя обозначения ZP – «малый», PM – «средний», PB – «большой», данную базу нечетких продукционных правил можно представить в виде таблицы, в узлах которой находятся соответствующие заключения о требуемом притоке жидкости:

Таблица 2.4.

Уровень
ZP PM PB
ZP 0 0 0
PM 0.5 0.25 0
PB 0.75 0.25 0
Фаззификация (введение нечеткости) – это установка соответствия между численным значением входной переменной системы нечеткого вывода и значением функции принадлежности соответствующего ей терма лингвистической переменной. На этапе фаззификации значениям всех входным переменным системы нечеткого вывода, полученным внешним по отношению к системе нечеткого вывода способом, например, при помощи датчиков, ставятся в соответствие конкретные значения функций принадлежности соответствующих лингвистических термов, которые используются в условиях (антецедентах) ядер нечетких продукционных правил, составляющих базу нечетких продукционных правил системы нечеткого вывода. Фаззификация считается выполненной, если найдены степени истинности μ A (x) всех элементарных логических высказываний вида « β ЕСТЬ ά », входящих в антецеденты нечетких продукционных правил, где ά – некоторый терм с известной функцией принадлежности μ A (x) , a – четкое численное значение, принадлежащее универсуму лингвистической переменной β .

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



Треугольный Трапециевидный Z-линейный S-линейный
Треугольный Трапециевидный Z-линейный S-линейный
Текущий уровень:


Треугольный Трапециевидный Z-линейный S-линейный
Треугольный Трапециевидный Z-линейный S-линейный
Треугольный Трапециевидный Z-линейный S-линейный
Текущий расход:

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

Если текущие уровень и расход жидкости 2.5 м и 0.4 м 3 /cек соответственно, то при фаззификации получаем степени истинности элементарных нечетких высказываний:

  • «уровень жидкости малый» – 0.75 ;
  • «уровень жидкости средний» – 0.25 ;
  • «уровень жидкости большой» – 0.00 ;
  • «расход жидкости малый» – 0.00 ;
  • «расход жидкости средний» – 0.50 ;
  • «расход жидкости большой» – 1.00 .

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

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

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

Например , с учетом полученных в результате фаззификации значений истинности элементарных высказываний, степень истинности условий для каждого составного правила системы нечеткого вывода по управлению уровнем жидкости в баке, в соответствии с определением по Заде нечеткого логического «И» двух элементарных высказываний A, B: T(A ∩ B)=min{T(A);T(B)} , будет следующей.

ПРАВИЛО <1>: антецедент – «уровень жидкости малый» И «расход жидкости большой»; степень истинности
антецедента min{0.75 ;1.00 }=0.00 .

ПРАВИЛО <2>: антецедент – «уровень жидкости малый» И «расход жидкости средний»; степень истинности
антецедента min{0.75 ;0.50 }=0.00 .

ПРАВИЛО <3>: антецедент – «уровень жидкости малый» И «расход жидкости малый», степень истинности
антецедента min{0.75 ;0.00 }=0.00 .

ПРАВИЛО <4>: антецедент – «уровень жидкости средний» И «расход жидкости большой», степень истинности
антецедента min{0.25 ;1.00 }=0.00 .

ПРАВИЛО <5>: антецедент – «уровень жидкости средний» И «расход жидкости средний», степень истинности
антецедента min{0.25 ;0.50 }=0.00 .

ПРАВИЛО <6>: антецедент – «уровень жидкости средний» И «расход жидкости малый», степень истинности
антецедента min{0.25 ;0.00 }=0.00 .

ПРАВИЛО <7>: антецедент – «уровень жидкости большой» И «расход жидкости большой», степень истинности
антецедента min{0.00 ;1.00 }=0.00 .

ПРАВИЛО <8>: антецедент – «уровень жидкости большой» И «расход жидкости средний», степень истинности
антецедента min{0.00 ;0.50 }=0.00 .

ПРАВИЛО <9>: антецедент – «уровень жидкости большой» И «расход жидкости малый», степень истинности
антецедента min{0.00 ;0.00 }=0.00 .

Уровень
0.75 0.25 0
0 0 0 0
0.5 0.5 0.25 0
1 0.75 0.25 0

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

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

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

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

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

  • min–активизация – μ (y) = min { c ; μ (x) } ;
  • prod-активизация – μ (y) =c μ (x) ;
  • average-активизация – μ (y) =0.5(c + μ (x)) ;

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

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

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

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

Аккумуляция (или аккумулирование ) в системах нечеткого вывода – это процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных. Цель аккумуляции состоит в объединении всех степеней истинности подзаключений для получения функции принадлежности каждой из выходных переменных. Результат аккумуляции для каждой выходной лингвистической переменной определяется как объединение нечетких множеств всех подзаключений нечеткой базы правил относительно соответствующей лингвистической переменной. Объединение функций принадлежности всех подзаключений проводится как правило классически ∀ x ∈ X μ A ∪ B (x) = max { μ A (x) ; μ B (x) } (max-объединение), также могут использоваться операции:

  • алгебраического объединения ∀ x ∈ X μ A+B x = μ A x + μ B x - μ A x ⋅ μ B x ,
  • граничного объединения ∀ x ∈ X μ A B x = min{ μ A x ⋅ μ B x ;1} ,
  • драстического объединения ∀ x ∈ X μ A ∇ B (x) = { μ B (x) , е с л и μ A (x) = 0, μ A (x) , е с л и μ B (x) = 0, 1, в остальных случаях,
  • а также λ -суммы ∀ x ∈ X μ (A+B) x = λ μ A x +(1-λ) μ B x ,λ∈ .

Пример. Для продукционных правил системы нечеткого вывода по управлению уровнем жидкости в емкости посредством изменения притока жидкости, функция принадлежности лингвистической переменной «приток жидкости», полученная в результате аккумуляции всех подзаключений при max-объединении будет выглядеть следующим образом (рис.2.21).

Рис.2.21Функция принадлежности лингвистической переменной «приток жидкости»

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

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

  • метод центра тяжести (Centre of Gravity) заключается в расчете центроида площади y = ∫ x min x max x μ (x) d x ∫ x min x max μ (x) d x , где [ x max ; x min ] – носитель нечеткого множества выходной лингвистической переменной; (на рис. 2.21 результат дефаззификации обозначен зеленой линией)
  • метод центра площади (Centre of Area) заключается в расчете абсциссы y, делящей площадь, ограниченную кривой функции принадлежности μ (x) , так называемой биссектрисы площади ∫ x min y μ (x) d x = ∫ y x max μ (x) d x ;(на рис. 2.21 результат дефаззификации обозначен синей линией)
  • метод левого модального значения y= x min ;
  • метод правого модального значения y= x max

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

  • метод центра тяжести y= 0.35375 м 3 /сек;
  • метод центра площади y= 0, м 3 /сек
  • метод левого модального значения y= 0.2 м 3 /сек;
  • метод правого модального значения y= 0.5 м 3 /сек

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

Алгоритм Мамдани (Mamdani) нашел применение в первых нечетких системах автоматического управления. Был предложен в 1975 году английским математиком Е.Мамдани для управления паровым двигателем.

  • Формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A THEN B », где антецеденты ядер правил нечеткой продукции построены при помощи логических связок «И», а консеквенты ядер правил нечеткой продукции простые.
  • Фаззификация входных переменных осуществляется описанным выше способом, так же, как и в общем случае построения системы нечеткого вывода.
  • Агрегирование подусловий правил нечеткой продукции осуществляется при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) } .
  • Активизация подзаключений правил нечеткой продукции осуществляется методом min-активизации μ (y) = min{c; μ (x) } , где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
  • Аккумуляция подзаключений правил нечеткой продукции проводится при помощи классического для нечеткой логики max-объединения функций принадлежности ∀ x ∈ X μ A B x = max{ μ A x ; μ B x } .
  • Дефаззификация проводится методом центра тяжести или центра площади.

Например , описанный выше случай управления уровнем бака соответствует алгоритму Мамдани, если на этапе дефаззификации четкое значение выходной переменной ищется методом центра тяжести или площади: y= 0.35375 м 3 /сек или y= 0.38525 м 3 /сек соответственно.

Алгоритм Цукамото (Tsukamoto) формально выглядит следующим образом.

  • Агрегирование подусловий правил нечеткой продукции осуществляется аналогично алгоритму Мамдани при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) }
  • Активизация подзаключений правил нечеткой продукции проводится в два этапа. На первом этапе, степени истинности заключений (консеквентов) нечетких продукционных правил находятся аналогично алгоритму Мамдани, как алгебраическое произведение весового коэффициента и степени истинности антецедента данного нечеткого продукционного правила. На втором этапе, в отличие от алгоритма Мамдани, для каждого из продукционных правил вместо построения функций принадлежности подзаключений решается уравнение μ (x)=c и определяется четкое значение ω выходной лингвистической переменной, где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
  • На этапе дефаззификации для каждой лингвистической переменной осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i ,

    где n – количество правил нечеткой продукции, в подзаключениях которой фигурирует данная лингвистическая переменная, c i – степень истинности подзаключения продукционного правила, w i – четкое значение данной лингвистической переменной, полученное на стадии активизации путем решения уравнения μ (x) = c i , т.е. μ (w i) = c i , а μ (x) представляет функцию принадлежности соответствующего терма лингвистической переменной.

Например, алгоритм Цукамото реализуется, если в описанном выше случае управления уровнем бака:

  • на этапе активизации воспользоваться данными рис.2.20 и для каждого продукционного правила графически решить уравнение μ (x) = c i , т.е. найти пары значений (c i , w i) : rule1 - (0,75 ; 0,385), rule2 - (0,5 ; 0,375), rule3- (0 ; 0), rule4 - (0,25 ; 0,365), rule5 - (0,25 ; 0,365),
    rule6 - (0 ; 0), rule7 - (0 ; 0), rule7 - (0 ; 0), rule8 - (0 ; 0), rule9 - (0 ; 0), для пятого правила существует два корня;
  • на этапе дефаззификации для лингвистической переменной «приток жидкости» осуществить переход от дискретного множества четких значений { ω 1 . . . ω n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 0.35375 м 3 /сек

Алгоритм Ларсена формально выглядит следующим образом.

  • Формирование базы правил системы нечеткого вывода осуществляется аналогично алгоритму Мамдани.
  • Фаззификация входных переменных осуществляется аналогично алгоритму Мамдани.
  • Активизация подзаключений правил нечеткой продукции осуществляется методом prod-активизации, μ (y)=c μ (x) , где μ (x) и c – соответственно функции принадлежности термов лингвистических переменных и степени истинности нечетких высказываний, образующих соответствующие следствия (консеквенты) ядер нечетких продукционных правил.
  • Аккумуляция подзаключений правил нечеткой продукции проводится аналогично алгоритму Мамдани при помощи классического для нечеткой логики max-объединения функций принадлежности T(A ∩ B) = min{ T(A);T(B) } .
  • Дефаззификация проводится любым из рассмотренных выше методов.

Например, алгоритм Ларсена реализуется, если в описанном выше случае управления уровнем бака, на этапе активизации получены функции принадлежности всех подзаключений согласно prod-активизации (рис.2.22(а),(б)), тогда функция принадлежности лингвистической переменной «приток жидкости», полученная в результате аккумуляции всех подзаключений при max-объединении будет выглядеть следующим образом (рис.2.22(б)), а дефаззификация функции принадлежности лингвистической переменной «приток жидкости» приводит к следующим результатам: метод центра тяжести y= 0.40881 м 3 /сек, метод центра площади y= 0.41017 м 3 /сек

Рис.2.22(а) Prod-активизация всех подзаключений правил нечеткой продукции системы управления уровнем жидкости в баке

Рис.2.22(б) Prod-активизация всех подзаключений правил нечеткой продукции системы управления уровнем жидкости в баке и полученная путем max-объединения функция принадлежности лингвистической переменной «приток жидкости»

,Алгоритм Сугено(Sugeno) выглядит следующим образом.

  • Формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A AND B THEN w = ε 1 a + ε 2 b », где антецеденты ядер правил нечеткой продукции построены из двух простых нечетких высказываний A, B при помощи логических связок «И», a и b – четкие значения входных переменных, соответствующие высказываниям A и B соответственно, ε 1 и ε 2 – весовые коэффициенты, определяющие коэффициенты пропорциональности между четкими значениями входных переменных и выходной переменной системы нечеткого вывода, w – четкое значение выходной переменной, определенное в заключении нечеткого правила, как действительное число.
  • Фаззификация входных переменных, определяющих высказывания и, осуществляется аналогично алгоритму Мамдани.
  • Агрегирование подусловий правил нечеткой продукции осуществляется аналогично алгоритму Мамдани при помощи классической нечеткой логической операции «И» двух элементарных высказываний A, B: T(A ∩ B) = min{ T(A);T(B) } .
  • «Активизация подзаключений правил нечеткой продукции проводится в два этапа. На первом этапе, степени истинности c заключений (консеквентов) нечетких продукционных правил, ставящих в соответствие выходной переменной действительные числа, находятся аналогично алгоритму Мамдани, как алгебраическое произведение весового коэффициента и степени истинности антецедента данного нечеткого продукционного правила. На втором этапе, в отличие от алгоритма Мамдани, для каждого из продукционных правил вместо построения функций принадлежности подзаключений в явном виде находится четкое значение выходной переменной w = ε 1 a + ε 2 b . Таким образом, каждому i-му продукционному правилу ставится в соответствие точка (c i w i) , где c i – степень истинности продукционного правила, w i – четкое значение выходной переменной, определенной в консеквенте продукционного правила.
  • Аккумуляция заключений правил нечеткой продукции не проводится, поскольку на этапе активизации уже получены дискретные множества четких значений для каждой из выходных лингвистических переменных.
  • Дефаззификация проводится как и в алгоритме Цукамото. Для каждой лингвистической переменной осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , где n – количество правил нечеткой продукции, в подзаключениях которой фигурирует данная лингвистическая переменная, c i – степень истинности подзаключения продукционного правила, w i – четкое значение данной лингвистической переменной, установленное в консеквенте продукционного правила.

Например, алгоритм Сугено реализуется, если в описанном выше случае управления уровнем жидкости в баке на этапе формирования базы правил системы нечеткого вывода правила задаются исходя из того, что при поддержании постоянного уровня жидкости численные значения притока w и расхода b должны быть равны между собой ε 2 =1 , а скорость наполняемости емкости определяется соответственным изменением коэффициента пропорциональности ε 1 между притоком w и уровнем жидкости a . В этом случае база правил системы нечеткого вывода, соответствующая знаниям эксперта о том, какой необходимо выбрать приток жидкости w = ε 1 a + ε 2 b чтобы уровень жидкости в баке оставался средним, будет выглядеть следующим образом:

ПРАВИЛО <1>: ЕСЛИ «уровень жидкости малый» И «расход жидкости большой» ТО w=0,3a+b ;

ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО w=0,2a+b ;

ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО w=0,1a+b ;

ПРАВИЛО <4>: ЕСЛИ «уровень жидкости средний» И «расход жидкости большой» ТО w=0,3a+b ;

ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО w=0,2a+b ;

ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО w=0,1a+b ;

ПРАВИЛО <7>:ЕСЛИ «уровень жидкости большой» И «расход жидкости большой» ТО w=0,4a+b ;

ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО w=0,2a+b ;

ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО w=0,1a+b .

При уже рассмотренных ранее текущих уровне и расходе жидкости a= 2.5 м и b= 0.4 м 3 /сек соответственно, в результате фаззификации, агрегирования и активизации с учетом явного определения четких значений выходной переменной в консеквентах продукционных правил получаем пары значений (c i w i) : rule1 - (0,75 ; 1,15), rule2 - (0,5 ; 0.9), rule3- (0 ; 0,65), rule4 - (0,25 ; 1,15), rule5 - (0,25 ; 0,9), rule6 - (0 ; 0,65), rule7 - (0 ; 0), rule7 - (0 ; 1,14), rule8 - (0 ; 0,9), rule9 - (0 ; 0,65) . На этапе дефаззификации для лингвистической переменной «приток жидкости» осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 1.0475 м 3 /сек

Упрощенный алгоритм нечеткого вывода формально задается точно так же, как и алгоритм Сугено, только при явном задании четких значений в консеквентах продукционных правил вместо соотношения w= ε 1 a+ ε 1 b используется явное задание непосредственного значения w . Таким образом, формирование базы правил системы нечеткого вывода осуществляется в виде упорядоченного согласованного списка нечетких продукционных правил в виде «IF A AND B THEN w=ε », где антецеденты ядер правил нечеткой продукции построены из двух простых нечетких высказываний A, B при помощи логических связок «И», w – четкое значение выходной переменной, определенное для каждого заключения i -го правила, как действительное число ε i .

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

ПРАВИЛО <1>: ЕСЛИ «уровень жидкости малый» И «расход жидкости большой» ТО w=0,6 ;

ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО w=0,5 ;

ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО w=0,4 ;

ПРАВИЛО <4>: ЕСЛИ «уровень жидкости средний» И «расход жидкости большой» ТО w=0,5 ;

ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО w=0,4 ;

ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО w=0,3 ;

ПРАВИЛО <7>:ЕСЛИ «уровень жидкости большой» И «расход жидкости большой» ТО w=0,3 ;

ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО w=0,2 ;

ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО w=0,1 .

При уже рассмотренных ранее текущих уровне и расходе жидкости и соответственно, в результате фаззификации, агрегирования и активизации с учетом явного определения четких значений выходной переменной в консеквентах продукционных правил получаем пары значений (c i w i) : rule1 - (0,75 ; 0,6), rule2 - (0,5 ; 0,5), rule3- (0 ; 0,4), rule4 - (0,25 ; 0,5), rule5 - (0,25 ; 0,4), rule6 - (0 ; 0,3),
rule7 - (0 ; 0,3), rule7 - (0 ; 0,3), rule8 - (0 ; 0,2), rule9 - (0 ; 0,1) . На этапе дефаззификации для лингвистической переменной «приток жидкости» осуществляется переход от дискретного множества четких значений { w 1 . . . w n } к единственному четкому значению согласно дискретному аналогу метода центра тяжести y = ∑ i = 1 n c i w i ∑ i = 1 n c i , y= 1.0475 м 3 /сек, y= 0.5 м 3 /сек

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).Обратим внимание, что в модели Сугэно в качестве операций ˄ и ˅обычно используются соответственно вероятностное ИЛИ и умножение. В этом случае нечеткая модель типа Сугэно может рассматриваться как особый класс многослойных нейронных сетей прямого распространения сигнала, структура которой изоморфна базе знаний. Такие сети получили название нейро-нечетких.

В 1965 г. в журнале «Information and Control» была опубликована работа Л.Заде под названием «Fuzzy sets». Это название переведено на русский язык как нечеткие множества . Побудительным мотивом стала необходимость описания таких явлений и понятий, которые имеют многозначным и неточный характер. Известные до этого математические методы, использовавшие классическую теорию множеств и двузначную логику, не позволяли решать проблемы этого типа.

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

Основные понятия

Нечетким множеством A в некотором непустом пространстве X называется множество пар

Где

- функция принадлежности нечеткого множества A. Эта функция приписывает каждому элементу x степень его принадлежности нечеткому множеству A.

Продолжив предыдущий пример, рассмотрим три неточные формулировки:
- «Малая скорость автомобиля»;
- «Средняя скорость автомобиля»;
- «Большая скорость автомобиля».
На рисунке представлены нечеткие множества, соответствующие приведенным формулировкам, с помощью функций принадлежности.


В фиксированной точке X=40км/ч. функция принадлежности нечеткого множества «малая скорость автомобиля» принимает значением 0,5. Такое же значение принимает функция принадлежностинечеткого множества «средняя скорость автомобиля», тогда как для множества «большая скорость автомобиля» значение функции в этой точке равно 0.

Функция T двух переменных T: x -> называется T-нормой , если:
- является не возрастающей относительно обоих аргументов: T(a, c) < T(b, d) для a < b, c < d;
- является коммутативной: T(a, b) = T(b, a);
- удовлетворяет условию связности: T(T(a, b), c) = T(a, T(b, c));
- удовлетворяет граничным условиям: T(a, 0) = 0, T(a, 1) = a.

Прямой нечеткий вывод

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

Основным правилом вывода в традиционной логике является правило modus ponens, согласно которому мы судим об истинности высказывания B по истинности высказываний A и A -> B. Например, если A - высказывание «Степан - космонавт», B - высказывание «Степан летает в космос», то если истинны высказывания «Степан - космонавт» и «Если Степан - космнавт, то он летает в космос», то истинно и высказывание «Степан летает в космос».

Однако, в отличие от традиционной логики, главным инструментом нечеткой логики будет не правило modus ponens, а так называемое композиционное правило вывода, весьма частным случаем которого является правило modus ponens.

Предположим, что имеется кривая y=f(x) и задано значение x=a. Тогда из того, что y=f(x) и x=a, мы можем заключить, что y=b=f(a).


Обобщим теперь этот процесс, предположив, что a - интервал, а f(x) - функция, значения которой суть интервалы. В этом случае, чтобы найти интервал y=b, соответствующий интервалу a, мы сначала построим множество a" с основанием a и найдем его пересечение I с кривой, значения которой суть интервалы. Затем спроектируем это пересечение на ось OY и получим желаемое значение y в виде интервала b. Таким образом, из того, что y=f(x) и x=A - нечеткое подмножество оси OX, мы получаем значение y в виде нечеткого подмножества B оси OY.

Пусть U и V - два универсальных множества с базовыми переменными u и v, соответственно. Пусть A и F - нечеткие подмножества множеств U и U x V. Тогда композиционное правило вывода утверждает, что из нечетких множеств A и F следует нечеткое множество B = A * F.

Пусть A и B - нечеткие высказывания и m(A), m(B) - соответствующие им функции принадлежности. Тогда импликации A -> B будет соответствовать некоторая функция принадлежности m(A -> B). По аналогии с традиционной логикой, можно предположить, что

Тогда

Однако, это не единственное обобщение оператора импликации, существуют и другие.

Реализация

Для реализации метода прямого нечеткого логического вывода нам понадобится выбрать оператор импликации и T-норму.
Пуская T-норма будет функция минимума:

а оператором импликации будет функция Гёделя:


Входные данные будут содержать знания (нечеткие множества) и правила (импликации), например:
A = {(x1, 0.0), (x2, 0.2), (x3, 0.7), (x4, 1.0)}.
B = {(x1, 0.7), (x2, 0.4), (x3, 1.0), (x4, 0.1)}.
A => B.

Импликация будет представлена в виде декартовой матрицы, каждый элемент которой рассчитывается с помощью выбранного оператора импликации (в данном примере - функции Гёделя):

  1. def compute_impl (set1, set2):
  2. """
    Computing implication
    """
  3. relation = {}
  4. for i in set1.items():
  5. relation[i] = {}
  6. for j in set2.items():
  7. v1 = set1.value(i)
  8. v2 = set2.value(j)
  9. relation[i][j] = impl(v1, v2)
  10. return relation

Для данных выше это будет:
Conclusion:
A => B.
x1 x2 x3 x4
x1 1.0 1.0 1.0 1.0
x2 1.0 1.0 1.0 0.1
x3 1.0 0.4 1.0 0.1
x4 0.7 0.4 1.0 0.1
  1. def conclusion (set, relation):
  2. """
    Conclusion
    """
  3. conl_set =
  4. for i in relation:
  5. l =
  6. for j in relation[i]:
  7. v_set = set .value(i)
  8. v_impl = relation[i][j]
  9. l.append(t_norm(v_set, v_impl))
  10. value = max (l)
  11. conl_set.append((i, value))
  12. return conl_set

Результат:
B" = {(x1, 1.0), (x2, 0.7), (x3, 1.0), (x4, 0.7)}.

Источники

  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. - М.: Горячая линия - Телеком, 2006. - 452 с.: ил.
  • Zadeh L. A. Fuzzy Sets, Information and Control, 1965, vol. 8, s. 338-353

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

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

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

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

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

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

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

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

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

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

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

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

В задачах математического моделирования часто возникает задача описания переменных, представляющих качественные значения показателей, слабо формализуемых в дискретный набор значений Коротеев, М.В. Аналитическая дефаззификация нечётких чисел / Коротеев М.В. // Известия ВолгГТУ. Серия «Актуальные проблемы управления, вычислительной техники и информатики в технических системах». Вып. 14: межвуз. сб. науч. ст. / ВолгГТУ. - Волгоград, 2012. - № 10 (97). - C. 32-35.. Примером таких показателей может служить качество товара, эффективность работы учреждения, квалификация сотрудников и многие другие. В то же время, традиционно уровни таких показателей оцениваются качественно, с использованием экспертных оценок, формулируемых с помощью лингвистических понятий «низкий», «высокий», «очень высокий». Оперирование лингвистическими понятиями представляет определенную сложность, преодоление которой требует привлечения определенного математического аппарата.

Нами в наших исследованиях был выбран аппарат нечеткой логики, так как он предоставляет гибкую возможность вычислений в лингвистических термах, оперирование неопределенностью в условиях недостатка информации. Лингвистические переменные Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 166c. могут формализовать неточные, многозначные и неопределенные понятия. Это свойство весьма полезно для использования в экспертных системах, так как предоставляет методологию, позволяющую экспертам выражать свои знания в привычной для них лингвистической форме и оперировать ими как строгими математическими объектами. Далее, адаптируем алгоритм нечеткого вывода для использования в Байесовских сетях.

Центральным понятием нечеткого вывода является лингвистическая переменная - переменная, имеющая определенный набор лингвистических значений (термов), построенная на определенной области определения (обычно, действительном интервале) Murphy, Kevin (2002). Dynamic Bayesian Networks: Representation, Inference and Learning. UC Berkeley, Computer Science Division. Jensen Finn V. Bayesian Networks and Decision Graphs. -- Springer, 2001.. Для примера рассмотрим лингвистическую переменную «КАЧЕСТВО». Мы можем определить некий интегральный показатель качества, оценивающий качество в некоей шкале. Путем нормализации, практически любую шкалу мы можем привести в отрезок . В дальнейшем, будем использовать именно этот отрезок как иллюстрацию носителя в силу его универсальности и общеупотребимости.

Каждый уровень качества может быть охарактеризован как низкий, средний или высокий, но в разной степени. Этот набор является набором значений лингвистической переменной. Таким образом, каждому значению лингвистической переменной соответствует функция принадлежности где x - элемент области определения, определенная на области определения данной переменной. Эта функция показывает, насколько применимо в данной точке области определения данное значение. Функция принадлежности обычно принимает значения из интервала , где значение 0 показывает, что данное значение абсолютно не применимо в данной точке, а значение 1 говорит об абсолютной применимости данного значения. Набор данных функций называется нечетким классификатором Коротеев, М.В. Проектирование программной реализации носителей нечётких множеств / Коротеев М.В. // Объектные системы - 2011 (Зимняя сессия) : матер. V междунар. науч.-практ. конф. (Ростов-на-Дону, 10-12 дек. 2011 г.) / Шахтинский ин-т (филиал) ГОУ ВПО ЮРГТУ (НПИ) [и др.]. - Ростов н/Д, 2011. - C. 44-49.. В случае обычной четкой переменной, каждая точка области определения может принадлежать одному и только одному значению. В нечеткой логике, каждая точка принадлежит всем значениям, но в разной степени.

Простой нечеткий классификатор

На рисунке изображен нечеткий классификатор с тремя термами (слева направо: «низкий уровень», «средний уровень», «высокий уровень»). Носителем данной лингвистической переменной является отрезок (горизонтальная ось). Область значений функции принадлежности - также отрезок (вертикальная ось). Можно увидеть, что точка, например, 0,3 принадлежит терму «низкий уровень» со степенью принадлежности 0,5; «средний уровень» - с принадлежностью также 0,5, «высокий уровень» - с принадлежностью 0. Нестрого можно сказать, что данная точка не принадлежит терму «высокий уровень» вообще.

Для каждой точки области определения, сумма ее принадлежностей ко всем термам переменной равна 1

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

Для каждого терма лингвистической переменной существует по меньшей мере одна точка, принадлежность которой к данному терму равна 1.

Нечеткий классификатор, не являющийся нечетким разбиением.

Рассмотрим алгоритм нечеткого логического вывода на примере алгоритма Мамдани Коротеев, М.В. Разработка арифметики нечётких чисел в общей форме / Коротеев М.В. // Известия ВолгГТУ. Серия «Актуальные проблемы управления, вычислительной техники и информатики в технических системах». Вып. 13: межвуз. сб. науч. ст. / ВолгГТУ. - Волгоград, 2012. - № 4 (91). - C. 122-127. . Допустим, существует две лингвистические переменные А и В, каждая из которых определена на интервале и принимает значения из множества {«low», «middle», «high»}, характеризующие качественный уровень показателя. Значения переменной В нечетко зависят от значений переменной А по следующему набору правил логического вывода (аналогично правилам четкого логического вывода):

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

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

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

В данном простом примере используем значения функций принадлежности как веса правил. Исходя из полученных результатов, переменная В примет значение, равное значению выражения |0.7*”high” + 0.3*”middle”|. Рассматривая каждый терм как НПМ, мы можем вычислить значение данного выражения. и оно гарантированно будет являться элементом области определения лингвистической переменной В. Кроме численного значения, в качестве результата процесса вывода может рассматриваться и нечетко-множественное представление в виде НПМ С = 0.7*”high” + 0.3*”middle”. В общем случае, для вычисления результата нечеткого логического вывода, достаточно вычислить веса всех термов целевой переменной.

Рассмотрим пример более сложного нечеткого вывода. Имеем три аналогичные переменные, А, В и С, где значение С зависит от значений А и В по следующему набору правил:

Система правил вывода для двух условных переменных

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

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

Взвешенная система правил вывода двух условных переменных


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