Алгоритмы нечеткого вывода Мамдани и Сугено
Алгоритм Мамдани (Mamdani) нашел применение в первых нечетких системах автоматического управления. Был предложен в 1975 году английским математиком Е.Мамдани для управления паровым двигателем.
Формирование базы правил в виде «IF A THEN B », где антецеденты ядер построены при помощи логических связок «И», а консеквенты ядер правил нечеткой продукции простые.
Агрегирование подусловий при помощи логической операции «И»:
T(A ∩ B) = min{ T(A);T(B) } .
Активизация подзаключений: min-активизации μ (y) = min{c; μ (x) }
Аккумуляция подзаключений ‑ max-объединения .
Дефаззификация проводится методом центра тяжести или центра площади.
Алгоритм Сугено(Sugeno) выглядит следующим образом.
Формирование базы правилв виде «IF A AND B THEN w=ε1a+ε2b»,
где антецеденты ядер правил нечеткой продукции построены из двух простых нечетких высказываний A, B при помощи логических связок «И», a и b – четкие значения входных переменных, соответствующие высказываниям A и B соответственно, ε1 и ε2 – весовые коэффициенты, определяющие коэффициенты пропорциональности между четкими значениями входных переменных и выходной переменной системы нечеткого вывода, w – четкое значение выходной переменной, определенное в заключении нечеткого правила, как действительное число.
Например, при поддержании постоянного уровня жидкости численные значения притока w и расхода b должны быть равны между собой. Поэтому ε2=1, а скорость наполняемости емкости определяется соответственным изменением коэффициента пропорциональности ε1 между притоком w и уровнем жидкости a . w=ε1a+ε2:
|
|
ПРАВИЛО <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 .
Агрегирование подусловийпри помощи логической операции «И»:
T(A ∩ B) = min{ T(A);T(B) } .
Активизация подзаключений правил нечеткой продукции проводится в два этапа.
На первом этапе, степени истинности заключений (консеквентов) находятся аналогично алгоритму Мамдани, как алгебраическое произведение весового коэффициента (по умолчанию 1) и степени истинности антецедента.
|
|
На втором этапе, в отличие от алгоритма Мамдани, для каждого из продукционных правил вместо построения функций принадлежности подзаключений в явном виде находится четкое значение выходной переменной w= ε1a+ ε2 b .
Аккумуляция заключенийправил нечеткой продукции не проводится, поскольку на этапе активизации уже получены дискретные множества четких значений для каждой из выходных лингвистических переменных.
При уже рассмотренных ранее текущих уровне и расходе жидкости a=2.5м и b= 0.4м3/с соответственно, в результате фаззификации, агрегирования и активизации с учетом явного определения четких значений выходной переменной в консеквентах продукционных правил получаем пары значений ( ci wi ) : 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) .
Дефаззификация. На этапе дефаззификации для каждой лингвистической переменной осуществляется переход от дискретного множества четких значений{w1. . .wn}к единственному четкому значению согласно дискретному аналогу метода центра тяжести
y=∑ciwi/∑ci, y= 1.0475 м3/сек
|
|
где n – количество правил нечеткой продукции, в подзаключениях которой фигурирует данная лингвистическая переменная, ci – степень истинности подзаключения продукционного правила, wi – четкое значение данной лингвистической переменной, полученное на стадии активизации.
Редактор системы нечеткого вывода. Построение нечетких систем в Scilab.
Дата добавления: 2019-09-13; просмотров: 2829; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!