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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Нечёткая логика (англ. 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]

Примечания

[править | править код]
  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

Литература

[править | править код]
на русском языке
  • Бочарников В. П. 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