Нечеткая логика в процессе моделирования - OXFORDST.RU

Нечеткая логика в процессе моделирования

Нечеткая логика в процессе моделирования

Содержание
Введение. 3
1. Нечеткая логика – математические основы. 5
1.1. История нечеткой логики. 5
1.2. Математический аппарат. 6
1.3. Формы задания функций принадлежности. 9
1.4. Нечеткий логический вывод. 12
1.5. Гибридные методы объединения. 14
2. Моделирование. 18
2.1. Определение моделирования и его виды. 18
2.2. Процесс моделирования. 21
3. Заключение. 24
4. Приложение1. Моделирование работы светофора с нечеткой логикой 26
5. Литература. 32
Введение
Проблемы принятия решений в сложных условиях занимают в настоящее время особое место в информационных технологиях. Математические методы широко применяются для описания и анализа сложных экономических, социальных и других систем. Теория оптимизации создала совокупность методов, помогающих при использовании ЭВМ эффективно принимать решения при известных и фиксированных параметрах или когда параметры — случайные величины с известными законами распределения. Существует, однако, ряд задач, которые не поддаются формальному описанию в силу того, что часть параметров представляют собой неточно или качественно заданные величины, для которых переход от «принадлежности к классу» к «непринадлежности» непрерывен. Традиционные методы недостаточно пригодны для решения подобных задач именно потому, что они не в состоянии описать возникающую неопределенность.
Целью курсовой работы является изучить нечеткую логику в системе моделирования.
Для достижения данной цели поставлены были следующие задачи:
изучить литературу по данной теме;
рассмотреть исторические аспекты нечеткой логики;
охарактеризовать математический аппарат нечеткого множества;
определить формы кривых задания функций принадлежности;
рассмотреть алгоритму нечеткого вывода;
определение понятие и виды моделирования;
изучить процесс моделирования;
смоделировать работу светофора на основе нечеткой логики.
В основе нечеткой логики лежит теория нечетких множеств, где функция принадлежности элемента множеству не бинарна (да/нет), а может принимать любое значение в диапазоне 0-1. Это дает возможность определять понятия, нечеткие по самой своей природе: «хороший», «высокий», «слабый» и т.д. Нечеткая логика дает возможность строить базы знаний и экспертные системы нового поколения, способные хранить и обрабатывать неточную информацию. Системы, основанные на нечеткой логике, разработаны и успешно внедрены в таких областях, как управление технологическими процессами, управление транспортом, управление бытовой техникой, медицинская и техническая диагностика, финансовый менеджмент, финансовый анализ, биржевое прогнозирование, распознавание образов, исследование рисковых и критических операций, прогнозирование землетрясений, составление автобусных расписаний, климатический контроль в зданиях.
1. Нечеткая логика — математические основы
1.1. История нечеткой логики
Впервые термин нечеткая логика был введен американским профессором азербайджанского происхождения Лотфи Заде в 1965 году в работе «Нечеткие множества» в журнале «Информатика и управление».
Основанием для создания новой теории послужил спор профессора со своим другом о том, чья из жен привлекательнее. К единому мнению они не пришли. Это вынудило Заде сформировать концепцию, которая выражает нечеткие понятия типа “привлекательность” в числовой форме.
Нечеткая логика основана на теории нечетких множеств и отличается от классической теории четких множеств. Если для четких множеств результатом вычисления характеристической функции могут быть только два значения – 0 или 1, то для нечетких множеств это количество бесконечно, но ограничено диапазоном от нуля до единицы.
В начале 1920-х годов польский математик Лукашевич трудился над принципами многозначной математической логики, в которой значениями предикатов могли быть не только «истина» или «ложь».
В 1937 г. еще один американский ученый Макс Блэк в своей статье в журнале «Философия науки» впервые применил многозначную логику Лукашевича к спискам как множествам объектов и назвал такие множества неопределенными. И только почти через 30 лет после этой работы Блэка Заде на основе логики Лукашевича построил полноценную алгебраическую систему. Спустя 10 лет теоретическая алгебра Заде благодаря Ибрагиму Мамдани из Лондонского Колледжа Королевы Марии была использована в системных командах. Именно, Мамдани в 1975 г. спроектировал первый функционирующий на основе алгебры Заде контроллер, управляющий паровой турбиной.
Для нечеткой логики нашлись столь четко очерченные области применения, что стало возможным создание мощных инструментальных средств, позволяющих спрятать множество нетривиальных низкоуровневых математических операций за удобными пользовательскими интерфейсами и выразительными проблемно-ориентированными графическими метафорами. Фундаментальные математические операции нечеткой логики настолько четко определены, что они давно и успешно реализованы «в железе» (точнее, в системах команд) серийно выпускаемых микроконтроллеров.
В Японии это направление переживает настоящий бум. Здесь функционирует специально созданная организация – LaboratoryforInternationalFuzzyEngineeringResearch (LIFE). Программой этой организации является создание более близких человеку вычислительных устройств. LIFE объединяет 48 компаний, в числе которых Hitachi, Mitsubishi, NEC, Sharp, Sony, Honda, Mazda, Toyota. Из зарубежных (не японских) участников LIFE можно выделить IBM, Fuji, Xerox; к деятельности LIFE проявляет также интерес NASA.
1.2. Математический аппарат
Характеристикой нечеткого множества выступает функция принадлежности. Обозначим через MFc (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C=, MFc (x) [0,1]. Значение MFc (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.
Проиллюстрируем это на простом примере. Формализуем неточное определение «горячий чай». В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия «горячий чай» может выглядеть следующим образом:
C=<0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100>.
Так, чай с температурой 60 С принадлежит к множеству «Горячий» со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. В этом проявляется нечеткость задания соответствующего множества.
Рассмотрим другой пример, связанный с возрастом человека (в соответствии с рисунком 1). До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину молодой с рангом около 0,9). Но диапазону от 16 до 30 лет можно смело присвоить ранг 1, т.е. человек в этом возрасте молодой. После 30 лет человек вроде уже не молодой, но еще и не старый, здесь принадлежность (ранг) термина молодой возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем меньше становится его принадлежность к молодым, т.е. ранг будет стремиться к 0.

Рисунок 1. Нечеткое множество для термина молодой.
Таким образом, получено нечеткое множество, описывающее понятие молодости для всего диапазона возрастов человека. Если ввести остальные термины (например, очень молодой, старый и т.д.), то можно охарактеризовать такую переменную как возраст, состоящую из нескольких нечетких множеств и полностью перекрывающую весь жизненный период.
Для нечетких множеств, как и для обычных, определены основные логические операции (в соответствии с рисунком 2). Самыми основными, необходимыми для расчетов, являются пересечение и объединение.
Пересечение двух нечетких множеств (нечеткое «И»): A B: MFAB (x)=min(MFA (x), MFB (x)).
Объединение двух нечетких множеств (нечеткое «ИЛИ»): A B: MFAB (x)=max(MFA (x), MFB (x)).

Размывание или размытие
Рисунок 2. Операции над нечеткими множествами
В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения – наиболее распространенные случаи t-нормы и t-конормы.
Для описания нечетких множеств используются понятия нечеткой и лингвистической переменных.
Нечеткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечеткое множество на X.
Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:
·названия;
·множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терма-множества представляют собой названия нечетких переменных;
·универсального множества X;
·синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
·семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.
Рассмотрим нечеткое понятие как «Цена акции». Это есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: «Низкая», «Умеренная», «Высокая» и зададим область рассуждений в виде X=[100;200] (единиц). Затем построим функцию принадлежности для каждого лингвистического терма из базового терм-множества T.
1.3. Формы задания функций принадлежности
Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности.
Треугольная функция принадлежности (в соответствии с рисунком 3) определяется тройкой чисел (a, b, c), и ее значение в точке x вычисляется согласно выражению:
При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a, b, c).
Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a, b, c, d):
При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

Рисунок 3. Типовые кусочно-линейные функции принадлежности.
Функция принадлежности гауссова типа (в соответствии с рисунком 4) описывается формулой
и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр σ отвечает за крутизну функции.

Рисунок 4. Гауссова функция принадлежности.
Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 5 приведен пример описанной выше лингвистической переменной «Цена акции», на рисунке 6 – формализация неточного понятия «Возраст человека». Так, для человека 48 лет степень принадлежности к множеству «Молодой» равна 0, «Средний» – 0,47, «Выше среднего» – 0,20.

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

Рисунок 6. Описание лингвистической переменной «Возраст».
Количество термов в лингвистической переменной редко превышает 7.
1.4. Нечеткий логический вывод
Основой для проведения операции нечеткого логического вывода является база правил, содержащая нечеткие высказывания в форме «Если-то» и функции принадлежности для соответствующих лингвистических термов. При этом должны соблюдаться следующие условия:
1.Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
2.Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).
В противном случае имеет место неполная база нечетких правил.
Пусть в базе правил имеется m правил вида:
Результатом нечеткого вывода является четкое значение переменной на основе заданных четких значений .
В общем случае механизм логического вывода включает четыре этапа (в соответствии с рисунком 7): введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация.

Читайте также  Киевская Русь как раннефеодальная монархия

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

  • Вычислительная техника
    • Микроконтроллеры микропроцессоры
    • ПЛИС
    • Мини-ПК
  • Силовая электроника
  • Датчики
  • Интерфейсы
  • Теория
    • Программирование
    • ТАУ и ЦОС
  • Перспективные технологии
    • 3D печать
    • Робототехника
    • Искусственный интеллект
    • Криптовалюты

Чтение RSS

Что такое нечеткая логика (fuzzy logic): принцип работы, примеры, применение

Введение в нечеткую логику

Нечеткая логика – это логическая или управляющая система n-значной логической системы, которая использует степени состояния («степени правды») входов и формирует выходы, зависящие от состояний входов и скорости изменения этих состояний. Это не обычная «истинная или ложная» (1 или 0), булева (двоичная) логика, на которой основаны современные компьютеры. Она в основном обеспечивает основы для приблизительного рассуждения с использованием неточных решений и позволяет использовать лингвистические переменные.

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

Если говорить проще, состояниями нечеткой логики могут быть не только 1 или 0, но и значения между ними, то есть 0.15, 0.8 и т.д. Например, в двоичной логике, мы можем сказать, что мы имеем стакан горячей воды (то есть 1 или высокий логический уровень) или стакан холодной воды, то есть (0 или низкий логический уровень), но в нечеткой логике, мы можем сказать, что мы имеем стакан теплой воды (ни горячий, ни холодный, то есть где-то между этими двумя крайними состояниями). Четкая логика: да или нет (1, 0). Нечеткая логика: конечно, да; возможно, нет; не могу сказать; возможно да и т.д.

Базовая архитектура нечеткой логической системы

Система нечеткой логики состоит из следующих модулей:

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

Контроллер. Он состоит из базы знаний и механизма вывода. База знаний хранит функции принадлежности и нечеткие правила, полученные путем знания работы системы в среде. Механизм вывода выполняет обработку полученных функций принадлежности и нечетких правил. Другими словами, механизм вывода формирует выходные данные на основе лингвистической информации.

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

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

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

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

Рассмотрим такое значение «х», что x ∈ X для всего интервала [0,1] и нечеткого множества A, которое является подмножеством X. Функция принадлежности «x» в подмножестве A задается как: fA (x), Обратите внимание, что «x» обозначает значение принадлежности. Ниже приводится графическое представление нечетких множеств.

В то время как ось x обозначает универсальный набор, ось y обозначает степени принадлежности. Эти функции принадлежности могут быть треугольными, трапециевидными, одноточечными или гауссовыми по форме.

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

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

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

  • Тип грязи: (жирное, среднее, не жирное)
  • Качество грязи: (высокое, среднее, незначительное)

Для вывода лингвистические переменные приведены ниже:

  • Время стирки: (короткий, очень короткий, длинный, средний, очень длинный).

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

Функции принадлежности для типа грязи:

Третий шаг включает разработку набора правил для базы знаний. Ниже приведен набор правил с использованием логики IF-THEN (если-тогда):

IF качество грязи Small И Тип грязи Greasy, THEN Время стирки Long.
IF качество грязи Medium И Тип грязи Greasy, THEN Время стирки Long.
IF качество грязи Large и тип грязи Greasy, THEN Время стирки Very Long.
IF качество грязи Small И Тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Medium И Тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Large и тип грязи Medium, THEN Время стирки Medium.
IF качество грязи Small и тип грязи Non-Greasy, THEN Время стирки Very Short.
IF качество грязи Medium И Тип грязи Non-Greasy, THEN Время стирки Medium.
IF качество грязи Large и тип грязи Greasy, THEN Время стирки Very Short.

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

Области применения нечеткой логики

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

Нечеткая логика — математические основы

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

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

Первый период (конец 60-х–начало 70 годов) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, основанных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике.

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

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Проиллюстрируем это на простом примере. Формализуем неточное определение «Горячий чай». В качестве xx (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяться от 0 до 100 градусов. Нечеткое множество для понятия «Горячий чай» может выглядеть следующим образом:

Так, чай с температурой 60С принадлежит к множеству «Горячий» со степенью принадлежности 0.80. Для одного человека чай при температуре 60С может оказаться горячим, для другого — не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

Пересечение двух нечетких множеств (нечеткое «И»):

Объединение двух нечетких множеств (нечеткое «ИЛИ»):

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

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

Нечеткая переменная описывается набором (N,X,A), где N — это название переменной, X — универсальное множество (область рассуждений), A — нечеткое множество на X.

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

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие как «Цена акции». Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: «Низкая», «Умеренная», «Высокая» и зададим область рассуждений в виде X=[100;200] (единиц). Последнее, что осталось сделать — построить функции принадлежности для каждого лингвистического терма из базового терм-множества T.

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

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

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

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

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

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

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

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной «Цена акции», на рисунке 4 – формализация неточного понятия «Возраст человека». Так, для человека 48 лет степень принадлежности к множеству «Молодой» равна 0, «Средний» – 0.47, «Выше среднего» — 0.20.

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

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

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

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

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

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

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

Геометрический смысл такого значения — центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

В результате объединения нескольких технологий искусственного интеллекта появился специальный термин — «мягкие вычисления» (soft computing), который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.

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

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть, как правило, состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

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

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

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий:

  • Генерация лингвистических правил;
  • Корректировка функций принадлежности.

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

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин — Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие запросы к базам данных (fuzzy queries) — перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: «Вывести список недорогих предложений о съеме жилья близко к центру города», что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде.

Нечеткие ассоциативные правила (fuzzy associative rules) — инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечеткой транзакции, поддержки и достоверности нечеткого ассоциативного правила.

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов.

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

Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более «естественна», чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

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

Методы нечеткой логики в экономико-математическом моделировании

Первоначальный виток кризиса, произошел на шанхайской фондовой бирже, где лишь за одну торговую сессию 27 февраля 2007 года основные китайские фондовые индексы упали на 9%, и прокатился по всему миру, лишний раз подтверждает необходимость пересмотра существующих и широко применяемых методов анализа и прогнозирования развития фондовых рынков.

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

Основная часть. поиске новых методологических подходов и методов математического моделирования сложных систем исследователи все чаще обращают внимание на окружающий мир, живую природу, открывая там новые идеи. Так и появились методы нейронных сетей; теория нечетких множеств и нечеткой логики; генетические алгоритмы; эволюционное программирование и др. [2, c.15] .

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

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

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

Простейший вариант прогноза на базе математических моделей заключен в применении регрессионного уравнения по фактору времени, параметры которого оценивают, как правило, по методу наименьших квадратов. Так ученые Р. Энгл и Т. Боллерслев разработали семейство методов ARCH и GARCH. Развитием этих методов является теория нейронных сетей, которые, по сути, являются тем же регрессионным уравнением, но более сложной конфигурации. При этом нейронные сети лишены таких недостатков прогнозирования, как усреднение, монотонность и периодичность будущих значений временного ряда [3, c.259]. Однако даже самые сложные современные количественные методы прогнозирования перестают надежно работать при условии резкого изменения экономических тенденций, и поэтому использование ретроспективных данных для прогнозирования будущих значений финансовых временных рядов становится необоснованным. Подтверждением этого могут стать проведенные учеными эксперименты по проверке действенности разнообразным математических подходов к моделированию финансово-экономических систем. Так, для прогнозирования финансовых показателей были взяты ряд числовых методов и нейронные сети разной конфигурации [1, с.112]. При проведении исследований была выявлена достаточно низкая способность указанных подходов к прогнозированию развития финансовых показателей (и в чадности – к предвидению направления их изменений) даже при условии эффективной предварительной обработки значений финансового временного ряда. Таким образом, исследователи пришли к выводу, что указанные количественные методы не позволяют организовать расчет результативного показателя, основываясь на установленном наборе правил логического вывода (например, по значениям лишь нескольких объясняющих переменных модели) и сохраняя возможность оптимизации параметров модели. Кроме того изложенные подходы не дают возможности работать с качественными показателями. И тут на помощь приходит теория нечеткой логики, которая представляет удобный инструментарий для подачи экспертно установленных правил развития рынка в математической форме, обеспечивает автоматическое налаживание параметров модели с учетом количественных и качественных показателей.

При осуществлении краткосрочного прогнозирования логический вывод целесообразно построить на базе правил технического анализа ринка, одинаково эффективных для прогнозирования как на длинных, так и на коротких временных интервалах. Таким образом, были построены экономико-математические модели прогнозирования развития финансовых показателей на базе методов нечеткой логики, в основу которых были положены правила развития рынка согласно теории Элиота [1, c.114]. Модели выявили высокую способность к воспроизведению исходного временного ряда, и в частности – к приведению направлений изменения курсов финансовых показателей, что особенно важно для игроков фондового рынка. Соответственно, экономико-математические модели прогнозирования развития финансовых временных рядов, построенных с применение инструментов нечеткой логики, выявили более высокую точность и адекватность по сравнению с другими альтернативными подходами в современных условиях мировой экономики.

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

1. Матвійчук А.В. Прогнозування розвитку фінансових показників із використанням апарату нечіткої логіки. «Фінанси України», №1, 2006, с.107 – 115.

2. Ашшурский Э.Э. Эволюция при посредниках. «Вести, версии, события», №12, 2007, с.15 – 20.

3. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М.: «Горячая линия – Телеком», 2006, – 382 с.

Fuzzy logic. Учим «электронные мозги» мыслить по-человечьи.

Задумывались ли вы когда-нибудь о том, как мыслит человек? Какими словами мы обычно пользуемся, чтобы объяснить меру чего-либо? Выражения «Немного посолить», «слегка остудить», «пройти чуть дальше», «налить много», «принести мало» — совершенно обычны для человека. Именно такими категориями мы воспринимаем окружающую действительность. В нашей обычной жизни мы крайне редко пользуемся чёткими правилами и алгоритмами. У человека нет точных датчиков и измерительных приборов. Вместо этого у нас есть органы чувств и наше врождённое чувство меры. Но это нельзя назвать нашим недостатком, наоборот – в этом заключается наше главное преимущество. Это позволяет нам быть адаптивными. Дело в том, что окружающий мир настолько сложен, что ни одна супер-мега-крутая вычислительная машина не сможет учесть все его зависимости. Поэтому для точных компьютерных вычислений мы обычно упрощаем задачу, идеализируем её, отбрасываем несущественные факторы, принимаем какие-то допущения и т.д. Мы можем это сделать, именно потому, что наше чувство меры позволяет нам оценить «навскидку», какие факторы вносят значительный вклад, а какие несущественны. Однако существует довольно много задач, которые достаточно сложно формализовать, составить для них «чёткий» алгоритм.

Например, сложно представить, что какая-то автоматика будет печь пирожки вкуснее, чем бабушка Зина. Слишком много «нечётких» факторов в этом деле: и дрожжи каждый раз разные, и мука; от влажности и температуры в помещении тоже многое зависит. Только опытная бабушка сможет учесть все эти факторы.

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

На заводе «N» работает крановщик Василий. Трудится он на этом предприятии 40 лет, с того самого момента, как окончил ПТУ. Его задача состоит в том, чтобы поднимать краном паллеты с готовой продукцией и ставить на место складирования. Делать это умеет только Василий. За многие годы практики он чётко научился определять, с какой скоростью нужно двигаться на кране в зависимости от того, какой груз у него на крюке, за сколько метров до цели нужно начать останавливаться, как регулировать угол наклона стрелы крана, чтобы уменьшить раскачивание паллеты на крюке и т.д. Весь этот опыт позволяет ему каждый раз опускать груз точно в цель и делать это на оптимальной скорости.

Однако, Василию скоро на пенсию, а заменить его некому. К тому же, руководство завода взяло курс на автоматизацию производственного процесса. Для того, чтобы заменить крановщика интеллектуальным устройством, необходимо наделить его «нечёткой логикой» и экспертными знаниями Василия. Поехали…

Входы и выходы системы управления

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

  • Расстояние до цели
  • Амплитуда раскачивания груза на крюке крана

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

  • Педаль газа — регулирует скорость, влияет на амплитуду раскачивания груза
  • Педаль тормоза — влияет на плавность остановки (амплитуду раскачивания груза)
  • Ручка управления стрелой крана – регулирует угол наклона стрелы, компенсирует раскачивание груза

Нечёткие правила

Теперь обратимся к самому Василию, чтобы «добыть» из него бесценные экспертные знания.

Спрашиваем:

— «Василий, скажите, с какой скоростью нужно двигаться, чтобы максимально быстро доставлять груз до цели, но при этом не приходилось резко тормозить перед финишем, заставляя груз сильно раскачиваться?»

Василий ответит примерно следующее:

— «Ну, так это… как только зацепил груз, пока до места еще далеко — давлю газ в пол. В середине пути чуть убавляю и плавненько иду, чтоб не шаталась верёвка. Если сильно шатает – газ жму совсем чуть-чуть и немного наклоняю стрелу в противоход. Когда близко подъезжаю – совсем уже газ отпускаю, наоборот притормаживаю малеху».

Вот мы и получили первые нечёткие правила от Василия. Продолжая общение с ним, узнаем и остальные. Представим все полученные правила, в виде таблицы:

Фазификация

Фазификация – это перевод входного параметра системы в «нечёткую» область.

Первый входной параметр – «расстояние до цели». В терминах «нечёткой логики» — это лингвистическая переменная, поскольку она принимает в качестве значений не числа, а слова. А в понимании вычислительной машины «расстояние до цели» — вполне чёткий параметр, измеряемый в метрах.

Поэтому на этом этапе нам необходимо выяснить у Василия, что для него «близко», а что «очень близко» — определить его нечёткие диапазоны в цифрах. Например, 15 метров – для него будет однозначно близко. А вот насчёт 6 метров – он будет путаться в показаниях, причисляя это значение то к «близко», то к «очень близко». Поэтому «нечёткие диапазоны» могут перекрывать друг друга. Посмотрим, как это выглядит на графике:

Функцию M(x) называют функцией принадлежности. Она показывает степень принадлежности параметра к одному из нечётких значений. Как видно из графика, расстояние 32 метра со степенью принадлежности 0,2 относится к значению «средне» и со степенью принадлежности 0,65 к значению «близко».

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

Точно такие же функции принадлежности нужно определить и для остальных входных и выходных параметров системы, снова используя экспертные знания крановщика Василия.

Принятие решения

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

Дефазификация

На этом этапе система управления будет делать обратное преобразование из нечётких значений выходных параметров (найденных по таблице) – к чётким цифрам. Математические алгоритмы этих преобразований разнообразны и зависят от конкретной задачи. Подробно на них заморачиваться не имеет смысла — пусть этим занимаются суровые математики. Инженеру нужно лишь реализовать один из известных алгоритмов.

Нечёткий контроллер

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

В любом случае структура контроллера нечёткой логики будет примерно такой:

Заключение

В этой статье мы рассмотрели базовые понятия нечёткой логики, которая является составной частью более широкого понятия «Искусственный интеллект». Нечёткая логика широко применяется при построении экспертных систем, систем поддержки принятия решений, систем управления, основанных на экспертных знаниях. На очереди статья, в которой мы расскажем, в каких приборах и устройствах, используемых нами в повседневной жизни, применяется нечёткая логика. Да-да, я не оговорился, каждый из нас ежедневно пользуется приборами, обладающими искусственным интеллектом. Но об этом позже, а на сегодня всё! Помните, читая LAZY SMART , вы становитесь ближе к миру новых технологий! До свидания!

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: