|
Fuzzy Logic: Четкие решения нечеткой логики
Fuzzy Logic: Четкие решения нечеткой логики
|
Эпименид Кносский с острова Крит – полумифический поэт и философ, живший в VI в. до н.э., однажды заявил: «Все критяне – лжецы!». Так как он и сам был критянином, то его помнят как изобре тателя так называемого критского парадокса.
В терминах аристотелевой логики, в которой утверждение не может быть одновременно истинным и ложным, и подобные самоотрицания не имеют смысла. Если они истинны, то они ложны, но если они ложны, то они истинны.
И здесь на сцену выходит нечеткая логика, где переменные могут быть частичными членами множеств. Истинность или ложность перестают быть абсолютными – утверждения могут быть частично истинными и частично ложными. Использование подобного подхода позволяет строго математически доказать, что парадокс Эпименида ровно на 50% истинен и на 50% ложен.
Таким образом, нечеткая логика в самой своей основе несовместима с аристотелевой логикой, особенно в отношении закона Tertium non datur («Третьего не дано» – лат.), который также называют законом исключения среднего1. Если сформулировать его кратко, то звучит он так: если утверждение не является истинным, то оно является ложным. Эти постулаты настолько базовые, что их часто просто принимают на веру.
Более банальный пример пользы нечеткой логики можно привести в контексте концепции холода. Большинство людей способно ответить на вопрос: «Холодно ли вам сейчас?». В большинстве случаев (если вы разговариваете не с аспирантом-физиком) люди понимают, что речь не идет об абсолютной температуре по шкале Кельвина. Хотя температуру в 0 K можно, без сомнения, назвать холодом, но температуру в +15 C многие холодом считать не будут.
Но машины не способны проводить такую тонкую градацию. Если стандартом определения холода будет «температура ниже +15 C», то +14,99 C будет расцениваться как холод, а +15 C – не будет.
Теория нечетких множеств
Хотя нечеткая логика обычно изучается лишь на старших курсах вузов, ее базовые концепции удивительно просты.
Рассмотрим рис. 1. На нем представлен график, помогающий понять то, как человек воспринимает температуру. Температуру в +60 F (+12 C) человек воспринимает как холод, а температуру в +80 F (+27 C) – как жару. Температура в +65 F (+15 C) одним кажется низкой, другим – достаточно комфортной. Мы называем эту группу определений функцией принадлежности к множествам,описывающим субъективное восприятие температуры человеком.
Так же просто можно создать дополнительные множества, описывающие восприятие температуры человеком. Например, можно добавить такие множества, как «очень холодно» и «очень жарко». Можно описать подобные функции для других концепций, например, для состояний «открыто» и «закрыто», температуры в охладителе или температуры в башенном охладителе.
То есть нечеткие системы можно использовать как универсальный аппроксиматор (усреднитель) очень широкого класса линейных и нелинейных систем. Это не только делает более надежными стратегии контроля в нелинейных случаях, но и позволяет использовать оценки специалистов-экспертов для построения схем компьютерной логики.
Нечеткие операторы
Чтобы применить алгебру для работы с нечеткими значениями, нужно определить используемых операторов. Обычно в булевой логике используется лишь ограниченный набор операторов, с помощью которых и производится выполнение других операций: NOT (оператор «НЕ»), AND (оператор «И») и OR (оператор «ИЛИ»).
Можно дать множество определений для этих трех базовых операторов, три из которых приведены в таблице. Кстати, все определения одинаково справедливы для булевой логики (для проверки просто подставьте в них 0 и 1). В булевой логике значение FALSE («ЛОЖЬ») эквивалентно значению «0», а значение TRUE («ИСТИНА») эквивалентно значению «1». Аналогичным образом в нечеткой логике степень истинности может меняться в диапазоне от 0 до 1, поэтому значение «Холод» верно в степени 0,1, а операция NOT(«Холод») даст значение 0,9.
Вы можете вернуться к парадоксу Эпименида и постараться его решить (математически он выражается как A = NOT(A), где A – это степень истинности соответствующего утверждения). Если же вы хотите более сложную задачу, то попробуйте решить вопрос о звуке хлопка, производимого одной рукой…
Решение задач методами нечеткой логики
Лишь немногие клапаны способны открываться «чуть-чуть». При работе оборудования обычно используются четкие значения (например, в случае бимодального сигнала 0-10 В), которые можно получить, используя так называемое «решение задач методами нечеткой логики». Подобный подход позволяет преобразовать семантические знания, содержащиеся в нечеткой системе, в реализуемую стратегию управления2.
Это можно сделать с использованием различных методик, но для иллюстрации процесса в целом рассмотрим всего один пример.
В методе height defuzzification результатом является сумма пиков нечетких множеств, рассчитываемая с использованием весовых коэффициентов. У этого метода есть несколько недостатков, включая плохую работу с несимметричными функциями принадлежности к множествам, но у него есть одно преимущество – этот метод наиболее простой для понимания.
Предположим, что набор правил, управляющих открытием клапана, даст нам следующий результат:
«Клапан частично закрыт»: 0,2
«Клапан частично открыт»: 0,7
«Клапан открыт»: 0,3
Если мы используем метод height defuzzification для определения степени открытости клапана, то получим результат:
«Клапан закрыт»: 0,1
(0,1*0% + 0,2*25% + 0,7*75% + 0,3*100%)/ /(0,1 + 0,2 + 0,7 + 0,3) =
= (0% + 5% + 52,5% + 30%)/(1,3) = = 87,5/1,3 = = 67,3%,
т.е. клапан необходимо открыть на 67,3%.
Практическое применение нечеткой логики
Когда только появилась теория нечеткой логики, в научных журналах можно было найти статьи, посвященные ее возможным областям применения. По мере продвижения разработок в данной области число практических применений для нечеткой логики начало быстро расти. В настоящее время этот список был бы слишком длинным, но вот несколько примеров, которые помогут понять, насколько широко нечеткая логика используется в системах управления и в экспертных системах3.
– Устройства для автоматического поддержания скорости движения автомобиля и увеличения эффективности/стабильности работы автомобильный двигателей (компании Nissan, Subaru).
– Системы распознавания рукописного текста в PDA (компания Sony).
– Улучшение систем безопасности для атомных реакторов (компании Hitachi, Bernard, Nuclear Fuel Div.).
– Управление роботами (компании Toshiba, Fuji Electric, Omron).
– Промышленные системы управления (компании Aptronix, Omron, Meiden, Sha, Micom, Nisshin-Denki, Mitsubishi, Oku-Electronics и др.).
Чтобы показать, где нечеткая логика используется в системах автоматизации, приведу несколько правил, которые позволяют увеличить
эффективность работы коммунальных систем в зданиях или могут способствовать выявлению неисправностей. Выделены параметры, являющиеся нечеткими значениями.
|
Нечеткая логика в системах автоматизации зданий
Хотя использование нечеткой логики может действительно стать следующим шагом в создании систем автоматического управления коммунальными системами в зданиях (building automation systems / BAS), важно помнить, что для осмысленного применения нечеткой логики необходимо, чтобы программное обеспечение, управляющее работой BAS, с самого начало создавалось с учетом возможности использования этих функций. Не достаточен только лишь условный язык, используемый для задания правил, его интегрированность в программное обеспечение и соответствие принципам его работы. Еще нужно установить четкое разграничение между стандартными ресурсами и способами управления (например, ПИД-регулированием, использованием расписаний, предупреждающих сообщений и т.д.) и методами управления на основе нечеткой логики. Неполная интеграция или неправильно построенные правила взаимопреобразований между стандартной и нечеткой логикой могут привести к появлению в программах ошибок, причину которых будет очень сложно установить.
Кроме того, большая часть информации, необходимой для эффективной работы систем, основанных на методах нечеткой логики, должна автоматически собираться во время первоначального запуска программного обеспечения, управляющего работой системы. Если возложить программирование системы на инженеров-строителей, то это будет неосмотрительным со стороны разработчиков BAS и приведет к тому, что в большинстве зданий BAS не будут использоваться надлежащим образом. Например, необходимо задать функции принадлежности к множествам (см. рис. 1 и 2) для величин, часто используемых в BAS. Если добавить датчики температуры воздуха или контроллеры для систем кондиционирования с переменным расходом воздуха, то компьютерная программа должна быть способной автоматически задавать соответствующие функции принадлежности к множествам для различных контрольных точек.
Так как цены на энергоносители непрерывно растут и становится очевидным, что необходимо использование передовых систем для обнаружения неисправностей, то проектировщики зданий и управляющие компании должны отслеживать возможности по использованию инновационных решений. «Нечеткая логика» – это термин, который у всех на слуху, и при правильном использовании этот метод вполне может оправдать возлагаемые на него надежды.
_________________________________________
[1] Два других закона аристотелевой логики также опровергаются нечеткой логикой: это закон идентичности, утверждающий: «если утверждение истинно, то оно верно»; и закон противоречия: «утверждение не может быть одновременно истинным и ложным».
[2] В качестве алгоритма, базирующегося на нечеткойлогике, результаты которого обычно превосходят результаты использования ПИД-регулирования, можно привести контроллер Мамдани
[3] Более полный список можно найти по следующему адресу:
Возврат к списку
|