Нечеткая логика и теория нечетких множеств являются обобщениями классической логики и теории множеств. Понятие нечеткой логики было впервые введено профессором Лотфи Заде в 1965 г.
Направления исследований нечеткой логики[]
В настоящее время существует по крайней мере два основных направления научных исследований в области нечеткой логики:
- Нечеткая логика в широком смысле (Теория приближенных вычислений)
- Нечеткая логика в узком смысле (Символическая нечеткая логика)
Математические основы[]
Символическая нечеткая логика[]
Символическая нечеткая логика основывается на понятии t-нормы. После выбора некоторой t-нормы (а её можно ввести несколькими разными способами) появляется возможность определить основные операции над пропозициональными переменными: конъюнкцию, дизъюнкцию, импликацию, отрицание и другие. Нетрудно доказать теорему о том, что дистрибутивность, присутствующая в классической логике, выполняется только в случае, когда в качестве t-нормы выбирается t-норма Гёделя. Кроме того, в силу определенных причин, в качестве импликации чаще всего выбирают операцию, называемую residium (она, вообще говоря, также зависит от выбора t-нормы). Определение основных операций, перечисленных выше, приводит к формальному определению базисной нечеткой логики, которая имеет много общего с классической булевозначной логикой (точнее, с исчислением высказываний). Существуют три основных базисных нечетких логики: логика Лукасевича, логика Гёделя и вероятностная логика (Product logic). Интересно, что объединение любых двух из трех перечисленных выше логик приводит к классической булевозначной логике.
Теория приближенных вычислений[]
Основное понятие нечеткой логики в широком смысле - нечеткое множество, определяемое при помощи обобщенного понятия характеристической функции. Затем вводятся понятия объединения, пересечения и дополнения множеств (через характеристическую функцию; задать можно различными способами), понятие нечеткого отношения, а также одно из важнейших понятий - понятие лингвистической переменной. Вообще говоря, даже такой минимальный набор определений позволяет использовать нечеткую логику в некоторых приложениях, для большинства же необходимо задать ещё и правило вывода (и оператор импликации).
Примеры[]
Нечеткое множество, содержащее число 5. Нечеткое множество, содержащее число 5, можно задать, например, такой характеристической функцией:
Пример определения лингвистической переменной В обозначениях, принятых для лингвистической переменной:
- X = "Температура в комнате"
- U = [5, 35]
- T = {"холодно", "комфортно", "жарко"}
Характеристические функции:
Правило G порождает новые термы с использованием союзов "и", "или", "не", "очень", "более ли менее".
- не A:
- очень A:
- более ли менее A:
- A и B:
- A или B: