Нечёткая логика

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Наука
Нечёткая логика
Логотип Викисклада Медиафайлы на Викискладе

Нечёткая логика (англ. fuzzy logic) — раздел математики, являющийся обобщением классической логики и теории множеств, базирующийся на понятии нечёткого множества, впервые введённого Лотфи Заде в 1965 году как объекта с функцией принадлежности элемента ко множеству, принимающей любые значения на отрезке , а не только или . На основе этого понятия вводятся различные логические операции над нечёткими множествами и формулируется понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.

Предметом нечёткой логики считается исследование рассуждений в условиях нечёткости, размытости, сходных с рассуждениями в обычном смысле, и их применение в вычислительных системах[1].

Направления исследований нечёткой логики

[править | править код]

В настоящее время[уточнить] существует по крайней мере два основных направления научных исследований в области нечёткой логики:

  • нечёткая логика в широком смысле (теория приближённых вычислений);
  • нечёткая логика в узком смысле (символическая нечёткая логика).

Математические основы

[править | править код]

Символическая нечёткая логика

[править | править код]

Символическая нечёткая логика основывается на понятии t-нормы. После выбора некоторой t-нормы (а её можно ввести несколькими разными способами) появляется возможность определить основные операции над пропозициональными переменными: конъюнкцию, дизъюнкцию, импликацию, отрицание и другие.

Нетрудно доказать теорему о том, что дистрибутивность, присутствующая в классической логике, выполняется только в случае, когда в качестве t-нормы выбирается t-норма Гёделя[уточнить].

Кроме того, в силу определённых причин, в качестве импликации чаще всего выбирают операцию, называемую residium (она, вообще говоря, также зависит от выбора t-нормы).

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

Существуют три основных базисных нечётких логики: логика Лукасевича, логика Гёделя и вероятностная логика (англ. product logic). Интересно, что объединение любых двух из трёх перечисленных выше логик приводит к классической булевозначной логике.

Синтез функций непрерывной логики заданных таблично

[править | править код]

Функция нечёткой логики Заде всегда принимает значение одного из своих аргументов либо его отрицания. Таким образом, функцию нечёткой логики можно задать таблицей выбора[2], в которой перечислены все варианты упорядочения аргументов и отрицаний, и для каждого варианта указано значение функции. Например, строка таблицы функции двух аргументов может иметь следующий вид:

.

Однако произвольная таблица выбора не всегда задаёт функцию нечёткой логики. В работе[3] был сформулирован критерий, позволяющий установить является ли функция, заданная таблицей выбора, функцией нечёткой логики и предложен простой алгоритм синтеза, основанный на введённых концепциях конституент минимума и максимума. Функция нечёткой логики представляет собой дизъюнкцию конституент минимума, где конституента максимума — это конъюнкция переменных текущей области больших либо равных значению функции в этой области (справа от значения функции в неравенстве, включая значение функции). Например, для указанной строки таблицы конституента минимума имеет вид .

Теория приближённых вычислений

[править | править код]

Основное понятие нечёткой логики в широком смысле — нечёткое множество, определяемое при помощи обобщённого понятия характеристической функции. Затем вводятся понятия объединения, пересечения и дополнения множеств (через характеристическую функцию; задать можно различными способами), понятие нечёткого отношения, а также одно из важнейших понятий — понятие лингвистической переменной.

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

Нечёткая логика и нейронные сети

[править | править код]

Поскольку нечёткие множества описываются функциями принадлежности, а t-нормы и k-нормы обычными математическими операциями, можно представить нечёткие логические рассуждения в виде нейронной сети. Для этого функции принадлежности надо интерпретировать как функции активации нейронов, передачу сигналов как связи, а логические t-нормы и k-нормы, как специальные виды нейронов, выполняющие математические соответствующие операции. Существует большое разнообразие подобных нейро-нечётких сетей (neuro-fuzzy network (англ.)) . Например, ANFIS (Adaptive Neuro fuzzy Inference System) — адаптивная нейро-нечеткая система вывода.[4] (англ.)

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

,

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

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

[править | править код]

Нечёткое множество, содержащее число 5, можно задать, например, такой характеристической функцией:

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

[править | править код]

В обозначениях, принятых для лингвистической переменной:

  • X = «Температура в комнате»
  • U = [5, 35]
  • T = {«холодно», «тепло», «жарко»}

Характеристические функции:

Правило G порождает новые термы с использованием союзов «и», «или», «не», «очень», «более или менее».

  • не A:
  • очень A:
  • более или менее A:
  • A или B:
  • A и B:

Нечёткая логика в информатике

[править | править код]

Нечёткая логика — набор нестрогих правил, в которых для достижения поставленной цели могут использоваться радикальные идеи, интуитивные догадки, а также опыт специалистов, накопленный в соответствующей области. Нечёткой логике свойственно отсутствие строгих стандартов. Чаще всего она применяется в экспертных системах, нейронных сетях и системах искусственного интеллекта. Вместо традиционных значений Истина и Ложь в нечёткой логике используется более широкий диапазон значений, среди которых Истина, Ложь, Возможно, Иногда, Не помню (Как бы Да, Почему бы и Нет, Ещё не решил, Не скажу…). Нечёткая логика просто незаменима в тех случаях, когда на поставленный вопрос нет чёткого ответа (да или нет; «0» или «1») или наперёд неизвестны все возможные ситуации. Например, в нечёткой логике высказывание вида «X есть большое число» интерпретируется как имеющее неточное значение, характеризуемое некоторым нечётким множеством. «Искусственный интеллект и нейронные сети — это попытка смоделировать на компьютере поведение человека. А так как люди редко видят окружающий мир лишь в чёрно-белом цвете, возникает необходимость в использовании нечёткой логики».[5]

Байесовская вероятность

[править | править код]

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

Нечёткие продукции — правила вида «ЕСЛИ ... ТО ...», где посылка и заключение содержат лингвистические переменные, описывающие качественные характеристики объектов или явлений. Например, «ЕСЛИ температура НИЗКАЯ ТО скорость ВЫСОКАЯ». Лингвистические переменные имеют терм-множества, состоящие из нечётких множеств, которые задаются функциями принадлежности. Например, терм-множество переменной температура может состоять из нечётких множеств «НИЗКАЯ, СРЕДНЯЯ и ВЫСОКАЯ», каждое из которых имеет свою функцию принадлежности на числовой шкале температуры.[6]

Байесовская логико-вероятностная модель нечёткого вывода предполагает, что каждое значение выходной лингвистической переменной рассматривается как гипотеза о том, что эта переменная принимает это значение. Например, если выходная переменная — скорость, то её терм-множество может состоять из гипотез «НИЗКАЯ, СРЕДНЯЯ и ВЫСОКАЯ». Для каждой гипотезы можно определить априорную вероятность, отражающую степень уверенности в её истинности до получения новой информации. Например, если знать, что скорость обычно бывает средней, то можно задать априорную вероятность для гипотезы «СРЕДНЯЯ» больше, чем для других гипотез.[7]

Новая информация поступает в виде значений входных лингвистических переменных, которые являются свидетельствами в пользу или против гипотез. Например, если измерить температуру и получить значение 15 градусов, то это свидетельство в пользу гипотезы НИЗКАЯ для переменной температура. Степень принадлежности этого значения нечёткому множеству «НИЗКАЯ» определяется функцией принадлежности этого множества. Например, если функция принадлежности имеет вид треугольника с вершиной в точке 10 градусов и основанием от 0 до 20 градусов, то степень принадлежности значения 15 градусов будет равна 0.25.[7]

Для каждой нечёткой продукции можно определить условную вероятность заключения при данной посылке, используя функции принадлежности нечётких множеств, входящих в посылку и заключение. Например, если продукция имеет вид «ЕСЛИ температура НИЗКАЯ ТО скорость ВЫСОКАЯ», то условная вероятность заключения при данной посылке будет равна степени принадлежности значения температуры нечёткому множеству НИЗКАЯ, умноженной на некоторый коэффициент, отражающий силу связи между температурой и скоростью.[7]

Используя теорему Байеса, можно обновить априорные вероятности гипотез по выходной лингвистической переменной, учитывая новую информацию в виде значений входных лингвистических переменных и условных вероятностей заключений при данных посылках. Таким образом, получается апостериорное распределение вероятностей на множестве гипотез, которое отражает степень уверенности в истинности каждой гипотезы после получения новой информации.[7]

Для дефаззификации, то есть получения чёткого значения выходной переменной, можно использовать различные методы, основанные на апостериорном распределении вероятностей. Например, можно выбрать ту гипотезу, которая имеет максимальную апостериорную вероятность, и присвоить выходной переменной значение, соответствующее центру или вершине нечёткого множества, связанного с этой гипотезой. Это называется методом максимума апостериорной вероятности (MAP). Альтернативно, можно вычислить математическое ожидание выходной переменной по апостериорному распределению вероятностей и присвоить ей это значение. Это называется методом среднего значения апостериорной вероятности (MEP).[8]

Примечания

[править | править код]
  1. В. В. Круглов, M. И. Дли, Р. Ю. Голунов. Нечеткая логика и искусственные нейронные сети. — М.: Физматлит, 2000. — 224 с. ISBN 5-94052-027-8. «Предметом нечёткой логики является построение моделей приближенных рассуждений человека и использование их в компьютерных системах»
  2. Волгин Л. И., Левин В. И. Непрерывная логика. Теория и применения. Таллинн : Б. и., 1990. — 210 с.
  3. Зайцев, Д.А.; Сарбей, В.Г.; Слепцовб А.И. Синтез функций непрерывной логики заданных таблично // Кибернетика и системный анализ : журнал. — 1998. — Т. 34, № 2. — С. 47—56. — doi:10.1007/BF02742068.
  4. 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.
  5. Illustrated Computer Dictionary for Dummies, 4th Edition — by Sandra Hardin Gookin & Dan Gookin — IDG Books Worldwide/John Wiley & Sons Inc (Computers) (February 2000) — ISBN 978-0764581250
  6. Байесовская логико-вероятностная модель нечеткого вывода. Дата обращения: 6 августа 2023. Архивировано 6 августа 2023 года.
  7. 1 2 3 4 Этап дефаззификации нечёткого вывода: традиционный и байесовский. Дата обращения: 6 августа 2023. Архивировано 6 августа 2023 года.
  8. Опыт программной реализации авторских вероятностных моделей. Дата обращения: 6 августа 2023. Архивировано 6 августа 2023 года.

Литература

[править | править код]

на русском языке

  • Бочарников В. П. Fuzzy-технология: Математические основы. Практика моделирования в экономике.. — М.: Мир, 2001. — 328 с. — ISBN 966-521-082-3.
  • Дьяконов В. П., Круглов В. В. MATLAB. Математические пакеты расширения. Специальный справочник. СПб.: Питер, 2001. 480с (имеются главы по нечёткой логике и нейронным сетям).
  • Дьяконов В. П., Абраменкова И. В., Круглов В. В. MATLAB 5 с пакетами расширений. Под редакцией проф. В. П. Дьяконова. М.: Нолидж, 2001. 880с (имеются главы по нечёткой логике и нейронным сетям).
  • Дьяконов В. П., Круглов В. В. MATLAB 6.5 SP1/7/7 SP1/7 SP2+Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. М.: СОЛОН-Пресс, 2006. 456с.
  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. — М.: Мир, 1976. — 166 с.
  • Зак Ю.А. Принятие решений в условиях нечетких и размытых данных: Fuzzy-технологии. — М.: «ЛИБРОКОМ», 2013. — 352 с. — ISBN 978-5-397-03451-7.
  • Круглов В. В. Дли М. И. Голунов Р. Ю. Нечёткая логика и искусственные нейронные сети. М.: Физматлит, 2001. 221с.
  • Леоненков А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. — СПб.: БХВ Петербурr, 2005. — 736 с.: ил.
  • Новак В., Перфильева И., Мочкрож И. Математические принципы нечёткой логики = Mathematical Principles of Fuzzy Logic. — Физматлит, 2006. — 352 с. — ISBN 0-7923-8595-0.
  • Орлов А. И. Задачи оптимизации и нечеткие переменные. — М.: Знание, 1980. — 64 с.
  • Орлов А. И., Луценко Е. В. Системная нечеткая интервальная математика. — Монография (научное издание). — Краснодар, КубГАУ. 2014. — 600 с.[1]
  • Орлов А. И., Луценко Е. В. Анализ данных, информации и знаний в системной нечеткой интервальной математике: научная монография. — Краснодар: КубГАУ, 2022. — 405 с. [2]
  • Орловский С. А. Проблемы принятия решений при нечеткой исходной информации. — М.: Наука, 1981. — 208 с. — 7600 экз.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польского И. Д. Рудинского. М.: Горячая линия — Телеком, 2004. — 452 с. ISBN 5-93517-103-1
  • Рутковский Л. Искусственные нейронные сети. Теория и практика. — М.: Горячая линия - Телеком, 2010. — 520 с. — ISBN 978-5-9912-0105-6.
  • Тэрано, Т., Асаи, К., Сугэно, М. Прикладные нечёткие системы. — М.: Мир, 1993. — 368 с.
  • Усков А. А., Кузьмин А. В. Интеллектуальные технологии управления. Искусственные нейронные сети и нечеткая логика. — М.: Горячая Линия — Телеком, 2004. — 143 с.
  • Штовба С. Д. Проектирование нечетких систем средствами MATLAB. М.: Горячая линия — Телеком. 2007. 288 c.

на других языках

  • Uziel Sandler, Lev Tsitolovsky Neural Cell Behavior and Fuzzy Logic. Springer, 2008. — 478 с. ISBN 978-0-387-09542-4