Нечёткая логика (англ. fuzzy logic, иногда размытая, расплывчатая, туманная, путанная) — раздел математики, являющийся обобщением классической логики и теории множеств, базирующийся на понятии нечёткого множества, впервые введённого Лотфи Заде в 1965 году как объекта с функцией принадлежности элемента к множеству, принимающей любые значения в интервале , а не только 0 или 1. На основе этого понятия вводятся различные логические операции над нечёткими множествами и формулируется понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.
Предметом нечёткой логики считается исследование рассуждений в условиях нечёткости, размытости, сходных с рассуждениями в обычном смысле, и их применение в вычислительных системах[1].
В настоящее время[уточнить] существует, по крайней мере, два основных направления научных исследований в области нечёткой логики:
Символическая нечёткая логика основывается на понятии t-нормы. После выбора некоторой t-нормы (а её можно ввести несколькими разными способами) появляется возможность определить основные операции над пропозициональными переменными: конъюнкцию, дизъюнкцию, импликацию, отрицание и другие.
Нетрудно доказать теорему о том, что дистрибутивность, присутствующая в классической логике, выполняется только в случае, когда в качестве t-нормы выбирается t-норма Гёделя[уточнить].
Кроме того, в силу определенных причин, в качестве импликации чаще всего выбирают операцию, называемую residium (она, вообще говоря, также зависит от выбора t-нормы).
Определение основных операций, перечисленных выше, приводит к формальному определению базисной нечёткой логики, которая имеет много общего с классической булевозначной логикой (точнее, с исчислением высказываний).
Существуют три основных базисных нечётких логики: логика Лукасевича, логика Гёделя и вероятностная логика (англ. product logic). Интересно, что объединение любых двух из трёх перечисленных выше логик приводит к классической булевозначной логике.
Основное понятие нечёткой логики в широком смысле — нечёткое множество, определяемое при помощи обобщенного понятия характеристической функции. Затем вводятся понятия объединения, пересечения и дополнения множеств (через характеристическую функцию; задать можно различными способами), понятие нечёткого отношения, а также одно из важнейших понятий — понятие лингвистической переменной.
Вообще говоря, даже такой минимальный набор определений позволяет использовать нечёткую логику в некоторых приложениях, для большинства же необходимо задать ещё и правило вывода (и оператор импликации).
Поскольку нечеткие множества описываются функциями принадлежности, а t-нормы и k-нормы обычными математическими операциями, можно представить нечеткие логические рассуждения в виде нейронной сети. Для этого функции принадлежности надо интерпретировать как функции активации нейронов, передачу сигналов как связи, а логические t-нормы и k-нормы, как специальные виды нейронов, выполняющие математические соответствующие операции. Существует большое разнообразие подобных нейро-нечетких сетей neuro-fuzzy network (англ.) . Например, ANFIS (Adaptive Neuro fuzzy Inference System) — адаптивная нейро-нечеткая система вывода.[2] (англ.)
Она может быть описана в универсальной форме аппроксиматоров как
,
кроме того, этой формулой могут быть описаны также некоторые виды нейронных сетей, такие как радиально базисные сети (RBF), многослойные персептроны (MLP), а также вейвлеты и сплайны.
Нечёткое множество, содержащее число 5, можно задать, например, такой характеристической функцией:
В обозначениях, принятых для лингвистической переменной:
Характеристические функции:
Правило G порождает новые термы с использованием союзов «и», «или», «не», «очень», «более или менее».
Нечёткая логика — набор нестрогих правил, в которых для достижения поставленной цели могут использоваться радикальные идеи, интуитивные догадки, а также опыт специалистов, накопленный в соответствующей области. Нечёткой логике свойственно отсутствие строгих стандартов. Чаще всего она применяется в экспертных системах, нейронных сетях и системах искусственного интеллекта. Вместо традиционных значений Истина и Ложь в нечеткой логике используется более широкий диапазон значений, среди которых Истина, Ложь, Возможно, Иногда, Не помню (Как бы Да, Почему бы и Нет, Ещё не решил, Не скажу…). Нечеткая логика просто незаменима в тех случаях, когда на поставленный вопрос нет чёткого ответа (да или нет; «0» vs «1») или наперёд неизвестны все возможные ситуации. Например, в нечеткой логике высказывание вида «X есть большое число» интерпретируется как имеющее неточное значение, характеризуемое некоторым нечётким множеством. «Искусственный интеллект и нейронные сети — это попытка смоделировать на компьютере поведение человека. А так как люди редко видят окружающий мир лишь в чёрно-белом цвете, возникает необходимость в использовании нечёткой логики».[3]
Нечеткая логика агрегирование, нечеткая логика теория нечетких множеств, нечеткая логика лукасевича, нечеткая логика на c++.
Файл:Befolkningsutvikling kommune 0511.svg, Гидрология рек, СТЗ, Bobcat Company.