Алгоритм Мамдани(Ebrahim Mamdani) Алгоритм Мамдани является одним из первых, который нашел применение в системах нечеткого вывода. Он был предложен в 1975 г. английским математиком Е. Мамдани в качестве метода для управления паровым двигателем. По своей сути этот алгоритм порождает рассмотренные выше этапы, поскольку в наибольшей степени соответствует их параметрам.
Формально алгоритм Мамдани может быть определен следующим образом:
1. Формирование базы правил
Стандартное, описанное выше.
2. Фазификация входных переменных
Стандартное, описанное выше
3. Агрегированния подусловий
Для агрегирования используются стандартные логические операции, в частности min и max.
Для нахождения степени истинности условий каждого из правил нечетких продукций используются парные нечеткие логические операции. Те правила, степень истинности условий которых отлична от нуля, считаются активными и используются для дальнейших расчетов.
4. Активизация подзаключений
В алгоритме Мамдани используется min активизация
5. Аккумуляция
Аккумулирование осуществляется с помощью функции max конкретно в алгоритме Мамдани
6. Дефаззификация
Осуществляется или с помощью метода центра тяжести или с помощью метода центра площади
Алгоритм Цукамото(Tsukamoto)
Формальноалгоритм может быть определен следующим образом:
1. Формирование базы правил
Стандартное, описанное выше.
2. Фазификация входных переменных
Стандартное, описанное выше
3. Агрегированния подусловий
Для нахождения степени истинности условий всех правил нечетких продукций используются парные нечеткие логические операции. Те правила, степень истинности условий которых отлична от нуля, считаются активными и используются для дальнейших расчетов.
4. Активизация подзаключений
Осуществляется аналогично алгоритму Мамдани. После чего находятся четкие значения всех выходных лингвистических переменных
Сi=(Ci1+Ci2)/2
wi=μ(Ci)
5. Аккумуляция
Отсутствует, поскольку отсутствуют нечеткие функции принадлежности
6. Дефаззификация
Используется модифицированный метод центра тяжести для одноточечных множеств
Алгоритм Ларсена
Формальноалгоритм может быть определен следующим образом:
1. Формирование базы правил
Стандартное для большинства алгоритмов нечеткого вывода
2. Фаззификация входных переменных
Совпадает с рассмотренными выше
3. Агрегированния подусловий
Используются парные логические операции, как правило, maxдизъюнкция и minконъюнкция
4. Активизация подзаключений
В алгоритме Ларсона используется prod активизация. Значение функции принадлежности находится
где
– вес i-го правила
- результат активизации
5. Аккумуляция
Совпадает с аккумуляцией в алгоритме Мамдани
6. Дефаззификация
Может использоваться любой алгоритм дефазификации
Алгоритм Сугено
1. Формирование базы правил
Используется правило вида:
ЕСЛИ « есть » И « есть » ТО
Где это некоторые весовые коэффициенты,
Для двух входных переменных можно представить так:
При этом значение выходной переменной w в заключении определяется как некоторое действительное число.
2. Фазификация входных переменных
Совпадает с рассмотренной в алгоритме Мамдани
3. Агрегированния подусловий
Как правило используется логическая операция min-конъюнкция
4. Активизация подзаключений
Сначала находится значение степени истинности всех условий. Потом находится значение C, где вместо x1 и x2 используется конкретные значения входных переменных до этапа фаззификации. Таким образом, получаем множество значений с координатами w и весом
где
– вес i-го правила
- результат активизации
5. Аккумуляция
Фактически отсутствует, т.к. расчеты осуществляются с обычными действительными числами, а не с функциями принадлежности
6. Дефаззификация
Используется модифицированный вариант в форме метода центра тяжести для одноточечных множеств
|