Нечеткая логика — это форма многозначной логики , в которой истинностное значение переменных может быть любым действительным числом от 0 до 1. Она применяется для обработки концепции частичной истины, где истинностное значение может находиться в диапазоне от полностью истинного до полностью ложного. [1] Напротив, в булевой логике истинностные значения переменных могут быть только целыми числами 0 или 1.
Термин «нечеткая логика» был введен в 1965 году в предложении теории нечетких множеств математиком Лотфи Заде . [2] [3] Однако нечеткая логика изучалась с 1920-х годов как бесконечнозначная логика — в частности, Лукасевичем и Тарским . [4]
Нечеткая логика основана на наблюдении, что люди принимают решения на основе неточной и нечисловой информации. Нечеткие модели или нечеткие множества являются математическими средствами представления неопределенности и неточной информации (отсюда и термин нечеткий). Эти модели обладают способностью распознавать, представлять, манипулировать, интерпретировать и использовать данные и информацию, которые являются неопределенными и не имеют определенности. [5] [6]
Нечеткая логика применяется во многих областях: от теории управления до искусственного интеллекта .
Классическая логика допускает только выводы, которые являются либо истинными, либо ложными. Однако существуют также предложения с переменными ответами, которые можно обнаружить, если попросить группу людей определить цвет. В таких случаях истина появляется как результат рассуждения из неточного или частичного знания, в котором выборочные ответы отображаются в спектре. [7]
Как степень истинности , так и вероятность находятся в диапазоне от 0 до 1 и, следовательно, на первый взгляд могут показаться идентичными, но нечеткая логика использует степень истинности как математическую модель неопределенности , в то время как вероятность является математической моделью незнания . [8]
Базовое приложение может характеризовать различные поддиапазоны непрерывной переменной . Например, измерение температуры для антиблокировочной системы тормозов может иметь несколько отдельных функций принадлежности, определяющих конкретные диапазоны температур, необходимые для надлежащего управления тормозами. Каждая функция сопоставляет одно и то же значение температуры со значением истины в диапазоне от 0 до 1. Эти значения истины затем можно использовать для определения того, как следует управлять тормозами. [9] Теория нечетких множеств предоставляет средства для представления неопределенности.
В приложениях нечеткой логики нечисловые значения часто используются для облегчения выражения правил и фактов. [10]
Лингвистическая переменная, такая как возраст, может принимать такие значения, как молодой и его антоним старый . Поскольку естественные языки не всегда содержат достаточно терминов значений для выражения нечеткой шкалы значений, общепринятой практикой является изменение лингвистических значений с помощью прилагательных или наречий . Например, мы можем использовать хеджи скорее и несколько для построения дополнительных значений скорее старый или несколько молодой . [11]
Наиболее известная система — система, основанная на правилах Мамдани . [12] Она использует следующие правила:
Фаззификация — это процесс присвоения числового входа системы нечетким множествам с некоторой степенью принадлежности. Эта степень принадлежности может быть где угодно в пределах интервала [0,1]. Если она равна 0, то значение не принадлежит данному нечеткому множеству, а если она равна 1, то значение полностью принадлежит нечеткому множеству. Любое значение между 0 и 1 представляет собой степень неопределенности того, что значение принадлежит набору. Эти нечеткие множества обычно описываются словами, и поэтому, присваивая вход системы нечетким множествам, мы можем рассуждать с ним лингвистически естественным образом.
Например, на изображении ниже значения выражений cold , warm и hot представлены функциями, отображающими температурную шкалу. Точка на этой шкале имеет три «значения истинности» — по одному для каждой из трех функций. Вертикальная линия на изображении представляет собой определенную температуру, которую измеряют три стрелки (значения истинности). Поскольку красная стрелка указывает на ноль, эта температура может быть интерпретирована как «не горячая»; т. е. эта температура имеет нулевое членство в нечетком множестве «горячая». Оранжевая стрелка (указывающая на 0,2) может описывать ее как «слегка теплая», а синяя стрелка (указывающая на 0,8) — «довольно холодная». Следовательно, эта температура имеет 0,2 членства в нечетком множестве «теплая» и 0,8 членства в нечетком множестве «холодная». Степень членства, назначенная для каждого нечеткого множества, является результатом фаззификации.
Нечеткие множества часто определяются как треугольные или трапециевидные кривые, поскольку каждое значение будет иметь наклон, где значение увеличивается, пик, где значение равно 1 (который может иметь длину 0 или больше), и наклон, где значение уменьшается. [13] Их также можно определить с помощью сигмоидальной функции . [14] Одним из распространенных случаев является стандартная логистическая функция, определяемая как
который имеет следующее свойство симметрии
Из этого следует, что
Нечеткая логика работает со значениями членства способом, который имитирует булеву логику . Для этого должны быть доступны замены для базовых операторов («ворот») AND, OR, NOT. Есть несколько способов сделать это. Распространенная замена называетсяОператоры Заде :
Для значений ИСТИНА/1 и ЛОЖЬ/0 нечеткие выражения дают тот же результат, что и булевы выражения.
Существуют также другие операторы, более лингвистические по своей природе, называемые хеджами , которые могут применяться. Это, как правило, наречия, такие как very или several , которые изменяют значение множества с помощью математической формулы . [15]
Однако произвольная таблица выбора не всегда определяет нечеткую логическую функцию. В статье (Зайцев и др.) [16] был сформулирован критерий, позволяющий распознать, определяет ли данная таблица выбора нечеткую логическую функцию, и предложен простой алгоритм синтеза нечеткой логической функции на основе введенных понятий составляющих минимума и максимума. Нечеткая логическая функция представляет собой дизъюнкцию составляющих минимума, где составляющей минимума является конъюнкция переменных текущей области, больших или равных значению функции в этой области (справа от значения функции в неравенстве, включая значение функции).
Другой набор операторов И/ИЛИ основан на умножении, где
х И у = х*уНЕ х = 1 - хСледовательно,x ИЛИ y = НЕ( И( НЕ(x), НЕ(y) ) )x ИЛИ y = НЕ( И(1-x, 1-y) )x ИЛИ y = НЕ( (1-x)*(1-y) )x ИЛИ y = 1-(1-x)*(1-y)х ИЛИ у = х+у-ху
Учитывая любые два из AND/OR/NOT, можно вывести третий. Обобщение AND является примером t-нормы .
Правила IF-THEN сопоставляют входные или вычисленные значения истинности с желаемыми выходными значениями истинности. Пример:
ЕСЛИ температура очень низкая, ТО fan_speed останавливаетсяЕСЛИ температура низкая, ТО скорость вентилятора низкаяЕСЛИ температура высокая, ТО скорость вентилятора умереннаяЕСЛИ температура высокая, ТО скорость вентилятора высокая
При определенной температуре нечеткая переменная hot имеет определенное значение истинности, которое копируется в переменную high .
Если выходная переменная встречается в нескольких частях THEN, то значения из соответствующих частей IF объединяются с помощью оператора OR.
Цель состоит в том, чтобы получить непрерывную переменную из нечетких значений истинности. [ необходима ссылка ]
Это было бы легко, если бы выходные значения истинности были точно такими, которые получены в результате фаззификации заданного числа. Однако, поскольку все выходные значения истинности вычисляются независимо, в большинстве случаев они не представляют собой такой набор чисел. [ необходима цитата ] Затем нужно выбрать число, которое лучше всего соответствует «намерению», закодированному в значении истинности. Например, для нескольких значений истинности fan_speed необходимо найти фактическую скорость, которая лучше всего соответствует вычисленным значениям истинности переменных «медленный», «умеренный» и т. д. [ необходима цитата ]
Единого алгоритма для этой цели не существует.
Обычный алгоритм —
Система TSK [17] похожа на Мамдани, но процесс дефаззификации включен в выполнение нечетких правил. Они также адаптированы, так что вместо этого консеквент правила представлен через полиномиальную функцию (обычно постоянную или линейную). Примером правила с постоянным выходом будет:
ЕСЛИ температура очень низкая = 2
В этом случае вывод будет равен константе консеквента (например, 2). В большинстве сценариев у нас будет полная база правил с 2 или более правилами. Если это так, вывод всей базы правил будет средним значением консеквента каждого правила i (Y i ), взвешенным в соответствии со значением членства его антецедента (h i ):
Примером правила с линейным выходом может быть:
ЕСЛИ температура очень низкая И влажность высокая = 2 * температура + 1 * влажность
В этом случае вывод правила будет результатом функции в консеквенте. Переменные внутри функции представляют значения членства после фаззификации, а не четкие значения. Как и прежде, в случае, если у нас есть полная база правил с 2 или более правилами, общий вывод будет взвешенным средним между выводами каждого правила.
Главное преимущество использования TSK по сравнению с Mamdani заключается в том, что он эффективен с точки зрения вычислений и хорошо работает в других алгоритмах, таких как ПИД-регулирование и с алгоритмами оптимизации. Он также может гарантировать непрерывность выходной поверхности. Однако Mamdani более интуитивен и прост в работе для людей. Поэтому TSK обычно используется в других сложных методах, таких как адаптивные нейронечеткие системы вывода .
Поскольку выход нечеткой системы является консенсусом всех входов и всех правил, системы нечеткой логики могут хорошо себя вести, когда входные значения недоступны или не заслуживают доверия. Веса могут быть опционально добавлены к каждому правилу в базе правил, и веса могут использоваться для регулирования степени, в которой правило влияет на выходные значения. Эти веса правил могут быть основаны на приоритете, надежности или согласованности каждого правила. Эти веса правил могут быть статическими или могут быть изменены динамически, даже на основе выходных данных других правил.
Нечеткая логика используется в системах управления, чтобы позволить экспертам вносить нечеткие правила, например, «если вы близко к станции назначения и движетесь быстро, увеличьте давление тормозов поезда»; эти нечеткие правила затем могут быть численно уточнены в системе.
Многие из ранних успешных приложений нечеткой логики были реализованы в Японии. Первое заметное применение было в серии Sendai Subway 1000 , в которой нечеткая логика смогла улучшить экономичность, комфорт и точность поездки. Она также использовалась для распознавания рукописного ввода в карманных компьютерах Sony, в средствах управления полетом вертолетов, в управлении системой метрополитена, для повышения топливной экономичности автомобилей, в управлении стиральными машинами с одной кнопкой, в автоматическом управлении питанием в пылесосах и в раннем распознавании землетрясений через Институт сейсмологии Бюро метеорологии, Япония. [18]
Нейронные сети на основе искусственного интеллекта и нечеткой логики при анализе являются одним и тем же — базовая логика нейронных сетей нечеткая. Нейронная сеть будет принимать различные значимые входные данные, давать им разные веса по отношению друг к другу, комбинировать промежуточные значения определенное количество раз и приходить к решению с определенным значением. Нигде в этом процессе нет ничего похожего на последовательности решений «или-или», которые характеризуют нечеткую математику, компьютерное программирование и цифровую электронику . В 1980-х годах исследователи разделились во мнениях о наиболее эффективном подходе к машинному обучению : обучение на основе дерева решений или нейронные сети. Первый подход использует двоичную логику, сопоставляя оборудование, на котором он работает, но, несмотря на большие усилия, он не привел к созданию интеллектуальных систем. Нейронные сети, напротив, привели к точным моделям сложных ситуаций и вскоре нашли свой путь во множество электронных устройств. [19] Теперь их также можно реализовать непосредственно на аналоговых микросхемах, в отличие от предыдущих псевдоаналоговых реализаций на цифровых микросхемах. Более высокая эффективность этих устройств компенсирует присущую им меньшую точность аналоговых устройств в различных вариантах использования.
Нечеткая логика является важной концепцией в принятии медицинских решений . Поскольку медицинские и санитарные данные могут быть субъективными или нечеткими, приложения в этой области имеют большой потенциал для получения большой выгоды от использования подходов, основанных на нечеткой логике.
Нечеткая логика может использоваться во многих различных аспектах в рамках принятия медицинских решений. Такие аспекты включают [20] [21] [22] [ необходимо разъяснение ] в анализе медицинских изображений , анализе биомедицинских сигналов, сегментации изображений [23] или сигналов, а также извлечении признаков /выборе изображений [23] или сигналов. [24]
Самый большой вопрос в этой области применения — сколько полезной информации можно получить при использовании нечеткой логики. Основная проблема — как получить требуемые нечеткие данные. Это становится еще сложнее, когда приходится получать такие данные от людей (обычно пациентов). Как уже было сказано
«Как ни парадоксально, границы того, что может быть достигнуто и чего не может быть достигнуто в медицинской диагностике, сами по себе размыты»
— Семь вызовов, 2019. [25]
Как извлекать нечеткие данные и как проверять точность данных, все еще является продолжающейся работой, тесно связанной с применением нечеткой логики. Проблема оценки качества нечетких данных является сложной. Вот почему нечеткая логика является весьма многообещающей возможностью в области применения принятия медицинских решений, но все еще требует дополнительных исследований для раскрытия ее полного потенциала. [25]
Одной из распространенных областей применения нечеткой логики является компьютерная диагностика на основе изображений в медицине. [26] Компьютерная диагностика представляет собой компьютеризированный набор взаимосвязанных инструментов, которые могут использоваться для оказания помощи врачам в принятии диагностических решений.
После определения нечетких отношений можно разрабатывать нечеткие реляционные базы данных . Первая нечеткая реляционная база данных, FRDB, появилась в диссертации Марии Земанковой (1983). Позже возникли и другие модели, такие как модель Баклза-Петри, модель Праде-Тестемейла, модель Умано-Фуками или модель GEFRED Дж. М. Медины, М. А. Вилы и др.
Были определены нечеткие языки запросов, такие как SQLf П. Боска и др. и FSQL Дж. Галиндо и др. Эти языки определяют некоторые структуры для включения нечетких аспектов в операторы SQL, такие как нечеткие условия, нечеткие компараторы, нечеткие константы, нечеткие ограничения, нечеткие пороги, лингвистические метки и т. д.
В математической логике существует несколько формальных систем «нечеткой логики», большинство из которых относятся к семейству нечетких логик t-нормы .
Наиболее важными пропозициональными нечеткими логиками являются:
Подобно тому, как предикатная логика создается из пропозициональной логики , предикатные нечеткие логики расширяют нечеткие системы с помощью универсальных и экзистенциальных кванторов . Семантика универсального квантора в t-нормальных нечетких логиках является инфимумом степеней истинности экземпляров квантифицированной подформулы, в то время как семантика экзистенциального квантора является супремумом того же самого.
Понятия «разрешимого подмножества» и « рекурсивно перечислимого подмножества» являются базовыми для классической математики и классической логики . Таким образом, вопрос об их подходящем расширении до теории нечетких множеств является ключевым. Первое предложение в этом направлении было сделано Э. С. Сантосом с помощью понятий нечеткой машины Тьюринга , нормального нечеткого алгоритма Маркова и нечеткой программы (см. Santos 1970). Впоследствии Л. Биачино и Дж. Герла утверждали, что предложенные определения довольно сомнительны. Например, в [27] показано, что нечеткие машины Тьюринга не подходят для теории нечетких языков, поскольку существуют естественные нечеткие языки, интуитивно вычислимые, которые не могут быть распознаны нечеткой машиной Тьюринга. Затем они предложили следующие определения. Обозначим через Ü множество рациональных чисел в [0,1]. Тогда нечеткое подмножество s : S [0,1] множества S рекурсивно перечислимо, если существует рекурсивное отображение h : S × N Ü такое, что для каждого x из S функция h ( x , n ) возрастает по n и s ( x ) = lim h ( x , n ). Мы говорим, что s разрешимо , если и s , и его дополнение – s рекурсивно перечислимы. Возможно расширение такой теории на общий случай L-подмножеств (см. Gerla 2006). Предложенные определения хорошо связаны с нечеткой логикой. Действительно, следующая теорема верна (при условии, что аппарат вывода рассматриваемой нечеткой логики удовлетворяет некоторому очевидному свойству эффективности).
Любая "аксиоматизируемая" нечеткая теория рекурсивно перечислима. В частности, нечеткое множество логически истинных формул рекурсивно перечислимо, несмотря на то, что четкое множество допустимых формул, вообще говоря, не является рекурсивно перечислимым. Более того, любая аксиоматизируемая и полная теория разрешима.
Открытым вопросом является поддержка "тезиса Чёрча" для нечёткой математики , предложенное понятие рекурсивной перечислимости для нечётких подмножеств является адекватным. Для решения этой проблемы необходимо расширение понятий нечёткой грамматики и нечёткой машины Тьюринга . Другой открытый вопрос заключается в том, чтобы начать с этого понятия и найти расширение теорем Гёделя на нечёткую логику.
Нечеткая логика и вероятность рассматривают различные формы неопределенности. В то время как нечеткая логика и теория вероятностей могут представлять степени определенных видов субъективных убеждений, теория нечетких множеств использует концепцию членства в нечетком множестве, т. е. насколько наблюдение находится в пределах нечетко определенного множества, а теория вероятностей использует концепцию субъективной вероятности , т. е. частоты возникновения или вероятности некоторого события или условия [ необходимо разъяснение ] . Концепция нечетких множеств была разработана в середине двадцатого века в Беркли [28] в ответ на отсутствие теории вероятностей для совместного моделирования неопределенности и неопределенности . [29]
Барт Коско утверждает в работе «Нечеткость против вероятности » [30] , что теория вероятностей является подтеорией нечеткой логики, поскольку вопросы степеней веры во взаимоисключающее членство множеств в теории вероятностей могут быть представлены как определенные случаи невзаимноисключающего градуированного членства в нечеткой теории. В этом контексте он также выводит теорему Байеса из концепции нечеткого подмножества. Лотфи А. Заде утверждает, что нечеткая логика отличается по характеру от вероятности и не является ее заменой. Он нечетко определил вероятность как нечеткую вероятность, а также обобщил ее до теории возможностей . [31]
В более общем смысле нечеткая логика — это одно из многих различных расширений классической логики, призванных решать вопросы неопределенности, выходящие за рамки классической логики, неприменимости теории вероятностей во многих областях и парадоксов теории Демпстера–Шейфера .
Теоретик вычислений Лесли Валиант использует термин экоритмы для описания того, как много менее точных систем и методов, таких как нечеткая логика (и «менее надежная» логика), могут быть применены к алгоритмам обучения . Валиант по сути переопределяет машинное обучение как эволюционное. В общем смысле, экоритмы — это алгоритмы, которые обучаются на своих более сложных средах (отсюда и эко- ), чтобы обобщать, аппроксимировать и упрощать логику решения. Как и нечеткая логика, они представляют собой методы, используемые для преодоления непрерывных переменных или систем, слишком сложных для полного перечисления или понимания дискретно или точно. [32] Экоритмы и нечеткая логика также имеют общее свойство иметь дело с возможностями больше, чем с вероятностями, хотя обратная связь и прямая связь , в основном стохастические веса, являются особенностью обоих при работе, например, с динамическими системами .
Другая логическая система, где значения истинности являются действительными числами от 0 до 1 и где операторы AND и OR заменены на MIN и MAX, — это логика G ∞ Гёделя . Эта логика имеет много общего с нечеткой логикой, но определяет отрицание по-другому и имеет внутреннюю импликацию. Отрицание и импликация определяются следующим образом:
что превращает полученную логическую систему в модель для интуиционистской логики , делая ее особенно хорошо себя ведущей среди всех возможных выборов логических систем с действительными числами от 0 до 1 в качестве значений истинности. В этом случае импликация может быть интерпретирована как «x менее истинен, чем y», а отрицание — как «x менее истинен, чем 0» или «x строго ложно», и для любого и мы имеем, что . В частности, в логике Гёделя отрицание больше не является инволюцией, а двойное отрицание отображает любое ненулевое значение в 1.
Компенсационная нечеткая логика (CFL) — это раздел нечеткой логики с измененными правилами для конъюнкции и дизъюнкции. Когда истинностное значение одного компонента конъюнкции или дизъюнкции увеличивается или уменьшается, другой компонент уменьшается или увеличивается для компенсации. Это увеличение или уменьшение истинностного значения может быть компенсировано увеличением или уменьшением другого компонента. Смещение может быть заблокировано при достижении определенных пороговых значений. Сторонники [ who? ] утверждают, что CFL обеспечивает лучшее вычислительное семантическое поведение и имитирует естественный язык. [ неопределенно ] [33] [34]
Согласно Хесусу Сехасу Монтеро (2011), компенсационная нечеткая логика состоит из четырех непрерывных операторов: конъюнкция (c); дизъюнкция (d); нечеткий строгий порядок (or); и отрицание (n). Конъюнкция является геометрическим средним и его дуальными как конъюнктивные и дизъюнктивные операторы. [35]
IEEE 1855 , IEEE STANDARD 1855–2016, посвящен языку спецификаций под названием Fuzzy Markup Language (FML) [36], разработанному Ассоциацией стандартов IEEE . FML позволяет моделировать систему нечеткой логики в удобном для восприятия человеком и независимом от оборудования виде. FML основан на расширяемом языке разметки ( XML ). Разработчики нечетких систем с FML имеют унифицированную и высокоуровневую методологию для описания совместимых нечетких систем. IEEE STANDARD 1855–2016 использует язык определения W3C XML Schema для определения синтаксиса и семантики программ FML.
До внедрения FML специалисты по нечеткой логике могли обмениваться информацией о своих нечетких алгоритмах, добавляя к своим программным функциям возможность читать, правильно анализировать и сохранять результаты своей работы в форме, совместимой с языком нечеткого управления (FCL), описанным и указанным в части 7 стандарта IEC 61131. [37] [38]
{{cite web}}
: CS1 maint: unfit URL (link){{cite book}}
: CS1 maint: location missing publisher (link)