Раздел Fuzzy Logic Toolbox. С.Д.Штовба

Основы теории нечетких множеств и нечеткой логики

Одним из методов изучения множеств без уточнения их границ является теория нечетких множеств, которая была предложена в 1965 г. профессором Калифорнийского университета Лотфи Заде. Первоначально она разрабатывалась как средство моделирования неопределенности естественного языка. Однако впоследствии круг задач, решаемых с использованием аппарата нечетких множеств, значительно расширился и сейчас включает в себя такие области, как анализ данных, распознавание, исследование операций, моделирование сложных систем, поддержка принятия решений и т. д. .

Нередко при определении и описании характеристик объектов оперируют не только количественными, но и качественными значениями. В частности, рост человека можно количественно измерить в сантиметрах, а можно описать, используя качественные значения: карликовый, низкий, средний, высокий или гигантский. Интерпретация качественных значений носит субъективный характер, т.е. они могут по-разному трактоваться разными людьми (субъектами). В силу нечеткости (размытости) качественных значений, при необходимости перехода от них к количественным величинам возникают определенные трудности.

В системах, построенных на базе нечетких множеств, используются правила вида «ЕСЛИ А ТО В» (А ® В), в которых как в А (условие, предпосылку), так и в В (результат, гипотезу) могут входить качественные значения. Например, «ЕСЛИ Рост = "высокий" ТО Вид_спорта = "баскетбол"».

Переменная, значение которой определяется набором качественных значений некоторого свойства, в теории нечетких множеств называются лингвистической . В приведенном примере правила используются две лингвистические переменные: Рост и Вид_спорта.

Каждое значение лингвистической переменной определяется через так называемое нечеткое множество. Нечеткое множество определяется через некоторую базовую шкалу X и функцию принадлежности (характеристическую функцию) m(х ), где х Î Х . При этом, если в классическом канторовском множестве элемент либо принадлежит множеству (m(х ) = 1), либо не принадлежит (m(х ) = 0), то в теории нечетких множеств m(х ) может принимать любое значение в интервале . Над нечеткими множествами можно выполнять стандартные операции: дополнение (отрицание), объединение, пересечение, разность и т. д. (рис. 33).

Для нечетких множеств существует также ряд специальных операций: сложение, умножение, концентрирование, расширение и т. д.

При задании лингвистической переменной ее значения, т. е. нечеткие множества, должны удовлетворять определенным требованиям (рис. 34).

1. Упорядоченность. Нечеткие множества должны быть упорядочены (располагаться по базовой шкале) в соответствии с порядком задания качественных значений для лингвистической переменной.

2. Ограниченность. Область определения лингвистической переменной должна быть четко обозначена (определены минимальные и максимальные значения лингвистической переменной на базовой шкале). На границах универсального множества, где определена лингвистическая переменная, значения функций принадлежности ее минимального и максимального нечеткого множества должны быть единичными. На рисунке Т 1 имеет неправильную функцию принадлежности, а Т 6 – правильную.

3. Согласованность. Должно соблюдаться естественное разграничение понятий (значений лингвистической переменной), когда одна и та же точка универсального множества не может одновременно принадлежать с m(х ) = 1 двум и более нечетким множествам (требование нарушается парой Т 2 – Т 3).

4. Полнота. Каждое значение из области определения лингвистической переменной должно описываться хотя бы одним нечетким множеством (требование нарушается между парой T 3 – Т 4).

5. Нормальность. Каждое понятие в лингвистической переменной должно иметь хотя бы один эталонный или типичный объект, т. е. в какой-либо точке функция принадлежности нечеткого множества должна быть единичной (требование нарушается T 5).

X

Нечеткое множество «низкий рост» m н (х )

0 20 40 60 80 100 110 120 140 160 X

Нечеткое множество «высокий рост» m в (х )

0 20 40 60 80 100 110 120 140 160 X

Д = Н: Дополнение нечеткого множества «низкий рост»

m д (х ) = 1 – m н (х )

0 20 40 60 80 100 110 120 140 160 X

Н È В: Объединение нечетких множеств «низкий рост» и «высокий рост»

m нв (х ) = mах (m н (х ), m в (х ))

0 20 40 60 80 100 110 120 140 160 X

Н Ç В: Пересечение нечетких множеств «низкий рост» и «высокий рост»

m нв (х ) = min (m н (х ), m в (х ))

Рис. 33. Операции над нечеткими множествами

m(х ) Т 1 Т 2 Т 3 Т 4 Т 5 Т 6

Рис. 34. Пример задания нечетких множеств для линг­вис­тической переменной с нарушением требований

Требования 2–4 можно заменить одним универсальным – сумма функций принадлежности m(х ) по всем нечетким множествам в каждой точке области определения переменной должна равняться 1.

При обработке правил с лингвистическими переменными (нечетких правил) для вычисления истинности гипотезы применяются правила нечеткой логики. Нечеткая логика – разновидность непрерывной логики, в которой предпосылки, гипотезы и сами логические формулы могут принимать истинностные значения с некоторой долей вероятности.

Основные положения нечеткой логики:

· истинность предпосылки, гипотезы или формулы лежит в интервале ;

· если две предпосылки (Е 1 и Е 2) соединены Ù (логическим И), то истинность гипотезы Н рассчитывается по формуле t(Н) = MIN(t(Е 1), t(Е 2));

· если две предпосылки (Е 1 и Е 2) соединены Ú (логическим ИЛИ), то истинность гипотезы Н рассчитывается по формуле t(Н) = MAX(t(Е 1), t(Е 2));

· если правило (П) имеет свою оценку истинности, тогда итоговая истинность гипотезы Н итог корректируется с учетом истинности правила t(Н итог) = MIN(t(Н), t(П)).

Судьба нечеткой логики, как нового научного направления, сходна с ее содержимым - необычна, сложна и парадоксальна. В основе нечеткой логики лежит теория нечетких множеств, изложенная в серии работ Заде в 1965-1973 годах.

Параллельно с разработкой теоретических основ новой науки, Заде прорабатывал различные возможности ее практического применения. И в 1973 году эти усилия увенчались успехом - ему удалось показать, что нечеткая логика может быть положена в основу нового поколения интеллектуальных систем управления.

Однако основные результаты использования нечеткой логики были получены в Японии. Японцы довели практическое воплощение нечеткой логики до совершенства, но применяли её в основном в изделиях массового рынка – бытовая техника и т.п.

Особенно, конечно же, хочется отметить программное обеспечение, основанное на принципах нечеткой логики и нечетких множеств, которое активно применяется в финансовых и экономических сферах деятельности человека.

Примеры программ на основе нечеткой логики

1. CubiCalc представляет собой своего рода экспертную систему, в которой пользователь задает набор правил типа "если - то", а система пытается на основе этих правил адекватно реагировать на изменение ситуации. Вводимые правила содержат нечеткие величины, т.е. имеют вид "если Х принадлежит А, то Y принадлежит В", где А и В - нечеткие множества. Например: "Если этому жулику удастся сохранить популярность в регионах, то его шансы на выборах будут весьма высоки". Здесь использованы два нечетких термина - "популярность" и "вероятность избрания", которые практически невозможно задать точным значением, но сравнительно легко отобразить функцией распределения. И аппарат нечеткой логики, заложенный в CubiCalc, дает вам изумительную возможность впоследствии оперировать этими понятиями как точными и строить на их основе целые логические системы, не заботясь о нечеткой природе исходных определений.

CubiCalc и сегодня остается одним из самых продаваемых пакетов на основе нечеткой логики.

2. FuziCalc фирмы FuziWare - это первая в мире электронная таблица, позволяющая работать как с точными числовыми значениями, так и с приблизительными, "нечеткими" величинами.

Если в процессе вычислений вы использовали нечеткие величины, результат также будет иметь вид функции распределения. Однако в любом случае результат будет получен! И он будет точнее и достовернее, чем при использовании любых других доступных вам методов.

3. Триумф-Аналитика - это программа для оперативного и стратегического управления предприятием оптовой и розничной торговли, супермаркетом, сбытовой сетью. Сегодня Триумф-Аналитика - единственный аналитический продукт на российском рынке, предоставляющий возможности анализа, прогноза и оптимизации торговой деятельности. Назначение пакета - дать руководителю торгового предприятия полную и точную картину его бизнеса, быстро выявить скрытые резервы и, в конечном итоге, увеличить доходность и снизить издержки своей фирмы.

Триумф-Аналитика - продукт Корпорации "Парус", разработанный по заказу Корпорации специалистами Национального Альянса Управляющих, Консультантов и Аналитиков. В основу программы легли мощные аналитические алгоритмы, используемые при создании Ситуационных центров крупных корпораций, региональных руководителей.

В пакете Триумф-Аналитика использованы самые современные технологии анализа, прогнозирования и ситуационного моделирования - нейронные сети, нечеткая логика, системная динамика. Использованные в программе технологии не могут быть реализованы неспециалистом, а без их применения качество анализа и прогнозов будет неудовлетворительным. Продукт получился: легким, быстрым, гибким, мощным.

Он позволяет быстро диагностировать все основные виды ошибок в управлении торговым предприятием.

Использование самых современных средств разработки программного продукта и базы данных позволило добиться уникальных характеристик по мощности и быстродействию. Так, экспресс-анализ деятельности крупной оптовой компании за квартал средствами комплекса Триумф-Аналитика занимает менее 30 минут.

4. AnyLogic - первый и единственный инструмент имитационного моделирования, объединивший методы системной динамики, "процессного" дискретно-событийного и агентного моделирования в одном языке и одной среде разработки моделей.

Гибкость AnyLogic позволяет отражать динамику сложных и разнородных экономических и социальных систем на любом желаемом уровне абстракции. AnyLogic включает набор примитивов и объектов библиотек для эффективного моделирования производства и логистики, бизнес-процессов и персонала, финансов, потребительского рынка, а также окружающей инфраструктуры в их естественном взаимодействии. Объектно-ориентированный подход, предлагаемый AnyLogic, облегчает итеративное поэтапное построение больших моделей.

В редакторе AnyLogic Вы можете разработать анимацию и интерактивный графический интерфейс модели. Редактор поддерживает большой набор фигур, элементов управления (кнопок, ползунков, полей ввода и т.д.), импорт растровой графики и векторной графики в формате DXF. Анимация может быть иерархической и поддерживать несколько перспектив. Например, Вы можете определить глобальный взгляд на процесс производства с несколькими агрегированными индикаторами, а также детальные анимации конкретных операций - и переключаться между ними.

В AnyLogic включены средства анализа данных и большой набор элементов бизнес-графики, спроектированных для эффективной обработки и презентации результатов моделирования: статистики, наборы данных, графики, диаграммы, гистограммы.

AnyLogic поддерживает множество разнообразных типов экспериментов с моделями: простой прогон, сравнение прогонов, варьирование параметров, анализ чувствительности, оптимизация, калибровка, а также произвольный эксперимент по пользовательскому сценарию.

5. ITHINK предоставит Вам принципиально новые возможности, которые выходят далеко за рамки разработки стандартных форм документов. Он способен придать Вашим плановым и проектным разработкам новое качество. Программный пакет ITHINK - уникальное средство имитационного моделирования производственных и финансовых проектов и процессов.

В начале 90-х пакет ITHINK стал признанным стандартом структурного моделирования на Западе. Он широко используется в интеллектуальных центрах корпораций, банках, правительственных структурах и проектно-исследовательских учреждениях. В глазах зарубежного инвестора инвестиционный проект, разработанный с использованием системы ITHINK, приобретает дополнительные выигрышные характеристики. Работа с этим элитарным инструментом свидетельствует об определенной “приобщенности” разработчиков к новейшим наиболее тонким технологиям анализа проектов.

С помощью ITHINK решались разнообразные задачи, начиная от анализа причин разрушения дамбы в Юго-Восточной Азии в 1989г. и кончая обслуживанием и распределением пациентов, поступающих в приемный покой клиники. Однако в наибольшей степени ему органичны так называемые “потоковые” задачи. Они охватывают весьма широкую группу ситуаций, встречающихся в повседневной жизни предпринимателей, менеджеров и экспертов в области бизнес-планирования. Дело в том, что большинство развивающихся во времени явлений можно представить как потоковые процессы.

Пакет ориентирован на широкую группу пользователей - от руководителей, решающих сложные управленческие проблемы, до специалистов в области ценных бумаг, консультационных компаний и индивидуальных предпринимателей и исследователей.

6. PolyAnalyst предназначается для получения аналитической информации путем автоматической обработки исходных данных и может использоваться аналитиками, занятыми в различных областях деятельности.

Пакет PolyAnalyst - система, в основу которой положена технология искусственного интеллекта Data Mining. При обработке исходных данных она позволяет обнаруживать многофакторные зависимости, которым придает затем вид функциональных выражений (класс функций в них практически произволен), можно также строить структурные и классификационные правила. При этом анализу подвергаются исходные данные различных типов: действительные числа, логические и категориальные величины. Выводимые правила принимают вид либо функций, либо циклов, либо условных конструкций.

Очень важно, что при работе с пакетом PolyAnalyst аналитику не нужно допускать какие-либо закономерности в данных, за него это сделает программа анализа. Разумеется, пользователь не устраняется полностью из процесса анализа данных - от него, конечно же, требуется указать зависимую и независимую переменные, роль которых играют поля записей в исследуемой базе данных.

Система PolyAnalyst состоит из двух частей. Первая из них - модуль универсальной предварительной обработки данных ARNAVAC. Методы, реализованные в этом модуле, традиционны для автоматизации аналитической обработки данных. ARNAVAC обнаруживает в массивах данных функционально связные кластеры, фильтрует шум и случайные выбросы. Затем автоматический аналитик строит многомерную линейную регрессионную зависимость, как наиболее простое и доступное описание исходных данных, используя при этом универсальный быстродействующий алгоритм, автоматически выбирающий наиболее влияющие параметры с корректным определением их значимости.

Процесс построения гипотез идет автоматически, независимо от их сложности.

7. ExPro Master реализует интуитивно очевидную логику решения человеком аналитических задач оценки, прогнозирования и классификации, которая хорошо согласовывается с общепринятыми принципами исследования сложных систем и, поэтому, может рассматриваться как конструктив решения широкого круга системных задач.

Структура решения отдельной экспертно-аналитической задачи включает в себя следующие основные информационные компоненты:

Концептуальную модель предметной области экспертно-аналитической задачи или систему предпочтений, которая является формализованным представлением эксперта о задаче, ее элементах и связях; - оценки объектов из предметной области или просто объекты реального мира, которые анализируются при решении задачи;

Внешние факторы динамики, представленные в виде статистических данных (которые описывают состояние концептуальной модели и объектов в прошлом) и факторы будущего (которые описывают возможные изменения концептуальной модели и объектов в будущем);

Корректуры или внутренние факторы динамики, которые порождаются самой концептуальной моделью по установленным правилам.

Система предпочтений является важнейшей составляющей экспертно-аналитической задачи и предназначена для формализованного представления осознанных знаний эксперта о структуре, связях и характеристиках элементов предметной области решаемой задачи. Система предпочтений представляется в виде множества вершин и направленных связей между ними. Вершины системы предпочтений описывают понятия, которые задаются экспертом и несут конкретную смысловую нагрузку, зависящую от задачи. Эти понятия, в свою очередь, определяются через другие понятия при помощи связей. Связи можно рассматривать как отношения, которые задают влияние одних понятий на другие.

Для формализации связей понятий системы предпочтений в программном комплексе используется конструктив нечеткой меры по Сугено, которая для каждого контекста каждого понятия задается на множестве его частных понятий. Другими словами, к каждой вершине приписывается несколько нечетких мер по числу ее контекстов. Действительно, любое понятие может иметь различный смысл в различных контекстах.

Нечеткие меры также владеют одним чудесным свойством. Они поддерживают понятие модальности экспертных оценок и могут формализовать не только предпочтения в вершинах системы предпочтений, но и указывать семантический оттенок этих предпочтений (возможно, очень возможно, вероятно, необходимо и так далее). Влияние семантического оттенка настолько велико, что в некоторых случаях может приводить к обратным результатам, что в полной мере подтверждается существующей практикой.

Использование нечетких мер для представления экспертных знаний является отличительной особенностью и достоинством программного комплекса.

Внешние факторы динамики являются одной из основных компонент программного комплекса, которая определяет изменчивость во времени как системы предпочтений, так и оценок объектов. Внешние факторы динамики могут иметь различную физическую природу. Как один из вариантов может быть рассмотрено действие некоторых внешних событий по отношению к исследуемой системе.

Таким образом, внешние факторы динамики являются той составляющей программного комплекса, которая обеспечивает динамику решений в экспертно-аналитических задачах в зависимости от изменения внешних условий функционирования системы.

Корректуры или внутренние факторы динамики также являются одной из основных компонент программного комплекса, которая определяет изменчивость во времени как системы предпочтений, так и оценок объектов. В отличие от внешних, внутренние факторы порождаются самой системой предпочтений на основе оценки состояния одного из объектов в заданные моменты времени. Действие корректур направлено также на контекст вершины или на характеристику объекта. На них также могут влиять несколько корректур, каждая со своей важностью. Корректуры совместно с внешними факторами, образуют единое поле влияний.

8. МаркетЭффект предназначено для выработки эффективных маркетинговых решений коммерческими и государственными предприятиями среднего и крупного масштаба в сфере производства, торговли, оказания услуг. Оно направлено на решение задач, связанных с продвижением (продажей) товаров на рынок, с закупками сырья, материалов, энергоресурсов и т.п.

Приложение функционирует в составе системы FinExpert разработки компании IDM. Учетные данные по объемам продаж (покупок), накапливаемые системой FinExpert, служат в МаркетЭффект исходной точкой для анализа рынка (спроса, предложения, цен).

Приложение ориентировано на руководящий состав предприятий, персонал их служб управления, маркетинга и сбыта, на всех, кто принимает участие в выработке стратегии действий предприятия на рынке.

МаркетЭффект позволяет решать следующие задачи:

Анализ рынка.

Анализ и прогноз продаж (покупок).

Прогнозирование эффективности и рисков.

Планирование и анализ маркетинга.

Поиск эффективных схем и стратегий.

Решение этого спектра задач основано на использовании учетной информации системы FinExpert, данных, импортируемых из других компьютерных программ, а также информации, вводимой непосредственно пользователем приложения МаркетЭффект ; построено на базе нечеткой технологии (fuzzy technology). Это позволяет решать задачи, возложенные на приложение, и обрабатывать весь возможный спектр исходной информации на общей идеологической и инструментальной основе и не ограничиваться при этом использованием только точных, числовых данных о состоянии рынка. Приложение позволяет дополнительно учитывать также очень ценные знания специалистов о рынке и предположения о его развитии, несмотря на то, что эта информация имеет описательный, часто нечисловой, нечеткий характер.

Динамика развития рынка определяется множеством факторов, зависящих от сектора рынка, макроэкономических процессов, активности конкурентов, предпочтений покупателей и т.д. Эти же факторы, в свою очередь, оказывают влияние на работу предприятия, на величины его постоянных и переменных издержек, могут нарушать равновесие в секторе рынка.

Для оптимизации принимаемых решений на предприятии проектируются альтернативные схемы и стратегии, влияющие на изменение эффективности и рисков конкретно анализируемого проекта или их совокупности, и проводятся соответствующие расчеты с учетом прогнозного изменения рыночной ситуации. На основании полученных решений в соответствии с определенной системой предпочтений, отвечающей потребностям предприятия, осуществляется оценка альтернативных схем и стратегий и выбор наиболее эффективного решения.

Использование fuzzy-технологии позволяет получать диапазоны прогнозных значений величин в соответствии с определенной долей уверенности.

Поэтому пользователь приложения всегда имеет возможность оценить степень риска как анализируемого проекта в целом, так и его отдельных показателей.

9. Fuzzy Estimation of Critical Messages (FECM) предназначен для оценки интегрального (совокупного) влияния потока сообщений, поступающих в большом количестве накануне и в процессе валютных торгов, на курсы валют. Как результат - прогнозы этих курсов. Совместно с имеющимися программными продуктами технического анализа, использование FECM позволяет соединить прошлое и будущее при прогнозировании курсов валют и, тем самым, повысить возможность принятия правильных решений участниками валютных торгов и других сфер бизнеса.

Использование программы - прогнозирование и системный анализ фундаментальных факторов при проведении валютных торгов на рынке FOREX.

Нечеткая логика (fuzzy logic) - это надмножество классической булевой логики. Она расширяет возможности классической логики, позволяя применять концепцию неопределенности в логических выводах. Употребле­ние термина "нечеткий" применительно к математической теории может ввес­ти в заблуждение. Более точно ее суть характеризовало бы название "непре­рывная логика". Аппарат нечеткой логики столь же строг и точен, как и класси­ческий, но вместе со значениями "ложь" и "истина" он позволяет оперировать значениями в промежутке между ними. Говоря образно, нечеткая логика по­зволяет ощущать все оттенки окружающего мира, а не только чистые цвета.

Нечеткая логика как новая область математики была представлена в 60-х го­дах профессором калифорнийского университета Лотфи Заде (Lotfi Zadeh). Пер­воначально она разрабатывалась как средство моделирования неопределенности естественного языка, однако впоследствии круг задач, в которых нечеткая логи­ка нашла применение, значительно расширился. В настоящее время она исполь­зуется для управления линейными и нелинейными системами реального време­ни, при решении задач анализа данных, распознавания, исследования операций.

Часто для иллюстрации связи нечеткой логики с естественными представ­лениями человека об окружающем мире приводят пример о пустыне. Опреде­лим понятие "пустыня" как "бесплодная территория, покрытая песком". Те­перь рассмотрим простейшее высказывание: "Сахара - это пустыня". Нельзя не согласиться с ним, принимая во внимание данное выше определение. Пред­положим, что с поверхности Сахары удалена одна песчинка. Осталась ли Саха­ра пустыней? Скорее всего, да. Продолжая удалять песчинки одну за другой, всякий раз оцениваем справедливость приведенного ранее высказывания. По прошествии определенного промежутка времени песка в Сахаре не останется и высказывание станет ложным. Но после какой именно песчинки его истин­ность меняется? В реальной жизни с удалением одной песчинки пустыня не исчезает. Пример показывает, что традиционная логика не всегда согласуется с представлениями человека. Для оценки степени истинности высказываний ес­тественный язык имеет специальные средства (некоторые наречия и обороты, например: "в некоторой степени", "очень" и др.). С возникновением нечеткой логики они появились и в математике.

Одно из базовых понятий традиционной логики - понятие подмножества. Подобно этому в основе нечеткой логики лежит теория нечетких подмножеств (нечетких множеств). Эта теория занимается рассмотрением множеств, опре­деляемых небинарными отношениями вхождения. Это означает, что принима­ется во внимание не просто то, входит элемент во множество или не входит, но и степень его вхождения, которая может изменяться от 0 до 1.


Пусть S - множество с конечным числом элементов, S ={s 1 , s 2 ,..., s n }, где n - число элементов (мощность) множества S . В классичес­кой теории множеств подмножество U множества S может быть определено как отображение элементов S на множество В = {0, 1}:

U: S => В.

Это отображение может быть представлено множеством упорядоченных пар вида:

{s i ,m ui }, iÎ,

где s i - i-й элемент множества S ; n - мощность множества S ; m Ui - элемент множества В = {0, 1}. Если m Ui = 1, то s i является элементом подмножества U . Элемент "0" множества В используется для обозначения того, что s i не входит в подмножество U . Проверка истинности предиката "s k ÎU " осуществляется пу­тем нахождения пары, в которой s k - первый элемент. Если для этой пары m Uk =l, то значением предиката будет "истина", в противном случае - "ложь".

Если U - подмножество S , то U может быть представлено n-мерным векто­ром (m U 1 , m U 2 ,…, m Un), где i-й элемент вектора равен "1", если соответствую­щий элемент множества S входит и в U , и "0" в противном случае. Таким обра­зом, U может быть однозначно представлено точкой в n-мерном бинарном ги­перкубе В n , В = {0, 1} (рисунок 1).

Рисунок 1 - Графическое представление традиционного множества

Нечеткое подмножество F может быть представлено как отображение эле­ментов множества S на интервал I = . Это отображение определяется мно­жеством упорядоченных пар: {s i ,m F ,(s i)}, iÎ, где s i - i-й элемент множества S ; n - мощность множества S ; m F (s i) Î -степень вхождения элемента s i в множество F . Значение m F (s i), равное 1, озна­чает полное вхождение, m F (s i) = 0 указывает на то, что элемент s i не принадле­жит множеству F . Часто отображение задается функцией m F (x) принадлежнос­ти х нечеткому множеству F . В силу этого термины "нечеткое подмножество" и "функция принадлежности" употребляются как синонимы. Степень истиннос­ти предиката "s k ÎF " определяется путем нахождения парного элементу s k зна­чения m F (s k), определяющего степень вхождения s k в F .

Обобщая геометрическую интерпретацию традиционного подмножества на не­четкий случай, получаем представление F точкой в гиперкубе I n , I = . В отличие от традиционных подмножеств точки, изображающие нечеткие подмножества, мо­гут находиться не только на вершинах гиперкуба, но и внутри него (рисунок 2).

Рисунок 2 - Графическое представление нечеткого множества

Рассмотрим пример определения нечеткого подмножества. Имеется мно­жество всех людей S . Определим нечеткое подмножество Т всех высоких лю­дей этого множества. Введем для каждого человека степень его принадлежно­сти подмножеству Т . Для этого зададим функцию принадлежности m Т (h), оп­ределяющую, в какой степени можно считать высоким человека ростом h сан­тиметров.

(1)

где h - рост конкретного человека в сантиметрах.

График этой функции пред­ставлен на рисунке 3.

Рисунок 3 - График функции принадлежности rn T (h)

Пусть рост Михаила - 163 см, тогда истинность высказывания "Михаил высок" будет равна 0.21. Использованная в данном случае функция принад­лежности тривиальна. При решении большинства реальных задач подобные функции имеют более сложный вид, кроме того, число их аргументов может быть большим.

Методы построения функций принадлежности для нечетких подмножеств довольно разнообразны. В большинстве случаев они отражают субъективные представления экспертов о предметной области. Так, например, кому-то чело­век ростом 180 см может показаться высоким, а кому-то - нет. Однако часто такая субъективность помогает снизить степень неопределенности при реше­нии слабо формализованных задач. Как правило, для задания функций принад­лежности используются типовые зависимости, параметры которых определя­ются путем обработки мнений экспертов. Представление произвольных функ­ций при реализации автоматизированных систем часто затруднено, поэтому в реальных разработках такие зависимости аппроксимируются кусочно-линей­ными функциями.

Необходимо осознавать разницу между нечеткой логикой и теорией веро­ятностей. Заключается она в различии понятий вероятности и степени принад­лежности. Вероятность определяет, насколько возможен один из нескольких взаимоисключающих исходов или одно из множества значений. Например, может определяться вероятность того, что утверждение истинно. Утверждение может быть либо истинным, либо ложным. Степень принадлежности показы­вает, насколько то или иное значение принадлежит определенному классу (под­множеству). Например, при определении истинности утверждения ее возмож­ные значения не ограничены "ложью" и "истиной", а могут попадать и в проме­жуток между ними. Еще одно различие выражено в математических свойствах этих понятий. В отличие от вероятности для степени принадлежности не тре­буется выполнение аксиомы аддитивности.

Математическая теория нечетких множеств (fuzzy sets) инечеткая логика (fuzzy logic ) являются обобщениями классическойтеории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких иприближенных рассуждений при описании человеком процессов, систем, объектов.

Одной из основных характеристик нечеткой логики является лингвисти­ческая переменная, которая определяется набором вербальных (словесных) характеристик некоторого свойства. Рассмотрим лингвисти­ческую переменную «скорость», которую можно характеризовать через набор следующих по­нятий-значе­ний: «ма­лая», «средняя» и «большая», данные значения называются термами.

Следующей основополагающей характеристикой нечеткой логики является понятие функции принадлежности. Функция принадлежности определяет, насколько мы уверены в том, что данное значение лингвистической переменной (например, скорость) можно отнести к соответствующим ей категори­ям (в частности для лингвистической переменной скорость к категориям «малая», «средняя», «большая»).

На следующем рисунке (первая часть) отражено, как одни и те же значения лингвистической переменной могут соответствовать различным понятиям-значениям или термам. Тогда функции принадлежности, характеризующие нечеткие множества понятий скорости, можно выразить гра­фически, в более привычном математическом виде (рис. 35, вторая часть).

Из рисунка видно, что степень, с которой численное значение скорости, например v = 53, совместимо с понятием «большая», есть 0,7, в то время как совместимость значений скорости, рав­ных 48 и 45, с тем же понятием есть 0,5 и 0,1 соответственно.

Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности.

Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению:

При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c).

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

Рисунок 1. Типовые кусочно-линейные функции принадлежности.

Функция принадлежности гауссова типа описывается формулой

и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр отвечает за крутизну функции.

Рисунок 2. Гауссова функция принадлежности.

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке приведен пример описанной лингвистической переменной "Цена акции".

Рис. Описание лингвистической переменной "Цена акции".

Количество термов в лингвистической переменной редко превышает 7.

Основой для проведения операции нечеткого логического вывода является база правил, содержащая нечеткие высказывания в форме "Если-то" и функции принадлежности для соответствующих лингвистических термов. При этом должны соблюдаться следующие условия:

    Существует хотя бы одно правило для каждого лингвистического терма выходной переменной .

    Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).

В противном случае имеет место неполная база нечетких правил.

Пусть в базе правил имеется m правил вида: R 1: ЕСЛИ x 1 это A 11 … И … x n это A 1n , ТО y это B 1 … R i: ЕСЛИ x 1 это A i1 … И … x n это A in , ТО y это B i … R m: ЕСЛИ x 1 это A i1 … И … x n это A mn , ТО y это B m , где x k , k=1..n – входные переменные; y – выходная переменная; A ik – термы соответствующих переменных с функциями принадлежности.

Результатом нечеткого вывода является четкое значение переменной y * на основе заданных четких значений x k , k=1..n.

В общем случае механизм логического вывода включает четыре этапа: введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация (см. рисунок 5).

Рисунок 5. Система нечеткого логического вывода.

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.

    Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как A ik (x k), i=1..m, k=1..n.

    Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

    Композиция, или объединение полученных усеченных функций, для чего используется максимальная композиция нечетких множеств:

где MF(y) – функция принадлежности итогового нечеткого множества.

4. Дефазификация, или приведение к четкости. Под дефаззификацией понимается процедура преобразования нечетких величин, получаемых в результате нечеткого вывода, в четкие. Эта процедура является необходимой в тех случаях, где требуется интерпретация нечетких выводов конкретными четкими величинами, т.е. когда на основе функции принадлежности возникает потребность определить для каждой точки вZ числовые значения.

В настоящее время отсутствует систематическая процедура выбора стратегии дефаззификации. На практике часто используют два наиболее общих метода: метод центра тяжести (ЦТ - центроидный), метод максимума (ММ).

Для дискретных пространств в центроидном методе формула для вычисления четкого значения выходной переменной представляется в следующем виде:

Стратегия дефаззификации ММ предусматривает подсчет всех тех z , чьи функции принадлежности достигли максимального значения. В этом случае (для дискретного варианта) получим

где z - выходная переменная, для которой функция принадлежности достигла максимума;m - число таких величин.

Из этих двух наиболее часто используемых стратегий дефаззификации, стратегия ММ дает лучшие результаты для переходного режима, аЦТ - в установившемся режиме из-за меньшей среднеквадратической ошибки.

Пример нечеткого правила

Как работает.

По максимальному значению функций принадлежности (для скорости 60 км в час значение функции принадлежности «низкая» = 0, а для дорожных условий 75 % от нормы значение функции принадлежности «тяжелые» = около 0.7) по 0.7 проводится прямая которая рассекает геометрическую фигуру заключения (подача топлива) на две части, в результате берется фигура лежащая ниже прямой а верхняя часть отбрасывается. Это для одного правила, таких правил может быть 100 и более в реальных задачах.

Рассмотрим процесс получения нечеткого вывода по трем правилам одновременно с последующим получением чет­кого решения. Данная процедура включает в себя три этапа. На первом этапе получают нечеткие выводы по каждому из правил в отдельности по схеме, показанной на рис. 3.13. На втором эта­пе производится сложение результирующих функций, получен­ных на предыдущем этапе (применяется логическая операция ИЛИ, т.е. берется максимум). Третий этап - этап получения чет­кого решения (дефаззификация). Здесь применяется любой из известных классических методов: метод центра тяжести и т.д. Полученное в виде числового значения четкое решение служит задающей величиной системы управления. В нашем примере это будет величина, в соответствии с которой ИСУ должна бу­дет изменить подачу топлива. Процесс получения нечетких выводов по нескольким прави­лам с последующей дефаззификацией для рассматриваемого примера показан на рис. 3.14. При начальном значении скорости = 65 км в час, и дорожным условиям = 80 % от норматива получаем следующую схему решения об уровне подачи топлива.

Рис. 3.14. Процесс получения нечетких выводов по правилам и их преобразование в четкое решение.

Как видно из рис. 3.14, в результате дефаззификации получе­но четкое решение: при заданных значениях скорости и дорожных условий подача топлива должна составлять 63% от

максимального значения. Таким образом, несмотря на нечет­кость выводов, в итоге получено вполне четкое и определенное решение. Такое решение, вероятно, принял бы и водитель авто­мобиля в процессе движения. Данный пример демонстрирует великолепные возможности моделирования человеческих рас­суждений на основе методов теории нечетких множеств.

Эпименид Кносский с острова Крит – полумифический поэт и философ, живший в VI в. до н.э., однажды заявил: «Все критяне – лжецы!». Так как он и сам был критянином, то его помнят как изобре тателя так называемого критского парадокса.


В терминах аристотелевой логики, в которой утверждение не может быть одновременно истинным и ложным, и подобные самоотрицания не имеют смысла. Если они истинны, то они ложны, но если они ложны, то они истинны.


И здесь на сцену выходит нечеткая логика, где переменные могут быть частичными членами множеств. Истинность или ложность перестают быть абсолютными – утверждения могут быть частично истинными и частично ложными. Использование подобного подхода позволяет строго математически доказать, что парадокс Эпименида ровно на 50% истинен и на 50% ложен.

Таким образом, нечеткая логика в самой своей основе несовместима с аристотелевой логикой, особенно в отношении закона Tertium non datur («Третьего не дано» – лат.), который также называют законом исключения среднего1 . Если сформулировать его кратко, то звучит он так: если утверждение не является истинным, то оно является ложным. Эти постулаты настолько базовые, что их часто просто принимают на веру.


Более банальный пример пользы нечеткой логики можно привести в контексте концепции холода. Большинство людей способно ответить на вопрос: «Холодно ли вам сейчас?». В большинстве случаев (если вы разговариваете не с аспирантом-физиком) люди понимают, что речь не идет об абсолютной температуре по шкале Кельвина. Хотя температуру в 0 K можно, без сомнения, назвать холодом, но температуру в +15 C многие холодом считать не будут.


Но машины не способны проводить такую тонкую градацию. Если стандартом определения холода будет «температура ниже +15 C», то +14,99 C будет расцениваться как холод, а +15 C – не будет.

Теория нечетких множеств

Рассмотрим рис. 1. На нем представлен график, помогающий понять то, как человек воспринимает температуру. Температуру в +60 F (+12 C) человек воспринимает как холод, а температуру в +80 F (+27 C) – как жару. Температура в +65 F (+15 C) одним кажется низкой, другим – достаточно комфортной. Мы называем эту группу определений функцией принадлежности к множествам,описывающим субъективное восприятие температуры человеком.

Так же просто можно создать дополнительные множества, описывающие восприятие температуры человеком. Например, можно добавить такие множества, как «очень холодно» и «очень жарко». Можно описать подобные функции для других концепций, например, для состояний «открыто» и «закрыто», температуры в охладителе или температуры в башенном охладителе.


То есть нечеткие системы можно использовать как универсальный аппроксиматор (усреднитель) очень широкого класса линейных и нелинейных систем. Это не только делает более надежными стратегии контроля в нелинейных случаях, но и позволяет использовать оценки специалистов-экспертов для построения схем компьютерной логики.

Нечеткие операторы

Чтобы применить алгебру для работы с нечеткими значениями, нужно определить используемых операторов. Обычно в булевой логике используется лишь ограниченный набор операторов, с помощью которых и производится выполнение других операций: NOT (оператор «НЕ»), AND (оператор «И») и OR (оператор «ИЛИ»).

Можно дать множество определений для этих трех базовых операторов, три из которых приведены в таблице. Кстати, все определения одинаково справедливы для булевой логики (для проверки просто подставьте в них 0 и 1). В булевой логике значение FALSE («ЛОЖЬ») эквивалентно значению «0», а значение TRUE («ИСТИНА») эквивалентно значению «1». Аналогичным образом в нечеткой логике степень истинности может меняться в диапазоне от 0 до 1, поэтому значение «Холод» верно в степени 0,1, а операция NOT(«Холод») даст значение 0,9.


Вы можете вернуться к парадоксу Эпименида и постараться его решить (математически он выражается как A = NOT(A), где A – это степень истинности соответствующего утверждения). Если же вы хотите более сложную задачу, то попробуйте решить вопрос о звуке хлопка, производимого одной рукой…

Решение задач методами нечеткой логики

Лишь немногие клапаны способны открываться «чуть-чуть». При работе оборудования обычно используются четкие значения (например, в случае бимодального сигнала 0-10 В), которые можно получить, используя так называемое «решение задач методами нечеткой логики». Подобный подход позволяет преобразовать семантические знания, содержащиеся в нечеткой системе, в реализуемую стратегию управления2.


Это можно сделать с использованием различных методик, но для иллюстрации процесса в целом рассмотрим всего один пример.


В методе height defuzzification результатом является сумма пиков нечетких множеств, рассчитываемая с использованием весовых коэффициентов. У этого метода есть несколько недостатков, включая плохую работу с несимметричными функциями принадлежности к множествам, но у него есть одно преимущество – этот метод наиболее простой для понимания.

Предположим, что набор правил, управляющих открытием клапана, даст нам следующий результат:


«Клапан частично закрыт»: 0,2

«Клапан частично открыт»: 0,7

«Клапан открыт»: 0,3

Если мы используем метод height defuzzification для определения степени открытости клапана, то получим результат:

«Клапан закрыт»: 0,1

(0,1*0% + 0,2*25% + 0,7*75% + 0,3*100%)/ /(0,1 + 0,2 + 0,7 + 0,3) =

= (0% + 5% + 52,5% + 30%)/(1,3) = = 87,5/1,3 = = 67,3%,

т.е. клапан необходимо открыть на 67,3%.

Практическое применение нечеткой логики

Когда только появилась теория нечеткой логики, в научных журналах можно было найти статьи, посвященные ее возможным областям применения. По мере продвижения разработок в данной области число практических применений для нечеткой логики начало быстро расти. В настоящее время этот список был бы слишком длинным, но вот несколько примеров, которые помогут понять, насколько широко нечеткая логика используется в системах управления и в экспертных системах3.


– Устройства для автоматического поддержания скорости движения автомобиля и увеличения эффективности/стабильности работы автомобильный двигателей (компании Nissan, Subaru).



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!