При попытке формализовать человеческие знания исследователи вскоре столкнулись с проблемой, затруднявшей использование традиционного математического аппарата для их описания. Существует целый класс описаний, оперирующих качественными характеристиками объектов (много, мало, сильный, очень сильный и т. п.). Эти характеристики обычно размыты и не могут быть однозначно интерпретированы, однако содержат важную информацию (например, "Одним из возможных признаков гриппа является высокая температура").
Кроме того, в задачах, решаемых интеллектуальными системами, часто приходится пользоваться неточными знаниями, которые не могут быть интерпретированы как полностью истинные или ложные (логические true/false или 0/1). Существуют знания, достоверность которых выражается некоторой промежуточной цифрой, например 0.7.
Как, не разрушая свойства размытости и неточности, представлять подобные знания формально? Для разрешения таких проблем в начале 70-х американский математик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и нечеткой логики [Заде, 1972]. Позднее это направление получило широкое распространение [Орловский, 1981; Аверкин и др., 1986; Яшин, 1990] и положило начало одной из ветвей ИИ под названием - мягкие вычисления (soft computing).
Л. Заде ввел одно из главных понятий в нечеткой логике - понятие лингвистической переменной.
________________________________________
Лингвистическая переменная (ЛП) - это переменная, значение которой определяется набором вербальных (то есть словесных) характеристик некоторого свойства.
________________________________________
Например, ЛП "рост" определяется через набор {карликовый, низкий, средний, высокий, очень высокий}.
Значения лингвистической переменной (ЛП) определяются через так называемые нечеткие множества (НМ), которые в свою очередь определены на некотором базовом наборе значений или базовой числовой шкале, имеющей размерность. Каждое значение ЛП определяется как нечеткое множество (например, НМ "низкий рост").
Нечеткое множество определяется через некоторую базовую шкалу B и функцию принадлежности НМ - m(x), xОB, принимающую значения на интервале [0...1]. Таким образом, нечеткое множество B - это совокупность пар вида (x, m(x)), где xОB. Часто встречается и такая запись: ,
где xi - i-е значение базовой шкалы.
Функция принадлежности определяет субъективную степень уверенности эксперта в том, что данное конкретное значение базовой шкалы соответствует определяемому НМ. Эту функцию не стоит путать с вероятностью, носящей объективный характер и подчиняющейся другим математическим зависимостям.
Например, для двух экспертов определение НМ "высокая" для ЛП "цена автомобиля" в условных единицах может существенно отличаться в зависимости от их социального и финансового положения.
Пусть перед нами стоит задача интерпретации значений ЛП "возраст", таких как "молодой" возраст, "преклонный" возраст или "переходный" возраст. Определим "возраст" как ЛП (рис. 1.6). Тогда "молодой", "преклонный", "переходный" будут значениями этой лингвистической переменной. Более полно, базовый набор значений ЛП "возраст" следующий:
В = {младенческий, детский, юный, молодой, зрелый, преклонный, старческий}.
________________________________________
Для ЛП "возраст" базовая шкала - это числовая шкала от 0 до 120, обозначающая количество прожитых лет, а функция принадлежности определяет, насколько мы уверены в том, что данное количество лет можно отнести к данной категории возраста. На рис. 1.7 отражено, как одни и те же значения базовой шкалы могут участвовать в определении различных НМ.
Рис. 1.8 иллюстрирует оценку НМ неким усредненным экспертом, который ребенка до полугода с высокой степенью уверенности относит к младенцам (m = 1). Дети до четырех лет причисляются к младенцам тоже, но с меньшей степенью уверенности (0.5< m <0.9), а в десять лет ребенка называют так только в очень редких случаях - к примеру, для девяностолетней бабушки и 15 лет может считаться младенчеством. Таким образом, нечеткие множества позволяют при определении понятия учитывать субъективные мнения отдельных индивидуумов.