Понятие нечеткого выводазанимает важнейшее место в нечеткой логике Алгоритм Mamdani, Алгоритм Tsukamoto, Алгоритм Sugeno, Алгоритм Larsen, Упрощенный алгоритм нечеткого вывода, Методы приведения к четкости.
Используемый в различного рода экспертных и управляющих системах механизм нечетких выводов в своей основе имеет базу знаний, формируемую специалистами предметной области в виде совокупности нечетких предикатных правил вида:
П1: если хесть A1, тогда уесть B1,
П2: если хесть А2, тогда уесть В2,
·················································
Пn: если хесть Аn,тогда уесть Вn, где х— входная переменная (имя для известных значений данных), у — переменная вывода (имя для значения данных, которое будет вычислено); А и В — функции принадлежности, определенные соответственно на xи у.
Пример подобного правила
Если х — низко, то у — высоко.
Приведем более детальное пояснение. Знание эксперта А → В отражает нечеткое причинное отношение предпосылки и заключения, поэтому его можно назвать нечетким отношением и обозначить через R:
R = А → В,
где «→» называют нечеткой импликацией.
Отношение Rможно рассматривать как нечеткое подмножество прямого произведения Х×У полного множества предпосылок X и заключений Y.Таким образом, процесс получения (нечеткого) результата вывода В' с использованием данного наблюдения А' и знания А → В можно представить в виде формулы
В' = А' ᵒ R= А' ᵒ (А → В),
где «о» — введенная выше операция свертки.
Как операцию композиции, так и операцию импликации в алгебре нечетких множеств можно реализовывать по-разному (при этом, естественно, будет разниться и итоговый получаемый результат), но в любом случае общий логический вывод осуществляется за следующие четыре этапа.
1. Нечеткость (введение нечеткости, фазификация, fuzzification). Функции принадлежности, определенные на входных переменных применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила.
2. Логический вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила. В качестве правил логического вывода обычно используются только операции min(МИНИМУМ) или prod(УМНОЖЕНИЕ). В логическом выводе МИНИМУМА функция принадлежности вывода «отсекается» по высоте, соответствующей вычисленной степени истинности предпосылки правила (нечеткая логика «И»). В логическом выводе УМНОЖЕНИЯ функция принадлежности вывода масштабируется при помощи вычисленной степени истинности предпосылки правила.
3. Композиция. Все нечеткие подмножества, назначенные к каждой переменной вывода (во всех правилах), объединяются вместе, чтобы формировать одно нечеткое подмножество для каждой переменной вывода. При подобном объединении обычно используются операции max(МАКСИМУМ) или sum(СУММА). При композиции МАКСИМУМА комбинированный вывод нечеткого подмножества конструируется как поточечный максимум по всем нечетким подмножествам (нечеткая логика «ИЛИ»). При композиции СУММЫ комбинированный вывод нечеткого подмножества конструируется как поточечная сумма по всем нечетким подмножествам, назначенным переменной вывода правилами логического вывода.
4. В заключение (дополнительно) — приведение к четкости (дефазификация, defuzzification), которое используется, когда полезно преобразовать нечеткий набор выводов в четкое число. Имеется большое количество методов приведения к четкости, некоторые из которых рассмотрены ниже.
Пример.Пусть некоторая система описывается следующими нечеткими правилами:
П1: если хесть А, тогда ω есть D,
П2: если уесть В, тогда ω есть Е,
П3: если zесть С, тогда ω есть F, где х, у и z— имена входных переменных, ω — имя переменной вывода, а А, В, С, D, Е, F— заданные функции принадлежности (треугольной формы).
Процедура получения логического вывода иллюстрируется рис. 1.9.
Предполагается, что входные переменные приняли некоторые конкретные (четкие) значения — хо, yо и zо.
В соответствии с приведенными этапами, на этапе 1 для данных значений и исходя из функций принадлежности А, В, С, находятся степени истинности α(хо), α(уо)и α(zo)для предпосылок каждого из трех приведенных правил (см. рис. 1.9).
На этапе 2 происходит «отсекание» функций принадлежности заключений правил (т.е. D, Е, F) на уровнях α(хо), α(уо) и α(zo).
На этапе 3 рассматриваются усеченные на втором этапе функции принадлежности и производится их объединение с использованием операции max, в результате чего получается комбинированное нечеткое подмножество, описываемое функцией принадлежности μ∑(ω) и соответствующее логическому выводу для выходной переменной ω.
Наконец, на 4-м этапе — при необходимости — находится четкое значение выходной переменной, например, с применением центроидного метода: четкое значение выходной переменной определяется как центр тяжести для кривой μ∑(ω), т.е.
Рассмотрим следующие наиболее часто используемые модификации алгоритма нечеткого вывода, полагая, для простоты, что базу знаний организуют два нечетких правила вида:
П1: если х есть A1 и у есть B1, тогда zесть C1,
П2: если х есть А2 и у есть В2, тогда zесть С2, где x и у — имена входных переменных, z — имя переменной вывода, A1, А2, B1, В2, C1, С2 — некоторые заданные функции принадлежности, при этом четкое значение z0 необходимо определить на основе приведенной информации и четких значений x0 и у0.
Рис. 1.9. Иллюстрация к процедуре логического вывода
Данный алгоритм соответствует рассмотренному примеру и рис. 1.9. В рассматриваемой ситуации он математически может быть описан следующим образом.
1. Нечеткость: находятся степени истинности для предпосылок каждого правила: А1(x0), А2(x0), B1(y0), В2(y0).
2. Нечеткий вывод: находятся уровни «отсечения» для предпосылок каждого из правил (с использованием операции МИНИМУМ)
α1= A1(x0) ˄ B1(y0)
α2 = A2(x0) ˄ B2(y0)
где через «˄» обозначена операция логического минимума (min), затем находятся «усеченные» функции принадлежности
3. Композиция: с использование операции МАКСИМУМ (max, далее обозначаемой как «˅») производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности
4. Наконец, приведение к четкости (для нахождения z0) проводится, например, центроидным методом.
Исходные посылки — как у предыдущего алгоритма, но в данном случае предполагается, что функции C1(z), С2(z) являются монотонными.
1. Первый этап — такой же, как в алгоритме Mamdani.
2. На втором этапе сначала находятся (как в алгоритме Mamdani) уровни «отсечения» α1 и α2, а затем — посредством решения уравнений
α1 = C1(z1), α2 = C2(z2)
— четкие значения (z1 и z2 )для каждого из исходных правил.
3. Определяется четкое значение переменной вывода (как взвешенное среднее z1 и z2):
в общем случае (дискретный вариант центроидного метода)
Пример. Пусть имеем A1(x0) = 0,7, A2(x0) = 0,6, B1(y0) = 0,3, В2(y0) = 0,8, соответствующие уровни отсечения
a1 =min (A1(x0), B1(y0)) = min(0,7; 0,3) = 0,3,
a2 =min (А2(x0), В2(y0)) = min (0,6; 0,8) = 0,6
и значения z1 = 8 и z2 = 4, найденные в результате решения уравнений
C1(z1) = 0,3 , C2(z2) = 0,6.
Рис. 1.10. Иллюстрации к алгоритму Tsukamoto
При этом четкое значение переменной вывода (см. рис. 1.10)
z0 = (8·0,3 + 4·0,6) / (0,3 + 0,6) = 6.
Sugeno и Takagi использовали набор правил в следующей форме (как и раньше, приводим пример двух правил):
П1: если х есть A1 и у есть B1, тогда z1= а1х + b1у,
П2: если х есть A2 и у есть В2, тогда z2= a2x+ b2y.
Представление алгоритма
1. Первый этап — как в алгоритме Mamdani.
2. На втором этапе находятся α1= A1(x0) ˄ B1(y0), α2 = А2(x0) ˄ В2(у0) и индивидуальные выходы правил:
З. На третьем этапе определяется четкое значение переменной вывода:
Иллюстрирует алгоритм рис. 1.11.
Рис. 1.11. Иллюстрация к алгоритму Sugeno
В алгоритме Larsen нечеткая импликация моделируется с использованием оператора умножения.
Описание алгоритма
1. Первый этап — как в алгоритме Mamdani.
2. На втором этапе, как в алгоритме Mamdani вначале находятся значения
α1= A1(x0) ˄ B1(y0),
α2 = А2(x0) ˄ В2(y0),
а затем — частные нечеткие подмножества
α1C1(z), a2C2(z).
3. Находится итоговое нечеткое подмножество с функцией принадлежности
μs(z)= С(z)= (a1C1(z)) ˅ (a2C2(z))
(в общем случае n правил ).
4. При необходимости производится приведение к четкости (как в ранее рассмотренных алгоритмах).
Алгоритм Larsen иллюстрируется рис. 1.12.
Рис. 1.12. Иллюстрация алгоритма Larsen
Исходные правила в данном случае задаются в виде:
П1: если х есть A1 и у есть B1, тогда z1 = c1,
П2: если х есть А2 и у есть В2, тогда z2 = с2, где c1 и с2 — некоторые обычные (четкие) числа.
Описание алгоритма
1. Первый этап — как в алгоритме Mamdani.
2. На втором этапе находятся числа α1 = A1(x0) ˄ B1(y0), α2= A2(x0) ˄ B2(y0).
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— неисправность аккумулятора;
x2— отработка машинного масла;
y1— затруднения при запуске;
y2— ухудшение цвета выхлопных газов;
y3— недостаток мощности.
Между xiи yjсуществуют нечеткие причинные отношения rij = xi→ yj,которые можно представить в виде некоторой матрицы R с элементами rij ϵ [0, 1]. Конкретные входы (предпосылки) и выходы (заключения) можно рассматривать как нечеткие множества А и В на пространствах X и Y.Отношения этих множеств можно обозначить как
В = А ᵒ R,
где, как и раньше, знак «о» обозначает правило композиции нечетких выводов.
В данном случае направление выводов является обратным к направлению выводов для правил, т.е. в случае диагностики имеется (задана) матрица R (знания эксперта), наблюдаются выходы В (или симптомы) и определяются входы А (или факторы).
Пусть знания эксперта-автомеханика имеют вид
а в результате осмотра автомобиля его состояние можно оценить как
В= 0,9/y1+ 0,1/у2 + 0,2/у3.
Требуется определить причину такого состояния:
А = a1/x1+ a2/x2.
Отношение введенных нечетких множеств можно представить в виде
либо, транспонируя, в виде нечетких векторов-столбцов:
При использовании (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 — параметр отработки машинного масла).
На практике в задачах, подобных рассмотренной, количество переменных может быть существенным, могут одновременно использоваться различные композиции нечетких выводов, сама схема выводов может быть многокаскадной. Общих методов решения подобных задач в настоящее время, по-видимому, не существует.