Точка нечеткой логики состоит в том, чтобы сопоставить входное пространство с выходом пространством, и основным механизмом для этого является список если - те операторы называемых правил. Все правила оцениваются параллельно, и порядок правил неважен. Сами правила полезны, потому что они ссылаются на переменные и прилагательные, которые описывают эти переменные. Прежде чем вы сможете создать систему, которая интерпретирует правила, вы должны задать все условия, которые вы планируете использовать, и прилагательные, которые их описывают. Чтобы сказать, что вода горячая, вы должны определить область значений, в пределах которой температура воды может варьироваться, а также то, что вы имеете в виду под словом горячая.
В целом нечеткий вывод является методом, который интерпретирует значения в векторе входа и, основываясь на некотором наборе правил, присваивает значения вектору выхода.
Эта тема направляет вас через нечеткий логический процесс постепенно, предоставляя введение в теорию и практику нечеткой логики.
Нечеткая логика начинается с концепции нечеткого множества. fuzzy set является множеством без четкой, четко заданной контура. Он может содержать элементы только с частичной степенью членства.
Чтобы понять, что такое нечеткое множество, сначала рассмотрим определение классического множества. Классический набор является контейнером, который полностью включает или полностью исключает любой заданный элемент. Например, набор дней недели, несомненно, включает понедельник, четверг и субботу. Это, несомненно, исключает масло, вольность и спинные плавники и так далее.
Этот тип набора называется классическим множеством, потому что он существует уже давно. Именно Аристотель впервые сформулировал Закон Исключенного Среднего, который говорит, что X должен быть либо в наборе A, либо в наборе not-A. Другой версией этого закона является:
Из любого предмета одна вещь должна быть либо утверждена, либо отрицана. |
Чтобы повторить этот закон с аннотациями: «Из любого предмета (скажем, в понедельник) одна вещь (день недели) должна быть либо утверждена, либо отклонена (я утверждаю, что понедельник - это день недели)». Этот закон требует, чтобы противоположные, две категории A, а не-A, содержали между собой целую вселенную. Все попадает либо в одну группу, либо в другую. Нет ничего, что и день недели, и не день недели.
Теперь рассмотрим набор дней, включающий выходные. Следующая схема пытается классифицировать выходные дни.
Большинство согласилось бы, что суббота и воскресенье относятся к набору выходных, но как насчет пятницы? Это чувствуется как часть выходных, но как-то кажется, что это должно быть технически исключено. Поэтому пятница «заграждает забор». Классические наборы не терпят такого рода классификации. Либо что-то находится в наборе, либо это вне набора. Человеческий опыт говорит о чем-то другом, однако трансграничное заграждение является частью жизни.
Конечно, индивидуальные представления и культурный фон должны быть учтены, когда вы определяете, что представляет собой выходные. Даже словарь неточен, определяя выходные как период с ночи пятницы или субботы до утра понедельника. Вы входите в область, где остроконечная, да-никакая логика не перестает быть полезной. Нечеткие рассуждения становятся ценными именно тогда, когда вы работаете с тем, как люди действительно воспринимают концептуальные выходные в отличие от простодушной классификации, полезной только для бухгалтерских целей. Больше всего на свете следующий оператор закладывает основы нечеткой логики.
В нечеткой логике истина любого оператора становится вопросом степени. |
Любой оператор может быть нечетким. Основным преимуществом, которое предлагает нечеткая аргументация, является возможность ответить на вопрос да-нет с ответом не совсем-да-или-нет. Люди делают такие вещи постоянно (подумайте, как редко вы получаете прямой ответ на, казалось бы, простой вопрос), но это довольно новая уловка для компьютеров.
Как это работает? Рассуждения в нечеткой логике - это просто вопрос обобщения привычной логики yes-no (Boolean). Если вы даете true числовое значение 1 и false числовое значение 0, это значение указывает, что нечеткая логика также позволяет входить между значениями, такими как 0,2 и 0,7453. Для образца:
В: Суббота - выходной день? |
А: 1 (да, или правда) |
Вопрос: Вторник - выходной день? |
A: 0 (нет, или ложь) |
В: Пятница - выходной день? |
А: 0.8 (по большей части да, но не полностью) |
В: Является ли воскресенье выходным днем? |
А: 0.95 (да, но не так сильно, как суббота). |
График слева показывает значения истинности для weekend-ness, если вы вынуждены ответить абсолютным ответом да или нет. Справа расположен график, который показывает истинное значение для weekend-ness, если вам разрешено отвечать нечеткими промежуточными значениями.
Технически представление справа происходит из области многозначной логики (или мультивалентной логики). Если вы задаете вопрос «Является ли X представителями набора A?», ответ может быть да, нет или любое одно из тысячи промежуточных значений между ними. Таким образом, X может иметь частичное членство в A. Многозначная логика является прямым контрастом с более привычной концепцией двухзначной (или двухвалентной логики да-нет).
Чтобы вернуться к примеру, теперь рассмотрим непрерывную шкалу масштаба weekend-ness, показанный на следующих графиках.
Делая график непрерывным, вы определяете, в какой степени любой данный момент принадлежит в выходные, а не целый день. На графике слева заметьте, что в полночь пятницы, так же как вторая рука проносится за 12, значение истинности выходного дня скачет прерывисто с 0 до 1. Это один из способов определить выходные, и хотя это может быть полезно для бухгалтера, это может не действительно связать с вашим реальным опытом выходного дня.
График справа показывает плавно изменяющуюся кривую, которая учитывает тот факт, что вся пятница, и, в небольшой степени, части четверга, участвуют в качестве выходного дня и, таким образом, заслуживают частичного членства в нечетком наборе выходных моментов. Кривая, которая определяет выходные дни любого момента во времени, является функцией, которая преобразует входное пространство (время недели) в выходное пространство (weekend-ness). В частности, он известен как функция принадлежности. Более подробное обсуждение смотрите в разделе Функции членства.
Как еще один пример нечетких множеств, рассмотрим вопрос о сезонах. Какой сезон сейчас? В северном полушарии лето официально начинается в точный момент земной орбиты, когда Северный полюс направлен наиболее непосредственно к Солнцу. Встречается ровно раз в год, в конце июня. Используя астрономические определения для сезона, вы получаете острые контуры, как показано слева на следующем рисунке. Но то, что вы испытываете, когда времена года варьируются более или менее непрерывно, как показано справа на следующем рисунке (в климате северного полушария умеренного).
Функция принадлежности (MF) является кривой, которая задает соответствие каждой точки входного пространства значение степени выраженности в диапазоне от 0 до 1. Входное пространство иногда упоминается как вселенная дискурса, причудливое имя для простой концепции.
Одним из наиболее часто используемых примеров нечеткого набора является набор высоких людей. В этом случае вселенная дискурса - это все потенциальные высоты, скажем от трех футов до девяти футов, и слово tall будет соответствовать кривой, которая определяет степень, до которой любой человек высок. Если набору высоких людей дана четко заданная (четкий) контур классического набора, можно сказать, что все люди выше шести футов официально считаются высокими. Однако такое различие явно абсурдно. Возможно, имеет смысл рассмотреть набор всех реальных чисел, больше шести, потому что числа относятся к абстрактной плоскости, но когда мы хотим говорить о реальных людях, неразумно называть одного человека коротким, а другого высоким, когда они отличаются по высоте шириной волос.
Если вид различий, показанный ранее, неработоспособен, то каков правильный способ определить набор высоких людей? Так же, как и с графиком дней выходного дня, рисунок ниже показывает плавно изменяющуюся кривую, которая переходит от не высокого к высокому. Выходная ось является числом, известным как значение принадлежности между 0 и 1. Кривая известна как функция принадлежности и часто получает обозначение µ. Например, следующий рисунок показывает как четкие, так и плавные функции высокого уровня принадлежности. На верхнем графике два человека классифицируются как либо полностью высокие, либо полностью не высокие. На нижнем графике плавный переход допускает разные степени тонкости. Оба человека в какой-то степени высокие, но один значительно менее высокий, чем другой. Более высокий человек, с весом 0,95 - определенно высокий человек, но человек с весом 0,3 не очень высокий.
Субъективные интерпретации и соответствующие модули строятся прямо в нечетких множествах. Если вы говорите «Она высокая», то функция членства tall уже должна учитывать, имеете в виду ли вы шестилетнюю или взрослую женщину. Точно так же модули включены в кривую. Конечно, нет смысла говорить «Она высокая в дюймах или в метрах?»
Единственное условие, которое действительно должна удовлетворять функция принадлежности, заключается в том, что она должна варьироваться от 0 до 1. Сама функция может быть произвольной кривой, форму которой мы можем задать как функцию, которая подходит нам с точки зрения простоты, удобства, скорости и эффективности.
Классический набор может быть выражен как
Нечеткое множество является расширением классического множества. Если X - вселенная дискурса, и её элементы обозначены x, то A нечеткого множества в X определяется как набор упорядоченных пар.
A = {x, uA (x) | x ∈ X} |
µA (x) называется функцией членства (или MF) x в A. Функция принадлежности отображает каждый элемент X на значение принадлежности от 0 до 1.
Тулбокс включает 11 встроенных типов функций принадлежности. Эти 11 функций, в свою очередь, построены из нескольких основных функций:
Кусочно-линейные функции
Функция Гауссова распределения
Сигмоидная кривая
Квадратичные и кубические полиномиальные кривые
Подробную информацию о любой из функций членства, упомянутых ниже, см. на соответствующей странице с описанием.
Простейшие функции принадлежности формируются с помощью прямых линий. Из них самым простым является треугольная функция принадлежности, и она имеет имя функции trimf
. Эта функция не более чем набор из трех точек, образующих треугольник. Функция трапеций, trapmf
, имеет плоскую верхнюю часть и действительно является просто усеченной кривой треугольника. Эти прямые линии функции членства имеют преимущество простоты.
Две функции принадлежности построены на Гауссовом распределении кривой: простая Гауссова кривая и двусторонний композит из двух разных Гауссовых кривых. Эти две функции gaussmf
и gauss2mf
.
Обобщенная функция принадлежности к колоколу задается тремя параметрами и имеет имя функции gbellmf
. Функция принадлежности к колоколу имеет на один параметр больше, чем функция Гауссова, поэтому она может приблизиться к нечеткому множеству, если параметр free настроен. Из-за их плавности и краткого обозначения, функции Гауссова и принадлежности к колоколу являются популярными методами для определения нечетких множеств. Обе эти кривые имеют преимущество быть гладкими и ненулевыми во всех точках.
Хотя функции Гауссова членства и функции колокольчика достигают плавности, они не могут задать асимметричные функции членства, которые важны в некоторых приложениях. Далее вы задаете сигмоидальную функцию принадлежности, которая открыта слева или справа. Асимметричные и закрытые (т.е. не открытые влево или вправо) функции принадлежности могут быть синтезированы с помощью двух сигмоидальных функций, поэтому в дополнение к основному sigmf
, у вас также есть различие между двумя сигмоидальными функциями, dsigmf
и продукт двух сигмоидальных функций psigmf
.
Основанные на полиномах кривые составляют несколько функций принадлежности в тулбоксе. Тремя связанными функциями принадлежности являются кривые Z, S и Pi, все из-за их формы. Функция zmf
- асимметричная полиномиальная кривая, открытая налево, smf
- функция зеркального отражения, которая открывается справа, и pimf
равен нулю на обеих крайностях с подъёмом в середине.
Существует очень широкий выбор при выборе функции членства. Вы также можете создать свои собственные функции членства с помощью тулбокса. Однако, если список, основанный на расширенных функциях членства, кажется слишком сложным, просто помните, что вы, вероятно, могли бы очень хорошо ладить только с одним или двумя типами функций членства, например, с треугольником и трапецией функций. Выбор широк для тех, кто хочет исследовать возможности, но расширенные функции членства не необходимы для хороших систем нечеткого вывода. Наконец, помните, что больше подробностей доступно по всем этим функциям в ссылку разделе.
Нечеткие наборы описывают расплывчатые концепции (для примера, быстрого бегуна, жаркой погоды, выходных дней).
Нечеткий набор допускает возможность частичного членства в нем. (например, пятница - это вроде выходной день, погода довольно жаркая).
Степень принадлежности объекта к нечеткому множеству обозначается значением принадлежности от 0 до 1 (для примера пятница - день выходного дня до степени 0.8).
Функция принадлежности, связанная с заданным нечетким набором, сопоставляет входное значение с соответствующим значением принадлежности.
Теперь, когда вы понимаете нечеткий вывод, необходимо увидеть, как нечеткий вывод соединяется с логическими операциями.
Самое главное осознать о нечетких логических рассуждениях - это тот факт, что это супермножество стандартной логики Булева. Другими словами, если вы сохраняете нечеткие значения в их крайних значениях 1 (полностью true) и 0 (полностью false), то стандартные логические операции будут иметь место. В качестве примера рассмотрим следующие стандартные таблицы истинности.
Учитывая, что в нечеткой логике истина любого оператора является вопросом степени, можно ли изменить эти таблицы истинности? Входные значения могут быть вещественными числами от 0 до 1. Какая функция сохраняет результаты таблицы И (для примера), а также распространяется на все вещественные числа от 0 до 1?
Один из ответов - минимальная операция. То есть устраните оператор A AND B, где A и B ограничены областью значений (0,1), используя функцию min (A, B). Используя те же аргументы, можно заменить операцию OR на функцию max, так что A OR B станет эквивалентной max (A, B). Наконец, операция NOT A становится эквивалентной операции. Предыдущая таблица истинности полностью неизменна этой заменой.
Более того, поскольку за таблицей истинности стоит функция, а не просто сама таблица истинности, можно теперь рассматривать значения, отличные от 1 и 0.
Следующий рисунок использует график, чтобы показать ту же информацию. На этом рисунке таблица истинности преобразуется в график из двух нечетких наборов, примененных вместе, чтобы создать один нечеткий набор. В верхней части рисунка отображаются графики, соответствующие предыдущим двухзначным таблицам истинности, в то время как в нижней части рисунка показано, как операции работают в постоянно изменяющемся области значений значений истинности A и B в соответствии с нечеткими операциями, которые вы определили.
Учитывая эти три функции, можно разрешить любую конструкцию, используя нечеткие наборы и нечеткую логическую операцию И, ИЛИ, и НЕ.
В этом случае вы определили только одно конкретное соответствие между двухзначными и многозначными логическими операциями для AND, OR и NOT. Это соответствие отнюдь не уникально.
В более общих терминах вы определяете, что известно как нечеткое пересечение или связь (AND), нечеткое объединение или дизъюнкция (OR) и нечеткое дополнение (NOT). Классические операторы для этих функций: AND = min, OR = max и NOT = additive complement. Как правило, большинство нечетких логических приложений используют эти операции и оставляют их при этом. В целом, однако, эти функции являются произвольными в удивительной степени. Программное обеспечение Fuzzy Logic Toolbox™ использует классический оператор для нечеткого дополнения, как показано на предыдущем рисунке, но также позволяет настраивать операторы AND и OR.
Пересечение двух нечетких множеств A и B задано в целом двоичным отображением T, которое агрегирует две функции принадлежности следующим образом:
Для примера двоичный оператор T может представлять умножение µA (x) и µB (x). Эти операторы нечеткого пересечения, которые обычно называются операторами T-norm (треугольная норма), отвечают следующим основным требованиям:
Оператор T -norm является двоичным отображением T (.,.) со следующими свойствами:
Контур -
Монотонность - если и
Коммутативность -
Ассоциативность -
Первое требование накладывает правильное обобщение на четкие множества. Второе требование подразумевает, что уменьшение значений членства в A или B не может привести к увеличению значения членства в A-перекрестке B. Третье требование указывает, что оператор равнодушен к порядку нечетких наборов, которые будут объединены. Наконец, четвертое требование позволяет нам взять пересечение любого количества наборов в любом порядке парных группировок.
Как и нечеткое пересечение, оператор нечеткого объединения задается в целом двоичным отображением S:
Для примера двоичный оператор S может представлять сложение µA (x) и µB (x). Эти нечеткие операторы союза, которые часто называются T операторами -conorm (или S -norm), должны удовлетворять следующим основным требованиям:
Оператор T -conorm (или S -norm) является двоичным отображением S (.,.) со следующими свойствами:
Контур -
Монотонность - если и
Коммутативность -
Ассоциативность -
В прошлом было предложено несколько параметризованных T-нормс и двойных T-конормов, таких как у Ягера [11], Дюбуа и Праде [1], Швайцера и Склара [8] и Sugeno [9]. Каждый из них предоставляет способ изменить коэффициент усиления на функции, чтобы он мог быть очень ограничивающим или очень допустимым.
Нечеткие множества и нечеткие операторы являются субъектами и глаголами нечеткой логики. Эти операторы if-then используются, чтобы сформулировать условные операторы, которые содержат нечеткую логику.
Одно нечеткое правило if-then принимает форму
Если x есть A, то y есть B |
где A и B - языковые значения, заданные нечеткими множествами в областях значений (вселенных дискурса) X и Y, соответственно. if-часть правила «x is A» называется предшественником или предпосылкой, в то время как тогдашняя часть правила «y is B» называется следствием или выводом. Примером такого правила может быть
Если сервис хорош, то чаевые средние |
Концептуальное хорошее представлено как число от 0 до 1, и поэтому предшествующее значение является интерпретацией, которая возвращает одно число от 0 до 1. И наоборот, среднее значение представлено как нечеткое множество, и, следовательно, это назначение, которое присваивает выход переменной y весь нечеткий набор B. В правиле if-then слово используется двумя совершенно различными способами в зависимости от того, появляется ли оно в предшествующем или последующем. В MATLAB® условия, это использование является различием между реляционным тестом с использованием «= =» и переменным назначением с использованием символа «=». Менее запутанным способом написания правила было бы
Если сервис = = хорошо, то чаевые = средние значения |
В целом вход в правило if-then является текущим значением для входной переменной (в этом случае - услуга), а выход - это целый нечеткий набор (в данном случае, средний). Этот набор будет позже дефузифицирован, присвоив одно значение выходу. Концепция дефаззификации описана в следующем разделе.
Интерпретация правила if-then включает два шага:
Оценка предшествующего элемента - нечеткость входов и применение любых необходимых нечетких операторов.
Применение результата к последующему.
Второй шаг известен как импликация. Для правила if-then, предшествующее, p, подразумевает последующее, q. В бинарной логике, если p верно, то q также верно (p → q). В нечеткой логике, если p верна некоторой степени принадлежности, то q также верна той же степени (0,5 p → 0,5 q). В обоих случаях, если p ложен, то значение q не определено.
Предшественник правила может иметь несколько частей.
Если небо серое, а ветер сильный, и барометр падает, то... |
В этом случае все части предшествующего вычисляются одновременно и разрешаются на одно число с помощью логических операторов, описанных в предыдущем разделе. Следствие правила может также иметь несколько частей.
Если температура холодная, то клапан горячей воды открыт и клапан холодной воды закрыт |
В этом случае на все последствия одинаково влияет результат предшествующего. Как последующее затронуто предшествующим? Последующее задает нечеткий набор, который будет назначен выходу. Функция implication затем изменяет этот нечеткий набор до степени, заданной предшествующим элементом. Наиболее распространенными способами изменения выхода нечеткого множества являются усечение с помощью min
функция (где нечеткий набор усечен как показано на следующем рисунке) или масштабирование с помощью prod
функция (где выход нечеткое множество квадратурно). Оба поддерживаются тулбоксом, но для примеров, приведенных в этом разделе, используется усечение.
Интерпретация правил if-then является трехчастным процессом. Этот процесс подробно описан в следующем разделе:
Нечеткие входы: Разрешите все нечеткие операторы в предшествующем элементе до степени принадлежности между 0 и 1. Если в предшествующем есть только одна часть, то это степень поддержки правила.
Примените нечеткий оператор к нескольким предшествующим деталям: Если существует несколько частей к предшествующему, примените нечеткие логические операторы и разрешите предшествующее число к одному числу от 0 до 1. Такова степень поддержки правила.
Применить метод импликации: Используйте степень поддержки для всего правила, чтобы сформировать выход нечеткий набор. Следствие нечеткого правила присваивает выходу целое нечеткое множество. Этот нечеткий набор представлен функцией принадлежности, которая выбирается, чтобы указать качества последующего. Если предшествующий элемент только частично равен true (то есть ему присваивается значение меньше 1), то выходной нечеткий набор обрезается согласно импликационному методу.
В целом одно правило неэффективно. Необходимы два или более правил, которые могут отыгрывать друг от друга. Выходы каждого правила являются нечетким множеством. Затем выходы нечеткие наборы для каждого правила агрегируются в один выход нечеткий набор. Наконец, полученный набор дефузифицируется или разрешается на одно число. Построение нечетких систем с помощью Fuzzy Logic Designer показывает, как весь процесс работает от начала до конца для определенного типа системы нечеткого вывода, называемой типом Мамдани.
[1] Дюбуа, Дидье и Анри М. Праде. Нечеткие наборы и системы: теория и приложения. Математика в науке и технике, т. 144. Нью-Йорк: Академическая пресса, 1980.
[2] Кауфманн, А. и Мадан М. Гупта. Введение в нечеткую арифметику: теория и приложения. Van Nostrand Reinhold Electrical/Computer Science and Engineering Series. New York, N.Y: Van Nostrand Reinhold Co, 1985.
[3] Lee, C.C. "Fuzzy Logic in Control Systems: Fuzzy Logic Controller. I ". Транзакции IEEE по системам, человеку и кибернетике 20, № 2 (апрель 1990): 404-18. https://doi.org/10.1109/21.52551.
[4] Lee, C.C. "Fuzzy Logic in Control Systems: Fuzzy Logic Controller. II ". Транзакции IEEE по системам, человеку и кибернетике 20, № 2 (апрель 1990): 419-35. https://doi.org/10.1109/21.52552.
[5] Mamdani, E.H., and S. Assilian. «An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller». International Journal of Man-Machine Studies 7, № 1 (январь 1975): 1-13. https://doi.org/10.1016/S0020-7373 (75) 80002-2.
[6] Mamdani, E.H. «Advances in the Linguistic Synthesis of Fuzzy Controllers». International Journal of Man-Machine Studies 8, № 6 (ноябрь 1976): 669-78. https://doi.org/10.1016/S0020-7373 (76) 80028-4.
[7] Mamdani, E.H. «Применение нечеткой логики для аппроксимации рассуждений с помощью лингвистического синтеза». Транзакции IEEE на компьютерах C-26, № 12 (декабрь 1977): 1182-91. https://doi.org/10.1109/TC.1977.1674779.
[8] Schweizer, B. and A. Sklar, 'Associative functions and abstract semi-group'. Издатель Math. Debrecen 10 (1963): 69-81.
[9] Sugeno, M., «Fuzzy measures and fuzzy integrals: a survey», (M.M. Gupta, G. N. Saridis, and B.R. Gaines, editors) Fuzzy Automata and DEsigning, pp. 89-102, Ny,
[10] Sugeno, Michio, ed. промышленное применение нечеткого контроля. Амстердам; Нью-Йорк: Нью-Йорк, Нью-Йорк, США: Северо-Голландия; Единственные дистрибьюторы для США и Канады, Elsevier Science Pub. Ко, 1985.
[11] Yager, Ronald R. «On a General Class of Fuzzy Connectives». Нечеткие наборы и системы 4, № 3 (ноябрь 1980): 235-42. https://doi.org/10.1016/0165-0114 (80) 90013-5.
[12] Yager, Ronald R., and Dimitar P. Filev. «Generation of Fuzzy Rules by Mountain Clustering». Журнал интеллектуальных и нечетких систем 2, № 3 (1994): 209-19. https://doi.org/10.3233/IFS-1994-2301.
[13] Zadeh, L.A. «Fuzzy Sets». Информация и управление 8, № 3 (июнь 1965): 338-53. https://doi.org/10.1016/S0019-9958 (65) 90241-X.
[14] Заде, Лотфи А. «Контур нового подхода к анализу сложных систем и процессов принятия решений». Транзакции IEEE по системам, человеку и кибернетике SMC-3, № 1 (1973): 28-44. https://doi.org/10.1109/TSMC.1973.5408575.
[15] Zadeh, L.A. 'Концепция лингвистической переменной и ее применение для аппроксимации рассуждений. I '.Информационные науки 8, № 3 (1975): 199-249. https://doi.org/10.1016/0020-0255 (75) 90036-5
[16] Zadeh, L.A. 'Концепция лингвистической переменной и ее применение для аппроксимации рассуждений. II '. Информационные 8, № 4 (1975): 301-357. https://doi.org/10.1016/0020-0255 (75) 90046-8
[17] Zadeh, L.A. 'Концепция лингвистической переменной и ее применение для аппроксимации рассуждений. III '. Информационные 9, № 1 (1975): 43-80. https://doi.org/10.1016/0020-0255 (75) 90017-1
[18] Zadeh, L.A. «Fuzzy Logic». Компьютер 21, № 4 (апрель 1988): 83-93. https://doi.org/10.1109/2.53.
[19] Zadeh, L.A. «Knowledge Representation in Fuzzy Logic». Транзакции IEEE по проектированию знаний и данных 1, № 1 (март 1989 года): 89-100. https://doi.org/10.1109/69.43406.