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

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

Нечёткая логика (англ. 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}_{i=1} \phi_i(x)*\theta_i ,

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

Примеры[править | править вики-текст]

Нечёткое множество, содержащее число 5[править | править вики-текст]

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

Пример определения лингвистической переменной[править | править вики-текст]

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

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

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

  • \mu_{cold} \left( u \right) = \frac{1}{1+\left( \frac{u-10}{7} \right) ^{12} }
  • \mu_{ok} \left( u \right) = \frac{1}{1+\left( \frac{u-20}{3} \right)^{6} }
  • \mu_{hot} \left( u \right) = \frac{1}{1+\left( \frac{u-30}{6} \right)^{10} }

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

  • не A: 1 - \mu_A \left( u \right)
  • очень A: \left( \mu_A \left( u \right) \right) ^ 2
  • более или менее A: \sqrt { \mu_A \left( u \right)}
  • A или B: \max \left( \mu_A \left( x \right), \mu_B \left( x \right) \right)
  • A и B: \min \left( \mu_A \left( x \right), \mu_B \left( x \right) \right)

Нечёткая логика в информатике[править | править вики-текст]

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

Примечания[править | править вики-текст]

  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.
  3. 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

Ссылки[править | править вики-текст]