Содержание нечеткой логики
Системы с нечеткой логикой – это системы, управление в которых строится на обобщении классической логики и теории множеств с использованием понятия нечеткого множества (объекта, характеризующегося функцией принадлежности элемента ко множеству, принимающей различные значения из интервала $[0;1]$, а не только граничные значения 0 или 1, как в классической логике).
В основе нечеткой логики как математической науки лежит концепция «частичной правды», признание возможности существования промежуточных значений между «да» и «нет». Благодаря этому появляется возможность сформулировать математически и обработать с помощью вычислительной техники выражения по типу «довольно холодно» или «слегка тепло». Термин fuzzy («нечеткий, размытый») определяет одно из перспективных направлений развития науки и технологии.
Нечеткое управление обычно реализуется для:
- очень сложных процессов, не имеющих подходящей простой математической модели;
- нелинейных процессов, имеющих высокий порядок;
- обработки экспертных знаний, сформулированных лингвистически.
Если же можно получить приемлемый результат, используя общую теорию управления, или уже разработана адекватная формализованная математическая модель, лучше использовать традиционные методы.
Впервые понятие нечеткого множества было введено Лотфи Заде в ставшей классической статье «Нечеткие множества» (журнал «Информатика и управление», 1965).
В результате «не вполне точных измерений» получаются нечеткие числа, во многом напоминающие распределения теории вероятности, но освобожденные от их недостатков. Пределом возрастания точности в нечеткой логике является стандартная булева логика. Операции над нечеткими множествами:
- объединение,
- пересечение,
- дополнение,
- размывание,
- концентрация.
Фаззификацией называют сопоставление множества значений х и функции принадлежности M(x), т. е. перевод в нечеткий формат значений х.
Рассмотрим пример, связанный с температурой воды. Кипящая вода (с температурой 100 градусов и выше) однозначно горячая – соответственно, такой воде можно однозначно присвоить ранг 1. По мере снижения температуры воду можно назвать горячей уже не столь однозначно, и принадлежность к термину «горячая» будет снижаться – 0,9, затем 0,8 и т.д. Начиная с некоторой температуры (30-35 градусов) воду никак нельзя назвать горячей, и для все температур ниже этой границы значение функции принадлежности будет 0.
Степень принадлежности не надо путать с вероятностью, поскольку неизвестна функция распределения, эксперименты не являются повторяющимися. Сумма рангов для двух взаимоисключающих событий не обязательно равна 1. Если же сумма все же равна 1, говорят о нормированном множестве.
Источником значений для функции принадлежности могут служить:
- априорные знания,
- опросы экспертов,
- опыт,
- интуиция.
Нечеткая логика оперирует лингвистическими переменными, в качестве значений которых выступают слова естественного языка, называемые термами.
Например, если рассматривается возраст человека, термами могут быть «маленький», «молодой», «средний», «пожилой».
Чтобы физически реализовать лингвистические переменные, нужно для каждого терма точно определить физические значения – определить для всего возможного набора числовых значений степень принадлежности к тому или иному терму.
Продолжая пример с возрастом: возраст 35 лет может быть отнесен к «молодому» с рангом 0.3 и «среднему» с рангом 0.9 – сумма рангов не обязательно должна быть равна 1.
Реализация систем с нечеткой логикой
На сегодняшний день нечеткая логика используется в разнообразных проектах – от фотокамер с автофокусом и посудомоечных машин до аэрокосмических систем и атомных реакторов. Ключевыми преимуществами нечеткой логики является:
- компактность и простота восприятия человеком центрального блока принятия решений (при том же объеме входной и выходной информации, что и в других интеллектуальных системах);
- подмена решения громоздкой и сложной задачи вычисления точного воздействия стратегией адаптивного приближения, сохраняющей требуемую точность результатов.
Очевидно, что применение нечеткой логики имеет перспективы в разнообразных экспертных системах, в том числе самообучающихся (классификаторах) и в системах нелинейного контроля за процессами производства. Для исследования критических и рисковых ситуаций важна способность систем с нечеткой логики совершенствовать одновременно несколько каналов обобщения правил: в системах искусственного интеллекта выполняется поочередный охват закономерностей (одна за другой). Нечеткая логика внедряется в системы:
- распознавания образов,
- финансового анализа,
- исследования больших данных,
- стратегического управления и координации деятельности.
В исходном пространстве оперировать нечеткими множествами достаточно сложно. Чтобы преодолеть барьеры, производится преобразование к безразмерным числовым переменным по обычным правилам математического анализа. После того, как получен результат (безразмерная переменная), осуществляется обратное преобразование – перевод результата в термины физической переменной.
Типичный микроконтроллер, реализующий нечеткую логику, состоит из:
- блока фаззификации, где четкие величины с выхода объекта управления преобразуются в нечеткие величины, которые описываются лингвистическими переменными из базы знаний;
- базы знаний;
- блока решений, который в соответствии с заложенными в базе знаний нечеткими условными правилами осуществляет преобразование нечетких входных данных в нечеткие управляющие воздействия;
- блока дефаззификации, где нечеткие данные, полученные в блоке решений, преобразуются в четкие величины, используемые при управлении объектом.
Аппаратный микропроцессор нечеткой логики может принимать аналоговые сигналы, переводить их в нечеткий формат, а затем, применяя соответствующие правила, преобразовывать результаты в формат обычной логики и далее - в аналоговый исполнительный сигнал. Все это по возможности осуществляется без внешних запоминающих устройств, преобразователей и какого бы то ни было дополнительного программного обеспечения.