Что такое нечеткая логика кратко

Обновлено: 05.07.2024

Нечеткая логика – это подход к обработке переменных, который позволяет обрабатывать несколько значений через одну и ту же переменную. Нечеткая логика пытается решить проблемы с открытым, неточным спектром данных, что позволяет получить массив точных выводов. Нечеткая логика предназначена для решения проблем путем рассмотрения всей доступной информации и принятия наилучшего возможного решения с учетом входных данных.

Ключевые выводы

  • Нечеткая логика обеспечивает более совершенную обработку дерева решений и лучшую интеграцию с программированием на основе правил.
  • Теоретически это дает подходу больше возможностей для имитации реальных жизненных обстоятельств.
  • Нечеткая логика может использоваться количественными аналитиками для улучшения выполнения своих алгоритмов.

Понимание нечеткой логики

Нечеткая логика проистекает из математического изучения нечетких понятий, которое также включает нечеткие наборы данных. Математики могут использовать различные термины, говоря о нечетких концепциях и нечетком анализе. В широком смысле эти термины классифицируются как нечеткая семантика.

Вопросы нечеткой логики

Нечеткая логика в ее самом основном смысле разрабатывается посредством анализа типа дерева решений. Таким образом, в более широком масштабе он формирует основу для систем искусственного интеллекта, запрограммированных с помощью выводов на основе правил.

Как правило, термин нечеткий относится к огромному количеству сценариев, которые могут быть разработаны в системе, подобной дереву решений. Разработка протоколов нечеткой логики может потребовать интеграции программирования на основе правил. Эти правила программирования можно назвать нечеткими множествами, поскольку они разрабатываются по усмотрению всеобъемлющих моделей.

Нечеткие множества также могут быть более сложными. В более сложных аналогиях программирования программисты могут иметь возможность расширить правила, используемые для определения включения и исключения переменных. Это может привести к более широкому диапазону вариантов с менее точным обоснованием, основанным на правилах.

Нечеткая семантика в искусственном интеллекте

Концепция нечеткой логики и нечеткой семантики является центральным компонентом программирования решений искусственного интеллекта. Решения и инструменты искусственного интеллекта продолжают расширяться в экономике в целом ряде секторов, так как расширяются возможности программирования на основе нечеткой логики.

IBM Watson – одна из самых известных систем искусственного интеллекта, использующая вариации нечеткой логики и нечеткой семантики. В частности, в финансовых услугах нечеткая логика используется в машинном обучении и технологических системах, поддерживающих результаты инвестиционной разведки.

В некоторых продвинутых торговых моделях интеграция математики нечеткой логики также может использоваться, чтобы помочь аналитикам создавать автоматические сигналы покупки и продажи. Эти системы помогают инвесторам реагировать на широкий спектр изменяющихся рыночных переменных, влияющих на их инвестиции.

В передовых моделях торговли программным обеспечением системы могут использовать программируемые нечеткие наборы для анализа тысяч ценных бумаг в режиме реального времени и предоставления инвестору наилучших доступных возможностей. Нечеткая логика часто используется, когда трейдер пытается учесть несколько факторов. Это может привести к ограниченному анализу торговых решений. Трейдеры также могут иметь возможность программировать различные правила для заключения сделок. Два примера включают следующее:

Правило 1. Если скользящая средняя низкая и индекс относительной силы низкий, то продавайте.

Правило 2: Если скользящая средняя высокая, а индекс относительной силы высокий, покупайте.

Нечеткая логика позволяет трейдеру запрограммировать свои собственные субъективные выводы на низком и высоком уровне в этих базовых примерах, чтобы прийти к своим собственным автоматическим торговым сигналам.

Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

Прежде чем нечеткий подход к моделированию сложных систем получил признание во всем мире, прошло не одно десятилетие с момента зарождения теории нечетких множеств. И на этом пути развития нечетких систем принято выделять три периода.

Первый период (конец 60-х–начало 70 годов) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, основанных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике.

Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других.

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный в так называемых треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения — наиболее распространенные случаи t-нормы и t-конормы.

Для описания нечетких множеств вводятся понятия нечеткой и лингвистической переменных.

Нечеткая переменная описывается набором (N,X,A), где N — это название переменной, X — универсальное множество (область рассуждений), A — нечеткое множество на X.

Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности.

Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке xx вычисляется согласно выражению:

При (b−a)=(c−b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c).

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

При (b−a)=(d−c) трапецеидальная функция принадлежности принимает симметричный вид.

Функция принадлежности гауссова типа описывается формулой:

и оперирует двумя параметрами. Параметр cc обозначает центр нечеткого множества, а параметр σ отвечает за крутизну функции.

Количество термов в лингвистической переменной редко превышает 7.

  • Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
  • Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).

В противном случае имеет место неполная база нечетких правил.

В общем случае механизм логического вывода включает четыре этапа: введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация (см. рисунок 5).

Алгоритмы нечеткого вывода различаются, главным образом, видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий:

Геометрический смысл такого значения — центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

Влияние нечеткой логики оказалось, пожалуй, самым обширным. Подобно тому, как нечеткие множества расширили рамки классической математическую теорию множеств, нечеткая логика вторглась практически в большинство методов Data Mining, наделив их новой функциональностью. Ниже приводятся наиболее интересные примеры таких объединений.

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть, как правило, состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

Наибольшее распространение в настоящее время получили архитектуры нечеткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

Быстрые алгоритмы обучения и интерпретируемость накопленных знаний — эти факторы сделали сегодня нечеткие нейронные сети одним из самых перспективных и эффективных инструментов мягких вычислений.

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий:

  • Генерация лингвистических правил;
  • Корректировка функций принадлежности.

Первая задача относится к задаче переборного типа, вторая — к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода — правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость.

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин — Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие ассоциативные правила (fuzzy associative rules) — инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечеткой транзакции, поддержки и достоверности нечеткого ассоциативного правила.

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов.

Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Список можно продолжить и дальше: нечеткие деревья решений, нечеткие сети Петри, нечеткая ассоциативная память, нечеткие самоорганизующиеся карты и другие гибридные методы.

Схематично разницу между нечеткой и булевой логикой можно представить так:


Нечеткая логика была разработана в 1965 году профессором Лотфи Заде в Калифорнийском университете в Беркли. Кстати, Lotfi Askar Zadeh выходец из Азербайджана, и можно сказать, в какой-то мере, наш соотечественник. Первым приложением было выполнение обработки компьютерных данных на основе естественных значений.

Если говорить прямо, состояниями нечеткой логики могут быть не только 1 или 0, но и значения между ними, то есть 0.15, 0.8 и т.д. Например, в двоичной логике, мы можем сказать, что мы имеем стакан горячей воды (то есть 1 или высокий логический уровень) или стакан холодной воды, то есть (0 или низкий логический уровень), но в нечеткой логике, мы можем сказать, что мы имеем стакан теплой воды (ни горячий, ни холодный, то есть где-то между этими двумя крайними состояниями). Четкая логика: да или нет (1, 0). Нечеткая логика: конечно, да; возможно, нет; не могу сказать; возможно да и т.д. В общем вы поняли, это гораздо ближе к реалиям финансового рынка :)

Первым шагом будет определение лингвистических переменных и терминов. Для входных данных лингвистические переменные приведены ниже:

Тип грязи: (жирное, среднее, не жирное)
Качество грязи: (высокое, среднее, незначительное)

Для вывода лингвистические переменные приведены ниже:

Время стирки: (короткий, очень короткий, длинный, средний, очень длинный).

Второй шаг включает в себя построение функций принадлежности. Ниже приведены графики, определяющие функции принадлежности для двух входов. Функции принадлежности для качества грязи:


Функции принадлежности для типа грязи:


Третий шаг включает разработку набора правил для базы знаний. Ниже приведен набор правил с использованием логики IF-THEN (если-тогда):

IF качество грязи Small И Тип грязи Greasy, THEN Время стирки Long.
IF качество грязи Medium И Тип грязи Greasy, THEN Время стирки Long.
IF качество грязи Large и тип грязи Greasy, THEN Время стирки Very Long.
IF качество грязи Small И Тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Medium И Тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Large и тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Small и тип грязи Non-Greasy, THEN Время стирки Very Short.
IF качество грязи Medium И Тип грязи Non-Greasy, THEN Время стирки Medium.
IF качество грязи Large и тип грязи Greasy, THEN Время стирки Very Short.

Сравните вышеприведенное с классической задачей по математике, где все это будет выглядеть чрезвычайно сложной задачей, особенно, если потребуется учитывать множество других условий. Классическая математика будет применять дифференциальные уравнения (которые, я думаю, имеют несколько решений). Применение нечетких правил делает эту задачу более интуитивно понятной. Именно по этой причине нечеткая логика была принята в отрасли. Вместо дифференциальных уравнений, у нас появляется набор правил, каждое из которых из них понятно и для ребенка. Мы только должны произвести правильный путь процедуры по фаззификации и определить нечеткие правила, охватывающие все возможные ситуации.

Иногда, для сложных систем, определить нечеткие правила бывает непросто. Было бы хорошо найти способ автоматизировать процесс поиска наиболее подходящих нечетких правил. Эта задача решается особым видом нейронной сети, которая называется "нечеткой нейронной сетью". Нейронная сеть ищет соответствие между входами и выходами. Изучая финансовые данные (котировки), которые предварительно были подвергнуты процедуре фаззификации, мы, возможно, сможем научить нейронную сеть выявлять определенные паттерны, существующие в финансовых данных, и тем самым, попытаться прогнозировать рынки.

Кто-то может задать вопрос: "Почему мы должны использовать замысловатые правила вместо анализа самой цены в качестве входных данных для нейронной сети, без использования какой-либо размытости?". Ответ прост: "Мы пытаемся уловить нелинейный процесс изменения фондового рынка".

На самом деле, нечеткие правила относительно финансовых рынком могут быть установлены таким образом, для примера:

Правило 1: Если цена поднялась вверх очень сильно 2 дня назад, а затем немного снизилась 1 день назад, то высока вероятность того, что сегодняшняя цена пойдет вниз .

Правило 2: Если цена поднялась вверх сильно 2 дня назад, а затем немного снизилась 1 день назад, существует высокая вероятность того, что сегодняшняя цена снова пойдет вверх .

И так далее, таких правил может быть довольно много. Заметим, на этой стадии нам не важно, являются ли эти правила правильными или нет (одни будут правильными, другие - нет) - пусть нейронная сеть сама с этим разбирается; в пределах разумного, конечно, потому что эти правила должны быть правдоподобными - формируя входы в нейросеть мы должны выбирать из того, что действительно может сработать. Самое здесь главное - сформировать набор весьма вероятных предположений, чтобы сеть начала с ними работать; и как было сказано выше - здесь нужно определить нечеткие правила, охватывающие все возможные ситуации. В Timing Solution это делается автоматически, прописывать правила вручную, разумеется не потребуется - от вас только потребуется определить степень градуировки в процедуре фаззификации (по умолчанию в нейромодуле используется значение 4).

Как происходить весьма важная процедура фаззификации, одно из базовых условий нечеткой логики? Визуально оценить это можно в статистическом модуле, выглядит это вот так:


Здесь произведена фаззификация со степенью градуировки в 5 значений. Далее, эти фазы будут использоваться для автоматического формирования лингвистических правил в нейромоделях с условиями "если - тогда". Модуль статистики находится здесь:


Записи в модели будут выглядеть так (в примере - модель авторегрессии, фаззификация в четыре значения градуировки; использован параметр Close):


Подробнее об этой модели смотрите в руководстве по модулю Neural Net; кроме того, мы поговорим о ней отдельной статье.

Нечёткая логика (англ. fuzzy logic ) и теория нечётких множеств — раздел математики, являющийся обобщением классической логики и теории множеств. Понятие нечёткой логики было впервые введено профессором Лютфи Заде в 1965 году. В его статье понятие множества было расширено допущением, что функция принадлежности элемента к множеству может принимать любые значения в интервале [0. 1], а не только 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] (англ.)

Она может быть описана в универсальной форме аппроксиматоров как

 y(x)=\sum^<N></p>
<p>_ \phi_i(x)*\theta_i
,

кроме того, этой формулой могут быть описаны также некоторые виды нейронных сетей, такие как радиально базисные сети (RBF), многослойные персептроны (MLP), а также вейвлеты и сплайны.

Примеры

Нечёткое множество, содержащее число 5

\mu_A \left( x \right) = \left( 1+\left| x - 5 \right| ^ n \right) ^<-1></p>
<p>Нечёткое множество, содержащее число 5, можно задать, например, такой характеристической функцией:

Пример определения лингвистической переменной

См. также

Примечания

  1. ↑ В. В. Круглов, M. И. Дли, Р. Ю. Голунов. Нечеткая логика и искусственные нейронные сети. — М.: Физматлит, 2000. — 224 с. ISBN 5-94052-027-8.
  2. ↑ Jang, J.-S. R., "ANFIS: Adaptive-Network-based Fuzzy Inference Systems," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3, pp. 665-685, May 1993.

Литература

Ссылки

  • Проставив сноски, внести более точные указания на источники.
  • Викифицировать список литературы, используя шаблон > , и проставить ISBN.

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое "Нечёткая логика" в других словарях:

нечёткая логика — размытая логика — [А.С.Гольдберг. Англо русский энергетический словарь. 2006 г.] Тематики энергетика в целом Синонимы размытая логика EN fuzzy logic … Справочник технического переводчика

нечёткая логика — neraiškioji logika statusas T sritis automatika atitikmenys: angl. fuzzy logic vok. Fuzzy Logik, f rus. нечёткая логика, f; размытая логика, f pranc. logique flouée, f … Automatikos terminų žodynas

Нечёткая логика первого порядка — Эта страница требует существенной переработки. Возможно, её необходимо викифицировать, дополнить или переписать. Пояснение причин и обсуждение на странице Википедия:К улучшению/8 августа 2012. Дата постановки к улучшению 8 августа 2012. Нечёткая… … Википедия

Характеристическая функция (нечёткая логика) — Функция принадлежности нечёткого множества это обобщение индикаторной (или характеристической) функции классического множества. В нечёткой логике она представляет степень принадлежности каждого члена пространства рассуждения к данному нечёткому… … Википедия

Логика — Гр … Википедия

Нечёткое множество — Эту страницу предлагается объединить с Теория нечётких множеств … Википедия

Читайте также: