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

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

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. — М.: Мир, 1976. — 166 с.
  • Тэрано, Т., Асаи, К., Сугэно, М. Прикладные нечёткие системы. — М.: Мир, 1993. — 368 с.
  • Новак В., Перфильева И., Мочкрож И. Математические принципы нечёткой логики = Mathematical Principles of Fuzzy Logic. — Физматлит, 2006. — 352 с. — ISBN 0-7923-8595-0.
  • Рутковский Лешек. Искусственные нейронные сети. Теория и практика. — М.: Горячая линия - Телеком, 2010. — 520 с. — ISBN 978-5-9912-0105-6.
  • Усков А. А., Кузьмин А. В. Интеллектуальные технологии управления. Искусственные нейронные сети и нечеткая логика. — М.: Горячая Линия — Телеком, 2004. — 143 с.
  • Круглов В. В. Дли М. И. Голунов Р. Ю. Нечёткая логика и искусственные нейронные сети. М.: Физматлит, 2001. 221с.
  • Дьяконов В. П., Круглов В. В. MATLAB. Математические пакеты расширения. Специальный справочник. СПб.: Питер, 2001. 480с (имеются главы по нечёткой логике и нейронным сетям).
  • Дьяконов В. П., Абраменкова И. В., Круглов В. В. MATLAB 5 с пакетами расширений. Под редакцией проф. В. П. Дьяконова. М.: Нолидж, 2001. 880с (имеются главы по нечёткой логике и нейронным сетям).
  • Дьяконов В. П., Круглов В. В. MATLAB 6.5 SP1/7/7 SP1/7 SP2+Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. М.: СОЛОН-Пресс, 2006. 456с.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польского И. Д. Рудинского. М.: Горячая линия — Телеком, 2004. — 452 с. ISBN 5-93517-103-1
  • Штовба С. Д. Проектирование нечетких систем средствами MATLAB. М.: Горячая линия — Телеком.- 2007.- 288 c.
  • Uziel Sandler, Lev Tsitolovsky Neural Cell Behavior and Fuzzy Logic. Springer, 2008. — 478 с. ISBN 978-0-387-09542-4
  • Орловский С. А. Проблемы принятия решений при нечеткой исходной информации. — М.: Наука, 1981. — 208 с. — 7600 экз.

Ссылки