Статьи Соросовского Образовательного журнала в текстовом формате
Изложены некоторые результаты теории нечетких множеств. Приведены основные операции над нечеткими множествами и их свойства. Рассмотрены примеры приложения нечетких концепций для решения некоторых математических и технических задач.
НЕЧЕТКИЕ МНОЖЕСТВА И ИХ ИСПОЛЬЗОВАНИЕДЛЯ ПРИНЯТИЯ РЕШЕНИЙ
А. Н. ЖИРАБОК
Дальневосточный государственный технический университет, Владивосток
ВВЕДЕНИЕ
Изучение окружающего нас мира, проектирование новой техники и создание новых технологий невозможны без проведения разнообразных экспериментов. При этом далеко не всегда могут быть поставлены натурные эксперименты, зачастую они слишком дороги и требуют значительного времени, во многих случаях их проведение связано с риском и большими материальными или моральными издержками. В таких ситуациях предпочтительнее компьютерное моделирование, которое, однако, невозможно без использования математических моделей изучаемых объектов и процессов или проектируемых изделий.
Одним из главных требований к таким моделям является требование адекватности, то есть соответствия модели рассматриваемому явлению. Для многих технических систем и их элементов давно существуют весьма точные модели, которые зарекомендовали себя настолько хорошо, что зачастую удается провести процесс проектирования без обращения к натурному эксперименту. Этап испытаний изготовленных изделий (его можно рассматривать как натурный эксперимент) необходим в основном для выявления производственных дефектов.
Иначе обстоит дело со сложными системами, где человек играет активную роль. Здесь действует так называемый принцип несовместимости [1]: для получения существенных выводов о поведении сложной системы необходимо отказаться от высоких стандартов точности и строгости, которые характерны для сравнительно простых систем, и привлекать к ее анализу подходы, которые являются приближенными по своей природе.
Один из таких подходов был предложен Л. Заде [1], он связан с введением так называемых лингвистических переменных, описывающих неточное (нечеткое) отражение человеком окружающего мира. Для того чтобы лингвистические переменные стали полноправными математическими объектами, потребовалось расширить одно из базовых понятий математики - понятие множества. Для этого было введено определение нечеткого множества и разработана теория нечетких множеств, включившая в себя обычные множества как частный случай.
Категория нечеткости и связанные с ней модели и методы очень важны с мировоззренческой точки зрения, поскольку с их появлением стало возможно подвергать количественному анализу те явления, которые раньше либо могли быть учтены только на качественном уровне, либо требовали использования весьма грубых моделей.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
В обычной теории множеств существуют несколько способов задания множества. Одним из них является задание с помощью характеристической функции, определяемой следующим образом. Пусть U - так называемое универсальное множество, из элементов которого образованы все остальные множества, рассматриваемые в настоящей задаче, например множество всех целых чисел, множество всех гладких функций, заданных на действительной оси, и т.д. В дальнейшем в качестве универсального будет, как правило, использовано множество всех действительных чисел. Характеристическая функция множества A K U - это функция mA , значения которой указывают, является ли x k U элементом множества A:
Особенностью этой функции является бинарный характер ее значений - 1 или 0.
С точки зрения характеристической функции нечеткие множества являются естественным обобщением обычных множеств, когда мы отказываемся от бинарного характера этой функции и предполагаем, что она может принимать любые значения из отрезка [0, 1]. В теории нечетких множеств характеристическая функция называется функцией принадлежности, а ее значение mA(x) - степенью принадлежности элемента x нечеткому множеству A.
Более строго, нечетким множеством A называется совокупность пар
" x k U {(x; mA(x))},
где mA - функция принадлежности: mA : U [0, 1]. Пусть, например, U = {a, b, c, d, e}, A = {(a; 0), (b; 0,1), (c; 0,5), (d; 0,9), (e; 1)}. Будем говорить тогда, что элемент a не принадлежит множеству A, элемент b принадлежит ему в малой степени, элемент c более или менее принадлежит, элемент d принадлежит в значительной степени, e является элементом A.
В различных приложениях используются различные функции принадлежности, приведем несколько типичных примеров таких функций для множеств, заданных словесно. Пусть A - множество чисел, близких к 10, тогда можно принять
mA(x) = (1 + k | x - 10 | m)-1, k > 0, m = 3;
в зависимости от требуемой степени близости к 10 показатель степени m может быть взят равным 1, 2, 4 и т.д. Например, для описания множества чисел, очень близких к 10, можно положить m = 4; для множества чисел, не очень далеких от 10, m = 2. Учет более тонких нюансов может быть произведен за счет коэффициента k или использования дробной степени показателя m.
Если B - множество чисел, значительно больших 10, то в качестве функции принадлежности может быть взята функция
Если С - множество чисел, которые не должны значительно выходить за пределы интервала (4, 8), то
mC(x) = (1 + k(x - 6)2)-1, k > 0.
Приближенные графики рассмотренных функций приведены на рис. 1, а.
Ясно, что конкретный вид функции принадлежности (и значения входящих в нее параметров) носит в значительной мере субъективный характер. Уменьшить степень этой субъективности можно используя метод экспертных оценок, суть которого состоит в том, что как вид функции принадлежности, так и значения соответствующих параметров являются результатом коллективного творчества группы специалистов в рассматриваемой области - экспертов.
Пусть, например, решается задача определения значения некоторого параметра a. Тогда каждым из n экспертов назначается свое значение этого параметра - a1 , a2 , _, an , эти числа усредняются:
и полученный результат используется в качестве значения параметра a. В соответствии со степенью опытности экспертов им могут быть присвоены веса u1 , u2 , _ _, un , с учетом которых предыдущая формула несколько усложняется:
где u = u1 + u2 + _ + un . Более детально с методом экспертных оценок и другими вариантами его использования можно познакомиться в работе [2].
Коротко остановимся на понятии лингвистической переменной. Не вдаваясь в тонкости, ее можно определить как переменную, значениями (термами) которой являются не числа, а слова или предложения естественного (или формального) языка. Например, лингвистическая переменная "возраст" может принимать следующие значения: очень молодой, молодой, среднего возраста, старый, очень старый и другие - в зависимости от требуемой степени детальности описания. Ясно, что переменная "возраст" будет обычной переменной, если ее значения - точные числа; лингвистической она становится будучи использована в нечетких рассуждениях человека.
Каждому терму лингвистической переменной соответствует определенное нечеткое множество со своей функцией принадлежности, которая описывает совместимость этого терма с различными числовыми значениями. Так, лингвистическому значению "молодой" может соответствовать функция принадлежности, приведенная на рис. 1, б.
Вспомним также известную книгу Г. Остера "Зарядка для хвоста", где попугай и слоненок обсуждают, сколько орехов составляют кучу: один, два, _, пять не куча, семь и больше - куча, а шесть? Функция принадлежности, которая описывает результат их рассуждений, приведена на рис. 1, в. Для наглядности ее график изображен сплошной линией.
Более детально с понятием лингвистической переменной и многочисленными примерами можно познакомиться в работе [1].
ОПЕРАЦИИ
НАД НЕЧЕТКИМИ МНОЖЕСТВАМИ
Над нечеткими множествами можно производить различные операции, при этом необходимо определить их так, чтобы в частном случае, когда нечеткое множество является четким (обычным), эти операции переходили в обычные операции теории множеств, то есть операции над нечеткими множествами должны обобщать соответствующие операции над обычными множествами. При этом обобщение может быть реализовано различными способами, из-за чего какой-либо операции над обычными множествами может соответствовать несколько операций в теории нечетких множеств.
Начнем с отношения между множествами. Пусть A и B - нечеткие множества; будем говорить, что A содержится в B, и обозначать A K B, если
" x k U, mA(x) # mB(x).
Например, если A - множество чисел, очень близких к 10, а B - множество чисел, близких к 10, то A K B. Формально это можно проверить используя функции принадлежности, описанные выше. Если A и B - обычные множества, а mA и mB - характеристические функции, то из неравенства (1) следует, что если некоторый элемент x принадлежит A, то есть mA(x) = 1, то он принадлежит и B, поскольку mB(x) = 1. Таким образом, определение (1) корректно в том смысле, что в частном случае оно переходит в известное.
Два нечетких множества A и B равны в том и только том случае, если равны их функции принадлежности.
Объединением нечетких множеств A и B называется нечеткое множество, обозначаемое A > B, функция принадлежности которого определяется следующим образом:
"x k U, mA > B(x) = max {mA(x), mB(x)}.
Пересечение множеств A < B определяется функцией принадлежности
"x k U, mA < B(x) = min {mA(x), mB(x)}.
Дополнение нечеткого множества A имеет функцию принадлежности На рис. 2 приведены функции принадлежности соответствующих множеств.
Алгебраическое произведение множеств A и B - это множество A " B с функцией принадлежности
mA J B(x) = mA(x)mB(x).
Нетрудно проверить, что в случае обычных множеств эта операция переходит в пересечение множеств, которое, таким образом, имеет в теории нечетких множеств два обобщения: алгебраическое произведение и пересечение. Аналогично обстоит дело и с операцией объединения - в теории нечетких множеств ей соответствуют операции объединения и алгебраической суммы A + + B с функцией принадлежности
mA + B(x) = mA(x) + mB(x) - mA(x)mB(x).
Для операций объединения, пересечения и дополнения нечетких множеств остаются справедливыми практически все свойства соответствующих обычных операций: коммутативность, ассоциативность, дистрибутивность. Читателю предлагается самостоятельно убедиться в справедливости правил де Моргана:
и
При этом, однако, и Например, если A - множество целых неотрицательных чисел, не очень далеких от 0, то функция mA может иметь вид
mA = {(0; 1), (1; 1), (2; 1), (3; 0,9), (4; 0,8), _, (9; 0,3), _}.
По определению, - множество целых, не очень близких к 0, и
= {(0; 0), (1; 0), (2; 0), (3; 0,1), (4; 0,2), _, (9; 0,7), _}.
Тогда - множество целых, не очень далеких от 0 и одновременно не очень близких к 0:
=
= {(0; 0), (1; 0), (2; 0), (3; 0,1), (4; 0,2), _, (9; 0,3), _}.
Операции алгебраического произведения и алгебраической суммы обладают более ограниченным набором свойств, для них не выполняется дистрибутивность, но правила де Моргана остаются в силе: и Другие операции и понятия, связанные с нечеткими множествами, можно найти, например, в [1, 3].
ПРИЛОЖЕНИЕ К ЗАДАЧАМ ОПТИМИЗАЦИИ
Использование категории нечеткости может дать новый взгляд на решение задач оптимизации. Рассмотрим это на примере определения наибольшего значения функции y = f (x) при ограничении на переменную x: x # c. Из рис. 3 видно, что при заданном виде целевой функции решение достигается в точке c.
Обсудим ограничение x # c. Иногда оно носит объективный характер (например, обусловлено законами природы, ограниченными ресурсами и т.д.) и, безусловно, должно соблюдаться. Нередко же его наличие связано с субъективными причинами, в частности нежеланием лица, поставившего задачу, выйти за определенные пределы (в данном случае превысить число c). В этом случае более реалистичным является подход, когда ограничение формулируется нечетким образом: "переменная x не должна быть существенно больше числа c". Соответствующая функция принадлежности m приведена на рис. 3.
Введем функцию f * (рис. 3):
Ясно, что f *(x) # 1 и, следовательно, в интервале, где f *(x) $ 0, эту функцию можно рассматривать в качестве функции принадлежности некоторого нечеткого множества. По условию задачи необходимо найти максимальное значение f *(x) при выполнении нечеткого ограничения на переменную x. Это отвечает операции пересечения соответствующих нечетких множеств и дает функцию принадлежности m*, показанную на рис. 3 красной линией. Ее можно рассматривать как нечеткую инструкцию решения задачи. С позиции нечеткого подхода этой инструкции наилучшим образом соответствует ее наибольшее значение, достигаемое при x = x*, что можно считать решением задачи; ясно, что f (x*) > f (c).
Данную задачу можно также рассматривать как многокритериальную, поскольку, с одной стороны, требуется найти наибольшее значение функции f (или f *), а с другой - наилучшим образом удовлетворить нечеткому ограничению, что также приводит к необходимости поиска наибольшего значения функции принадлежности m. Известно, что такие задачи, как правило, не имеют решения, если не привлекать дополнительные соображения, приводящие, в частности, к переходу от многих критериев к одному тем или иным способом (так называемая свертка критериев). Одним из таких способов является описанный выше переход к функции принадлежности m*. Более подробно с многокритериальными задачами можно познакомиться в [2].
Возможна постановка таких задач оптимизации, где нечеткими являются как ограничения, так и критерий оптимальности; за подробностями можно обратиться к книге [4].
ПРИЛОЖЕНИЕ
К ЗАДАЧАМ ТЕОРИИ УПРАВЛЕНИЯ
Одной из обширных областей приложения нечетких концепций является теория управления техническими системами. При этом имеются в виду не только сложные системы, существенной составляющей которых является человек с его нечеткими представлениями, но и сравнительно простые системы, работающие без вмешательства человека. Как уже говорилось во введении, для многих таких систем известны весьма точные модели, которые позволяют строить оптимальные алгоритмы управления. Тем не менее даже в этом случае использование нечетких представлений может дать заметный эффект. Дело в том, что для построения оптимальных алгоритмов управления необходимо знать точные значения параметров системы. Последние нередко известны только приближенно, причем в процессе работы системы они могут изменяться в широких пределах. Кроме того, при функционировании системы на нее действуют различные внешние факторы, которые имеют случайный характер и не всегда могут быть адекватно отражены в алгоритме управления.
Сказанное приводит к тому, что эффективность алгоритма управления (выраженная каким-либо критерием), весьма высокая для расчетных значений параметров системы, резко падает при изменении этих параметров (кривая 1 на рис. 4). Один из путей преодоления этого недостатка состоит в использовании нечетких моделей и нечетких алгоритмов управления, которые имеют меньшую эффективность для расчетных значений параметров, но сохраняют ее почти постоянной в широком диапазоне изменения этих значений (кривая 2 на рис. 4).
Реализация этого подхода состоит из трех основных этапов: 1) фазификация - переход от точных исходных данных решаемой задачи к нечетким на основе входных функций принадлежности, 2) решение задачи с использованием нечетких рассуждений (нечеткой логики), 3) дефазификация - переход от нечетких инструкций к четким на основе выходных функций принадлежности.
Проиллюстрируем этот подход на простом примере управления уличным движением, заимствованным из работы [5]. Входным точным значением здесь является плотность потока r автомашин на некоторой дороге (предполагается, что r # 1); выходным - длительность зеленого сигнала t (для простоты рассуждений плотность движения на пересекаемой дороге принимается примерно постоянной). Введем две лингвистические переменные: "плотность потока автомашин" с термами "малая", "средняя", "большая" и "длительность зеленого сигнала" с термами "короткая", "средняя", "большая". Соответствующие входные и выходные функции принадлежности приведены на рис. 5. Нечеткая инструкция управлением этой системой может сводиться к трем простым правилам: 1) при малой плотности длительность зеленого сигнала должна быть короткой, 2) средней плотности должна соответствовать средняя длительность, 3) в случае большой плотности требуется большая длительность.
Как следует из рис. 5, а, области определения входных функций принадлежности различных термов пересекаются, поэтому выходная нечеткая инструкция будет представляться некоторой комбинацией приведенных правил. При этом естественно предположить, что в эту комбинацию отдельные правила будут входить с коэффициентами, определяемыми степенями принадлежности точных исходных данных соответствующим термам.
Пусть зафиксированное в некоторый момент значение плотности равно 0,3. Процедура фазификации показывает, что эта плотность со степенью 0,5 принадлежит терму "малая плотность" и со степенью 0,75 - терму "средняя плотность". Согласно принятому правилу комбинирования нечетких выходных инструкций, длительность зеленого сигнала должна быть на 0,5 короткой и на 0,75 средней. Конкретные правила дефазификации могут быть различными. Можно, например, вычислять искомую длительность t* следующим образом:
где и - длительности зеленого сигнала, при которых выходные функции принадлежности соответствующих термов ("короткая" и "средняя") принимают максимальные значения. В нашем случае t* = 6,4 с. Другие правила, а также более сложный пример системы управления на основе нечеткой логики рассмотрены в [5].
ПРИЛОЖЕНИЯ
В ТЕХНИЧЕСКОЙ ДИАГНОСТИКЕ
Наряду с медицинской существует техническая диагностика - наука, занимающаяся разработкой методов, алгоритмов и технических средств обнаружения дефектов, которые могут возникнуть в технической системе. Одна из решаемых в ней задач состоит в следующем. Имеется некоторая система (объект диагностирования (ОД)), выполняющая ответственную функцию (например, система управления ядерным или химическим реактором, робот и т.д.). Требуется разработать устройство диагностирования, которое должно работать одновременно с ОД. На него поступают два типа сигналов: во-первых, те же управляющие сигналы u, что и на ОД, во-вторых, сигналы y с датчиков, установленных на ОД, которые несут информацию о происходящих в нем процессах (рис. 6, a). Устройство диагностирования непрерывно обрабатывает поступающую на него информацию и формирует заключение о состоянии ОД - появились в нем дефекты, существенно влияющие на качество его функционирования, или нет, и если появились, то какие.
Во многих случаях такое заключение принимается весьма просто: если r = 0, то дефектов нет. Ненулевое значение r говорит о появлении дефекта, причем по величине r можно с большей или меньшей точностью сказать, какой дефект возник. Однако нередко из-за действующих помех, неучтенных факторов и прочих причин сигнал r может принимать ненулевые значения даже при отсутствии дефектов. Самый простой выход из положения здесь - ввести порог r0 и принимать решение очевидным образом: | r | # r0 - дефекта нет, | r | > > r0 - дефект появился (рис. 6, б ). Ясно, что такая проверка может производиться автоматически без вмешательства человека.
Приведенное простое бинарное правило имеет недостатки, один из которых состоит в том, что при небольших значениях r0 будет велика вероятность ложной тревоги (дефекта нет, а порог превышен). При больших значениях r0 существенно возрастет вероятность того, что возникший дефект останется незамеченным.
Выход здесь может быть найден за счет использования нечеткого порога (рис. 6, в) и включения человека-оператора в процесс принятия решения. В качестве информации для принятия решения оператору сообщается величина 1 - m, характеризующая уровень тревоги. Она может быть представлена в форме звукового сигнала различной интенсивности, уровня яркости красного цвета на экране или иным способом, согласующимся с тем, как оператору сообщается другая информация об объекте.
Интересно отметить, что в отличие от рассмотренных выше (и многих других) случаев нечеткие представления используются в настоящей задаче как бы в обратную сторону. Имеется в виду то, что, как правило, нечеткие модели, описывая представления человека о процессах, происходящих в сложной системе, позволяют исключить его из процесса управления этой системой. В рассмотренной же задаче они, напротив, делают присутствие человека обязательным, представляя информацию о системе в нечетком виде.
Детальные описания других многочисленных примеров применения нечетких концепций в промышленности, экспертных системах, бизнесе, программном обеспечении читатель может найти в книге [6].
ЛИТЕРАТУРА
1. Заде Л. Понятие лингвистической переменной и ее применение к принятию приближенных решений. М.: Мир, 1976. 165 с.
2. Теория выбора и принятия решений: Учеб. пособие. М.: Наука, 1982. 328 с.
3. Кофман А. Введение в теорию нечетких множеств. М.: Радио и связь, 1982. 432 с.
4. Орловский С.А. Проблемы принятия решений при нечеткой исходной информации. М.: Наука, 1981. 208 с.
5. Ермоленко В. Применение нечеткой логики в микроконтроллерном управлении // Радиолюбитель. Ваш компьютер. 1997. ╧ 3. С. 13-17.
6. Прикладные нечеткие системы. М.: Мир, 1993. 368 с.
Рецензенты статьи
В.В. Обуховский, Ю.Г. Мартыненко
* * *
Алексей Нилович Жирабок, доктор технических наук, профессор, зав. кафедрой конструирования и производства радиоаппаратуры Дальневосточного государственного технического университета. Область научных интересов - теория нелинейных динамических систем, техническая диагностика сложных технических систем. Автор более 120 научных работ, в том числе двух монографий.
Copyright (c) "Русский переплет"
купить квартиру в калуге