Встречаются задачи, решение которых точными количественными методами неэффективно или невозможно. В этих случаях имеет смысл применять методы приближенных вычислений, одним из которых является нечеткая логика. Применение fuzzy logic обосновано в следующих случаях:
1) Применение точных методов невозможно
2) Применение точных методов связано с большими затратами времени и ресурсов и имеет смысл пожертвовать точностью вычислений для экономии времени.
3) Нет возможности набрать статистический материал, чтобы воспользоваться теорией вероятности.
Рассмотрим пример, связанный с возрастом человека (рис.1).
До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину молодой с рангом около 0,9 ). Зато диапазону от 16 до 30 лет можно смело присвоить ранг 1, т.е. человек в этом возрасте молодой. После 30 лет человек вроде уже не молодой, но еще и не старый, здесь принадлежность (ранг) термина молодой возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем меньше становится его принадлежность к молодым, т.е. ранг будет стремиться к 0.
Нечеткое множество для термина молодой может быть изображено на следующей диаграмме:
Рис.1. Нечеткое множество для термина молодой
К нечетким множествам можно применять следующее операции:
1. Объединение:
2. Пересечение:
3. Дополнение:
4. Концентрация:
5. Размывание (размытие):
6. Фаззификация – это сопоставление множества значений х ее функции принадлежности М (х), т.е. перевод значений х в нечеткий формат.
Дефаззификация – процесс обратный фазификации, т.е. перевод нечетких значений в абсолютные значения х.
В нечеткой логике вводится понятие лингвистической переменной, значениями которого являются не числа, а слова естественного языка, называемыми термами. Например, в случае управления мобильным роботом можно ввести две лингвистические переменные ДИСТАНЦИЯ (расстояние до помехи) и НАПРАВЛЕНИЕ (угол между продольной осью робота и направлением на помеху).
Рассмотрим лингвистическую переменную ДИСТАНЦИЯ. Для нее можно определить следующие термы: ДАЛЕКО, СРЕДНЯЯ, БЛИЗКО, ОЧЕНЬ БЛИЗКО. Для физической реализации лингвистической переменной необходимо определить точные физические значения термов этой переменной.
Пусть переменная ДИСТАНЦИЯ может принимать любое значение из диапазона от 0 до ∞. Согласно положению теории нечетких множеств, в этом случае каждому значению расстояние из указанного диапазона может быть поставлено в соответствие некоторое число от 0 до 1, которое определяет степень принадлежности данного физического расстояния (допустим 40 см) к тому или иному терму лингвистическое переменной ДИСТАНЦИЯ.
Степень принадлежности определяется функцией принадлежности
M (d), где d – расстояние до помехи.
В нашем случае расстоянию 40 см можно задать степень принадлежности к терму ОЧЕНЬ БЛИЗКО = 0,7, а к терму БЛИЗКО = 0,3. Конкретное значение степени принадлежности может проходить только при работе с экспертами.
Рисунок 1. Лингвистическая переменная и функция принадлежности.
Переменной НАПРАВЛЕНИЕ, которая может принимать значение от 00 до 3600 , зададим следующие термы: ЛЕВО, ПРЯМО, ПРАВОЕ.
Теперь необходимо задать выходные переменные. В рассматриваемом примере достаточно одной, которая будет называться РУЛЕВОЙ УГОЛ. Она может содержать термы: РЕЗКО ВЛЕВО, ВЛЕВО, ПРЯМО, ВПРАВО, РЕЗКО ВПРАВО. Связь между входом и выходом запоминается в таблице нечетких правил.
Рисунок 2. Таблица нечетких правил.
Таким образом, мобильный робот с нечеткой логикой будет работать по следующему принципу: данные с сенсоров о расстоянии до помехи и направлении на нее будут фаззифицированы, обработаны согласно табличным правилам, дефаззифицированы и полученные данные в виде управляющих сигналов поступят на приводы робота.
Для описания неопределенности в задачах автоматического управления используется 3 подхода:
1.Вероятностный (стохастический);
2. Нечеткая логика (Fuzzy Logic);
3. Хоастические системы.
Областью внедрения алгоритмов нечеткой логики являются всевозможные экспертные системы в том числе:
1. Нелинейный подход за процессами (производство);
2. Самообучающиеся системы (классификаторы, исследование рисковых и критических ситуаций);
3. Распознавание образов;
4. Финансовый анализ (рынки ценных бумаг);
5. Исследование данных (корпоративное хранилище);
6. Совершенствование стратегий и координация действий (например, сложное промышленное производство).
Недостатками нечетких систем являются:
1. Отсутствие стандартной методики конструирования нечетких систем;
2. Невозможность математического анализа нечетких систем существующими методами.
3. Применение нечеткого подхода по сравнению с вероятностным не приводит к повышению точности вычислений.